Introducing JITB — a Flash Player Built On the JVM
MBCook writes "Joa Ebert has started working on a new program called JITB. Announced in a talk at FITC San Fran, it's a Flash player written to use the Java JVM to run ActionScript, and in a simple graphics test case (making 1 million calls to flash.geom.Point) was 30x faster than Adobe's Flash player. There is an impressive demo video on YouTube showing the point test."
... viewing that video requires Flash. If the purpose is to avoid Adobe Flash (as I do) the least they could have done is post it as WebM.
So basically, flash was slow because programming was tacked onto an animation suite and instead of fixing flash, let's just make the crap go faster!
The video is really crappy anyway. My 5 year old kid could hold the camera (pointed at the lap-top screen) more steadily.
A tool that Oracle and Adobe can take for a legal Menage a trois
Does anybody know of screen capture software that reproduces the "I'm recording video of my monitor using my shitty cell phone" effect?
Want to improve your Karma? Instead of "Post Anonymously", try the "Post Humously" option.
From his site:
Update: Please do not think that this implementation is 30x faster than the Flash Player developed by Adobe. One(!) microbenchmark is never a number you should count on. I would like to make clear that I never said this.
So an implementation of a language that only implements 1% of the functionality is less bloated and faster than the full implementation when running one very specific test? No fucking shit. I'm one of the first to bash Flash at any opportunity, but I'll wait and see how well this performs once it actually has some functionality before I start laughing at Adobe.
If this really works, then we will finally get Flash to work on BSD and 64 bit version of Linux.
Adobe (back then Macromedia) used to ship Flash in two version: native binary and Java version in the days when Java applets were popular. They stopped developing it around the time Flash 4 was out, because the tables have turned: Java applets were going down, while Flash was going up.
The article never mentions any reason as to why this player was developed, and I'm struggling to come up with a reason myself, as it's easier to port the native runtime to any platform, than maintain an independent copy in a constant "catch up" mode.
...
This sounds like a neat project... even without the speed improvements it would be nice to have a flash player that was portable and Free.
That said, I can't wait to see the security holes of a Flash client combined with the security holes of a Java JVM! This is going to be AWESOME.
This means very little. Anyone can make a subset of a language faster then a full implementation.
The Ruby world has been through this recently: Someone comes out with a fantastic runtime that supports 1/8 of the ruby language, and it's 10x faster then everything else!
There's lots of hype, but as development continues the other runtimes get 2x faster, and the new magic runtime gets 5x slower by actually supporting the whole language, and the new magic runtime is now the same speed as the rest of the field, with less compatibility and more memory usage.
So color me skeptical, until this runtime supports the whole language, including transparent overlays and all the stuff that the Adobe guys claim makes Flash slow.
Even the author of this article will tell you this. He recently added:
Update: Please do not think that this implementation is 30x faster than the Flash Player developed by Adobe. One(!) microbenchmark is never a number you should count on. I would like to make clear that I never said this.
That being said, If we're stuck with Flash for at least the near term, I'd like to see projects like this, Gordon, and Smokescreen take off and perhaps improve our choices in runtimes. I just don't expect magic.
Blessed are the pessimists, for they have made backups.
It's unfortunate how much good work went into the Gnash project, only to hit a wall. It's not really the developers' fault. They made a good pitch to some people who might have been able to get them over the brick wall of things like hardware codec, AVM2, and ActionScript 3 support. The amount of investigation, clean-room reverse engineering, and testing involved in those areas is staggering. I think they made a good pitch (I know way more than I'm saying right now) but it fell flat on the floor.
*duh*
... java is slow and a memory hog. (for the sarcasm impaired, yes, I'm joking).
please excuse my apathy
android support or it's pointless.
They're using their grammar skills there.
Cue Oracle patent lawsuit in 3....2.....1....
Is to use GCJ and go at the speed of machine code.
Or maybe to LLVM!
Maybe Computers will never be as intelligent as Humans.
For sure they won't ever become so stupid. [VR-1988]
I wonder if Joa Ebert realizes I'll never be able to not call it Jack in the Box if it takes off.
Cool! Now I can run Flash sites on my iPhone by simply using the JVM. Oh, wait...
HTML5 can't do that.
HTML5 only specifies the source URL where to get the media from. Doesn't specify how to play it nor exactly how to download it.
Of course you could just implement it in a dumb straight forward way : like download the whole damn file and just play it.
But some data containers, like the OGG container with is pushed forward by OSS at least for Vorbis and Theora (and could be used for VP8 too) are designed in such a way that different chunks can contain different level of details (think like a progressive JPEG). A more advanced software could download the metadata and then only selectively download parts of the file that contain the chunks that it can play within the bandwidth limit. (Think : only downloading the first part of a progressive JPEG which contain the lower resolution data).
I don't know if Matroska (the preferred container for VP8 codec as part of Google/On2's WebM) can do it too.
"Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
Now we need a JVM implemented on Flash and bingo. Infinite loop, here we go
-- dnl
Man, those types of videos give me a headache. Use a tripod, pop the camera again something. JUST STOP THE SHAKING! Please?
http://en.wikipedia.org/wiki/Lightspark
I have high hopes on it...
Any random government worker.
The article never mentions any reason as to why this player was developed, and I'm struggling to come up with a reason myself
I would think that the JVM itself is the main reason.
Flash uses Actionscript, a variant of ECMAScript, just like Javascript.
To run it fast enough, an implementation needs a fast and nice actionscript engine.
One possibility would be to get a Javascript engine like Google's V8, Mozilla's Trace- / Jaegger-Monkey, Adobe's own opensourced Tamarin, etc.
The other possibility is to use a well known and well optimised VM like Java and compile the Javascript into Java bytecode. This makes the process more complex, but leverages the years of JVM development.
Also the second advantage is that lots of hardware contain already a functionning JVM : Lots of phone have Java EE, Android has the Java-like Dalvik (which can run java byte code after a transcoding), etc.
as it's easier to port the native runtime to any platform
Saddly, the main reference implementation of Flash is closed source (except for the Tamarin engine).
So for a port you have 3 possibilities :
- wait for Adobe to port the latest official player. Saddly they aren't doing it for lots of different architecture
- port yourself one of the open source implementation (Gnash, LightSpark, Swfdec)
- use a multi-platform player (Java)
"Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
Just sayin'. Am I the only one who abbreviates it that way?
Are YOU using the TOOL, or is the TOOL using YOU? Think about it!
there are some things that have not been considered for this, specifically, the flash elements on the flash video. an example is the comments that popup on top of the video. the linux flash guy explains this issue well: http://blogs.adobe.com/penguinswf/2010/01/solving_different_problems.html
Seems to me that if this plays out and is better at higher levels of compatability, that this might encourage Adobe to make a better flash player.
*Sigh* I meant pre-4th Gen hardware.
If I mod you up, it doesn't necessarily mean I agree with what you've said, sorry.
if you make a JVM that implements Java to the fullest, you are safe too. Only partial implementations (like java mobile) are target for lawsuits
Then how can a free software project develop a JVM if nobody on the team is legally allowed to distribute parts of it until the whole thing is feature-complete? It would have to be done inside a corporation, such that distribution of work-in-progress source code from one member of the team to another is not legally "distribution".
So now the player can be nice and slow and want to update my system just as much or more!
Crap Crap Crap Crap
next step is to rewrite bochs in java in which we can run vmware running ubuntu with wine loading qemu running reactos to load a java envirment for flash... (i'd include java script but it's too fast these days...)
Watching that video made me want cheeseburgers.
What does JITB stand for in this case?
Yo dawg, I heard you like virtual machines, so I put a virtual machine in your virtual machine.