Twenty first century applets

By Sean McGrath, ITworld.com |  Development Add a new comment

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

    Add a comment

    Post a comment using one of these accounts
    Or join now
    At least 6 characters

    Note: Comment will appear soon after you have activated your account.
    Obscene/spam comments will be removed and accounts suspended.
    The information you submit is subject to our Privacy Policy and Terms of Service.

    ITworld LIVE

    DevelopmentWhite Papers & Webcasts

    White Paper

    HP NonStop SQL Fundamentals whitepaper

    This whitepaper offers a detailed look into the fundamentals of HP NonStop SQL solutions. See how this system delivers unprecedented levels of application availability with fail-safe data integrity and meets the needs of enterprises with large-scale business critical applications.

    White Paper

    Nebraska Medical Center case study

    See how the Nebraska Medical Center implemented a SQL solution to make information more readily available to streamline operations, improve patient care and facilitate medical research with an enterprise solution running on HP NonStop servers.

    White Paper

    Concepts of NonStop SQL/MX

    For DBAs and developers who are familiar with Oracle solutions and want to learn about NonStop SQL/MX, this whitepaper provides an overview of the similarities and differences between the two products-with a specific focus on implementation.

    White Paper

    6 Things Your CIO Needs to Know About Requirements

    If your organization is not predictably successful on technology projects, there is likely an issue in requirements. CIOs must take action and own requirements maturity improvement. There are 6 main things a CIO must know about requirements.

    Webcast On Demand

    User Experience Monitoring

    In this webinar, you will learn hints & tips for improving end-user response times from Forrester Research analyst, Jean-Pierre Garbani.

    Sponsor: Nimsoft

    See more White Papers | Webcasts

    Ask a question

    Ask a Question