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.
More options is always a good thing.
But I can't imagine HTML 5 being capable of something like this.
Aero
Please stop hurting America -- Jon Stewart
"I like Adobe â" they're a nice company,"
Has he actually used any of their stuff? Apparently not. Also, according to my friend who works in a Flash coding shop, they can real pricks occassionally.
Canada: The US's more awesome sibling.
<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).
"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
I'd like to talk to you about what I'm really excited about--the datagrid element.
I'm disappointed. I read that as the datagirl element, and I figured the link would take me to some lady's web design howto page, filled with examples, essays, rants, etc.
When our name is on the back of your car, we're behind you all the way!
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
HTML5 has a lot of potential, but adoption above and beyond Flash (or Silverlight, etc...) will depend on 2 factors:
1. Implementation Penetration
2. Authoring Tools
Flash's strength is in the tools more than the language(s), Actionscript and MXML. For every 1 Flash "programmer" I meet, I know about 10 people who know Flash well enough to make graphics and simple script work on the time line.
If a majority of the browser users have HTML5 support, and a killer app exists for editing content; I would then put weight towards the possibility of HTML5 trumping Flash.
I kiid, kiid. I like Adobe -- they're a nice company... for me to poop on!
</triumph>
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.
Why not just get in line over there, behind Silverlight, GoLive, and the rest of the systems that were going to 'kill flash'.
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.
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
http://en.wikipedia.org/wiki/Canvas_(HTML_element)
SVG, an open vector graphics standard, is part of HTML5.
Isn't this was SMIL was supposed to deliver? Is that dead now?
God Fucking Damnit
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.
Sigh. I really hope that HTML5 is somewhat similar to xhtml. I really do believe it went in the right direction in general. Even with xhtml strict pages not displaying at all if they had some unclosed tags. It all in general was working toward having authors writing better, more interpolatable pages.
Is xhtml dead? Will the applicable changes in html5 make it back to xhtml? I get the feeling that MS never implemented xhtml strict because they didn't want to drop the ability to extend it.
Once you start despising the jerks, you become one.
I can't decide whether your post should be wrapped in <sarcasm> tags or not. Absolutely everything you have said goes against modern HTML/CSS/JS best practices. The table element should only be used for displaying... wait for it... tabular data!
Also, why would you think Flex was free when there are clearly marked "Buy Now" links all over the Adobe product page? Yes there is a free SDK available, but anybody with any sense at all would know that Adobe is a company that makes money. I just don't know why you switched your whole project over to Flex when you hadn't even spent more than 5 minutes researching it.
I'd like to know the name of the company you work for so that I can know to steer clear.
You don't have to support IE?
Corporate intranet. The organization is 80% Firefox, 10% Chrome, and 10% Mobile Safari.
he does have to hand code his pages using emacs.
You just think he's hand-coding his pages. He's really using a website revision system (what's that?) written partly in Emacs Lisp.
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.
Through a screen reader, maybe? In which case your table layout will completely fail because screen readers expect the contents of TABLE tags to be, you know, tabular data.
You need to understand that blind and vision-impaired people will be among those "viewing" your page, and design accordingly.
I'd be pretty surprised if screen readers simply and universally fail when they encounter tables that are used for layout. Many of them have existed for a long time, certainly back into the 1990s, and not being able to handle table layouts would have rendered them useless for most of the web for a long time. And while making distinctions between data and layout uses for tables may not be purely deterministic, it's hardly an intractable problem. Something as simple as Lynx has been able to make some distinctions since 1999, well enough that most of the web turns out to accessible using it. I can't believe there aren't screen readers who can't do at least that well.
And if you can do that, what you mostly get without the layout table is generally a source-ordered linear reading of page sections corresponding to table cell... just like you'd get with any other document without repurposed table markup, albeit with sections determined by other tags. CSS gives you some flexibility in terms visual layouts you can create that aren't tied to the source order, which is nice, but it's hardly a disaster not to have this.
My own observation is that it's other things that present real obstacles to page accessibility/semantics: navigation that's only visible via flash or javascript, images or other media without fallback text, abuse of HTML entities, lack of access keys. Table layout? Not so much.
Tweet, tweet.
HTML 5 As a Viable Alternative To Flash? Not really, for one simple reason Flash/Silverlight are controled by their respective plug in's/api's and so forth. Thus no worrys about how something will render if one person is using one browser and another is using something else On the other hand, HTML is controled by the browser and each will do things a little different, either because they have not fully followed standards (MS) or they have added extras in a attempt to out do each other (all of them) Thus there will be always a place for things like flash/SL as with them content is delivered exactly as the designer/developer intended not how the browser decides to interpret it
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.