hile the industry continues to grapple with the meaning behind Web 2.0 and Web 3.0, or the semantic web, it’s nevertheless seeing more tangible technology advancements in frameworks and tools for developing rich Internet applications (RIAs) that exhibit visually robust user experiences and interactive UIs. In the midst of the busy 2007 conference season, recent announcements from the Microsoft MIX ’07 and Sun Microsystems’ (12th annual) JavaOne 2007 conferences provided developers of web applications with an array of new and upcoming alternatives to consider for their development environments.
The MIX ’07 opening keynote featured splashy presentations of Microsoft’s latest efforts in web development and rich content delivery, the most noteworthy of which expanded on its recent unveiling of Silverlight?formerly code named Windows Presentation Foundation/Everywhere (WPF/E). Silverlight is a cross-platform, browser runtime providing a high-quality media experience supporting standards-based codecs that is now available as a 1.0 beta download. The production release will ship later in the summer, and there is mixed speculation as to whether it will rival the Adobe Flash Player technology.
Perhaps even more satisfying to the developer community in attendance at MIX was the announcement that Silverlight 1.1, now available as an alpha download, will include cross-platform support for the .NET Framework Common Language Runtime (CLR). The news certainly got a big round of applause. Microsoft executives touted it as a high-performance runtime of the .NET Framework that will allow developers to write client-side applications in any .NET-supported language.
The extremely quick Silverlight download and install?20 seconds, as demonstrated by Scott Guthrie, general manager within Microsoft’s developer division?provides a runtime for Microsoft Windows XP, Microsoft Windows Server 2003, Microsoft Windows Vista, and Apple’s Mac OS X 10.4. Plug-ins are available for Microsoft Internet Explorer (6.0 and 7.0), Mozilla Firefox (1.5 and 2.0), and Apple’s Safari 2.0. Future builds reportedly will add support for Opera Software’s Opera browser and the Microsoft Windows 2000 operating system.
In somewhat stark contrast to these MIX announcements, the opening keynote at JavaOne the following week unveiled a new scripting language, JavaFX, that Sun is promoting for building dynamic, interactive user experiences and rich UIs. The new language, still in an alpha phase of development, will reportedly run unmodified on the Java SE platform and will integrate across all platforms. In some ways, Sun’s preview announcement of the new scripting language, which doesn’t yet have tools support, overshadowed its more advanced developments, including the completion of open sourcing Java through the open JDK for Java SE that includes class libraries, the Java SE Technical Compatibility Kit (JCK), a preview release of the NetBeans 6 IDE, and JavaFX Mobile that provides a complete stack for mobile phones and devices. For more details on the JavaOne announcements, see the article, “JavaFX: Sun’s Late Start in RIA Race.”One aspect to the Silverlight announcements at MIX that seemed to excite developers was its proprietary Extensible Application Markup Language (XAML)-based runtime environment for developing browser-based RIAs. Microsoft also announced the release of Expression Studio, which extends Visual Studio by providing tools that allow designers and developers to work collaboratively on projects. As described by Microsoft executives, the XAML-based tools simplify workflow by letting the designer and the developer work side by side without the developer having to later “break” the designer’s build to rebuild the final application in another language.
Part of this designer-developer collaborative environment was demonstrated by Wayne Smith, group project manager at Microsoft, using Expression Studio’s Blend 2.0 application, which Smith described as a prep tool?not an editing tool?for conceptualizing the web application’s interface. Blend accepts any video format for input and has an extensive library of graphic assets that can be combined with video clips to create different effects. The user can refine video clip settings down to one-second increments, and two or more clips can be “blended” together into a single video presentation.
Also announced at MIX was the foundational Silverlight Streaming technology, which is a companion service to Silverlight that will allow developers to take advantage of Microsoft’s investment in its services infrastructure and global content delivery network. Developers will be able to post their Silverlight applications, including associated photos and video clips, to Microsoft’s storage service for delivery in their web sites. Silverlight Streaming demonstrates Microsoft’s continuing efforts in its Software as a Service (SaaS) platform by offering a highly distributed, low-latency, high-scale delivery of Silverlight applications and media with “reasonable limitations,” according to Ray Ozzie, chief software architect at Microsoft.
The level of interest in pushing AJAX to the web, Ozzie said, is dominating the desire to transform the web to a medium for rich interaction that has moved the industry well beyond AJAX to the power of browser extensions for media and advanced controls. The result, he said, are RIAs extending outside the browser to the desktop once again, causing a resurgence of service-connected desktop applications that connect the activity on web sites to local media and local applications.
“The web apps of today and the web apps of tomorrow,” he said, “are by necessity complicated and fragmented across many technologies, and that fragmentation affects the designer and the developer. Developers have to make very tough choices in terms of architecture and technology these days because of the richness of all the possible delivery platforms. In a rapidly evolving technology environment, picking the key technology is one of the most important decisions that [developers] need to make, especially at the front end of a project. It’s tough to make these fundamental technology decisions?languages, runtimes, tools?because all of these technologies bring with them a range of architectural constraints. To frame these technology decisions it helps to map out, up front, very explicitly what’s trying to be accomplished in terms of the richness of the user experience and the nature of the target audience.” Though it received a lot less of the MIX spotlight, the next version of Visual Studio, “Orcas,” also garnered a lot of attention from developers in attendance. The IDE was put to use in demonstrations during many of the breakout sessions. There were a few relatively minor rough spots in which a bug caused a brief pause or a feature still under development made for an abrupt segue; however, some of the highlighted features that were demonstrated in selected sessions included dynamic IntelliSense; a script manager for loading scripts; and streamlined, automated debugging. Integrated support for AJAX solutions incorporates the same functionality provided by AJAX and ASP.NET, and examples using the ListView control and the LINQ query syntax were also provided.
While the MIX conference had plenty to offer designers and developers, it also catered to the business decision maker segment of attendees. One panel in this track provided some perspectives designers should consider when designing web interfaces that will be used by other cultures. Aaron Marcus of Aaron Marcus and Associates?a Berkeley-based consultant organization that provides user interface and visualization design information for clients who employ mission-critical, complex, and rich web sites worldwide?moderated the panel, which consisted of Ryan Freitas of Adaptive Path, Kelly Goto of Gotomedia, Royce Lee of e-Crusade, and Surya Vanka of Microsoft.
The user experience for a worldwide audience presents challenges that go beyond mere language translation, Goto said, and one of the biggest business challenges designers face is how to account for cultural differences in the design of UIs for the web because research appears to bear out that what is popular or desirable abroad in a UI may not be popular or successful here in the U.S. and vice versa.
Goto suggested that one way to design for multicultural audiences is through ethnographic studies, where designers can gain a better understanding of how products and services fit into the lifestyles of the audiences they’re targeting. Similarly, Freitas said that when working with customers, it’s important for designers and developers to have their customers tell them as much as they know about their audiences and users, and get clients to talk about the behaviors the users engage in alongside the delivery of products.
RIA development for the interactive web is bursting with a lot of new technology opportunities. Some (Silverlight) are further along than others (JavaFX), and still others (Adobe Flash) are already well established. But there seems to be a lot of interest in the developer community to see how all of these technologies will evolve as development for the dynamic web progresses.