Category Archives: Flex

ActionScript is Cool — Yegge of Google Said So

Steve Yegge posted a must read transcription of a talk he gave at Stanford on dynamic languages. On the last question of the day he gives a great plug for Adobe’s Evolutionary Programming model and ECMAScript Edition 4 (ECMAScript Edition 4 was the basis for ActionScript 3, the language of the Flash Platform).

dynamic_static_hybrid.png

If you’re a language geek or just want some ammo for your “ActionScript isn’t just a toy” speech that you have to resort to periodically, you’ll want to read and reference this talk.

A More Open Screen (Project)

Red Monk’s Michael Coté has the most comprehensive and deepest analysis of Adobe’s Open Screen Project to date, including a look at how it plays against the other gorillas in the pen — Sun, Microsoft, Apple and Google. Strangely there was no mention of Tamarin, Mozilla or ECMAScript. I’ve always thought that Adobe was making a long term play with ECMAScript adoption and the Tamarin donation (at the very least hedging their bets). If you have the same virtual machine running in the browser as you do in Flash Player it adds a whole new twist to the write once platform concept.

Coté really knows his stuff (he’s got development in his blood), but he overlooks what I view as the smoking gun — rich experiences. Adobe has design tools in spades and a base of designers / devigners who have a track record for delivering rich experiences that differentiate brands. I don’t see Java ever making inroads in this area and I’m a bit skeptical of Microsoft’s ability to get real traction — I know devigners Microsoft and your .Net kids are no devigners. There are lots of good people at Microsoft who really push the notion that they’re a changed animal, but even so its a stretch to imagine them giving up their OS franchise which is where playing in a truly cross platform sandbox gets them.

Everybody likes to play on the epic struggle for zero sum domination and TechCrunch is the king of this “its all about the eyeballs” hyperbole. In, Erick Schonfeld’s opinion it’s Microsoft Live Mesh vs AIR vs Google Gears.

techcrunch_mesh_vs_open_screen.png

Mesh is a yawner, but even if you’re geeked I fail to see how it competes with the “write once, run everywhere” platform that Adobe is trying to build. Mesh is mainly about data synchronization between apps — you still have to write the client pieces for all of those different platforms. Mesh does have an offline storage component similar to Gears, but unless I’m missing something that’s where the comparisons end.

I’m noticing that Adobe is putting more and more emphasis on the notion of ‘delivering applications’ rather than ‘taking web apps offline’. AIR certainly allows you to move web apps to the desktop, but I’ve always viewed it as a way for delivering rich connected clients rather than just local storage / offline use. Few apps need to run ‘close to the metal’ which means AIR is a pretty good choice for a good chunk of the desktop apps that need to be built. And lets face it, there’s not a lot of call for building enterprise software (the domain of .Net / Java) for mobile devices, but there is a premium on rich client-side experiences (look at the iPhone’s reception) which is right in Adobe’s wheelhouse. Sneaky Adobe, very sneaky.

Adobe Continues Flash Platform Move Towards Openness and Transparency

Huge announcements from Adobe on the Flash Platform front as detailed by Ryan Stuart. Here are the highlights:

  • SWF Format licensing restrictions completely removed
  • Flash video (flv / h.264) licensing restrictions completely removed and formats are documented
  • No more licensing fees for Flash Player and AIR on mobile devices. This means manufacturers won’t have to shell out if they want Flash on their phone / pda.
  • Publication of device porting layer APIs for Flash Player. Allows companies / developers to be proactive in porting Flash Player to their device or software platform

I’ve been critical of Adobe in the past with regard to their tardy format documentation and restrictive licensing of the SWF format, but this response totally exceeds my expectations. I’m blown away by the open sourcing of Tamarin, Flex SDK and now the removal of licensing restrictions and full documentation of the formats.

I’m also very excited about the elimination of the device licensing fees and porting APIs — I want to see Flash in my fridge, in my car and on my iPhone (Apple help these folks out damnit).

I am a little bummed that Adobe is moving forward with its plan to use ‘custom’ file extensions (i.e. .f4v) for its MPEG-4 container files. The only reasons I can see for this are that lots of applications depend on file extension in order to import / playback files. For instance, audiobook applications expect .m4b / .f4b files and don’t know what to do with a video file, or want to do something different with video files, but don’t want to parse the container atoms. I can unequivocally say multiple extensions are extremely confusing. I’ve had 4 different conversations with folks at work just this week trying to explain what a MPEG-4 container is and what the various different extension signify. However, this point is minor compared to the continued openness of Adobe.

You can get more detailed developer info here on the Adobe site.

FDT 3.0 ActionScript Code Editor Nirvana

While at FITC I had the opportunity to stop by the FDT booth and check out the latest version of their Eclipse based ActionScript code editor. I was actually surprised to see FDT with a booth at the show and even more surprised to be given a software demo by Nico Zimmermann, the creator of FDT.

FDT Booth at FITC 08

I cut my teeth on Eclipse based Flash development with Nico’s open source ASDT plugin (.7 release) so it was great to meet the cat who played a significant role in shifting my development workflow.

It’s been awhile since I took a look at FDT, but after the demo and a few days of trial I’d have to say I’m impressed. For those familiar with the amazing capabilities of the JDT (it damn near reads my mind and writes my code), FDT is the closest thing you’ll find in the ActionScript world.

FDT supports lots of the refactoring and context intelligence / assistance, formatting, templates (I’d forgotten how much I miss those) and problem detection you would expect from a JDT mimic. It’s not full on JDT goodness, but it’s definitely a step or three up from Adobe’s AS3 Flex editor.

Probably the greatest strength of FDT is that it has killer code editing support for both AS3 and AS2 which is nice since there are still an awful lot of of AS2 projects out there. It’s great not having to jump between perspectives and the jarring differences there are between my current AS2 and AS3 workflows.

Now its not all roses for FDT. The biggest issue is its just not affordable for individual developers. The FDT 3.0 Basic edition prices out at $512, Professional at $684 and Enterprise at $1026 (US dollars). I don’t know about you, but that’s an awful lot of shekels for a pure code editor. You also don’t have access to a debugger unless you shell out for the enterprise edition. Finally, there’s no visual layout view, no MXML editor, no profiler (If you have insights into how Adobe’s profiler can be used I believe Nico would welcome an email) and no AIR support.

The steep price and lack of MXML / visual designer are show stoppers for me as an individual developer and at work (the folks who have the real money) we’re already invested in Flex 3, so it looks like I just have a little less than 30 days to enjoy it. However, if you’re an AS3 purist, have the bones (or your work does) and want a killer code editor I’d urge you to take a strong look at FDT 3.0 Enterprise.

Now what I’d really like to see happen is Adobe purchases FDT, open sources it (ala JDT) and builds its AS3 editor on top of it…I can dream right. ;-)

*Update* As PK mentions in the comments, AIR is supported (looks like you just have to add it to the FDT class path in the Eclipse preferences pane).