During a recent visit to OpenTech ’09 in London, I had the pleasure of meeting Dr. Quentin Stafford-Fraser who together with self-described übergeek Dr. Michael Dales form the engineering might behind the not-for-profit, Cambridge-based Ndiyo (the Swahili word for “yes”).
We had a lengthy chat with Quentin and Michael following their presentation, where I learned that Quentin—who, incidentally, was born in Kenya—has devoted much of his time to finding new ways of networking computers so they can be provided for the billions of people who are unable to afford a PC. He’s also famous for a piece of web history involving a coffee pot and a camera. More on that later.
A Radically Different Approach
The motivation behind Ndiyo, says Quentin, “came out of an awareness that the traditional way that we’ve done networked computing—of having one computer per person connected by a bit of network cable—is never going to be a viable way to provide IT to the world.” This model of providing networked computing, he points out, is over a quarter century old and has remained fundamentally unchanged.
Meanwhile, PCs, after Moore’s Law, have followed a pattern of geometric growth in processing capabilities. Today’s desktop PC is easily capable of hosting a multi-user system, yet sits idle most of the time. In theory, there should be enough surplus computing power available to provide access to the billions of people who could benefit from ICT—if it could be distributed equitably, that is.
Quentin saw that the “one user, one PC” paradigm just didn’t make economic or functional sense for the developing world. The conventional PC-based networking model is so intrinsically wasteful and expensive in terms of energy, resource and time inputs that it has effectively blocked access to ICT in poorer nations.
Moreover, networked computing should be easier to manage and support, especially for small organizations, cybercafés and schools. Another grounding principle of Ndiyo is to ensure that the world’s IT infrastructure remains open and is not captured by proprietary hardware and software, or dependent on a small number of Western companies.
It is with this philosophy, driven by a passion for social justice, technical challenges and a commitment to using Open Source software and open standards wherever possible, that Ndiyo was founded.
Instead of making PCs cheaper, Ndiyo makes them easier to share. It’s a radical approach based on an old idea that makes good sense: thin client computing. Ndiyo provides a new model—another form of “plumbing” if you will—based on a novel piece of open hardware called a Nivo.
From Coffee Pots to Nivos
To grasp the elegance of the Ndiyo system, it’s worth revisiting a Cambridge coffee pot in the early 1990’s. Quentin is widely credited as the inventor of the world’s first webcam, which pushed pictures of the departmental coffee pot over a network so his fellow engineers could see when it was fresh. Later, as an AT&T researcher, he became one of the original developers of VNC, a free and extremely useful protocol that lets you operate another PC remotely. Descendents of this protocol are now built-in to the Windows and Mac operating systems.
VNC remains an invaluable tool today, but there’s a noticeable difference between sitting in front of a PC and operating one over a VNC connection. For Ndiyo, the thin-client had to function exactly like a normal PC. The problem required a unique piece of hardware, a specialized “frame buffer” as Michael Dales describes it, to push pixels fast down a network cable.
The solution is a small widgetized device called a Nivo (for “Network In, Video Out”) with ports for a mouse and keyboard, VGA video and an Ethernet connection centered around a custom chip developed by DisplayLink, a company created by Quentin in 2003.
Instead of starting with a PC and seeing what we could take out, we began with a monitor and asked what was the minimum we had to add to give a workstation fully capable of typical ‘office’ use. Some of the original VNC team were involved in the design of the new software and protocol, which combines lessons learned from VNC with the need for a very fast, simple device optimised for high-speed networks.
The Nivo is an “ultra-thin client,” allowing the power of a PC to be shared between several users at once simply by plugging in a network cable. The Ndiyo system takes advantage of a key feature of every Linux distribution—support for multiple user sessions out-of-the-box. An arbitrary number of Nivo boxes can be connected to a single PC, with between five and ten clients as a reasonable load.
The Ndiyo System in Action
Ndiyo’s founders like to point out that their system isn’t vaporware—it’s a real solution that works today. The “Internet Cafe in a Box” is a concept they designed to illustrate the affordability and simplicity of a typical cybercafé using an Ndiyo system. It could equally be used for a school computer lab or a small office. All that’s required is a PC to act as the server, the Ubuntu Linux Ndiyo Edition CD-ROM (which installs in half an hour), six Nivos, six flat-panel screens, a few network cables and an inexpensive network switch to connect them together.
The system is easy to set up, affordable, open, robust, is less harmful to the environment and less dependent upon technical support than a conventional PC-based network. With a power draw of just 3 watts for each Nivo (or about 5 if you connect a mouse and keyboard) the energy cost savings alone are substantial.
Ndiyo systems have been successfully piloted in partnership with the GSM Association and mobile network operators in parts of the world which have typically had poor Internet connectivity; Bangladesh and South Africa.
The trials involved both Edge and 3G mobile networks to provide broadband Internet connections to servers, each of which runs a number of local Ndiyo workstations. The Ndiyo architecture enables many users to share not just the cost of the computer, but also of the internet connectivity. Here’s a video of the trial in South Africa:
The Ndiyo Starter Kit is available to people interested in building their own projects with Ndiyo technology.
The Ndiyo model and the philosophy behind it are very compelling, for several reasons.
On a practical level, the environmental benefits and energy cost savings of an Ndiyo-type system are obvious. A client which consumes 5 watts verses 300 or more is clearly advantageous. I imagine it would be possible to provide backup power to an entire Ndiyo cluster with a single UPS device, or even to supply constant power using a renewable energy source. This is a big consideration for developing countries where power infrastructure is often less than reliable or nonexistent.
Ndiyo also provides an alternative to traditional Western notions of how technologies should be deployed, used and paid for in developing countries. Negroponte’s One Laptop Per Child (OLPC) and refurbished PCs are two different approaches that spring to mind. Refurbished PCs are potentially transformative, but have a lot of hidden costs including power consumption, spare parts, support and maintenance. Perhaps instead of unloading tons of obsolete PCs on developing countries, a market-oriented solution with new or refurbished flat panel monitors could be tried instead, used with Nivo clients to build robust clusters.
The Ndiyo cluster also leverages ideas from mobile phone sharing—a concept which needs no introduction to Africans, and takes greater account of conditions on the ground where these systems will be used.
If you’d like updates on more stories like this, you can follow me on twitter here.