HTML 5 As a Viable Alternative To Flash?
superglaze writes "Jon von Tetzchner, Opera's CEO, has claimed that the open standards in HTML 5 will make it unnecessary to deliver rich media content using the proprietary Flash. '"You can do most things with web standards today," von Tetzchner said. "In some ways, you may say you don't need Flash." Von Tetzchner added that his comments were not about "killing" Flash. "I like Adobe — they're a nice company," he said. "I think Flash will be around for a very, very long time, but I think it's natural that web standards also evolve to be richer. You can then choose whether you'd like [to deliver rich media content] through web standards or whether you'd like to use Flash."'"
But as someone who's thrown together more than a few web applications in my time, I'd like to talk to you about what I'm really excited about--the datagrid element.
Now, I know a lot of people are going to argue with me, but the most important tag in HTML is <table>. Every single graphical trick done to either speed up or sexify your web site is done with tables inside tables inside tables--it's tables all the way down!
When's the last time you laid out a site without a table element on every page? Hell, it's almost always the next thing to follow <body> on my pages. And you know the code I write to interact dynamically with that table is a bitch. An unmaintainable mess. Yeah, there's probably some library out there I could use to simplify that pain but it always comes down to me messing around with advanced Javascript code trying to squeeze some more functionality into the user's interaction with that table. "Oh, I want this box to highlight red when this happens!" a user might say. Everyone wants a "simple table" with Google Spreadsheets functionality.
So we switched a whole project to Flex once. Yeah, Flex. Free right? Not if you want the datagrid!
Advanced DataGrid component -- The Advanced DataGrid is a new component that adds commonly requested features to the DataGrid such as support for hierarchical data, and basic pivot table functionality. Available only with Flex Builder Professional.
Need to fork over cash for that gem. Oh, you can drone on and on about "vendor lock in" and "hidden costs" with Flash. Don't matter. Customer is king.
My only hope is that HTML 5 presents a competitive datagrid with pivot table functionality. From their specs:
The datagrid element represents an interactive representation of tree, list, or tabular data.
HTML 5, I await you with open arms, hope and understanding. Improve the table element (if possible) and create a solid datagrid element. Deliver me from Flash.
My work here is dung.
I work at a web development company, and we are already starting to move away from flash and relying more and more heavily on javascript. The motivation is mostly because:
a) the flash development tools are inferior to javascript ones
b) every web programmer knows at least basic javascript, many don't know any flash. Easier to build on basic js than train someone in flash from scratch
c) the flash development tools cost a fortune, the javascript ones are either free or very afordable
In fact, just yesterday I wrote a javascript replacement for a flash script which we use on many of our websites. (a general purpose loop of photos, with animated transitions). The javascript alternative is smaller, faster to load, *smoother animated in most browsers*, and easier to maintain or improve on in future.
We're also planning to do the same for other flash scripts in our code library.
Even when we do still use flash, it's in smaller ways. We will virtually never build an entire page (let alone website) with flash, instead we'll do the website in html and then embed a tiny piece of flash.
For example, a photo gallery will be pure html/javascript right up until the point where you click the "full screen" button. And even then, the flash doesn't exist in the page until you click that button, it is injected into the page and configured using javascript.
There are still some places where we need flash: video, full screen, and proper file uploads. Video will be the next to drop off the list, pretty soon we'll be doing video in javascript/html, with flash loaded in as a fallback in browsers that can't do video in html.