Is Bruce Eckel Right? Maybe not.
Bruce Eckel has written an interesting piece about Java and user interfaces. I’d recommend that you read it, as it’s pretty thought-provoking. Bruce knows a lot about Java, and a lot about software, so he’s always a good read. In this piece he covers a lot of ground, much of which is correct. However, at it’s core, this piece is really about Flash being “better” than Java for building user interfaces - and I’m afraid this is just fundamentally wrong . Here’s why…
Let’s start with a quote from Bruce’s piece which, I think, goes right to the heart of the issue:
You can’t deny that Flash produces very pleasing user interfaces.
Well, I think you can. In my opinion, there are actually very few examples of pleasing user interfaces being built by using Flash. On the whole, pieces of Flash software have horrible, “hard to learn”, “hard to use” interfaces. GUI toolkits in Java Swing, .NET Forms, QT, GTK+ are all intrinsically far superior.
Bruce suggests that you shouldn’t learn to use these libraries because they’re difficult to use. Well, that used to be the case; but not anymore. Certainly with Java Swing and .NET Forms, Netbeans and Visual Studio make it simple and quick to build compelling user interfaces. I suspect the same will be true of Microsoft’s new technologies WPF and WPF/E.
So, I would assert Bruce is plain wrong when he says that:
Flash has always been all about cross-platform… user interfaces
It hasn’t. Flash has always been about cross-platform multi-media and graphics, yes. But not user interfaces. Java Swing is currently the best GUI toolkit - by a long way - if you want to build cross-platform user interfaces. Incidently, it’s also the most popular, too.
Of course, we have to be careful not to ignore the elephant in the room here. I’m not suggesting that, for many Internet applications, Flash isn’t a better choice than Java for building “Rich Internet Applications”. It is. And that’s why people choose to use it. But it’s a better choice not because Flash applications are so great. It’s because they’re so easy to deploy reliably.
That’s it. It’s an application deployment issue. Plain and simple. Java Web Start doesn’t cut it - it asks the user too many “hard to understand” questions before running (that means it’s fine for experts, but regular people just get confused), it looks ugly at start-up, and, even more importantly, people want applications that run inside the browser.
Java applets could cut it… yes, I know applets are a dity word, but they really could. I believe they might be starting to get good enough with the release of Java 6. But Sun just move so damn slowly…
For example - you want Java 6? It was released in December. But, if you buy a new Dell computer today, it comes bundled with Java 5 (we just bought a bunch of Dell laptops, so I have up-to-the-minute data). And worse that than, if you go to www.java.com, to get the “latest and greatest” Java, you get Java 5 there too! It doesn’t seem even possible to download and install the Java 6 JRE from anywhere - you have to download the whole JDK which is a much bigger download.
Sun is doing interesting work with Java Kernel edition (see this thread on java.net), which could make Java applets even more compelling, but that won’t be out until Java 7. However, if Sun would make the Java 6 JRE as easy to install as Flash, it would be a big help. These days, with broadband, the size of the JRE isn’t too big a deal. It just needs to be easily deployable, so that it gets widely deployed.
The bottom line of all this is that the battle for being the Rich Internet Application Platform of choice is on-going, and the truth is, there might not be a “one size fits all” choice for a while… although it might be that Micrsoft’s WPF/E emerges as strong contender for this title pretty soon.
Madarco DevBlog » Blog Archive » Bruce Eckel on Flash on 18 Feb 2007 at 11:42 am
[…] Simon Brocklehurst pointed out that there are more ugly Flash interfaces than good ones, although I think he is talking about the old do-all-by-yourself hackery of Flash 7-8 since there isn’t many Flex 2 web apps out there yet. I wonder if he saw Picnik. […]
Vinny Carpenter’s blog » Daily del.icio.us for Feb 17, 2007 through Feb 19, 2007 on 20 Feb 2007 at 12:32 am
[…] Is Bruce Eckel Right? Maybe not. at Simon?s Blog - Bruce Eckel has written an interesting piece about Java and user interfaces. I?d recommend that you read it, as it?s pretty thought-provoking. […]