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.
"But I can't imagine HTML 5 being capable of something like this"
Nor should it be. That's like saying my car should be able to traverse water too. There are tools for crossing water and tools for crossing land - and they are usually different.
But for simple "Here's a video of my cat yodeling" or "here's a sample of the music file you are about to download" you SHOULDN'T need a plug-in any more than you need a plug-in to view a picture (with apologies to the Lynx users among us).
However: there is no way HTML5 will replace Flash even for those sorts of applications until a large enough set of installed browsers can properly handle HTML5 that webmasters can safely ignore the hold-outs - and even if a large meteor were to strike a certain city in the American northwest that installed base will be quite some time in coming. Flash already has that installed base (modulo the iPhone and a few embedded devices).
Now, if you can make it such that HTML5 can be used to ram annoying advertising down our throats while denying us the ability to save the content we WANT to save - well then, I predict adoption to be swift and sure.
www.eFax.com are spammers
We've always been able to embed videos in web pages. The reason places started embedding them in flash was to make it more difficult to save/view the videos without loading up the whole page and/or to let them force ads before or after the video. And partly just because flash web "design" people only have one hammer so every problem looks like a nail.
Flashblock to the rescue right now.
If they make aggravating crap out of of standard HTML, then it will likely be harder to shut down.
Flash can be added to just about every browser by downloading a plug in.
Really? Please send me instructions for adding Flash 9 to the Opera browser running on my Wii, or the browser running in my Android G1 phone. I think you mean "Flash can be added to just about every browser running in Windows or MacOS on an X86," which is a considerably smaller set of supported devices. The PC has peaked; the future is internet appliances. When will people stop assuming browser = PC?
I've abandoned my search for truth; now I'm just looking for some useful delusions.
"- Webpages menus, when the designer has no know-how to use CSS/Javascript."
I disagree.
Flash is a wonderful tool for designers. They can create web sites exactly like they want.
Converting their initial design to HTML/CSS means a considerable waste of time, plus they always have to make tradeoffs because that feature isn't cross-browser and that other one requires high javascript skills.
Or they have to work with someone else. A guy that spends days trying to convert a design made with Photoshop into HTML/CSS. And the result is often not comparable. And the poor designer depends on the HTML/CSS guy, he can't change a single button in seconds by his own.
Two paths are currently drawn. The first one is HTML5/CSS3. It has some advantages over Flash (mainly: accessibility), but from a designer point of view, it's utterly complicated, it just doesn't exist yet and in its current state, it doesn't even compare to what Flash was 5 years ago.
The second path is drawn by products like Adobe Catalyst and its Silverlight counterpart (sorry, I forgot the name). I saw a demonstration of these and it blew my mind. A designer can finally take over what the final result will look like. He can make an all working draft of the web site right off Photoshop. I couldn't imagine how long it would have taken to create the same result as the demo with HTML/CSS conversion + Javascript + cross browsers testing.
Both paths are interesting. But just as argentic photography and assembly coding are now niches, HTML/CSS could also slowly die. Because people just want something quick, easy, convenient, accessible to non-techies as along as the end result barely works.
People usually don't like Flash for 3 reasons:
- because they only associate Flash to intrusive ads or to badly programmed stuff.
- because they never actually used Flash / Flex
- because they swear by FOSS. "Flash sucks, it's proprietary". But to tell the truth, Flash shows a failure of opensource. The Flash format isn't closed at all. There are even excellent languages+compilers that produce Flash files, the best example being haXe. And there have been several attempts at making opensource Flash players but they all failed. Oh of course, Swfdec and Gnash can barely play Youtube videos, but they are far far far from being replacements for Flash 10, yet Flash 9.
Company A releases a product only for some OS and only closed-source. Fair enough, that's its own choice and right. But they release specifications. FOSS crowd grims "grmbl, doesn't work on OpenBSD, grmbl, doesn't work on HaikuOS..." So what? Just like 99.9999999% of commercial software out there, because companies don't make people work without giving them a salary. So they expect ROI. This is not rocket science. Anyway, FOSS crowd is like "ok, fear Adobe, we're working on open-source players". Hope make people happy, but these open-source players just don't compare with Adobe's, and there's a long road before they do. So what? Instead of acknowledging the failure, FOSS crowd is like "ehm... Flash sucks, it's proprietary, it should be avoided, let's reinvent the wheel..."
Meanwhile, Adobe keeps improving it. The Flash VM isn't a bad piece of technology, and stuff like Alchemy are quite exciting.
I really think that points of views would have been different if a great open-source Flash implementation existed. People would describe Flash as a wonderful cross-platform VM, GUI and Toolkit. It would have been ported to every mobile device. Everybody would enjoy it. Except HTML/CSS guys who can't code nor design, and who would have to convert, just as argentic photographers had to learn how to use Photoshop.
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.
Come on folks, let's be a bit realistic here. It's been what, nigh a decade, and we still do not have browsers properly rendering stuff as simple as tables and positioning using CSS, DOM, etc.
And while granted that HTML5 may provide a nice alternative for embedding video and audio. If that's all you think Flash is for, than you've never done more than scratch the surface.
Check out Flex, AIR, and some of the 3D libraries for Flash. Experiment with remoting. See what you can REALLY do in Flash.
Check out Sliderocket for an example, or Aviary.
He did say "casual".
Joe Average User is not going to crop and save a screencap using image editing software.
"Mind, as manifested by the capacity to make choices, is to some extent present in every electron." -Freeman Dyson