Table of Contents

E4 and Web 2.0 - Is there a better way?

In The Web 2.0 - or are we going the wrong way?, Tom accurately compares Web 2.0 with 3270 (and 5250) terminals of yesteryear and wonders aloud if Web 2.0 is really the right way to go technically with E4.

This is a good question. What is the right way to go, both politically and technically?

Industry Forces

The way I look at it, the following forces are shaping the industry's solution to this problem:

Technical Choices

Given these realities, let's list the technical means for deploying rich Internet applications and then draw some conclusions about good places to consider investing in E4.

Let's look at each of these in turn.

AJAX-based Web 2.0 applications

Tom already described the weaknesses of AJAX: It's basically a hack to turn asynchronous XML requests from a browser into a rich graphical terminal. AJAX applications tend to be sluggish, as they can require round-trip network requests to anywhere in the world and rely on interpreted JavaScript operating over a DOM.

Having said this, AJAX's biggest advantage is that it is already supported everywhere the web is. AJAX is basically the least common denominator platform for rich web applications.

Flash-based applications

Flash is well-understood and fairly ubiquitous, but it is proprietary. It is not as well supported on 64 bit platforms. However, it has a better programming model for really rich graphics.

For example, there is no standard analog of an SWT Graphics Context in AJAX JavaScript, so something like Flash is required in order to implement generic graphics drawing over the web.

Java Web Start

Java Web Start has a reputation for being roundly hated by Java programmers. I have no personal experience with it so perhaps people can elaborate in the comments.

JWS has the disadvantage that its content is not integrated into the web browsing experience. It's basically a way to bootstrap a regular Java application over the web. (Again, if I'm wrong, someone please correct me in the comments.)

A new browser plugin like Flash, but that just includes OSGI, SWT, and probably a security model

This could be really cool to do. OSGI and SWT running in the browser would be very nice. With less than a 4 meg starting footprint, this could be really practical too.

The main problem here is that nobody has written it yet. Also, whoever writes it would need to have someone on staff who is really good at security, if this thing is to be deployed on the Wild, Wild Web (WWW). ;-)

A brand new universal network client based on Eclipse RCP

At JPMorgan, we've already done this. (See also.) The Riena project at Eclipse is also working on this. This makes tons of sense within the corporate firewall because:

  1. You can control deployment of a new universal network client
  2. There normally is a well-defined security model already in place.

To be a general solution, however, someone would have to figure out the security implications of running arbitrary OSGI bundles over the Wild, Wild Web. And then the challenge would be to make such a universal network client truly universal on the Internet– ie: deployed to every desktop.

Conclusion

Looking at the above forces and solutions, it seems to me that AJAX is an obvious platform for building out a new generation of rich Internet applications. It is everywhere.

However, I agree that we we will probably run into the limitations of AJAX fairly soon and want something better.

The only two possibly-viable solutions I can see above are Flash and a custom SWT Browser Plugin. I'd vastly prefer the latter, but fear that the former will win, simply because it's there.

Is there any interest in the community writing a SWT-based web browser plugin?

~~LINKBACK~~ ~~DISCUSSION:closed~~