PLAF!!!

Yes, it’s both a sounds made when hurting villains in Batman, and it’s also an acronym. In this case “Platform Look And Feel.” I bring this up because Java announced a new LAF at their convention called “Ocean.” It currently looks like:

I’ve always really disliked how Java UIs tended to look until I saw this. Very very nice job Sun! For those who haven’t see, the old java “Metal” LAF looked like this:

and

Bleagh. Fugly. I hated it. Luckily on my mac, the Apple engineers implemented a native Aqua LAF so that java swing apps would look like their native counterparts. I always loved the flexibility that Swing gave you to override the LAF with your own. It was just unfortunate that the default was so bad. However, that did create a nice market for ISVs to create LAFs that you could purchase to jazz up your application. One of my favorite example of this was the Alloy LAF which is used in several popular java applications like JProfiler:

Hopefully now that these client side apps can come OOB with a much nicer feel to them we’ll see more penetration of java based apps on the desktop. Instead of people saying “oh god, why does this look so awful”, they’ll be singing praises like “wow! why don’t my other apps look this nice?”

However, to me, it just seems like a slightly higher contrast version of Metal, but with gradients :-P. I give it a period (instead of two exclamation points:-P)

What would impress me is anti-aliasing support (which is available in Swing for MacOS-X), or something more innovative than what I’d consider a simple "revamp of Metal".

While on the rant though, I think most likely it’s a better user experience to try to look like the platform’s look and feel. For example, if Java (on Windows) had the capability to resemble OfficeXP/2003’s look (also the general look of VS 2002/2003), then I’d be far more impressed. But that’s just my view — that people enjoy consistent look and feels. If I wanted to pick a product for its look and feel, I’d much more gladly pick an overall OS-theming package… that would hopefully re-theme all my apps.

Java on MacOS can look a lot like a MacOS app, if you try hard. A lot of Java apps are obvious because their margins are crappy, or they have some weird widgets that aren’t really condusive to MacOS (e.g. using save dialogs instead of OS-X’s sheets UI-paradigm).