Brandspace
home
Welcome to my blog. Catch up on the latest news, indepth tutorials, read my thoughts and see what a day in the life of my company is like.
Do you have a nice story to submit to this blog? Feel free to report it to me.
Thoughts about HTML5 and Flash
My dive into the future of the web.
I was reading lately "Dive into HTML5" from Mark Pilgrim to update my web skills and try to understand what's so beautiful about this new markup language and why people keeps thinking it may replace Flash. So my diving has started and I'm feeling like I don't like all this dirty water.
The general feeling I have is that we went back in the nineties when Flash started to become popular and having an animated site was just science fiction. We see today popular flash-like websites made with jQuery, but they result in having more CPU intensive animations, more complicated development and issues on older browsers when compared to todays Flash. Honestly I'm really not impressed by silly parallax scrolling sites, fading buttons and some animated gif.
Embryonic stage of HTML5
Nonetheless, I was disappointed to read that after two years of the release of HTML5 there are still unclear tags and specs. Just to mention an example, people doesn't understand when to use the section tag just because there are already other more appropriate tags to use, such as article, aside or the old fashioned div. There is still confusion around and messy specs.
The HTML5 Video Joke
When I found we have to use four different codecs for the same video to be cross-browser compatible it was just shocked as I cannot accept that a standard which is advertised as the future of the web hasn't yet such a specification! Encoding a video is a long process and it costs a lot of money to mantain such servers. Imagine a big company like YouTube that has to invest into 4 more times the money to deliver the same videos! That's just insane.
Flash videos supports H.264 encoded videos which run just fine on every device, even on the iPhone with a proper fallback. A standard, by its definition should be a rule... not a list of stupid expections. Think about it before you're going to develop an HTML5 Video player.
Play it again, Sam
Playing consistent audio accross all browsers in HTML5 is impossible. Some modern browsers (hello IE?) don't even support the audio tag. The Les Paul Guitar Doogle was made in HTML5 but the audio, guess what, was still made with Flash! Because there is still no audio codec that runs properly on all browsers, just like the video codec joke. If a huge company like Google hides flash inside such a thing there should be a reason!
Apples lies
If you're among those lobotomized macacos hanging from the lips of that dirty person called Steve Jobs, refrain from reading this. The truth about Flash being banned from iOS Browsers is easy to explain. You can actually publish flash stuff on iOS, even fluid awesome apps and games! Yeah, wake up we have hardware accelerated AIR Compiler now and it runs everywhere, compiles everywhere, not only on Macs like Cocoa. Though, there is a price to pay. You're forced to publish it on AppStore. There is no way to publish it outside of it.
Even if you don't want to use Flash and try to publish HTML5 Canvas Games they run like a spastic old farting man on your iPhone or iPad just because Apple Devs have locked Safaris performance. In poor words it runs properly only if you pass through the AppStore. That tells you how bad this company is, they're after your money and don't care nothing about open source, future of the web or even if your phone battery doesn't last one day. If you want to join the party you have to pay the protection money to Apple.
Imagine if Flash Web Games could been played on the iPhone, imagine how much happy people there would be around playing CityVille on Facebook without having to pay anything! They actually do it already on Android Phones. The bullshit told by your good old Steve isn't just the truth, face it and start thinking... different! :D
The potential of both HTML5 and Flash
This post wasn't meant to bug down HTML5. It's still a young "standard", if we can call like this, though there are some interesting functions like geolocation and offline storage which are interesting features to be used. I see this built-in features can be used inside social web games, even built in flash, why not? If you don't know it yet, Flash and Javascript can communicate with each other. Both platforms have huge potential and this stupid war is just nonsense. Even existing Flash Video Player might benefit from HTML5 by implementing a fallback for mobile phones that have their own built-in player anyway, so just a few lines might enable your fancy clients to view the videos on their devices.
Flash has so much more to offer than simple fade effects and I showed it into my components where I used three-dimensional frameworks, advanced physics, external apis like youtube and flickr, deeplinking for SEO and most of all a consistent experience among all browsers. Those paralax scrolling sites made with jQuery are cute ok, but technically speaking they're jumpy and raw. HTML5 is still weak, though I might expect big things to happen but it's just too early to claim it as the Flash killer... really it's too far from it even if you create awesome animations with the shortly released Adobe Edge Animation Tool.
If you're smart enough you will use both solutions and gain certainly much more experience. Best if you combine them together.
The truth about Flash
Flash has evolved the latest decade, it can run with a very low CPU consumption if properly coded. It is far smoother and easier to use than any other existing tool. Even the animations of popular HTML5 games like Pirates Love Daises have been crafted with the Flash IDE just because it's easier to use.
HTML5 is now what it was Flash ten years ago. You cannot compare them, there is still a huge difference and Flash won't be the same it keeps evolving and improving just like any other technology.
Post Discussion
Leave a comment
10flashedge
I totally agree with you, but let’s face it those tools have different purpose. Those claiming the end of Flash don’t know how things are today. I’ve investigated into both technology for enough time and feel the right to say my opinion without writing bullshit.
I don’t work on the timeline since ages, I use object orented classes with library items and runtime loading just like javascript or any other object oriented language. The same code can be deployed on the Flash Player as also into the AIR Compiler for both Android and iPhone. Here’s an example of a game built with flash, it’s butter smooth just like on desktop: http://www.youtube.com/watch?v=5rp7UNCWbyc
By the way you missed some codec. To have an HTML5 player fully crossbrowser compatible the codecs to be provided are the following: webm, ogv, mp4, vp8. The doodle I mentioned used flash to support older browsers like, guess which one? IE6! :D
HTML5 has still a long way to go and I’ll certainly follow it’s development, but I’ll keep my dirty hands into Flash for a while. ![]()
I’ve seen very heavy, clunky and sloppy jQuery sites that hogged my CPU too…
There are good developers as the bad ones, don’t blame the technology. I’ve seen great stuff made in Flash on Android too, same thing for HTML5. Like your work is proving.
Federico
huh? WebM works in Chrome and Firefox, MP4 in IE9 and Safari. There are a bunch of other video formats, it doesn’t mean I have to use them all. Two formats are enough at this point.
Google is actively fighting other proprietary formats (MP4) and helping navigate away from Flash, so I’m confident they didn’t use Flash because it’s the only way. Laziness or time constraints have likely been the reasons. HTML audio with Flash fallback is possible and easy to integrate as shown by SoundManager. Most browsers support HTML audio, anyway.
Again, it’s butter-smooth because it’s compiled into native code. Using Flash IDE to build native applications has nothing to do with the Flash vs. HTML5 argument. You can’t build a “native website”, can you? The Flash IDE might be a great tool if the output is not an swf.
I’m not talking about 3D videogames made in Flash, even watching a few *videos* in Safari freezes it for a few seconds on my computer (SSD + 2.8 dual core) while Safari itself is capable of playing 1080p H264 videos without a hitch (just tested it). I’m talking about stability, not CPU usage.
Federico
One last thing. While Flash seems to be the only way for some major video applications (DRM support, streaming) and projects that need microphone and webcam access, there’s little to no reason to use it if the application doesn’t need those advanced services. How many websites actually need them? Much fewer websites than those using Flash. That’s why people dislike Flash: it’s used where it’s unnecessary (formerly also in Flash navigations, useless Flash transitions and intros, which may be the true reason why Flash is hated)
flashedge
You missed Opera among the major browsers.
The hate for flash was summoned by bad coded sites and endless banners around the web. Steve Jobs contributed to bug down Flash with his lies. Even simple HTML5 Sliders, like the one of this site, run like crap on iOS just because the browser is underpowered on purpose to avoid any alternative to the AppStore. Even your wonderful work doesn’t run properly on iOS and I would be pissed off if I were you. ![]()
I don’t know which version you’re using but Flash runs flawlessly on my side, even on macs. How can you say Google doesn’t support Flash? Chrome has it built-in and updates itself automatically. Their Android phones have the latest version preinstalled. Even their advertising are made with Flash.
About the compiling, both AIR and SWF can be coded in AS3. You can compile them even without the Flash IDE, by downloading the free open source SDK provided by Adobe and mounting it into FlashDevelop or TextMate you have all you need to get started.
That said, you’re right. Flash cannot be used for everything. Though you cannot get rid of it and will be a long way before you can even compare it to HTML5. Heck, it’s even used for building the menus for famous videogames like Crysis and Assassin’s Creed.
Best thing is to use both technologies wisely until standards have been ironed out.
Tsafi
Bottom line no matter how you look at this none of the alternate platform today like HTML 5 plug in, Js ,jq` are based on old syntax and they are not a true engine that can accelerate things around without a 3 party elements not to mention true 3D with good rendering is a dream for them right now , so I guess flash still have the upper hand here in some sectors and that won’t change so soon.
Still a web developer will stay in the boundary of his territory of knowledge, as using flash will be too much hassle for him + the negative flash trend this days or what i say 1 more less thing to learn , so basically any kid can enter a video div in his HTML5 page and this is very simplistic matter for many, i guess choppy look and movement are not much of an issue for many (: .
Andrea Basile
Ma te dhu siti ???
Scrivete in Italianooooo che è una lingua bellissima !
Manu, comunque ho scaricato la beta di Adobe EDGE sia per winzozz che per Lion . . . è troppo una figataaaaaa !!!
![]()
flashedge
Ahahah Andrea, ma impara tu l’inglese piuttosto! :D
L’ho provato poco Adobe Edge, mi sembra ancora da migliorare ma sicuramente un buon inizio.
Federico
Dude, what are you talking about?
1) Opera uses WebM
2) Underpowered? Do you realize you’re talking about a phone and not a computer? Obviously it’s not going to have the same performance as a computer
2a) Safari Mobile got a huge speed improvement on iOS 4.3 and Apple is improving it further for web apps in iOS 5. Apple was even the first to bring hardware acceleration in a browser — and that first browser was even on a phone!
3) Security is among Google Chrome’s main features, it made sense to manage Flash’ updates Chrome’s way: instantly. I wouldn’t be surprised if the unofficial reason was to make the browser YouTube-ready out of the box.
3a) Vendors are pushing for Flash support as it’s a feature the iPhone lacks. “Flash support? I’ll buy three!” they think, but they can’t compare with the iPhone experience. I digress.
4) You’re right, maybe Flash’ licence is not the problem
Tsafi, Flash is as 3D as HTML/SVG, which isn’t, it’s pseudo-3D
Andrea, spik inglish!
flashedge
Federico, you seem to ignore that most users cannot or simply don’t want to update their browsers. Think about working stations with locked auto-updates or simply lazy users.
HTML5 Video supports MP4, WebM, OGV and MKV, there are still certain browser versions which use those codecs. Sure, you can just pick up WebM and MP4 and you’re set, though you cannot rely on the fact that all users have the latest version of each browser, unless you use a fallback.
Talking about browsers, it might be wonderful if everybody would just have everything up to date, we might even have fully hardware accelerated browsers today. Maybe even WebGL would seriously take place, but the sad truth is that it doesn’t run everywhere. There is still a lot of users with Windows XP or even older system which cannot run such stuff.
Like on iOS, the browser has indeed hardware acceleration. The iPhone can run complex 3D Games. Tell me why CSS3 transitions are hardware accelerated while Canvas does not benefit from it. ![]()
You know better than me the limits of that browser, I tried to play your site on my iPhone and the text popping out made me grin. Especially considering how it runs. :D
Apple products have always been desirable items with the “cool” factor, that’s why people want it. Steve Jobs is a marketing monster, we all know it. Despite this, Android phones reached nearly 50% of the market share.
Here’s some example of Flash “pseudo-3D” (they run smoothly on Android too):
http://ecodazoo.com/
http://the-planet-zero.com/
http://www.youtube.com/watch?v=KcKvS983K8c
Did you know Unity3D will deploy to Flash too?
Flash is being around for over a decade. The fact that’s a plugin isn’t really such a bad thing if you think it outside the box, you can run the same stuff in older as in newer browsers without hacks, workarounds or any other sort of headache.
Despite everything I’m still playing with HTML5 and experimenting stuff, so when the time will come I’ll be ready with or without Flash. ![]()




Federico / Bfred.it
You’re right, “HTML” performance isn’t yet on par with Flash performance and it’s is not nearly as polished, but that’s partly because you’re comparing apples to oranges. Flash was never thought for websites, in fact a “Flash website” is often just a bunch of play/pause along a timeline — that’s called an interactive animation. HTML’s canvas is roughly the same as a Flash object and in its latest implementations it’s hardware accelerated (in IE9, probably Chrome and soon Firefox) and can provide a comparable experience.
HTML5 is used to define a document structure, semantic elements (will) greatly help “robots” (assistive technologies, search engine robots, etc) understand it. If people don’t know which tag to use, they need to study HTML5 further. Their uses are clearly defined in the many articles across the web, including “Dive into HTML5” and “HTML5 Doctor.”
Note: HTML5 hasn’t been “released” yet.
W3C is not a company, it’s an organization with more than 300 members with different views and interests, that’s why HTML5’s media is in such a situation — which is not as awful as you describe it, anyway. Only two formats are necessary for playback of each type of media: WebM and MPEG4 for video, and MP3 and OGG for audio. And you’re wrong, IE9 (and Safari) correctly supports MP3 audio Flash-less playback, the same goes for OGG audio on Chrome, Firefox and Opera, but I’m sure you noticed that on my website. The reason behind Google’s choice for the doodle might be as silly as laziness — we don’t know.
The “Flash games for iOS” you’re talking about are NOT moved by Flash Player but they are compiled into native ARM assembly code. You’re confusing the Flash IDE with Flash Player. Also, if it was *that* easy to make a Flash-based game playable on cellphones they would have already released CityVille — for the same price as FarmVille for iPhone, for free.
Apple’s “official reasons” why they don’t allow Flash on their devices are confirmed by reality on Android — slow-loading pages, jerky scroll, choppy videos, unusable mouse-based controls, instability — Flash even brings Safari for Mac to its feet, for Pete’s sake. If you have to redesign your website/tool to use it decently on touch devices, you may as well make it a native app or in HTML.