Adobe Opens Up AMF Spec
neutrino38 writes "Adobe has released the specification of the AMF format, the format used by Flash Remoting — the equivalent of AJAX for the Flash world. The article doesn't mention the AMFPHP project and the fact that some German and Canadian guys had reverse-engineered the format a long time ago. Adobe's action eases a long-standing legal uncertainty that slowed the uptake of AMFPHP for commercial projects. Next, we note that Adobe has not released its RTMP protocol used to contact a Flash Media server. This latter protocol is more interesting as it provides sessionful operation; media streaming; RPC both client-side and server-side using the AMF format; and shared objects among several sessions and server-side events. Fortunately, RTMP has been partially reverse-engineered by the red5 project. I suggest that the W3C should take a look at the whole Flash ecosystem as they think about upgrading the HTTP protocol."
The summary is a jumble mess, but the fact that Flex/Flash is still mostly closed source, but fills an important gap that isn't addressed by currently implemented standards, is problematic.
Take a look at this google finance page You simply can't do the type of interactive charting that they do there without Flash and Flex. Any AJAX implementation of that would be just a hack.
It could be done with AJAX techniques and SVG, which is the open standard for flash like animations, but neither major browser implements the full spec yet.
So, the larger point about needing an open standard that is actually implemented is a valid one. But I don't think the fault lies in the W3C, it is just that it is taking some time for volunteer programmers to implement the standards that they came out with in Firefox.
The announcement of the opening of the AMF protocol (which is a compressed, binary stream of data, used to transfer data from a back-end server to a flash application, no different than AJAX), is actually a subset of Adobe's announcement to open-source the BazeDS project. BazeDS is a Java server that sits as middleware between your Flash/Flex app and your back-end server (Java, PHP, ColdFusion, etc). AMF is a major part of that product. To all the critics of the Flash player... Take a look at its track record. It is under a meg download, available for most platforms (Win,Mac,Linux,Symbion,etc), and has an excellent security track record (as compared browsers/plugins in the industry). It does not just take a "binary stream" and execute it -- it has a very strict sandbox enviroment that protects both the browser, and the operating system. Heck, you can't even load a Web Service without the called-domain allowing it. And while not opening up the full SWF format, Adobe has open-sourced the Flex Framework, which is used to create SWF files. Take a look at Adobe Labs : http://labs.adobe.com/ for more info on some of Adobe's open-source projects.
> I don't know if it will load and run native binaries
:)
> over the web (like active X) or if it has it's own
> sandboxed java-like pseudo code.
I don't think java uses pseudo code
You were probably thinking of byte code. Yes, the flash plugin runs byte code in a sandboxed virtual machine. It's not the browsers sandbox, but the flash players sandbox.
Flash Player doesn't run native binaries. It has it's own form of bytecode (known as ABC), much like Java, that gets JITed to native machine code. Flash Player is only about 1MB in size. Certainly not enormous when Java is much larger at about 7MB.
It's scary being a Flash and Flex developer on Slashdot. You guys are unnaturally rabid.
Next, we note that Adobe has not released its RTMP protocol
Adobe recently announced to make it's messaging server open source. This includes the RTMP, of course.
The GP's point was that its all rubbish.
Seriously, there are uses for Flash apart from ads. Many websites use it for embedded audio, video, instant messaging, simple image editing, games, and basically any interactive functionality which would be too slow and hackish to implement using AJAX.