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

Rejected Again

I just heard from the 6th International Free Software Forum. They turned down my proposal for a talk.

The answer was rather interesting though. It seems you can go online and see how they rated your proposal. I had three people rate my project.

The first thing they do is rate themselves on the subject that you are proposing. Reviewers #1 and #3 rated themselves "not experts, but comfortable with subject". They both rated my project 4 of 5 in relavence. I am a little puzzled by this score. Not sure why my free software would not be 100% relavent to a free software conference, but anyway. One rated my proposal a 5 and one a 4 (out of 5) for technical quality. They also check you out by poking around on the web and one rated me a 5 and one rated me a 4 for experience (by that I presume subject matter expert). Lastly both gave my project a weak acceptance (yes, but not strong yes) recommendation.

However one reviewer rated himself an expert on my topic, so presumably he would know better than the others, who are not experts. He gave my proposal a 5 for relavence, a 5 for technical quality, gave me a 5 for expereince, and gave my project a strong acceptance rating. Top marks all the way across.

It makes me feel good that the guy who knew the most about the subject, wanted to see it the most.

There is a bias toward existing (and more accurately famous) projects at these conferences, because they have to sell tickets to them to pay for the hall, etc. So actually I am encouraged that I got as far as I did with this, especially since there was virtually nothing on the web for NewI\O at the time of the submission.

It would have been nice to make a big splash at a conference to debut it, but I can not wait until next year to try again, so I will go back to the original plan and annouce it on various technical mailing lists.

Some might think it strange that I post my rejections on here, but they do not deter me. For some reason my mind tells me, "Don't worry, someday they will wish they had NewI\O on the agenda". This could be confidence or this could possibly be mental illness. My whole motivation to continue is to find out which it is. Heheh. :)

Problems with .NET

Here is a somewhat recent article about problems with Microsoft's .NET platform:

Here is some discussion on this article.

I post this not to put any other developers or organizations down, but rather I believe that they are problems with all current solutions, and that no one has gotten internet applications right, yet. It is for this reason that I am working on NewI\O.

Monday, April 18, 2005

John Carmack Destroys Java!

In his March 27th blog entry John Carmack (of Doom game fame), discusses coding games for cell phones. In it he really clobbers Java. I quote:

"The biggest problem is that Java is really slow."


"Write-once-run-anywhere. Ha. Hahahahaha."

In my opinion the latter is really the biggest problem. The whole reason for Java's existance is the latter.

Java as a network application environment has basically 2 parts:

1. Download portable byte code


2. Run portable byte code.

The first part is the network part and of course downloading is very simple, and this part works flawlessly, but in my opinion does not get you where you want to go.

The second part is the problem. Since Java can not control the execution environment (every computer is different) it fails in its mission to run everywhere. This is what John is talking about.

At work I have to have 5 different versions of Java installed on my PC, because each application was developed for a different version of Java, and (apparently) they can not run on a different version of Java. This does not even include trying to run on a computer with a totally different operating system, such as a Linux computer.

My New I/O system is simpler: run the application on a host (where you can control the environment), and display on the client. Since it is much simpler to display then to run a program, you you will be able to "write once, display anywhere", and in the case of New I/O it will really work.


P.S. Here is some more Java controvery.

FISL 6.0

My strategy for New I/O is to create an open source platform and attract developers who are better coders than me to the project. If the platform were then to achieve wide-spread use, then there would be a great oportunity to form a company to commercialize it by selling support, enhancements, applications, etc.

To that end I have applied at various Free Software Conferences, in an attempt to garner publicity for my project. One of them was FISL 6.0, the 6th International Free Software Forum, June 1-4, 2005, in Porto Alegre/RS, Brazil. I had not heard from them in some time, so I was not hopeful, but tonight I got this e-mail:

Hello Chris Nystrom,

We're in the last step in fisl6.0's lecture selection process. We had a
high number of submitted proposals, all of high quality and,
unfortunatelly, we cannot accept them all in our program.

We inform you that your lecture proposal for fisl6.0, with title
"newio - an internet application environment",
have not entered this year program yet, but there's still a
possibility of it being accepted, depending on other factors.

Therefore, we ask you to wait: as soon as we can, we
will notify you of the final result.

Feel free to contact us to solve any doubts you may have by e-mail:


fisl6.0 Program Committee

Cool! I am still in the running! This would really be a big boost to my project to get some exposure like this.


"Web services may collapse under its own weight"

On March 4th, 2005 Jonathan Schwartz, president of Sun Microsystems wrote:
I'm beginning to feel that all the disparate web service specs and fragmented standards activities are way out of control. Want proof? Ask one of your IT folks to define web services. Ask two others. They won't match. We asked folks around the room - it was pretty grim. It's either got to be simplified, or radically rethought.

He is right. I vote for radically rethought.

Web services are basically services (applications) provided across the internet using the web infrastructure. This is a flawed idea from the beginning, because this infrastructure was not designed to do this. I am not saying that it can not be done, or will not work. What I am saying is that it is sub-optimal. The proof is that no one would design it this way, if the web had not already been in existance.

That is why I like my New I/O system. It is simple. Very simple. You may think that it is a negative calling something simple, like calling something simple minded for example, but it is not. In the computer field, as in good writing, simplicity is elegance.

A couple of other points. He is also right about C/C++. It is very much still alive, which is why I am basing my system on it. Also, he is right about Java, although, I think it is because the alternatives are limited, and Sun was disproportionally influencial during the internet era, rather than because it is the best possible solution.


New I\O

Ok, so I have this idea for a new internet service. Basically, it is a network application browser, designed specifically to run programs, instead of display documents, like a web browser.

I work for Oracle, the world's #2 software company. So anyway, I send e-mail to Larry Ellison and the entire chain of management a presentation, pitching it as a way to pass up Microsoft to become the #1 software company. Here is a link to the presentation:

So do I get a response? Even a polite thanks, but no thanks? No! I almost get fired! I get a letter of reprimand. You would think that companies would want people coming up with ideas to take the company to the next level, but alas, I am too far down the totem pole to be able to give ideas.

The funny thing is, in the compay handbook, under a section titled "Open Door Policy" it says that if any employees have any ideas for _Senior_ (emphasis mine) management to go ahead and send it in.

Ironic, huh?


Tuesday, April 12, 2005

Welcome to the Blog

Welcome to the New I/O Blog. This is the official communication channel.

Thank you, and Happy Computing!

The Management