HTML5: Is it Ready for Prime Time?

The recent announcement by Apple that it has sold over one million iPads in just 28 days has developers chomping at the bit to create apps for the iPhone OS.  However, for many of these App Store success story hopefuls, there are at least two problems that they face before writing even a single line of code.

If one would like to develop a native app for the iPhone OS, they must either take a time machine back to 1988 and learn the nasty, archaic language known as Objective-C, or they must take a leap of faith and hope that Apple’s recent Developer Agreement changes don’t apply to Adobe and other vendors offering tools that translate various languages into native iPhone code.

If instead, one would like to develop a more portable app, designed to run on most any device, there is one technology that has produced more buzz than a hummingbird on steroids.

Enter HTML5, the apparent panacea of the software industry.  Is it supported by iPhones and iPads?  Check!  What about Android?  Yup!  And those old clunky things we still use at our desks and lug around in our travel bags, what are they called again?  Oh yeah, computers – do they support HTML5 apps?  They sure do!

So, then problem solved, right?

Well, not so fast.  As nice as it would be to code an app that can be run on any platform, there are some things to consider before drinking the HTML5 Kool-Aid.

Are we done yet?

The HTML5 specification is, hmm how shall I put this… still in its suggestion phase, otherwise known as a “working draft” by the W3C, the braintrust behind the spec.  The authors, in the third paragraph of the most recent draft, even go so far as to state “Implementors should be aware that this specification is not stable.”  Really?  And developers are still expected to get excited about using HTML5 in professional, production-ready apps?

Get me out of this thing!

HTML5 is still bound to the browser, and as such is somewhat restricted in what it can do.  In addition, developers are at the mercy of the browser vendors, who get to decide which aspects of the HTML specification will be supported and which will be left out.  Most good browser vendors are ahead of the curve, supporting much of the spec already, and planning to support many more features in time.  Others seem to be more reluctant and slow moving with their adoption.

So as a result, HTML5 developers are forced to either scale back their usage of certain features, taking a “least common denominator” approach, or throw caution to the wind and just hope that browser vendors will start adopting new features more rapidly (don’t hold your breath).

It’s Déjà vu all over again

Being tied to the browser also causes another headache for developers (a headache that javascript/css developers should be intimately familiar with) – inconsistent rendering.  You can be guaranteed that the app you’ve meticulously developed for the iPad will look great when rendered by its WebKit engine on its 1024×768 screen.  You can also be guaranteed that the same app will look atrocious when rendered in IE 9 on a 1024×768 monitor, or when rendered on a Linux/Firefox laptop with a 1024×768 screen.

So then a developer must inject logic into their code that detects the OS/browser/version combination, along with code specific to each combination, to ensure that the app looks the same no matter where it is run.  And this is the future?

Why can’t there be an open source plugin, similar to Flash or Silverlight, that browser vendors must support in order to be HTML5 compliant?  That would solve all our problems!  You would get pixel perfect rendering!  Your app would be lean and mean and free of any case statements!  It would be awesome!

Why can’t we band together and demand such a solution?  Think about it, it could work!  I’ll start a petition… wait… what?  Oh yeah, I almost forgot, we’ve done that before.  It’s called Java.

Oh well, I got excited there for a moment.

I can only do so much

What if you want your HTML5 app to be able to use the nifty features of the iPhone or iPad?  Well, aside from basic functionality, you’re out of luck, at least for now.  Device specific features such as the accelerometer, camera, compass, and multi-touch display are currently off limits to non-native apps.

You’re so negative, I’m positive!

Although the tone of this article might lead you to believe that I am railing against HTML5, the truth is that I am very much rooting for it to succeed (and I think it will).  What I am trying to point out is that there are things to consider before jumping into the technology.

In the long run, I’d be surprised if HTML5 weren’t a huge hit and the technology of choice for app developers.  In particular the combination of the iPad and HTML5 has the potential to be a real game changer, both in the consumer realm as well as the business world.

Even in its current state, there are still some categories of apps that could benefit from using HTML5.  One such category is Enterprise RIA’s.  Such apps are typically deployed to internal users, in a controlled environment.  Having such an audience would afford developers the luxury of targeting specific OS/browser/version combinations.

If you are considering using HTML5 in your next project, take the time to weigh out the pros and cons.  And if you decide not to use it now, make sure to keep tabs on the specification’s progress, because when you have Google and Apple behind something, it’s very likely that it’s here to stay!

What do you think of the viability of HTML5?



This entry was posted in Technology by Gene Loparco. Bookmark the permalink.

About Gene Loparco

Associate Director - Technology, Virtusa Corporation. Gene has over 18 years of experience in the IT industry, including several years spent architecting and deploying complex RIA applications. He has worked as an Enterprise Architect at Fortune 100 companies such as General Electric and Bank of America. He was President and CEO of an ISP he founded (Albany Online). And he has worked for just about every other type of company in between (including a dot-com bust!). Gene is currently applying his leadership and technical skills in the areas of emerging technologies. He is interested in analyzing the latest and greatest “cool” technologies for their applicability in the Enterprise, and then applying them when it makes sense. Gene has a BS with Distinction in Computer Science from Worcester Polytechnic Institute and is PMP certified.

10 thoughts on “HTML5: Is it Ready for Prime Time?

  1. Nicely written – I could not have said it better myself. I am going to keep playing HTML5 and hope we get a solid result but for now I have to stick with Flash apps where the demand is high, the projects are cool, I dont have to test in 5 browsers and future looks bright

  2. Nice write up Gene – thanks for sharing it. Jobs always had a closed system mentality – going back to the old Apple hardware – and continued with the App store.

    I believe HTML5 could take off for the Iphone OS if Jobs can figure out a way to monetize any application that uses it.

  3. Gene – great job with the HTML5 article – I thoroughly enjoyed it. I’m certainly very excited by the possibilities – check out the iAD video by Steve Jobs on youtube if you haven’t seen it yet. To Todd’s comment, I think iAD will be a platform that will “take a piece of the action” and could be a killer app for them to monetize HTML5.

  4. Thanks, Anthony. I’m not sure how bright the future of Flash is, but it certainly is a ‘here and now’ technology. I’m guessing it will be a frontrunner in the RIA space, even without Apple’s blessing, for at least 2-3 more years.

  5. Thanks, Todd. He’s actually figured that out with the iAd platform. Now that will be an interesting battle – Google vs Apple for mobile app advertising supremacy!

  6. Gene, I agree with all of your points. I really consider the mobile app market as a part of Web 2.0, which is moving past current browser functionality to rich internet apps. It is projected that the number of units in the combined iPhone/Android market will surpass the number of PCs this year. Google has already indicated all apps deliver first to mobile and 2nd to PC.

    First a few comments on the iPhone/Android space. I think Apple has entirely underestimated the barrier of learning it has with Objective-C. It has been fine as the iPhone platform ramped up, because enough developers jumped from OSX experience. But now you have apps that span Web, Windows, OSX, Linux, iPhone, iPad, and Android. Wasn’t a fragmented browser market enough? Google on the other hand has targeted Java/Linux, where there are an abundance of developers and maintaining at least some common code between deployments. The challenge for Google is achieving a high level of quality and integration on Android over multiple hardware vendors. So far it is looking good, and I predict Apple will have to respond with options other than Objective-C.

    Second is the iPad. Both from gathering comments from early adopters and my own user experience with the iPad, I’d say this thing is a new market. Especially around education. Students will likely carry around one of these with all their books on it, and apps specific to curriculum, and a wireless connection to TAs and instructors. It changes education. With a standalone dock, it also could open up markets like seniors who have been resistant to adoption of technology. It is a general device that specializes itself via apps. Very powerful. Yet Apple treats the iPad in many ways like a bigger iPad. How about a shared file system between apps. Some things like multi-tasking are on the way according to their iPhoneOS 4.0 announcement. But that is still evidence that they view the iPad and iPhone as one platform. Perhaps good technically, but I do hope they enable the iPad to be much more. Users will expect it.

    Thirdly, HTML5. Long overdue. Seriously needed to keep the browser from becoming a legacy platform. And when I say browser, I do mean browsers. HTML5 needs to consolidate all the browsers into a single environment. It needs to foster RIAs. It needs to enable information push to the browser. And it needs to reduce/eliminate browser plugin dependencies. The problem that could happen is that the market is so hungry for HTML5 features that they are adopted and implemented in pieces and it becomes difficult to solidify as a standard that every browser implements. We already have a fragmented browser market, so much so, that many or most enterprises force the use of one browser, one OS, and everything gets targeted to that. I do hope HTML5 is entirely successful. We need it to move forward with software and information technology.

    Lastly, I’d like to say that I find it very disconcerting that the current mobile platforms have no means of publishing to the web. If I build an iPhone, iPad, or Android app … I should be able to just publish it to the web as a Web 2.0 application. I don’t care if this is done via a plugin, an applet, a flash app, or whatever. But if mobile apps are going to become the most targeted apps, then the extra step should be taken to enable pervasive informational applications that also include web users in a browser, on a PC. Might be a transitional thing, but access to information is the goal. Not every mobile app will want this, but many will. The mobile vendor that makes some form of their simulators available as a general purpose plugin, or some way of surfacing apps for their platform via Web 2.0 might just take and keep the lead. And it seems that Adobe has done this, if Apple would let it surface. Why shouldn’t apps generated from Adobe’s Flex be judged on an individual basis, just like every other app in the Apple App Store? If it’s good enough it’s in, if not it is out. I’m buying Apple’s arguments less and less.

  7. Thanks for the kind words, Harsha. I did see that video and happen to think that Apple and iAD will pose a serious threat to Google’s bottom line. Those two companies seem to be on collision course on many fronts, with advertising dollars being the most coveted prize. It will definitely be an interesting battle to witness.

  8. Great points Vince. In response to your points:

    First point: I agree that Objective-C is antiquated. However, I’m not so sure that Apple will change anything. That hasn’t been their modus operandi unfortunately. As for Google, I think that Android, being open source, will face its own problems. Multiple versions implemented by multiple vendors is already posing a challenge to developers. This could be a problem that will get worse before it gets better.

    Second point: I absolutely agree with your assessment of the iPad in school. I wouldn’t stop there though. I think it could also present a new market in the Enterprise as well (I will probably blog on this topic next). I’m not sure that Apple doesn’t get it though. I think they’ve basically given us the canvas and are letting us apply the paints. Once they see the directions it’s being taken, I think they will start to add many of the capabilities you talk about. I agree that a shared filesystem would be nice. But just as important, IMO, is the ability to print wirelessly, and to remove the reliance on iTunes (or PC’s in general for that matter). Once done, the iPad will be a true laptop replacement.

    Third point: Unfortunately, HTML5 seems to be going down the same path as all previous versions of HTML. Each browser independently adopts or doesn’t adopt key features. We’re already seeing that happen with WebKit leading the way and Microsoft being slower to adopt. So, I fear that we’ll be left right where we started – with multiple browsers and platforms to support.

    Last point: I’m not sure that publishing to the web is all that necessary, since you still have to deal with various platforms, resolutions, etc. As for the Adobe/Apple grudge match, I hear what you’re saying, but I think I’m leaning a bit more towards Apple’s restrictive behavior. Maybe it’s not their intention, but I think it’s a good thing to want to restrict technologies that increase memory consumption and make the system less stable. One of the things I love about the iPad is that you can constantly put it to sleep, wake it up, use apps, close apps, and the thing never becomes less stable. I’m not sure if that would be the case if Apple allowed various runtimes on their system. That being said, I can see both sides of the coin.

  9. Pingback: The Enterprise iPad | Gene Loparco's Blog

  10. Great article. It’s mid-2011 now. HTML5 is still a risky route to take when considering a rich browser based UI purely based on mark-up languages.

    However with regard to Silverlight, the browser plug-in approach may be nearing the end of further enhancement (i.e., it’ll continue to exist after version 4/5 .. don’t expect a lot of enhancements/new features). Silverlight is now being guaranteed a future in the Windows Phone (currently 7) area instead.

    Sorry folks, it’s going to be a while before the HTML5 specs are finalized and all the browser vendors are on the same page (we don’t want the same HTML page to render differently in different browsers … otherwise we’ll be back to square 1).

    The good news is that HTML5 will make a huge visual and functional difference when it’s finally ready and content is created by the web developers.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>