Recently, I have been following some discussions about the browser being the center of the Internet experience or not. Are we going to see more functionality available in browsers, or are we moving to a world where more stand-alone applications are running outside the browsers? To be honest, I don't care.
I still remember the first time I saw the NCSA Mosaic Web Browser, almost 15 years ago. This product was a milestone in Internet history. End-users could easily browse web-pages and navigate from one site to another. At that moment, few realized that this piece of software would become the master-piece in PC environments.
After 15 years, however, I think it is time to reconsider the role of web-browsers in the networked environment. Downloadable software often comes in two variants: a browser-based version, that acts as a plugin in a browser, and a stand-alone version, that runs outside the browser.
What we see is that two of the most important "plugins" to the browsers, Adobe's Flash/Flex/Air and Sun's Java Virtual Machine, are both offered in a browser-environment as well as in a standalone environment. I think this is really smart. Developers (both Air as well as Java developers) do not have to worry too much in which environment their application is running.
Java SE 6 Update 10 is a major step in this direction (see the early access page for more info about the features of Java SE6U10). Two of the most important features are the "Next-Generation Java Plug-In" and the "Unify Browser and Desktop Experience". With the latter feature, users can drag an Applet from the browser to the desktop. From a technical point, this makes sense. The Virtual Machine that is launched by the browser is exactly the same VM that can be launched manually. As a consequence, Java programs that run in a browser can also run stand-alone, and vice versa.
The demonstrations that I have seen so far mainly focus on the usability of this feature: users drag an applet from the browser to the desktop, close the browser and continue working with the applet.
If you think about it, it is also a major step into the direction of "Write once, Run Anywhere". As a Java developer, you don't have to worry about whether your application is going to be executed inside a browser or as a standalone application.
Also, the browser is not a competitor of a standalone Java application. In a number of mobile projects that I am aware of, the browser is considered as a candidate for the heart of the user experience. As long as this browser is capable of launching a JVM, this is no threat to a complete Java-based environment.
The point is, users need interactivity, dynamic capabilities, and other features that are available in the Java language. How they are presented (in a browser or stand-alone) is probably extremely important from a usability point of view. But for a developer, it doesn't matter that much.
written on 18 Jun 2008 09:23.Create comment