Mark Trescowthick - GUI Computing
Almost everywhere you turn these days - certainly in the software development community - Java is touted as the Next Big Thing. Java will allow cross-platform development (that programming Nirvana). It will provide all the speed benefits of low-level languages like C++ with the ease of development of Visual Basic. It will herald the dawn of co-operating "applets" and the beginning of the end for the massive single-task programs like Word and Excel. It will, if you can survive the ever-expanding series of coffee puns it seems to have triggered, change the way you work.
It will, will it?
I wonder when…
Recently, my company was developing a web site for a corporate client and the decision was made (for technical reasons which say much about HTML and the Web - another story for another day) to develop the input using Java. Just some simple stuff : a textbox, a radio button or two and a standard button. Hardly brain surgery.
And the applets themselves were, let me say, relatively easy to develop. In what seemed like no time they were there for all to see. Sort of. Let's take the textbox as an example. What we wanted was for the textbox, when the mouse moved across it, to display some help text in the status bar at the bottom of the two major browsers. In Microsoft's Internet Explorer, what we got there was the not-so-helpful message "Applet Started". We could already see that! In Netscape, the help text appeared as it should - which was lucky, because about 75% of the time, the actual textbox didn't appear until you clicked in it! So at least, I suppose, you could guess where to click if you watched the status bar.
Eventually, of course, we decided to drop these Java applets completely. What else could we do - place a message on the page suggesting that it was "Best Viewed with Microsoft and Netscape - simultaneously"?
I realise that Java is intended to be about more than creating applets for the Web. We are about to see a very strong move to the "Browser as Operating System" or the "Operating System as Browser" - it depends on which industry guru you believe. In either event, the ability to provide small interacting components is certainly the way of the future. Java certainly looks as if it will be a good way to create applets for this sort of environment, though I do confess to having some doubts as to whether its cross-platform abilities will be a blessing, a curse or even necessary in two years.
And I certainly realise that these are early days. Things will improve dramatically over the next year or so.
But right now, Java is all promise and little if any actual functionality. There's a few Public Domain applets of dubious value and Sausage Software's Egor of dubious worth, and that's about it.
For example, there are more Java development environments than there are ways to store data from Java. And storing data is fundamentally what 90% of applications are about. This will change, and will probably change dramatically - assuming the user and developer support is there. Java and the whole Web world haven't even really decided how all these applets will cooperate just yet, even in the most basic details. Try COM, CORBA, ActiveX and Plug-ins as the basis for a nice alphabet soup. This mess will be resolved - so long as there's at least some spirit of cooperation exhibited by the major players.
The Internet and Browsers are the Brave New World. Java will have a big role in that world. How big is not entirely clear, at least to me, while something as simple as a textbox can't be made to work across two major browsers on the one Operating System platform. Probably though, the pundits are right and Java is truly the Next Big Thing.
But right now, does Java exist?
No, not really.