Swiffy: convert SWF files to HTML5
googlecode.blogspot.com
googlecode.blogspot.com
> Swiffy uses SVG features that are currently only supported by Webkit-based browsers such as Safari (on desktop and mobile) and Chrome.
That's not the HTML5 future I wanted :(
In Opera it fails due to JS errors that don't look SVG-specific. It's a shame, because Opera's SVG support is a bit more complete than WebKit's: http://www.codedread.com/svg-support.php (sadly the Swiffy's site doesn't say exactly which feature it needs)
Anyway, it's great that they're using SVG. Good use-case for SVG will help it get more love from browser vendors, and perhaps developers won't have to reinvent SVG with canvas :)
Edit: heh, didn't even notice who I was replying to.
Edit: Here come the fanbois to downrate me. Consider your own karma. Downrating me does not change the facts on the ground. You cannot build a 3d racing game in HTML5+JS in the browser. Can you??? If you can, seriously, respond instead of hitting that little down arrow, and I would love to see what combination of technologies you employ!
If Flash is the answer, we're in even worse shape than using HTML/JS.
Look, the only reason there's ANY implementation of ECMA4 in the browser, i.e. Flash, is that a company which doesn't make a browser took it upon itself to create a plugin for all browsers that runs it. Now everyone hates them because it's "closed", which is ironic because IE's implementation of for example the matrix 'filter' -- just to pick one random thing -- is so ludicrously archaic and different from anything webkit, that there's zero, zip, nada, NO HOPE of those two things ever converging in a way that would let a single piece of code skew the same image in both browsers.
Anyway, to other people -- I work on mac, and I write code for both canvas and as3. I wrote this: http://strikedisplay.blogspot.com. Also wrote sexypolitics. Things are...what they are. You have to face reality and use the right tool for the job. And when JS2 comes out, sure I'll be there. 'Til then, long live Adobe. Beats the alternative Mozilla/Microsoft/Google mess.
AS3 is not cross-AS3-player.
Does it have two (or more) interoperable implementations? Can it run on platforms not supported by Adobe?
While single-vendor closed-source plugin is strictly speaking cross-browser, it doesn't have things we want from "cross-browser" solutions:
• freedom to run it on any computing platform (people run HTML+JS on their Amigas, because they can!), now and in the future (what if Adobe decides that maintenance of Flash Player is unprofitable? How useful would be archive.org in 20 years when none of supported platforms is alive?)
• competition between implementations, so that if one stars sucking or does something user-hostile, competitors will take over (You don't have browsers with hidden hard-to-delete cross-site cookies — they compete on privacy features!)
> You cannot build a 3d racing game in HTML5+JS in the browser.
There's a quite convincing proof of concept that you can: http://helloracer.com/webgl/
It doesn't work on iPhone and I'm not sure if it works 64-bit Linux, but that's not a problem, right? :)
Even something that is "cross-browser" can have all negative aspects of a single-browser solution.
My point is that for HTML cross-browser is not the goal in itself, it's only a way to ensure that technology is freely implementable by anybody, that content doesn't rely on bugs in one implementation, that fully-functional implementations can be available 10 and 100 years from now if necessary.
Just curious what disqualifies the easily googlable Mario Kart and Quake HTML ports?
Last summer, an engineering intern named Pieter Senster joined the mobile advertising team to explore how we could display Flash animations on devices that don’t support Adobe Flash player. Pieter made such great progress that Google hired him full time and formed a team to work on the project. Swiffy was born!
what an awesomely productive intern! now that's a way to secure yourself a full-time job!
Which is not really the cool HTML5 future anyone is looking for.
And since this is really replacing it with Javscript...
I bet it's not a typo.
A decent server side SWF->HTML5 would enable existing websites to offer the first class experience (the SWF) to Flash enabled browsers, and push a HTML5 conversion for non-Flash browsers (Apple mobile devices). It would shaft Apple (Why does this run so slow on the iPad?) and slow the move away from Flash (Adobe could still make a credible 'runs everywhere' argument).
It means it converts a subset of content that was made for a version of Flash that is 6 years old (Flash 8 was released in 2005; Adobe is about to release Flash Player 11).
Sorry, this is not the "Flash killer" you're looking for.
Too much stuff to mention, but the new VM especially. I personally haven't been working with AS2 (the old VM) in 3 years.
If one wants to create new content (and thus can "afford" to go back some versions) then this could be useful. Simple banners and whatnot maybe. But in that case, using many of the new HTML5 native editors is probably a better bet.
Right now, I see the biggest benefit of Flash being that I can purchase a number of IDE's and create some multimedia (or games) for the web in no time.
I started it when I was in sixth grade, some four years ago and it hasn't changed much in the past two years. Understandably, it's not nearly feature complete. It's actually pretty interesting that when I started out, the goal was to have Flash as the output, because embedding HTML just seemed so impractical.
9-slice scaling is not supported. (11 occurrences)
Pixel hinting on strokes is not supported. (10 occurrences)
Filters are not supported. (100 occurrences)
Shape tweens are not supported. (2 occurrences)
ActionScript 3.0 is not supported. (2 occurrences)
Advanced text rendering using continuous stroke modulation is not supported. (3 occurrences)
An unsupported SWF tag was encountered. (1 occurrences)
The global ActionScript property _quality is not supported. (1 occurrences)
Character glyphs aligned on pixel boundaries are not supported. (4 occurrences)
The #initclip pragma is not supported. (23 occurrences)
An unsupported audio codec was encountered. (1 occurrences)
Miter limit will behave differently, as it will revert to bevel instead of cutting off the joint. (65 occurrences)
Adjusting the font kerning within dynamic text is not supported. (7 occurrences)
Custom font kerning is not supported. (2 occurrences)
Streaming audio is not supported. (17 occurrences)
Blend modes are not supported. (6 occurrences)
Scenes are not supported. (1 occurrences)
Filters are not supported. (426 occurrences)
Adjusting the letter spacing within dynamic text is not supported. (1 occurrences)
Advanced text rendering using continuous stroke modulation is not supported. (5 occurrences)
ActionScript 3.0 is not supported. (2 occurrences)
The ActionScript method MovieClip.createEmptyMovieClip() is not supported. (1 occurrences)
And then of course, there's WebGL; even if you just use it for 2D stuff (shameless plug: http://www.phoboslab.org/xtype/ ) it's way faster than Flash. I have no doubt that in a few month the the 2D canvas context will have the exact same performance (if not better) as WebGL for 2D stuff.
http://pacoup.com/2011/02/03/flash-vs-html5-performance/
http://www.craftymind.com/guimark3/
The advantage of flash right now is that you can be reasonably sure that if a user has it installed, they will get a minimum set of features and performance. With HTML5, your complex app may run fine, or may not run at all, depending on the users implementation.
I've no doubt the performance gap between flash and html5 will continue to narrow. However, I'm less sure that there is anything in the design of html5 that would allow for implementations that are significantly faster than flash allows for. Perhaps someone with deeper technical knowledge of the two could comment.
HTML5 does have the advantage that it's an open platform, of course. Thus you are much more likely to actually see competing implementations of the standard.
The only way to fix it is to install a new browser, or perhaps a new version of the current browser. Installing a plugin is often easier. Rather than deal with this, developers currently just develop for and test on a few main browsers. Anyone not on these are left with no other options but to switch browsers.
Suffice to say, HTML5 doesn't really improve the situation all that much. It simply trades the closed model that Adobe uses with Flash for an open model that has been used for HTML. In either case, the only way to be really compatible is to use older well established features.
Open platforms are good, and thus HTML5 is a good development. But it's not the silver bullet that many make it out to be.
http://www.next-gen.biz/news/html5-still-lagging-behind-flas...
http://iq12.com/blog/as3-benchmark/
http://workflowed.blogspot.com/2011/02/flash-player-101-for-...
http://www.streamingmedia.com/Articles/Editorial/Featured-Ar...
http://pogue.blogs.nytimes.com/2010/10/07/testing-videos-on-...
http://www.androidtabletnows.com/android-devices-news/2011/n...
http://themaninblue.com/writing/perspective/2010/03/22/
http://www.blackcj.com/blog/2010/09/17/flash-outperforms-htm...
http://www.craftymind.com/guimark3/
http://www.craftymind.com/guimark2/
But hey, let's complain about it because "Adobe is evil" or whatever! (and note: I'm an Ubuntu x64 user).
Is this what you wanted to post? This shows that the browsers' JS engines have been outrunning ActionScript for years now...
My point is that if one analyzes the data, one will find that Flash tend to win over HTML5/canvas performance more often than not. The canvas and visual performance tests are very telling.
As a side note, there's definitely a gap in code execution - that's the link you posted - but it's just one of the factors, as Adobe is well aware of that and is addressing it on the next release. The AS3 VM was much faster than JS when introduced, then they spent a lot of time not doing any optimization at all. From what I've seen from their presentations, they're ready to take that back. Time will tell.
It was a fun experience, and maybe later this year I'll grab a trial of Flash and port it there, just to A/B them. But if you think HTML5 is going to replace Flash, you have a limited knowledge of what Flash can do.
Gordon is a Flash runtime written in Javascript, allowing the browser to play SWFs.
Swiffy is a tool separate from the browser that converts SWFs into a form usable by browsers (SVG and JS).
BLOW ME, Google. Apple. HTML5 lovers. If anyone needs proof Flex/Flash won't be dead for a long time, here it is =)