Java Gets Sub-Pixel Antialiasing – How Big a Deal is It?

The latest snapshot build of Java 6 (aka Mustang) provides subpixel antialiasing. For users of LCD screens (i.e. an increasing number of users), their Java-based UIs will finally be able to stand proud next to their WinXP brethren – that is, after Mustang has been released next year and gradually trickles into critical mass a couple more years after its release. There’s a thread about the new feature at JavaLobby.

An interesting comment from the JavaLobby thread was that Windows 2000 doesn’t offer subpixel antialiasing, so in the banking world, where Win2K is still widely used, Swing apps will look that bit nicer than the native apps they’re running alongside.

Do smooth n’ shiny fonts make a business app any more productive though? If design guru Donald Norman is to be believed (and we have no particular reason not to), aesthetic products which appeal to users’ emotions just seem to work better. So – it’s easy to scoff that programmers sometimes spend more time prettying up their apps than thinking about the business. But there’s also mileage in making your app look good: as long as a reasonable balance is achieved, of course.

Even so, for the kind of desktop apps that typically use Java, how important is it to have smoother fonts? For me, it’s really important and I think it’s great that this feature has finally been added. But having said that, “must look pretty” won’t be high up on most stock traders’ requirements specs for example, and it’s doubtful that they’ll appreciate paying money for programmers to go playing with cool new UI features (smooth fonts, gradient-filled panels, vector-based look & feels or whatever the latest “look-good” feature happens to be).

Even for users that outwardly don’t care, or specifically ask you not to spend time on appearances but instead to concentrate on “real” functional requirements, smooth fonts are still important, because their perception of the product is still driven, even at a subconscious level, by how good the application looks. If it looks and behaves cool, they’ll go “ooh” and “ahh”, as long as they didn’t have to pay extra for it.

To answer the original question, this new feature is a big deal as long as programmers get it for free. So to be worth doing at all, and for Swing to gain a reputation for giving you “coolness for free”, features like antialiasing must work by default in the JVM, not have to be switched on through some arcane JVM switch passed in on the command-line. Just like the native Swing look & feel, come to think of it.

About the Author

Matt Stephens is a senior architect, programmer and project leader based in Central London. He co-wrote Agile Development with ICONIX Process, Extreme Programming Refactored, and Use Case Driven Object Modeling with UML - Theory and Practice.