|By Bruce Armstrong||
|December 28, 2010 11:15 AM EST||
If you've been following Sybase's announcements concerning their plans for future versions of PowerBuilder, you'll know that they are planning for PowerBuilder 15 to be able to generate a Silverlight application and are looking at having it generate applications based on HTML5 as well. If you've been following this column, you'll know I've been arguing that we need Silverlight generation much sooner than that.
Back in November of 2008, I suggested that by the time PowerBuilder 12 was delivered, Microsoft would have Silverlight 3 out and it would be much more stable and ubiquitous. PowerBuilder 12 is here, and Microsoft is actually already on Silverlight 4. According to statowl.com, Silverlight was installed in 20% of browsers in November of 2008 and is now installed in 56% of browsers. Riastats.com indicates that Silverlight 4 is installed in 56% of browsers, and that Silverlight 3 is installed in another 6.5%. The bottom line is that Silverlight is now mainstream technology and the player is already installed in approximately two out of every three browsers. It's also available on phones based on the Windows Mobile 7 or Symbian operating systems. Finally, there are rumors flying about support for a player on Android and perhaps even iPhone, but nothing definite yet.
Some however have suggested that where Sybase should be focusing their efforts isn't on Silverlight, but on HTML5. I understand their concern as a Silverlight application requires a plug-in to be installed on the computer, and some companies that install a standardized desktop and prevent their users from adding software to it would balk at the requirement for the plug-in. HTML5 would also open up access to the application from devices and platforms that aren't supported by the Silverlight plug-in.
While I like what HTML5 promises, I have some basic concerns that make me reluctant to recommend using HTML5 as the basis for any line of business application development in the near future. Those concerns are:
2. Major players agree that it's not ready: Companies such as the BBC, Hulu, Limelight Networksand even Google's own YouTube indicate that HTML isn't ready to meet their needs.
3. It requires widespread browser vendor support: For HTML5 to achieve what it's designed to do, the major browser vendors need to implement support for it in their browsers, and in such a way as to not add on browser-specific customizations to it. Actual support for HMTL5 is a bit spotty right now. I tested it in a number of desktop and mobile browsers against html5test.com. The results, with a maximum possible score of 300, follow. Note that html5test.com rates not just the HTML5 spec, but "related specifications" as well. For example, 10 points is awarded for supporting Microdata, which is not part of the HTMTL5 spec. That again illustrates the cloud under which "HTML5" (what actually counts as HTML5) currently exists right now.
Internet Explorer 8 27
Opera (mini) 27
Internet Explorer 9 Beta 96
Firefox 3 139
Firefox 4 beta 139
Android 2.1 151
What's also of concern (as the BBC noted in the blog referenced above) is that we are starting to see browser-specific HTML5 implementations. Such browser-specific enhancements to the standards are what makes it so hard to write web applications that work across multiple browsers today. It's the problem that HTML5 was largely supposed to solve.
4. It requires an alternate browser or a browser upgrade: Let's assume that the HTML5 committee gets their act together all of a sudden and the specification suddenly achieves WC3 Recommendation status by the time PowerBuilder 15 is out (sometime in 2012). Let's also assume that the browser vendors all jump on the bandwagon and have HTML5 perfectly implemented in the latest release of their browsers. Are we there yet? Well no.
The problem is that if the original issue was the installation of a plugin, how is the requirement to install a different browser or to upgrade the existing one going to be any easier? Internet Explorer would typically be the browser that would be the default on those machines where there is a standard desktop deployment, as there are few IBMs that have decided to standardize on one of the others. As of this writing, of the 31% of the browser market share owned by Internet Explorer, according to w3schools , only slightly half of that is using the latest version of Internet Explorer (8 or 9 beta). Half of the Internet Explorer users are still using 6 or 7. All of those would need to be upgraded to Internet Explorer 9 - assuming that the final version of Internet Explorer 9 fully supports HTML5 - or a different browser would need to be adopted as the standard. What complicates that further is that Microsoft has announced that it will not support operating systems older than Vista SP2 because of the requirement to support hardware acceleration. According to netmarketshare.com, Windows XP is still being used as the operating system on 60% of all devices. If requiring a plugin is a hardship, where does an operating system upgrade requirement fit into the picture? Even if you're not facing a standardized laptop, if you're on XP you're going to have to use something other than Internet Explorer in order to get full HTML5 support.
None of these problems are insurmountable given enough time. Eventually, HTML5 will probably make it to the W3C Recommendation status. Eventually, the standard may encompass enough functionality for major players to adopt it for use. Eventually, all major browsers will most likely have support for it. Eventually, those browsers will be available in the majority of operating systems in use as hardware refreshes reduce the number of older unsupported operating systems in use (i.e., XP). Provided that the HTML5 standard doesn't get waylaid by infighting on the committee or sabotaged by browser-specific implementations, it could potentially be the ideal platform for web-based development. To expect all of that to happen by 2012 is rather naïve.
Let's keep our eyes on HTML5 to see how it's progressing, but let's not bet the farm on it being something we can use for line of business application development anytime soon. In the current horse race between HTML5 and Silverlight, Silverlight looks like the odds on favorite and HTML5 looks like a real long shot for the immediate future.
Approximately two weeks after I originally penned this editorial, Microsoft's Bob Muglia told Mary Jo Foley of ZDNet that with regard to Silverlight, Microsoft's "strategy had shifted". That started a flood of controversy; the results of which I don't think have finally been realized yet. While we wait for that dust to settle, it might be interesting to note how Adobe (the other major plug-in based technology) addressed HTML5 at their Adobe Max conference in late October. In his session, Lee Brimelow recommended that people take a hybrid approach, coding their websites to default to Flash but to gracefully downgrade to HTML5 if the Flash player was not installed. In addition, Adobe demoed a tool to convert Flash to HTML5. That's probably the approach that Microsoft might have been better off proposing as well with regard to Silverlight.
I'm thinking that it's also the approach that Sybase may want to consider as well. Still focus on Silverlight, still work on HTML5 as well, and give us the capability of generating applications that implement both. If the Silverlight player is available, use that, and if not then downgrade to HTML5. That will ensure that we have the capability to deploy apps until such time as HTML5 is mature and capable of being handled by a majority of machines, but also allows the app to work on non-Silverlight enabled devices provided there is a HTML5 browser available to it.
- Where Are RIA Technologies Headed in 2008?
- PowerBuilder History - How Did It Evolve?
- Creation and Consumption of Web Services with PowerBuilder
- Cloud People: A Who's Who of Cloud Computing
- DDDW Tips and Tricks
- Cloud Expo 2011 East To Attract 10,000 Delegates and 200 Exhibitors
- Working with SOA & Web Services in PowerBuilder
- Dynamically Creating DataWindow Objects
- OLE - Extending the Capabilities of PowerBuilder
- DataWindow.NET How To: Data Entry Form