Craig Mattson (Personal Website)
Home - Blog, News, About MePrograms - C#.Net, Java, VB6MusicWebsites

Viewing News Article

HTML 5 v Silverlight (30/08/2010 08:06:13 PM)

There are many opinions in the industry as to who will be the major winner out of HTML 5 (dubbed the "Open Web"), Microsoft Silverlight (a client-side sandboxed web application utilising the Microsoft .NET Framework) and Adobe Flash (the current dominant player in Animation and Web Applications on the web). What I am trying to understand is why such an argument exists? Steve Jobs has actively suggested many times that Adobe Flash is irrelevant when you compare to the functionality to HTML 5 (particularly the Canvas technology) but perhaps the consistent outbursts are misunderstood in the industry.

A majority of the banner advertisements, multimedia containers and 2D Games that you see on the web are more than likely developed using Adobe Flash / Shockwave and yes, Steve Jobs is correct for the majority. At the moment, web-based applications such as Google's YouTube and Maps are experimenting with offering HTML 5 versions of the website to enable content to be embedded directly to the browser - so such "Open" functionality can and does work. Canvas technology does allow 2D games to be created as well as better Banner Advertisement systems that don't bring your PC to a screeching halt. The downside to your average consumer is how effective banner advertisement and popup blocking software is going to work? This is perhaps considered a feature of HTML 5 that Google, Microsoft and Apple (as well as various other third parties pioneering HTML 5) due to the massive revenue opportunities that exist for these companies. With a rant like that, you are perhaps expecting me to say HTML 5 is the loser? Absolutely not and for the very reasons HTML 5 is lacking in development complexity is the very reason Microsoft Silverlight and Adobe Shockwave Flash exist.

HTML 5 is a good standard for us to use as the "Assembly" of Web Programming. The raw nature of HTML 5 will ensure all devices designed to browse the web have at least a common core of multimedia functionality that can be presented to any Web Client be it a Mobile Device, Tablet, Kiosk or PC. It is absolutely necessary that we have the ability to drive multimedia content to multiple devices particularly due to the way social networking websites dominate total internet usage, and the potential future for news and the e-zine industry boom. But the trick is HTML 5 is simply a standard. It's not a programming language; it's not a particular technology. It is a baseline with a set of semantics to build websites that can render properly under a particular language definition irrespective of the target device. This is very important for the industry as a way forward past the primitiveness of HTML 4.

However - HTML 5 and its Canvassing technology, Integrated Video Streaming and Tagging amongst data integration is simplified to ensure it is possible to be implemented in its entirety amongst various devices. This is where technologies such as Microsoft Silverlight and Adobe Flash can bring proper complex web applications to the internet.

Video Streaming

YouTube is a fantastic website for streaming video footage and has assisted in the promotion of multimedia streaming for many corporations around the world. It has encouraged smaller businesses around the globe to also upload video footage to the internet. The main caveat with current HTML standards revolves around the lack of built-in language definition for multimedia applications. What Adobe Flash provides is a sandbox to allow the client, irrespective of what media player is installed, to stream the content. There is also some control over DRM (particularly where publishers want to restrict access), and a way to control the interface. Microsoft Silverlight takes a different approach to Video Streaming technology. When encoding a video, you can encode to multiple bitrates (quality levels to control file size) so that instead of buffering, Silverlight can use an algorithm to determine how much bandwidth you have available and will switch streams seamlessly to ensure you don’t have to buffer (except when your bandwidth drops below the minimum stream threshold).

Complex Software Applications via the Web

Over the last few years, emerging technologies such as json and jQuery have allowed web developers to create web applications to pull data via web services of sorts; however anyone who has attempted coding an interface with json and jQuery will understand there is a significant amount of work that goes with it, including browser interoperability. Strictly speaking, a technology such as Silverlight perhaps is nothing more than a sandbox primarily designed for Microsoft Windows PC’s through Microsoft Internet Explorer, however with Silverlight powered by the .NET Framework, you can expect that your various Business Logic Layers already implemented in existing projects can be reused within Silverlight applications by exposing WCF Services. Silverlight allows a web developer to design a rich user experience rapidly, reuse a common complex development framework interconnected with web services to capture and deliver content. Whilst we are seeing great progress with Google Documents, YouTube, Facebook and other Web Applications not using Flash or Silverlight, they are a long way off being viable alternatives for industry-grade applications.

Consider a Data Entry platform in a large multi-national corporation where your support services are located in another continent. Leveraging built-in features such as Web-Cam integration, support can be provided by visually communicating with the end-user and controlling what they see in a Remote-Desktop capacity. The possible argument is existing technologies exist for the sole purpose, but having it built as part of an application eliminates the need to deploy such services. Remembering that all you need to run a Silverlight 4 application is the Silverlight framework on a Windows PC reduces deployment time significantly.

New Features and Experiences

HTML 5 is a standard. Well, not really a standard in its’ own right (yet). In less time than it has taken HTML 5 to gain some traction, Silverlight and Adobe Flex (an SDK for Flash) are in their fourth production releases with features being added all the time. Granted, some features are still not complete, but there are many customers of Silverlight and Flex solutions that are remarkably happy with their rich user experiences. Particularly in the last two versions of Silverlight, we have seen IIS Smoothing (Adaptive Video Streaming), Web-Cam integration, Drag-and-Drop integration and the roadmap list for both products is growing considerably. HTML 5 is still being drafted and parts are being implemented into browsers claiming to be standards – when they really aren’t! Standards take years to develop, features take months to develop and continue growing. Are we really going to be talking about non-DRM Video Streaming in 2020, or even using a 2D Web by then? Truth is, no one knows – but one thing is for certain, “now” technology can be provided by sandbox frameworks.

[Print View]