Server-Client OS

date: 2010-01-07

archive_section: project-beyond

attr_name: "vonguard"

tags: technology ui license: ccby



In all of this excitement about Cloud computing the focus has been on remixing and reviving the concept of Web 2.0 and that really isn’t anything new. Essentially the web is running big javascript programs, storing the output on a server with a username and calling that Cloud computing. And honestly that has been around for a while now and calling that “The Cloud" is just Web 2.0 trying to get some more attention. Cloud computing is, or should be, real computing like you do everyday; running real programs written in real programming languages. (not javascript) But how is that to be done? Simply put the idea is to split the OS into two parts: the UI and the Rest. But this split needs to be adjustable; starting with the previously stated split and scaling up to only storing files and preferences on the server. This is what Cloud computing is meant to be.

But why?

The client-server concept has been around for a long time. The first computers were mainframes that took commands from other computers over the network and sent back the output of that command. At that point it was because it wasn’t feasible to have a computer in most places. Now they’re everywhere but lack a certain amount of cohesiveness that really should be there.


The client should be have the capabilities to display a UI and connect securely to the server. Also it should be able to, if the systems processing abilities permit, shoulder the load of it’s own process when possible. So it needs:

In addition to running the UI and connecting to the server the client needs to look nice from boot to log in all the way through shutdown. Particularly becase there isn’t anything else on the system but the UI client, network connection management services, and a small number of client applications there is definately room to develop a seamless graphical experience without skimping on the small number of other features in the client OS.


This is the complicated, and interesting, part. The server needs to run the processes of multiple users in a reasonable amount of time, send rendering data to the clients, listen for input, generate output, and manage all of their data in a secure fashion without crashing, ever. This entire system also needs to be insanely secure. Nobody’s data should ever be compromised for the sake of mobility.