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.
Kill flash. Kill it stone cold dead.
If you mod me down, I shall become more powerful than you could possibly imagine.
<first post />
Frink: Nice try floyd, but you were designed for scrubbing, and scrubbing is what you shall do.
How long until HTML 5 is supported in every browser?
The "good" thing about Flash is that it is a plug in. Flash can be added to just about every browser by downloading a plug in.
HTML 5 will take a lot longer to get into every browser.
I really don't like Flash or plug-ins but in this case it is an advantage and will be for a long time to come.
Oh and NOBODY except Slashdot will write to a standard that IE doesn't support.
See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
We were just thinking that, if you were to hold off on implementation of HTML 5 in MSIE, we might, uh, contribute to your re-election campaign.
Sincerely,
Adobe
In current days, Flash is only used to:
- Casual games;
- Boring add banners, like "hit the monkey";
- Video players;
- Webpages menus, when the designer has no know-how to use CSS/Javascript.
Excluding games, all uses can be replaced by web-standards (even videos, in next-generation browsers).
JavaFX may be trailing Flash and Silverlight, but it's the only RIA framework that has a snowball's chance in hell of being open sourced.
It supports charting, animations, and rich media. Version 1.5 is rumoured to have support for complex form controls, just like Flex.
What's more, it's totally integrated into the Java Virtual Machine, meaning it can use all of the Java class libraries. It even has a mobile component, meaning it's possible to port applications between the desktop and supporting mobile platforms.
To me, this single runtime sounds like a much better alternative that the kludge that is HTML/CSS/JavaScript/AJAX support a multitude of IE6/IE7/IE8/Firefox/Safari/Chrome/Opera browser runtimes, especially if there's no framework behind them.
This space left intentionally blank.
"In some ways, you may say you don't need Flash."
I can't tell you how many times I've come across a site which uses Flash to show a single, individual picture. Not a stream of pictures. Not a mosaic of pictures. Not a slideshow of pictures. One picture.
WTF? You're telling me it's easier to code a Flash object to display that one picture than it is to throw in a link to the picture? Seriously?
Then you have those sites which insist on having their front page as Flash-only. Brilliant. Just brilliant. How the hell am I supposed to find anything on your site if there is no way to save that link for future reference?
Flash is ugly, slow and just plain annoying. Almost as annoying as punch the monkey. Web designers who rely on Flash to do their work should have their knuckles pounded with a five pound cast-iron doorstop dropped from a height of ten feet then made to punch a punching bag.
Hopefully HTML 5 will cure the web of this illness.
We will bankrupt ourselves in the vain search for absolute security. -- Dwight D. Eisenhower
Except for the music controls, just about everything on that page can be done with current HTML/CSS/JS now.
I kiid, kiid. I like Adobe -- they're a nice company... for me to poop on!
</triumph>
Don't twist history. The reason flash took over web video is because vistors tired of WMV/QT codec hell.
TODO: Something witty here...
It's unlikely Internet Explorer will die any time soon. So unless the Microsoft developers somehow magically start putting together a browser that is current in support of web standards, Flash and its brethren will never die. It doesn't matter how great the HTML5 support is in Gecko (Firefox) and Webkit (Chrome, Safari) - as long as IE continues to lag, we're stuck ("we" meaning those of us who code pages for the real world).
#DeleteChrome
Why? You can already disable blink, javascript, images and many more "standard" elements.
NB: The message above might reflect my opinion right now, but not necessarily tomorrow or next year.
Flash is Flash. Period. If your Flash file works in IE, it works in FF, Opera, Safari, etc. It requires a plugin sure, but it's one that's almost universally adopted.
By comparison just about everything else is developed in 2 phases:
1. Write standards-compliant code that's well-formatted and works properly.
2. Fix about 37,000 IE-only bugs, knowing that ~70% of your users are going to be viewing your site with that piece of crap. Additional time is required because IE6 and 7 aren't even consistent with each other in terms of how they piss on the standards. This is especially true with CSS, which IE is absolutely terrible with.
I welcome HTML 5, as I think it has a lot of nice improvements, as well as a lot of stuff that should've been there years ago. We just have to pray that browser support - especially from MS - actually allows us to USE the new features on a regular basis.
Also, one side note: Even assuming Flash is no longer used AT ALL for layouts or content delivery (and I hope it isn't), Flash movies and games will of course continue to exist... so Flash isn't going to die as some are saying, it'll simply be used for what it was actually designed for - creating animations and games.
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.
PDF is an ISO standard, SWF is now completely open and much of the related technologies are in the process of being opened, see here. Postscipt has always been fully documented and third party interpreters have been available. I can't find any reference to Adobe threating to sue over Postscript so while it might not be a formal standard it's effectively open (see Ghostscript).
There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
You obviously haven't tried this...
vertical-align: middle; only works like you think it does along with display: table-cell, but in some browsers it breaks horribly.
For table cells it specifies vertical centering. For inline elements it specifies how to align them relative to the baseline of the containing text. For block elements it does nothing.
http://phrogz.net/CSS/vertical-align/index.html
margin: auto 0 has zero effect because of margin collapsing.
http://www.researchkitchen.de/blog/archives/css-autoheight-and-margincollapsing.php
Those who would give up liberty to obtain working drivers, deserve neither liberty nor working drivers.