Open-Source JavaScript Flash Player (HTML5/SVG)
gbutler69 writes "Someone has gone and done it. Tobias Schneider has created a Flash player written in JavaScript targeting SVG/HTML5-capable browsers. It's not a complete implementation yet, but it shows real promise. A few demos have been posted online. How long before HTML5/SVG next-generation browsers like Chrome, Firefox, Opera, Safari, Epiphany, and other Web-Kit based browsers completely supplant Flash and Silverlight/Moonlight?"
Wait, Javascript? Oh shit. I can feel the slow already.
~The roAm
So I guess the only thing holding it back is its performance (one assumes there are going to be fewer security and download/update issues :)
The blue demo seemed acceptable to me, but I wonder if it'd suffer as more stuff was added?
Still - top marks for that man, take the afternoon off.
Better SVG authoring tools, yes please.
just duplicate the security vulnerabilities that Adobe provides us, we can finally put Adobe out of business!
Sig Follows: "Suppose you were an idiot. And suppose you were a member of Congress. But I repeat myself." -- Mark Twain
I checked out the posted demos on my iPhone. Although they were a tad sluggish (particularly the star fade-in on the first demo), frankly, it wasn't bad. Some of the sluggishness could have just been because the demos are getting Slashdotted.
Personally, I'm a little more interested in PhoneGap, which lets you use JavaScript to create iPhone apps (outside the browser).
Liberal? Conservative? Compare perspectives at Left-Right
I'm not sure what to think. I love the idea of not needing to install Flash, but I also like being able to block annoying animations by not installing Flash.
I think overall, this isn't where things should head. It'd be much better if Flash were to simply work by exporting valid HTML5, CSS, and Javascript. Maybe there are some other advantages to the SWF format, but I'm not aware of them.
First of all, the main usage of Flash (for me) is video and I don't expect anyone to write h.232 codec using javascript and canvas anytime soon.
SVG has failed a long time ago. Correct me if I'm wrong, but there is no good way of putting it in the DOM unless you are using XHTML, which you shouldn't, and all other ways of getting it to the client are non-standard and handled differently by different browsers.
May Peace Prevail On Earth
How long before HTML5/SVG next-generation browsers [...] completely supplant Flash and Silverlight/Moonlight?"
I can't offer any informed opinion on that, but I can say that Flash and Silverlight/Moonlight will go down kicking and screaming. Much like the IE6 optimized websites that will continue to use them for many years to come.
So if this is the future...where's my jet pack?
anything using less than 100% cpu in linux is better than Flash. Therefore there can in principle be nothing worse than Flash. Unbeatable, indeed a hard goal to achieve.
For anybody else, this would just be a crazy waste of time. Wish Apple would just allow Flash on the iPod/iPhone
What is it with these single letter variable names in the code? I thought we were past that.
Great! Now, please, can someone write a PDF renderer in JS + HTML5 Canvas, so we can get rid of the browser killer plugin that is any PDF viewer out there?
Er, um, do you recall the last time someone announced a ______ player written in some interpreted language?
It's always a thin shell of interpreted glop around some real codec.
You see JavaScript is about 10,000 times too slow to do the nitty-gritty video decoding.
So they always use a real existing codec to do the heavy lifting.
Since most of the security issues are in the codec parts, this is rarely a big improvement.
Thus far I am liking the sounds of this idea. If it can improve on the CPU side of things (Flash on Linux is such a royal pain in the old rear end), then I won't dread trying to watch a YouTube or other online video that insists on using a Flash player. However I will take a wait and see approach to see if this concept gets developed into something usable for PC users since this concept is being developed for the iPhone to get around Apple's "App Wall".
No, I don't have anything planned for you, I promise...
The work that this guy did is amazing, no doubt. But the player supports SWF v1. The current version is 10!
Gnash already supports v7 and some features of v8/9 and is still not very usable.
Doing simple animations is one thing. Do you really expect to have a decent AS3 interpreter running in javascript? No question about video of course.
On the other hand this player could have some niche applications. If someone knows flash, needs some simple animations without violating standards and without messing with JS/SVG directly, they could use this. But as a general-purpose flash player? I don't think so.
So I can finally switch to 64 bit firefox. And yes, I know that there is a Linux plugin available, but I don't use Linux at home.
"It's such a fine line between stupid and clever" -- David St. Hubbins, Spinal Tap
...according to the article his code only supports the SWF 1.0 format, and he's currently working on adding support for the SWF 2.0 file format.
Adobe Flash 1 and Flash 2 (which I'm going to guess might roughly line up with SWF 1.0 and 2.0), were released in 1996 and 1997, respectively. As in, over a decade ago.
Much larger, more long-term projects like Gnash have been working on completing a compliant Flash client for several years and still don't have support through Flash 8, 9, and 10. It's apparently a lot of work to support all of the different pieces of Flash, especially as it turns out that the SWF spec has been completely overhauled several times over the past decade, resulting in wide differences between things like ActionScript 1, 2, and 3.
So while I wish this effort all the best, it would require a lot of time/energy/talent to make this client have the coverage necessary for, say, internet video sites to work.
coding is life
I mean its great and all, it means that this new "flash" player will probably end up working across all the browsers eventually, and without the security vulnerabilities and downsides to the flash plugin.
But I think in the end - Flash is still going to be used to create the content. Adobe will put more effort into optimizing it, and then a lot of "regular" people will just end up prefering the flash plugin.
I mean Gordon is a server side installation, which means I personally can't start using it everywhere I go, the webmasters must do that. I don't see many of the sites I frequent that use flash (mostly for flash games) really implementing this unless it improves the quality of the game. It sounds like because its in its initial stages this SVG/HTML5 player doesn't quite stack up to Flash's current optimization. And if it does at one point, I see Adobe just optimizing flash even more, to keep it on top.
IMO the only convincing argument to use flash is for audio & video.
as this library doesn't cover multimedia...
it doesn't cover flash's only responsible use case... So it's clever - but useless.
not a criticism... keep it up!!!
:D
Ah yes, another stab at (this is a killer!). Those predictions never pan out. Specifically for this: * All existing websites would need to be retrofitted to host .swf (.flv?) movies differently
* All popular browsers would need to embrace HTML5 video playback
* Microsoft would have to emphasize this over their own product.
* Adobe would have to emphasize this over their own product.
* The marketing department being utilized for this tech (at this time that would be 'no one') would have to be better funded and more highly motivated than both the Microsoft and Adobe marketing departments
* The vast majority of web users would have to care.
So, yeah, no.
According to the list of supported swf tags (http://wiki.github.com/tobeytailor/gordon/swf-tag-support-table ), it does not support DoABC, which means that it does not support Actionscript3. So basically, it only supports the parts of flash that really annoy people: Animations. This won't let you play many neat flash games, or replace Flex, or play a movie designed for Flash9 (introduced in 2006) or later.
As an Actionscript hobbyist, I love the idea of an open source implementation of the player. But so far, none of the open source alternatives support the features I actually like: Actionscript3. It's a strongly typed language with real classes, and it's compiled to bytecode rather than interpreted (mostly). Javascript has come a long way, but it still sucks if you like strongly typed variables.
Keep trying, Tobias. And if you get that byte-level access, let the world know.
------- Driver carries less than 64K of cache.
Umm because IE is shit, lagging about 3 years behind the rest. They STILL have not managed to produce a *fully* standards compliant browser.
I'm impressed! Flash has pretty much become an integral part of the web, yet you always had to download and install an extra plugin to be able to view flash content. Having an implementation of the flashplayer written in a language that can be executed by every major browser reguardless of the operating system is an incredibly useful thing to have.
And now with ever faster Processors and better implementations of JavaScript interpreters, I think its far from a bad thing to put more work into the hands of interpreted languages.
Which browser are you using? They're all very smooth on my macbook, using Firefox 3.6pre (daily build). CPU usage is around 10-20% (max being 200%. Dual core). Quite impressive.
I wonder if it is feasible for this to become a full-fledged flash reimplementation. As far as I understand, Actionscript is very close to Javascript anyway; if the Flash engine becomes integrated into browsers, there would be no need to load the Adobe plugin, and browser makers could ensure that Flash just works.
I guess it's better to hope that Javascript and SVG and such technologies eventually overthrow Flash, but I doubt that will happen very soon.
A giant jump for a project, a very small step for the web. Even if you catch current status of current web video players, Adobe/Microsoft will make sure that their solutions are the "right one", adding things, making developer switch to now "essential" shiny features, or even by deals with all the big video providers in the web. You know, like how the most popular browser used in the places where security matters isn't exactly the most secure one.
Gee, I dunno. How long will we have to support IE6?
Game... blouses.
"How long before HTML5/SVG next-generation browsers like Chrome, Firefox, Opera, Safari, Epiphany, and other Web-Kit based browsers completely supplant Flash and Silverlight/Moonlight?"
Until Adobe and Microsoft break them.
Rinse and repeat.
deleting the extra space after periods so i can stay relevant, yeah.
ECMAScript and open graphics standards?
What about open sound standards? Can the <audio> element of the HTML DOM support playing multiple instances of one sound at once, or varying the playback rate or volume of audio, or synchronizing vector animation to the audio? The common uses of audio that I've seen in SWF objects on Newgrounds makes use of all of these Flash Player features.
The only significant part of Silverlight that's Windows-only is digital restrictions management on streaming video. Everything else is cloned in Moonlight.
99.99% of what flash is now used for is video.
Does "video" in your comment refer to vector animations or just compressed pixels? And does it include video games? I see both vector animations and games on Newgrounds.
HTML5/SVG next-generation browsers like Chrome, Firefox, Opera, Safari, Epiphany, and other Web-Kit based browsers
i.e. anything non-IE :)
Ceci n'est pas une
Umm because IE is shit, lagging about 3 years behind the rest. They STILL have not managed to produce a *fully* standards compliant browser.
Well, IE is shit, but currently there isn't any browser that's fully standards-compliant.
Ceci n'est pas une
"There's no practical advantage to using XHTML over HTML." - that's not a complaint, it's a fact
Here, I'm afraid to say, you show your ignorance (that is not an insult - I'm using "ignorance" in the way it was meant to be used, that is, "You are IGNORANT [i.e. are not aware] of the facts") of the purpose of XHTML. It is not just adding some extra slashes and having to close your tags. It has NOTHING to do with data. What it allows, is embedding of other WELL-DEFINED XML namespaces. For example: SVG, MathML, SMIL, etc.
Over-the-top Response Guy! Giving "Over-the-Top Responses" since 1970.
Where is the production version of IE that supports HTML 5 reasonably well? Oh, it doesn't exist does it?
Over-the-top Response Guy! Giving "Over-the-Top Responses" since 1970.
Your unconditional faith in entrenched players is astounding. Also, the ending question about completely supplanting doesn't mean what most people seem to think it means. The point isn't that Gordon can replace Flash using SVG/HTML5, it is that soon, it appears, that SVG/HTML5/JS will be able to replace all the funtionality of Flash. Gordon, or technology like it, will just allow legacy Flash content without requiring a Flash Plug-In.
I'm really amazed how short-sighted a lot of the comments on this are.
Over-the-top Response Guy! Giving "Over-the-Top Responses" since 1970.
I want to be excited and hopeful this will become a full alternative to installing Flash on my Linux desktop. But, are developer's really expected to break their sites on IE just so it will work on iPhones or non-IE machines which don't have Flash installed? Don't get me wrong I would very much love to see IE and Flash go away forever but until IE marketshare goes sub 10% or IE picks up SVG support AND it's user's actually install the update I don't see how this can work. Now, if Gordon detected IE or better yet, any browser lacking SVG support and passed the swf to Flash I could see this having a chance of being used somewhere.
I still don't think it will get too popular because if website developers gave two sh1ts about how Flash sucks resources or what a pain it is to run in Linux or the fact it doesn't run at all outside of Windows,Mac,Linux(BSD?) it wouldn't have reached the state it's in today where it shows up on almost as many pages as HTML.
Not an insult, but, I think you're failing to see the Forest for the Trees. How about this, instead of sites needing to add Gordon (or something like it of the next-generation) to their site, if you could install an Add-On in Firefox (or other browsers) that was a Simple JS library that would replace Flash tags with SVG "Stages" and use Gordon to provide the conversion from SWF to SVG/JS/CSS/DOM/SMIL/etc. Think Greasmonkey and Gordon put together for example, but, in a better more integrated way.
Remember, this is just a prototype and proof-of-concept at this point, but, if with a little imagination, it presents a clear way forward.
Over-the-top Response Guy! Giving "Over-the-Top Responses" since 1970.
I usually prefer to download them myself, but there are circumstances where it is advantageous to be able to view documents on websites in the browser. That way, you can use the address bar and browser toolbar like you normally would, without a new window popping up, possibly overlapping them, you can bookmark the document in case it's prone to change, you don't have to worry about storage, let it reside in your browser cache and get cleaned up automatically and for some formats you can start reading the first pages while the document is still downloading. In other words, for similar reasons you don't want to read your HTML files in an external viewer.
And there's also a software design argument to be made: the browser, that is to say the window and toolbar, should care about navigation, manage bookmarks, maintain the history and so on, but it shouldn't be its job to worry about what kind of content exactly is being displayed in the client area. Implementing a specific file format viewer is logically separate and therefore that part of the browser should be isolated and export an opaque interface to the rest of the browser. In turn the browser should just call methods on that interface and should be agnostic of whatever is actually behind the interface, be it HTML, an SVG drawing, a PDF and so on.
I think this fairly conclusively proves that, when fully implemented, HTML 5 can do everything Flash can do - at least, all the useful bits. Yes, I know, this only supports old Flash versions and doesn't do audio or video, but we already know HTML 5 can do audio and video - what people never quite believed was that the various parts of HTML 5 could be combined to provide the same presentation quality and interactivity as Flash. (At least, that's the impression I always had.)
However, instead of translating Flash to HTML 5 (which is a very neat trick, I have to admit), how about producing rich authoring tools which output directly to HTML 5? Otherwise, people will just continue to create Flash, because it will continue to be easier than writing directly for the alternative.
Compare & contrast using Glade with writing GtkBuilder XML files by hand. I've tweaked Glade's output by hand before now, but I wouldn't like to start from scratch. Not quite an equivalent example, since the end result in both cases is interpreted in the same way at run-time, but you get the idea.
None of the examples work for me in Opera 10.10 under Linux. Anybody got it to work?
I saw this on reddit two weeks ago WTF slashdot!!!
An editor that compares to the Flash Authoring tools.
Thats it.
There isn't anything special in Flash that can't be done with Batik or Opera's latest SVG implementations except sound and video, which you can handle in HTML5.
The only thing thats needed is a good authoring toolset so that graphics gimps can produce their warez without having to use notepad.
Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
When I can write a simple Javascript app, like say a form to submit a registration, and it will run the same on every browser (or even the 2-5 major versions) without hacks, then they can pry Flex/AS out of my hands. When something as fundamental as "onchange" works differently on Firefox, Chrome and IE, there's a big GD problem.
Let's just say, I won't be holding my breath on that one.
They can make all the runtime speed improvements they want, but when it takes me sometimes orders of magnitude longer to implement a JS driven app as it does a Flex app -- the choice is clear. Flex/AS has it's evils too, but at least it's a sane development environment.