Wednesday, April 27, 2005

DOIP (Display Over IP)

Jonathan of Sun Microsystems had an interesting take on something that he called "Display over IP" (or DOIP). This is more often called "thin client". What it is is basically running your applications on a server, and then dispaying on your machine.

Sun's solution that he talks about is based on a very powerful technology called X-Windows. X-windows has been around for a long time in the unix world. It is standard on most unix distributions as it is the default desktop for unix. It is available has an extra from Apple for Mac OS X, and from third parties for the Windows platforms. While it is wonderful on unix, it is clunky and ugly on OS X, and Windows because, unlike unix, it is not the default desktop for these platforms.

X Windows uses a powerful communication method called Remote Procedure Calls (RPC). It is basically a way for a computer to make a call to a program routine on another computer across the network.

Besides being ugly on some platforms, X-Windows also has trouble doing modern things well. For example, while it displays well, it does not handle music at all. It was designed for display only, not sound.

Now a web browser (or Internet Document Browser (IDB)) can also act as a thin client. For example, you can use it as an e-mail program to check your e-mail, or you can use it as an editor, to build web sites, as I am doing right this moment.

The big problem with a web browser is that it was not designed to be a thin client. It was designed to display documents. Because of this, it is pretty clunky as a thin client. It uses HTML and various other technologies (java script, etc) to try to do the job of a thin client.
It works, but I believe that it does not work well.

My idea is simple: make a browser that uses RPC. Viola! An Internet Application Browser (IAB).

Also, what is different about my idea, and what Jonathan is talking about, is that he is talking about small islands of thin clients. With Sun's solution you have to choose thin or thick clients. You can not have a thin client that can also run local applications and vice versa. You have to pick one or the other for all of your apps.

With my solutions you can run thin client applications on your regular thick (regular) PC or Mac. This may at first seem to go against the thoery of thin clients, but the afvantage is choice. You can phase out your local applications over time, as your internet applications become useful.

Here are some discussion on the above referenced essay: 1, 2, and
3.

No comments: