In the past, the US has held a near monopoly not only in ColdFusion-based user groups, but also conferences, with CFUnited, cf.Objective() and the more general Adobe MAX leading the way.

But the landscape is changing and the UK is challenging for its share of the scene. 2008 is seeing a renaissance in the ColdFusion world following on from the buzz created around the release of ColdFusion 8 in 2007 and the eagerly anticipated future release of ColdFusion, codenamed Centaur. This buzz has resulted in not one but three conferences for 2008: CFUnited Europe was held in London in March, Scotch-on-the-Rocks was held in Edinburgh in June and soon we will see the return of CFDevCon.

The inaugural CFDevCon one-day-conference was held back in 2006, in Croydon, but in September 2008 it is heading down to what is arguably one of the creative capitals in the south of England, Brighton. The conference has not only become a two-day conference, but its scope has moved beyond simply Adobe-based products, with the introduction of Microsoft-based technologies, specifically IIS7.0, Silverlight and SQL Server 2008 and technology-agnostic topics such as Regular Expressions, Search Engine Optimisation (SEO) and Accessibility.

As with all great conferences, CFDevCon has a great line-up of speakers with the likes of Sean Corfield, Hal Helms, Peter Elst, Peter Bell, Aral Balkan and Simon Bailey, to name a few, all presenting sessions.

So, lets get excited people, support the conferences and user groups and evangelise ColdFusion.

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.

Microsoft is finally making real efforts to woo the designer community who have traditionally worshipped the Adobe and Mac product ranges. One new product that addresses this previously overlooked community is Silverlight, which uses the XAML technology and is touted as Microsoft’s Flash killer. For anyone who is keen to listen, Microsoft proposes that Silverlight will achieve similar results to Flash, but it does so in an entirely different way and has different aims. So, the big question is, will Microsoft be able to break the dominance of Adobe’s Flash platform, that is available on the PC, Mac and mobile devices alike? I’m sure the jury is out on that one, but it can be said it is an uphill task.

So what is Silverlight and XAML proposition? How does it vary from Flash?

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.

Not much difference to Flash so far…

Extensible Application Markup Language (XAML) is a declarative XML-based language used to initialize structured values and objects. XAML is used extensively in the .NET Framework 3.0 technologies, particularly in Windows Presentation Foundation (WPF), where it is used as a user interface markup language to define UI elements, data binding, eventing, and other features, and in Windows Workflow Foundation (WWF), in which workflows themselves can be defined using XAML.

Not much difference to Adobes’s MXML

Browser support…

A frequently asked question is which browsers and operating systems will it run on? If XAML is limited in this area, its usefulness in the web world will also be significantly limited. Previous encarnations of XAML, were limited and justifiably criticised as it would only work with an ActiveX control. However, this has now been resolved with support for Firefox, Opera, Safari and Netscape, Windows and OSX alike. Support is provided by a downloadable plugin, much like Flash!

Like Flash…

Silverlight enables web developers to create visually rich user interfaces and animations, play video clips and stream media within the web page, again, much like Flash! But it is different! The comparison doesn’t end there. Animations are organised using timelines and frames within the tool…how else would you organise an animation without timelines?!

Like Flex…but not!

Where things differ from Flash are the tools used to develop the Silverlight applications. Silverlight is supposed to be a way of designing and building rich user interfaces. However, standard HTML elements are missing. The way you design a particular interface is to build a standard HTML form in your favourite editor, e.g. Dreamweaver CS3, and then open this page in Silverlight to add the visual enhancements that your design requires. This sounds complicated to say the least. In comparison, Flash has a brilliant tool and framework called Flex that does this far more gracefully and with the development of Thermo, designers can really feel comfortable in the web application development mix.

Silverlight applications will also run on mobile devices, but the plan is for the applications to only run within a mobile web browser. This is unlike Adobe who are feaverishly developing the AIR runtime to allow Flash applications to run independently of the browser environment and offline.

So, Web 2.0 and beyond with Silverlight and XAML may be somewhat jumping the gun. You may say that there is nothing new or innovative with the Silverlight offering. It does, however, serve to emphasise how important the Rich Internet arena is becoming or indeed has become.

Both Web 2.0 and Software-as-a-Service (SaaS) almost always depend up on the browser as a common denominator. It is with the web browser that web-based applications are accessed and run, yet the browser model is rapidly reaching its limitations.

Adobe thinks it has the answer and so now does Mozilla.

A year ago, most web developers had to think about Firefox, Internet Explorer, Safari, Opera and perhaps WAP for mobile devices and widget development for one of yet more platforms. Today the horizon is changing and web developers are afforded more opportunity and possibly with that more complexity, through offline development.

Browser extensions now exist that allow for the creation of offline web applications with Dojo Offline, Google Gears, Firefox 3, and other options on the market, pioneering the way and making it possible to take your web application with you on an aeroplane or an underground train.

The drive to make these offline applications desktop applications has also been thrown into the mix, with examples coming from Apple with WebKit Cocoa bindings, Adobe with AIR and Microsoft with Silverlight. Now it is the turn of Mozilla to enter the foray with a project called Prism.

Mozilla Prism

Prism is part of an experiment by Mozilla designed to “bridge the divide in the user experience between web applications and desktop applications“. Essentially, Prism will allow you to create a desktop-like application out of individual websites. These site-specific applications are a growing trend and a trend heavily marketed by, not only Adobe, but now Mozilla, as ‘the future’.

While traditionally users have interacted mostly with desktop applications, more and more of them are using Web applications. But the latter often fit awkwardly into the document-centric interface of Web browsers.

In its current form, Prism doesn’t have the ability to function as a desktop application without access to the Internet, but Mozilla says it is “working to increase the capabilities of those apps by adding functionality to the Web itself, such as providing support for offline data storage and access to 3D graphics hardware.

Instead of needing to run a browser to, for example, access Google Calendar, a simple icon can be clicked on the desktop. The icon will launch the Google Calendar application inside a Prism window, without any of the additional web browser bloat. This can have its benefits, especially when designing workflows and securing applications as the developer’s pain, the back button and address bar, are removed from the equation.

Prism-based Google Calendar

Although Mozilla may be excited about the concepts behind Prism, and Adobe about AIR not everyone shares the same enthusiasm, or has the working habits that require such an application-based approach. For some, the advantage of web applications is that they inherently aren’t desktop applications and everything can be handled in a single application almost anywhere on the planet, assuming a computer with a browser and web connection. However, Prism, AIR and Silverlight could end up offering the best of both worlds.

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.

Microsoft finally unveiled its new product, Silverlight. But is it actually a product? Not really. It is more aptly described as a runtime system for a cut-down version of the .NET Framework and just-in-time (JIT) compilers. The runtime is tiny, designed to be a plugin to a web browser much like Flash is also available as a plugin. Microsoft see this technology as a potential “Flash killer”, although it is unlikely to achieve such a status, at least in the short to medium term. They have stiff competition from Adobe with the AIR/Flash/Flex combination which is engrained into the designer/developer community.

Microsoft Silverlight Logo

From the Silverlight website, it is clear that the project is heavily graphics-orientated and can do interesting things with video streams. Somewhat more interesting is that Microsoft have said that it will be consistent across multiple platforms, running on both Windows and Macintosh operating systems. It may even progress to Linux through the partnership with Novell, not to mention support for Windows smartphones and other Windows embedded devices. This is intriguing, yet promising for a company that historically has shunned competing technologies.

Microsoft described Silverlight as “a cross-browser, cross-platform plug-in for delivering the next generation of Microsoft .NET-based media experiences and rich interactive applications for the Web”. The emphasis is on rich interactive applications delivered over the web. The result being applications which offer a new level of user interactivity to rival that of the desktop and firmly banish HTML-based website to the bin. Sounds familiar? Flash?

So how is it different from AIR/Flash/Flex? Essentially, you can use any of the languages supported under the .NET framework, which means that Silverlight applications can be written in C# or Visual Basic, as well as other languages such as Ruby and Python. Like the AIR/Flash/Flex combination, Silverlight has its own set of development and debug tools in Visual Studio and a complete Expression suite for visual designers.

The Killer Application?

Silverlight on its own will not be the killer application so-to-speak. It is the services behind Silverlight, the data streaming services, that will be a key differentiator. Combining Silverlight with Microsoft’s new initiative, quietly referred to as “Live 2.0″, will provide video storage and streaming capabilities worthy of a Google-styled offering. These streaming services will clearly carry some form of advertising. You don’t have to use the Microsoft service, but the intention is clear; high-bandwidth, high-availability streaming of video data requires huge investment and Microsoft is making that investment to take its own slice of a huge, fledgling market.

Video streaming isn’t the only part of the service. Microsoft plans to develop facilities such as server-side data and credit card processing. This opens up possibilites for an application developed in Silverlight to be hosted, managed and distributed by Microsoft or another partner. I hear alarm bells … hosted, managed and distributed all by Microsoft! This is clearly putting all your eggs in one basket, but prudence is key when choosing which services to sign up to.

The Future Is Online.

With Silverlight, Microsoft has shifted its emphasis and signalled a firm intention that the future is online. It will be offering end-to-end solutions that allow the design and development of systems, and the management and distribution of those systems based around web services running not only locally but out in the etha of the Internet. Utimately we will be able to choose when, where and how we access applications and information. Whether Microsoft’s vision can be successful is dependent on whether this behemoth of a company can metamorphose from a conservative institution into a dynamic one. They have the money, the intellect and the technology, they now need the spirit of a precocious of a teenager.