Please note - Ndiyo has now officially closed its doors, at least as a legal entity - but we've kept the site alive in case any of the information is useful to others.

Our thanks to all those who helped out and were involved in so many different ways! The Ndiyo legacy lives on in the ultra-thin-client work at its spin-off DisplayLink, at Plugable, at NoPC and elsewhere...

Ndiyo System

What is an Ndiyo system?

As outlined in the project introduction, Ndiyo's mission is to find more affordable and sustainable ways of providing computer workstations, in particular by exploring the combination of ultra-thin-client computing and open source software. Part of our work involves developing real systems which fulfil these goals - Ndiyo systems. When all the components of our systems are available commercially, we may sell and support Ndiyo systems directly, but we will also tell people where they can obtain the components and how to set one up themselves. Ultimately we are trying to demonstrate that there are different (and, in some cases, better) ways of doing computing than the current "one user, one PC" paradigm. We are not trying to control this technology: the more people around the world who are making a living developing, selling and supporting systems such as these, the happier we will be!

The specific system we have developed consists of two or more "nivo" ultra-thin clients connected to a server PC running Open Source software. Together, these provide an extremely low cost, but highly capable, system.

In the remainder of this document, we explain the basic idea of thin-client networking, then look at our novel contributions in the form of ultra-thin-clients and the server software.

What is thin-client networking?

Thin-client networking is an old idea; arguably one could describe the dumb, text-based terminals used to access mainframe computers at the dawn of computing as thin clients. The idea is simple: rather than having a network of standalone PCs, each containing its own hard disk, powerful CPU, copies of the software, and so on, you have one (or a small number) of servers on which everybody's applications run. Users sit in front of "thin clients": terminals which do no processing locally but merely display to the user the applications that her or she is running on the server.

Thin-client networking has had a chequered history. We believe that there are several reasons for this. Firstly, most thin-client terminals are simply cut-down PCs. As such, they can never reach the low cost that we have in mind (tens, not hundreds, of US dollars). Secondly, thin-client systems in the past have failed to deliver the performance that they promised. Thirdly, thin-client solutions have been targeted at large corporations with hundreds, or even thousands, of workstations. We are interested in smaller organisations; organisations that don't have the money -- or expertise -- to deploy a conventional thin-client IT infrastructure. They need a networking technology that is truly affordable, robust and easy to use.

Below, we set out our approach, which we believe represents thin-client networking done right.

Ultra-thin-client hardware: the Nivo

Realising that a completely different approach was required, Ndiyo created a commercial partner, DisplayLink, to design, build and market the technologies for an ultra-thin-client.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 result, a device called a Nivo (Network In, Video Out) is a highly optimised piece of electronics, dedicated to the purpose of displaying an interactive computer desktop over a network. The server simply sends to the nivo -- over the network using a simple compression scheme -- the pixels that need to be displayed on the user's screen. Modern wired ethernet networks (100Mbit or higher) are fast enough for this approach to keep the user's screen up to date. For the vast majority of ordinary applications, sitting in front of a Nivo is just like sitting in front of an ordinary PC.

The Ethernet Nivo

Early versions of the Nivo took the form of a small box (roughly 12x8x2cm) which simply has an ethernet (network) socket, a low voltage power socket, sockets for keyboard and mouse, and a VGA (monitor) socket. This little box replaces the entire PC in a conventional computer workstation.

Already, in its original late-prototype form, assembled in low volumes in the UK, the nivo cost less than £100 to produce - significantly less than the sale price of other thin-clients. Manufactured in larger volumes, the cost will drop significantly. Final prices will depend on the quatities shipping and the nature of the distribution channel, but we hope ultimately to reach something closer to what you would expect to pay for a VGA cable than what you would pay for a computer.

This little box, although we believe already radical enough to revolutionise the way we can provide networked computer workstations, is only the beginning of our vision. Not only will future versions offer features such as a local USB ports (for attaching peripherals or accessing flash keys and the like) and sound, but, before long, the technology embodied in the nivo will be implemented on a single chip. This will reduce its cost further -- and allow manufacturers of displays to incorporate the technology directly into the monitor. In the future, we hope, you will be able to buy monitors that have not only VGA or DVI connectors on the back (to connect to a PC), but also an ethernet port. Plug your monitor straight into a network, and up will pop a computer desktop from a nearby server.

The USB Nivo

Ethernet is not the only way to connect Nivo terminals to the server. Another option is to use USB, and this has some interesting implications which we discuss elsewhere in the Hubster document.

The Ndiyo Server and Open Source Software

It's the server to which the nivos are connected that provides the graphical desktop environment and all the software applications. Typically, this will be an ordinary PC.

Nivos can be connected to servers running Microsoft Windows, but using proprietary software does not fit in with Ndiyo's vision of a truly low cost and open system. Ndiyo systems run Open Source software wherever possible (also known as "free software", OSS, FOSS or FLOSS). Open Source software, as well as embodying openness in the sense that users are free to modify or adapt the software in any way they please, is generally free to download and use. The cost of the software in an Ndiyo system is thus precisely zero.

Ndiyo systems run user-friendly editions of the Linux operating system. We've chosen the Ubuntu Linux distribution, although there is nothing to stop you using other distributions if you prefer. Ubuntu is based on Debian, one of the most solid and respected Linux distributions, and aims to be a friendly, easy to maintain system with modern applications. Ubuntu includes many high quality open source applications, including OpenOffice (an office suite which can open and save Microsoft Word, Excel and Powerpoint files), Firefox (a web browser generally considered to be superior to Internet Explorer), Evolution (email and Personal Information Management), GAIM (Instant Messaging) and many others. (By the way, you can also run many of these programs under Windows if you'd like to try them. Or you could try out the entire Ubuntu system without touching your Windows installation using their LiveCD).

Our aim is that Ndiyo systems should be easy for everyone to set up, use and maintain, without requiring expert knowledge. For people who would like an expert system administrator to look after their system and data, Ndiyo systems are easy to administer remotely, and we are exploring economic and trust models which will facilitate this.

Example Ndiyo system: Internet Cafe in a Box

An "Internet Cafe in a Box" is a concept designed to illustrate the affordability, elegance and simplicity of a Internet Cafe using an Ndiyo system. All you need is a PC to act as the server, the Ubuntu Linux Ndiyo Edition CDROM (which installs painlessly in half an hour), six nivos, six flat-panel screens, a few network cables and an inexpensive network switch to connect them together.

Here's one we made earlier! Note that there's nothing under the table except the usual clutter of power cables. (And we have plans to reduce those too!) We reckon that before long you should be able to buy this entire system for well under £1000. Plus the cost of the coffee machine, of course!

To see some examples of real-world Ndiyo deployments, please look at the pages about Attridgeville and Fultola.

The future of Ndiyo systems

We're excited by this system, but there's lots more to look forward to. Firstly, we're doing everything we can to make sure that you can buy Ndiyo systems (either as a whole or in their individual components) as soon as possible. Secondly, there are many exciting technical developments in the pipeline, both in relation to the nivo and to the system as a whole (for example, plug-and-play clustering of Ndiyo servers, support for session virtualisation, the Hubster concept. Thirdly, while we currently believe the system outlined above (Nivos plus Ubuntu) is the solution best aligned with our vision, we are constantly re-assessing this. If even better technology comes along, we'll be the first to investigate. Watch this space!