Twenty first century applets

October 7, 2005, 10:59 AM —  ITworld.com — 

I have filed the following thought under the heading 'total conjecture'.


Java-based browser applets were doomed from the start because browsers already had built-in virtual machines in the form of Javascript execution environments. It was only a matter of time until the native Javascript environment in browsers became powerful enough for rich application development. The collective wisdom of the market could see that fact. Consequently, selling the concept of a separate virtual machine 'stack' for client-side application development became a tough assignment.


This conjecture has caused me to revisit my conceptualization of an applet. Such revisitations are best commenced from first principles. Such as, what is an applet anyway? What makes an applet an applet?


An applet has two distinguishing features I would suggest. First, it lives on the network and is hauled down to your browser on-demand. It is not stored locally. Second, the application code is securely shackled so that it can only do network-shaped things. It cannot scribble on your hard disk for example the way 'thick client' applications can.


That description sure sounds like a modern day browser running a fancy Javascript-based application like gmail [1] doesn't it? As browsers have become bigger and better, the built-in Javascript programming language has evolved to the point where it has the sort of shackled ability to grab network data, draw screens and interact with the user that was once the domain of the Java applet virtual machine.


Posit for a moment, that this much is true. There is a snag in my nascent theory. An ugly little fact. Javascript is, for large application development, about as appealing as building a space shuttle with spaghetti. The nice thing about using Java for applets, it could be argued, is that the language is much better in ways that energize programmers and anaesthetize non-programmers.


Ok. Stick with me for one more little leap of logic here. Posit for a moment, that this much is true. What if, instead of writing the Javascript by hand, you continued to use your language(s)/tools of choice and they generate the Javascript for you? How bad would that be? Instead of generating so-called byte-code for a virtual machine such as the JVM, your programming languages could just generate Javascript.


Is that not a win-win? Happy programmers targeting a footprint that the user already has - namely their browser with no extra moving parts? No firewall funnies? No extra sandboxes to be separately verified? No new paradigms for end-users?


I have filed the following thought under the heading 'possibly interesting universal truth candidate':


New end-user technology only succeeds in the marketplace if there is absolutely no way that the benefits associated with it can be delivered with existing technology. Whatever the engineering complexity involved.


Posit that this is true. What follows? If Javascript can be made to do what JVM applet technology can do, then it will be made to do it because no new end-user technology is involved.


Evidence for all this conjecture? I have already mentioned gmail. To end-users, gmail appears to be just a well crafted web application. Developers, looking more closely, see it as an example of an application virtual machine - built entirely with Javascript - running in the browser. Developers picture in their mind's eyes all sorts of wonderful tools used by Google's developers internally, to auto-generate all the Javascript that is going to and fro. Recently, AJAX/JSON [2] has provided the all-important acronyms behind some of the core ideas and thus a genre has been born. An applet genre if you will.


Also worthy of note is Open Lazlo [3]. It is an interesting fact of most browser 'footprints' today that they in fact provide two virtual machines - Javascript is one and the Macromedia Flash plug-in is the other.


With Open Lazlo, developers create applications in a high level language that is compiled to Macromedia Flash Javascript for shipment to the browser. Yet another interesting twist on applet development.


It seems to me that far from being a dead concept, applets are thriving and innovation in browser applets is actually gathering momentum. It is just that - as is often the case in this business - things have not worked out the way we originally predicted.


Applets are not called 'applets' any more and they are not built on the virtual machine we thought they would be built on.


Oh well.


Who could have predicted it?


Yogi Berra perhaps[4].



[1] http://www.gmail.com


[2] http://en.wikipedia.org/wiki/AJAX



[3] http://www.openlaszlo.org/



[4] http://www.digitaldreamdoor.com/pages/quotes/yogiberra.html

 

 

ITworld.com

I like it!
Post a comment
The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.
Free books

Essential JavaFX
Get started building rich Web apps quickly with an introduction to the power of JavaFX key features -- scene node graphs, nodes as components, the coordinate system, layout options, colors and gradients, custom classes with inheritance, animation, binding, and event handlers.Enter now!

The Nomadic Developer
Consulting can be hugely rewarding, but it's easy to fail if you are unprepared. To succeed, you need a mentor who knows the lay of the land. Aaron Erickson is your mentor, and this is your guidebook. Enter now!

Featured Sponsor

AISO founders envisioned a Web hosting company that was environmentally friendly. While the company employed energy-efficient innovations like solar panels, its infrastructure produced unacceptable power and cooling requirements. Find out how AISO leveraged AMD technology to overcome their challenge in this case study white paper.

In this whitepaper, Scalar explores the opportunity to change the landscape with respect to mission critical databases built around Oracle. Leveraging technologies such as Linux, high-end commodity processing power and Oracle RAC technology to architect, design, build and maintain database infrastructure that delivers maximum availability, reliability and performance at a fraction of traditional cost.

On a typical day, weather.com, the Web site for The Weather Channel in Atlanta, serves up between 15 million and 20 million page views. But in September 2004, when back-to-back hurricanes ransacked Florida, the peak traffic on one day more than tripled: over 70 million page views by more than 7 million unique visitors. Read the full success story now.

Marketplace