The excitment is brewing! From the Adobe MAX Europe 2007 website itself: Join us for MAX 2007 Europe, a unique opportunity to connect with the Adobe community for an educational and inspirational experience that can’t be found anywhere else.

We’re bringing together the most creative and influential minds in the community, from designers and developers to executives and partners, that will shape the future of our industry.

Adobe MAX is the one conference of the year where you can meet and interact with the teams who build Adobe platform technologies, such as Flex, Flash and Adobe AIR, that you use and develop with every day. There is simply no better opportunity to gain a deep understanding of these technologies. (Mike Chambers - Senior Product Manager)

For those of you who use Yahoo!’s Upcoming.org, there is now an event entry:

http://upcoming.yahoo.com/event/235624/

See you there!

With the buzz around Rich Internet Applications (RIA) gaining a serious amount of steam and indeed press, with the likes of Adobe’s Flash/Flex and Microsoft’s Silverlight, Sun have now got in on the act with JavaFX. Announced at this years JavaOne conference, JavaFX makes use of a new scripting language and the Swing API for user interface (UI) design to position itself firmly in the RIA camp.

JavaFX Architecture

With 5 million Java developers, Sun is not starting from scratch in building a JavaFX following, and Sun plans to release the source code for JavaFX Script to the open source community. The company also hopes that the 2 billion phones that run the Java Mobile Edition (Java ME) will be an advantage. For desktop applications, however, this might mean large, frequent downloads, which in comparrison to Flash, have not been seamless in the past.

James Gosling, the father of Java and a Sun Fellow, described JavaFX as “oriented around interfaces that are highly animated.” JavaFX can also eliminate some of the security and compatibility issues related to AJAX-based applications, which incidentally do not have good support on mobile devices due to JavaScript restrictions.

Java failed to pioneer rich web applications years ago with the applet, so whether the JavaFX announcement firmly reinvigorates Java as a platform of choice for RIA remains to be seen. What is clear, however, is that the RIA scene is becoming increasingly heterogeneous with four leading technologies striving for market dominance; AJAX, Java, Flash and .NET. Each technology has their own, often jingoistic, developer base so the dominance of one technology is not likely to take hold, at least in the short term. Indeed it is likely that the companies will employ a mixture of technologies to best fit the application being developed and the skillset available.

Rich Internet Applications (RIAs) are just the beginning. A key trend taking place throughout the Web industry is the urgency to integrate disparate systems and software tools to reduce costs, increase developer productivity, reduce the need for manual processing and intervention in transactions, and decrease time to market. To achieve these objectives, organisations have endorsed the adoption of standards-based systems (e.g. XML, Design Patterns, CSS, ECMAScript) combined with the migration to Web Services and Service Orientated Architecture (SOA). This has led to a requirement to create a consistent and intuitive interface to applications, data and services. The immediate goal of these efforts is to provide simpler, quicker and more efficient access and processing of information. Increasingly, Web applications are also offering customers application interfaces that are more personalised and customised to each individual’s specific requests and requirements.

It is clear that RIAs offer the potential to fundamentally change the user experience and in doing so, yield significant business benefits. However, in order for RIAs to be widely employed, and for more companies to receive these kinds of returns, technologies to build RIAs will need to appeal to a wider range of developers. The ability to cost effectively create rich, engaging user experiences that support corporate objectives and reach a broader developer audience without sacrificing development productivity require a new generation of RIA tools. These tools are being developed by a large number of organisations with Adobe, Microsoft, Google, Apple and Sun leading the way with the AIR/Flash/Flex combination, Silverlight, Gears, Quicktime and JavaFX respectively.

The new generation of RIA tools being developed by the likes of Adobe and Microsoft must do the following to allow developers to truely harness the power of RIAs in the commercial environment:

  1. Allow developers to write applications using familiar development models to utilise and extend their current skills without requiring them to adopt entirely new or different skills
  2. Use standard and standards-based technologies
  3. Use industry specific programming models and patterns
  4. Use and/or leverage the existing IT infrastructure through wrap and reuse rather than rip and replace
  5. Provide pervasive, familiar programming models and an expressive user interface across platforms and devices; and
  6. Allow developers to create a solution that delivers scalable, secure, high performance solutions that are bandwidth efficient

These new RIA tools will need to provide the features that enhance IT developer’s abilities to be more creative and to accomplish RIA development with the same or less effort than the tools they use to create other types of applications. What is required are the tools that can help developers achieve these objectives without relying on only HTML or other scripting languages, or having to learn a completely new development approach.

Two vendors which have the technology and capaibility to fully deliver Rich Internet Applications are Adobe and Microsoft. With Microsoft’s Silverlight and XAML, developing rich internet applications to run on Windows platforms will progress at a fast rate. In turn, Adobe has had a head start with the aquisition of Macromedia and the subsequent addition of Flash and Flex to its product offering. Flash and its relative ubiquity across platforms and devices ensures that RIA development and production will be accessible to a large user base and as such puts Adobe at a distinct advantage over Microsoft.

The day of the emasculated Web 1.0 where the client-side was functionally poor, where the user interface was akin to the days of the mainframe computer, is rapidly diminishing and the new era of the Web 2.0 has yielded a new way of thinking. The demand for web applications, particularly in the business arena, is increasing at an exponential rate as the benefits of new technologies and paradigms are comprehended by the CTOs, CIOs and decision makers. Web interfaces have significantly restricted the interactive user experiences possible on the Web, and the ability of those Web applications to present increasingly complex information to the user, to date.

To solve a myriad of today’s problems, modern web applications must be able to solve an equal myriad of requirements.  These requirements provide the principles behind the emerging Rich Internet Applications (RIAs) and include some, if not all, of the following.

  1. Run unchanged across multiple platforms
  2. Deliver engaging user interfaces with high levels of interactivity
  3. Restore processing power and rendering capabilities to the client
  4. Execute well across varying connection speeds (broadband rather than the  archaic dial-up)
  5. Utilise audio, video, images and textual content in a seamless mannor
  6. Support mobile workflow by allowing users to work on- and off-line
  7. Allow the client to decide what content should be accessed and when that content should be retrieved (asynchronous execution)
  8. Access any number of middle-tier services (e.g. .NET, Java, ColdFusion) and data stores
  9. Provide powerful and dynamic user interfaces
  10. Use standards such as XML-RPC, SOAP and REST in Web Services-based applications
  11. Integrate with legacy applications
  12. Allow for incremental addition of functionality to enhance the Web application environments
  13. Be accessible to all
  14. and, Utilise ubiquitous content

Candidate technologies for these solutions are developing primarily in the form of AJAX, Flex/Flash and XAML. They do not simply address the limitiations of the page based model as seen in Web 1.0, but provide the above capabilities whilst also empowering developers and designers to create new kinds of engaging and innovative applications and user experiences.

The Internet has emerged from obscurity to become a dominant platform for application development and is integral to the idea of Software as a Service (SaaS). Unfortunately the demand to build applications of increasing complexity has continued to outpace the ability of traditional Web applications to represent that complexity and expectation. Utilisation of AJAX technologies attempts to reconcile some of the issues, but frequently the result is a frustrating, confusing or disengaging user experience resulting in unhappy customers, lost sales, and increased costs.

We are in a period of expanding opportunity for Internet and intranet applications. The growth in adoption and usage of the Internet has acted as a driver behind technology spending, spawned such terms as Service Orientated Architecture (SOA), Software as a Service (SaaS) and Web Services, and enterprise integration trends that seek to combine back-office infrastructures with new front-office applications and the Internet.

Integral to this is the need to communicate better with employees, customers, suppliers, and partners. Intranet applications, including enterprise information portals and employee facing applications, are increasingly depended upon to share information across a company, while outwardly focused extranet applications seek to more tightly bind networks of partners, suppliers and customers and make communication, business transactions and support easier.

A key reason Web applications cannot represent these types of complexity is because of the limitations of HTML pages. The Internet grew up on the notion of a network of loosely coupled, unintelligent clients that communicate with increasingly intelligent servers by sending requests for pages. The emergence of Rich Internet Applications (RIA’s) has served to blur the distinction between the desktop and the Web and has resulted in smart, powerful and dynamic user interfaces. RIA’s seek to combine the best of the desktop, Web and communication technologies.

As one would expect, the driving forces behind Rich Internet Applications are the big guns in the technology and Web industry; namely Adobe, Google and Microsoft. Each company has produced their own RIA platforms:

Rich Internet Applications

Adobe Integrated Runtime (AIR)

AIR is a cross-operating system runtime that allows developers to leverage their existing web development skills Flash, Flex, HTML, Ajax) to build and deploy desktop RIA’s.

Applications can be built using the following technologies:

  • Flash / Flex / ActionScript
  • HTML / JavaScript / CSS / AJAX
  • Combination of these technologies
  • PDF can be leveraged with any application

Adobe Integrated Runtime can be found at http://labs.adobe.com/technologies/air/

Google Gears

Google Gears is an open source browser extension that lets developers create web applications that can run offline.

Google Gears consists of three modules that address the core challenges in making web applications work offline.

  • LocalServer Cache and serve application resources (HTML, JavaScript, images, etc.) locally
  • Database Store data locally in a fully-searchable relational database
  • WorkerPool Make your web applications more responsive by performing resource-intensive operations asynchronously

Google Gears can be found at http://gears.google.com

Micrsoft Silverlight

Silverlight is a cross-browser, cross-platform plug-in for delivering the next generation of .NET based media experiences and rich interactive applications for the Web. Silverlight offers a flexible programming model that supports AJAX, VB, C#, Python, and Ruby, and integrates with existing Web applications. Silverlight supports fast, cost-effective delivery of high-quality video to all major browsers running on the Mac OS or Windows.

Microsoft Silverlight can be found at http://silverlight.net

Rich Internet Applications (RIAs) combine the best user interface functionality of desktop software applications with the broad reach and low-cost deployment of Web applications and the best of interactive, multimedia communication. The end result is an application which provides a more intuitive, responsive, and effective user experience.

Rich Internet Applications Venn Diagram

More specifically, the best of the desktop environment includes providing an interactive user interface for validation and formatting, fast interface response times with no page refresh, common user interface behaviours such as drag-and-drop and the ability to work online and offline. The best of the Web includes capabilities such as instant deployment, cross-platform availability, the use of progressive download for retrieving content and data, the magazine-like layout of Web pages and leveraging widely adopted Internet standards. The best of communication means incorporating two-way interactive audio and video technologies.

This means that in a RIA environment, the client is capable of doing more than just rendering pages. It is able to perform computations, send and retrieve data in the background asynchronously from the user’s requests, redraw sections of a screen, use audio and video in a tightly integrated manner, and so forth, independently of the server or back end to which it is connected.

An RIA environment provides a strong technical platform that effectively restores the client’s abilities to be more like that of desktop software applications, or a traditional client in a client/server system. It fits into the traditional n-tier development process and integrates into legacy environments to extend existing applications without the need to rework them. And it also can serve as an interactive presentation layer above underlying Web Services. It is able to address various kinds of complexity. It enables development of applications that have complexity requirements, reducing the cost of development and frequently making development of such an application possible in the first place.

Because of their architecture and capabilities, RIAs have the potential to fundamentally change the way companies engage and interact with their Web users, leading to more effective user experiences with top- and bottom-line results.

Newer entries »