One of the exciting ideas just now is Microsoft's WPF, formally Avalon.
Oversimplifying somewhat, this introduces a layered approach to UI design, separating the business logic from the UI design, so graphic artists can design the look-and-feel of your applications without worrying about the code implementing the business logic behind it.
Similarly, your programmers can design smart applications and clever business logic without having to worry about making them look nice – and there's round-trip engineering to make sure the business logic coders don't need to worry about UI design changes and vice versa. It should do wonders for the appearance and usability of Windows programs – businesses have had to put up with second class UIs for too long, and a high quality UI can reduce data entry and user errors.
But this sort of approach isn't exactly new – look at Flash, for example, although this doesn't have the advantage of integration with the OS.
And I've been talking to Jérôme Joubert, ILOG senior product marketing manager for visualisation, about its long-established visualisation tools for Java and whether they already supply something similar. I'm talking about ILOG JViews version 8.0, released at the end of last year, which introduced new tools (the Symbol Editor and Dashboard Editor) and extended Ajax support - see what's new here.
The Symbol Editor allows graphic designers to create active "symbols" which dynamically respond to data changes, using graphical authoring tools such as Adobe Illustrator. ILOG called in a real graphics designer to design its latest graphics, which its engineers then turned into Java objects (dials, knobs and so on).
According to Joubert, ILOG tried getting programmers to design graphics and it never really worked – but its current approach sounds similar to that suggested for WPF. Joubert talks about an abstracted UI which can be displayed on a thin client or thick client without any extra coding – and even on a mobile phone (although you'd probably want to display an appropriate subset of fields here, which JViews should cope with well)
Ajax, of course, allows ILOG's presentation components to update without having to reload the entire page from the server (ILOG is a member of the OpenAjax Alliance). There's more on its AJAX use and implementation here.
So, what of the competition from WPF, as ILOG plays in the .NET space as well as in the Java world. Well, Joubert is obviously impressed by Microsoft's sleek new 3D look and feel, but seems to see its 3d capabilities as more about impressing the marketplace than about providing anything that the Enterprise really needs. ILOG already supports the next generation 2d SVG (it's co-chair of the SVG standards committee) and has 3D presentation in some areas (such as mapping), where it is genuinely useful. And Joubert doesn't expect Vista to be important in the Enterprise for some time – perhaps not until around 2010 – although he claims that ILOG is familiar with WPF and hints that ILOG will deliver value-add components for the WPF framework when this makes commercial sense.
In the meantime, ILOG is supplying a rich presentation toolkit for developers, who can use its symbols as-is, edit their properties, and even ungroup them (to provide sub-components for assembling new symbols. They can then use ILOG's Designer to create a display by linking symbols to data sources. Joubert thinks there is a big market for his presentation tools in Enterprise Java shops, for developers working on diagramming generally, and BAM dashboards in particular. And, just like WPF, ILOG seems to have put the graphic designer back in the loop.
You can find demos of ILOG JViews' capabilities here. ®