If you think HTML and XHTML are the future of the internet, think again. Microsoft and Macromedia are working independently on new technologies that they hope will go beyond HTML and make websites user-friendly.
The trouble is that unlike HTML, the presentation protocols underlying these new systems are not industry standards - a situation that is making some industry watchers nervous.
Microsoft and Macromedia both unveiled strategies for next-generation internet applications in October 2003. Macromedia said it was developing Flex, a server-based system that delivers Flash-based applications in the browser to front-end clients. The software was finally delivered last month.
The difference between Flex-powered software and normal Flash sites is that Flex uses an XML-based markup language called MXML, which allows developers to create Flash applications without getting involved in Flash design.
Microsoft's plans lie with Longhorn, its next-generation Windows client. In current Windows applications the underlying program code is mixed with the user interface in a single program, but Longhorn will split them up.
The traditional Windows application will contain all the underlying code, but like Flex it also uses a separate XML-based file, written in a Microsoft-spawned language called XAML, to tell it what the application looks like. Just as MXML manipulates Flash-based user interface controls, XAML supports the future multimedia controls that are built into Avalon, Longhorn's 3D vector-based graphics engine.
Client- not browser-based
With these new developments users could build a form of application, based on web services, that bridges the divide between the limited user interface available from a browser and a full-blown PC client. The suppliers are labelling such applications rich internet applications (RIAs).
"RIAs boost end-user productivity by delivering a familiar and more productive user experience, which has an immediate impact on a business' bottom line," said Steven Webster, technical director of RIA consultancy Iteration::two, which works with Macromedia technology.
Jeff Whatcott, vice-president of product marketing at Macromedia, said this is the natural evolution of HTML-based browsing. "HTML was defined for browsing. It is inherently stateless," he said.
Instead of relying on server-side persistence, these new architectures will hold the application state on the client platform, ridding users of the traditional asynchronous "click and wait" model that accompanies stateless browser-based applications.
For example, a user comparing digital cameras on an RIA-based e-commerce site might have slider bars to alter criteria, show you animated results in real time, and let you fill out purchase information on the same page.
The move towards RIAs takes elements from both the traditional client-server and internet models. It puts more application logic back on the client, and it relies on what the suppliers hope will be widely used protocols to control how applications look and behave and how they interact with the server.
There are two possible areas where they will be used: customer-facing applications and enterprise software.
Since the multimedia client controls do not depend on the browser to operate, RIAs will run inside or outside of the browser. For instance, XAML will enable browser-based or browserless applications out of the box, and Macromedia's fledgling Central project provides Flash-based applications that run outside of the browser, sitting on the desktop and connecting to the internet sporadically to update information that is held on the client.
Tom Ilube, chief information officer at online bank Egg, has already demonstrated a prototype browserless XAML-based application that includes account information and videoconferencing with customer service staff in a single window.
One of the advantages of an RIA is that it is constantly connected, he said, and notifications from the server can spark useful desktop animations. "If the Egg banking system detects something, it can let me know in real time what is happening," he said.
Browser-based software does such real-time feedback badly. Dynamic HTML can provide some animation, but browsers differ in their implementations which leads to incompatibilities. Microsoft provides a notification mechanism for enterprise applications, but the possibility for integrating this with innovative user interfaces is limited.
The dangers of rich internet
The promise of a better user experience with RIAs may be a sweetener, but there are hidden dangers, said Ovum analyst Neil Macehiter. XAML-based applications will only work with Avalon, the next iteration of the Windows user interface, and therefore requires the Longhorn operating system.
"This is about reasserting control. This is very much about saying, 'Amazon if you want to make your shopping experience really compelling, [RIA] is the way to do it'. But one of the penalties of that is that you might be restricting yourself in terms of your customer base."
Macromedia's Flash technology is cross-platform, so the Flex applications will not be tied to Windows. It is a de facto standard, but not an industry-owned one. Will Macromedia submit its protocols to a standards body? "We would like to do that, but it is too early now," said Whatcott.
No more designer eye candy
Macromedia stands a good chance of converting developers to RIAs, shedding the image of Flash among the software development community as designer eye-candy. This summer it will ship an integrated development environment, codenamed Brady, designed for coding Flex applications and moving developers even further away from the original Flash authoring environment, which focused on designers.
Microsoft will not ship Avalon until at least 2006 and even then it will take a while for it to build support for the system.
So where might XAML-based RIAs be used? "Inside the company, somewhere where you control the desktop," said David Jobling, senior architect at Microsoft integrator Avanade.
Apart from the better visualisation, Webster said internet-delivered RIAs will make portable application delivery easier. Staff can access the same application across the web. This can be done today with some browser-based applications such as web-based Outlook via Microsoft Exchange, but such software is custom-coded. MXML and XAML will enable developers to piece together components and hook them into back-end data sources more easily with web services.
The web services component could be the saving grace for companies worried about supplier lock-in, said Jobling, who drew a clear distinction between the presentation layers and the back-end data sources. "Our approach to future-proofing is to ensure that when you build these applications you separate those two layers and communicate via web services, so that you just build the user interface," he said.
However, this misses the point of RIAs. If the idea is to put more application logic into the presentation layer, leading to benefits such as increased data manipulation and visualisation, then recoding the front-end application will be more complex, regardless of whether web services are used to communicate with the back-end. RIAs will offer many benefits, but supplier portability is unlikely to be one of them.