Silverlight aims to compete with Adobe Flash and the presentation components of AJAX. It also competes with Sun Microsystems’ JavaFX, which was launched a few days after Silverlight.

Microsoft Silverlight is a proprietary runtime for browser-based Rich Internet Applications, providing a subset of the animation, vector graphics, and video playback capabilities of Windows Presentation Foundation. The runtime is available for Microsoft Windows and Mac OS X, with Linux support under development via the third-party Moonlight runtime.

Microsoft describes its advantages as follows:

Compelling Cross-Platform User Experiences

  • Deliver media experiences and rich interactive applications for the Web that incorporate video, animation, interactivity, and stunning user interfaces.
  • Seamless, fast installation for users, thanks to a small, on-demand, easy-to-install plug-in that is under 2 megabytes (MB) in size and works with all leading browsers.
  • Consistent experiences between Windows-based and Macintosh computers without any additional installation requirements.
  • Create richer, more compelling Web experiences that take greater advantage of the client for increased performance.
  • Stunning vector-based graphics, media, text, animation, and overlays that enable seamless integration of graphics and effects into any existing Web application.
  • Enhance existing standards/AJAX-based applications with richer graphics and media, and improve their performance and capabilities by using Silverlight.

Flexible Programming Model with Collaboration Tools

  • Based on the Microsoft .NET Framework, Silverlight enables developers and designers to easily use existing skills and tools to deliver media experiences and rich interactive applications for the Web.
  • Simple integration with existing Web technologies and assets means Silverlight works with any back-end Web environment or technology. No “rip and replace” required.
  • Silverlight integrates with your existing infrastructure and applications, including Apache, PHP, as well as JavaScript and XHTML on the client.
  • Choice of development languages including JavaScript, Ruby, Python, C#, Visual Basic .NET, and more.
  • Role-specific tools for both designers and developers that take advantage of Web standards and the breadth of the Microsoft .NET–connected software features.
  • For designers: Microsoft Expression Studio for creating interactive user interfaces and media rich experiences, preparing media for encoding and distribution, and creating World Wide Web Consortium (W3C) standards-compliant sites using modern XHTML, XML, XSLT, CSS, and ASP.NET.
  • For developers: Microsoft Visual Studio for developing client and server code with full Microsoft IntelliSense, powerful cross-platform debugging, rich language support, and more.
  • Consistent presentation model by using XAML, the declarative presentation language used in Windows Vista–based applications. Controls, visual designs, media, and other elements can be presented with full design fidelity in both Silverlight and Windows–based applications.
  • Extensible control model makes it easy to add rich content and behaviors while enabling efficient code-reuse and sharing.
  • Dramatically improved performance for AJAX–enabled Web sites with the power, performance, and flexibility of Silverlight and .NET-connected software.

High Quality, Low Cost Media

  • Unified media format that scales from high definition (HD) to mobile with Windows Media Video (WMV), the Microsoft implementation of the Society of Motion Picture and Television Engineers (SMPTE) VC-1 video standard, as well as support for Windows Media Audio (WMA) and MP3 audio.
  • Add vector-based graphics and overlays to media with support for integration of graphics that scale to any size and broadcast-style overlays for tickers and closed captioning.
  • Flexible ad-insertion solutions with video and animation, including the ability to deliver fluid, broadcast-style video or animated advertisements without loss of visual fidelity or motion quality.
  • Lower-cost media streaming with Emmy Award–winning Windows Media technologies that can lower the cost of streaming delivery by up to 46%, and enjoy the flexibility to work with your existing Windows Media streaming deployments. Even further cost reductions are possible with the upcoming Microsoft Internet Information Services (IIS) Media Pack for Microsoft Windows Server 2008.
  • Broad ecosystem of media tools, servers, and solutions compatible with the Windows Media operating system.
  • Microsoft PlayReady content-access technology that delivers a single solution for digital rights management support on both Windows-based and Macintosh computers for content providers (coming in Silverlight 1.1)
  • Powerful encoding tools for live and on-demand publishing of media experiences with Microsoft Expression Encoder, including hardware-accelerated encoding of WMV and VC-1 at up to 15 times the performance of software alone when paired with a Tarari Encoder Accelerator board.

Connected to Data, Servers, and Services

  • Mash-up and incorporate services and data from the Web by taking advantage of the Silverlight support for LINQ while accessing that data with common protocols like JSON, RSS, POX, and REST.
  • Increase discoverability of rich interactive application (RIA) content that can be indexed and searched due to the text-based XAML format that describes interface and content in a Silverlight-based application.
  • Rapidly scale applications with Silverlight Streaming by Windows Live to host and integrate software services and media content.

Streaming audio and video

  • Silverlight Streaming by Windows Live offers a free streaming and application hosting solution for delivering high-quality, cross-platform, cross-browser, media-enabled rich interactive applications (RIAs). With the ability to author content in Microsoft Expression Encoder and other third-party editing environments, Web designers maintain complete control of the user experience.

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.