Cathode Tan - Games, Media and Geek Stuff
logo design by man bytes blog

Monday, June 07, 2010

Thoughts On HTML5

My current project has dragged me through the rails of HTML5, with the luxury that we're targeting WebKit (Chrome specifically) alone. So I can conveniently ignore a lot of the current disadvantages of working with HTML5, or rather the main one - that 90% of the web has no idea what the hell it is - and focus on the positive.

Since Apple declared that HTML5 would destroy all plugins, there has been rather sudden amount of marketing and attention to the specification. Some of this may be good, as most web specs don't get decent advertising ... but marketing can control the message, and messaging can impact how developers tackle new technologies.

Which can be dangerous. For one things, HTML5 is not all about plugins. Here's a few notes I've had since working with HTML5.

Flash and HTML5 can (and will) co-exist
Steve Jobs would like to have people think that HTML5 and Flash are some kind of binary decision. What HTML5 is providing in terms of audio and video is a rather logical and much needed update to the way web pages handle assets. Since the web was young, the image tag has been foremost in people's minds and has been slowly appended to include rather advanced features. All the while video and audio were relegated to various kinds of plugins.

Take Timex as an example. They have their Flash lead banner, with rich interactivity and animation, and they have a simpler HTML item scroll beneath it. It's actually a very good use of both Flash and dynamic HTML.

Could the canvas tag be made to replicate the Flash banner's smooth animation and interaction? Perhaps, but unlikely. And the reason why Flash is going to be around for some time is that the pipeline to create that animation? That's all Adobe. From Photoshop to Flash Studio - developer use Adobe products to create these kinds of products.

Or in other words: HTML5 probably won't be a complete replacement for everything Flash does a) performance for the canvas tag is increased, b) the complexity of dealing with SVG is decreased, and (or essentially) c) until Adobe designs the toolset to to make HTML5 as powerful as Flash.

And these thing may never happen. Which is fine - plugins have existed to give browsers functionality they wouldn't normally have. HTML5 gives web developers more options, but that doesn't mean we need to start taking any away.

To truly sum it up: Flash is not the blink tag.

HTML5 extends the browser
If we can ignore the fact that you'll be able to sometimes embed videos without Flash, there's a larger picture about the new features. If anything, it seems that the real goal of the HTML5 seems to be about extending the reach of the browser to your desktop and the world around you. With an offline database, geolocation, web workers and web sockets HTML5 browsers are poised to be able to offer new capabilities to enhance the things people do today in the social networking world.

Theoretical example: Twitter could have a whole new concept of local trends. Background processing could localize tweets only within a 50 mile radius of your current location and provide a list of current hash tags. Or why not 50 feet? See what trends are occuring in your coffee shop, not your entire city. Meanwhile your offline storage is tracking tweets you've replied to and retweeted - essentially creating a potential recommendation list for future browsing.

HTML5 extends the concept of a website
When I first encounted the concept of offline web applications I dismissed it as merely a more intelligent cache scheme - which isn't necessarily a bad thing, but not really a wonderful thing.

The more I tinkered with it - the more I realized, though, that works in a very subtle way with the rest of HTML5 to blur the notion of a website and an application. If you go to ebay.com right now, you are very clearly going to a website. More than likely anything you haven't recently viewed will be downloaded for the browser to render, the same with everything else on the rest of the website.

Browsing as normal, right? OK - now think of ebay.com as just the place you go to get the initial download of ebay's web application. As you browse, ebay's manifest is storing all the important assets you need to use ebay on your drive. Not in a transitional sense, but a rather permanent one. You'll use this version of ebay's website - online or offline - until you intentionally remove it or ebay updates the manifest.

First you'll notice everything is faster, because fewer assets need to be loaded per page load. Also, any mobile functionality could be automatically provided to you. Static information about your account, etc., could be stored in the database. You really only need to call out to the server for search results and to get the latest update on that bid you've made.

The bottom line: if ebay were to deliver a desktop application for you to use, it would probably look a lot like this. And you didn't have to do anything to install it but browse to ebay.com, and to load it again - just return to ebay.com ... even if you aren't online. Looking for the details on that gizmo you bid on last week? Just go to ebay.com, head to your account and pull it up. Ebay's server won't need to be hit once.

HTML5 is very suitable to tablets
A large screen on a mobile device? With GPS? Yeah, trust me - people haven't even scratched the surface of how functional web apps can be on tablets.

The Chrome Web Store Gets It
When I saw Google announce the Chrome Store during I/O this year, it became apparent that their strategy around Chrome and Chrome OS is a tightly woven web. Google is clearly going to be championing this kind of development and providing a marketplace around it. Interesting that Apple is doing a lot of podium pounding about HTML5 and yet web apps are still treated like second rate citizens when it comes to the iPhone OS. Installation is a bit of a mystery to most users, with no real indication of the difference between a bookmark and a web app, and management is limited to mostly just deleting. Chrome, Chrome Store and Chrome OS will probably provide users with a fully functional interface to find, purchase, install and maintain web apps in much of they way they deal with desktop apps today.

So it will be interesting, as HTML5 continues to mature and feature adoption increases. It's not a small change to web standards, or more specfically - web features ... and it certainly isn't all about plugins. To think of HTML5 as the replacement to Flash is narrowing the concept down to a point where it just isn't useful.

3 comments:

Thomas said...

"Apple is doing a lot of podium pounding about HTML5 and yet web apps are still treated like second rate citizens when it comes to the iPhone OS. Installation is a bit of a mystery to most users, with no real indication of the difference between a bookmark and a web app, and management is limited to mostly just deleting."

That's the key point for me, right there. I'm trying hard to push our organization toward content presentation on the web, where we have control and expertise, but the native app meme is strong precisely because Apple works hard to keep web apps as second-hand citizens on their devices.

Josh said...

And it's sad because the iPad could be a rockin' web app device.

Apple has decided to slice its messaging on HTML5 very thinly and use it as an excuse not to support plugins. I think they are afraid that if people realized how viable web apps are over native Cocoa apps, the App Store would get hit.

Which is kinda dumb, to be honest. The popular apps - games, silly entertainment fobs, music, etc. - would still be native. But Facebook, Twitter and the 1,000 apps which do nothing but replicate a website? Just not needed.

But with Apple's current setup, far handier for users and developers :|

Josh said...

Though perception might change when more devices support HTML5. Way easier to do cross-platform/cross-device.