10.23.2008

Between a Rock and Hard Place with Flex/AIR


I've been working on a really cool Flex/AIR app over the past year. The application is called eBuilder, probably been the most complicated/expansive Flex project I've worked on to date.

eBuilder is an Elearning authoring tool based completely in Flex and AIR. It builds an XML representation of visual assets (Text, Video, Audio, Images, Flash) and then converts that XML to an MXML file that is then compiled by a server and returned as a standalone SWF file (still waiting for command line abilities in AIR to not have to depend on an external server to use mxmlc).

My problem has surfaced with an interesting dilemma we found ourselves in when we tried to push the boundaries of the application and make some really cool additions.

The feature that got us was dynamic, external components.

To make a long story [a little] shorter, we wanted to build the application in such a way so that if someone wanted to add a new component to the library, say a Drag-n-Drop component, we would be able to load that component and use it at runtime, rather than change the source of the application.

Maybe a great idea, but it proved to be a little difficult for two reasons:
  1. Adobe's/Vista's security model. Vista is very picky about who can write to the program files directory. Adobe and AIR respect this, which became a problem because of the second reason.
  2. Adobe AIR only allows module loading from exactly the same directory as the application (See http://livedocs.adobe.com/flex/3/html/help.html?content=modular_5.html, right after bullets). Basically, any module to be loaded in a Flex application has to reside in the same folder as the AIR application (in the Program Files directory).
In order to achieve these external components, we had to download the module .swf's in binary format, use a hack (sorry, probably shouldn't condone this and thus won't advertise the hack itself, although it's relatively easy to find) to write them to the Program Files directory, and finally load them in as modules with the ModuleManager.

Since Vista has effectively broken our little writing-to-Program-Files hack, eBuilder can no longer function with external components on Windows Vista. And, if Adobe ever decides to fix the hack that allows writing to Program Files, we're hosed altogether.

Anyone ran to a similar issue?

Can you think of a more efficient way to load external components? (I'm not stupid enough to believe there isn't a better way)?

Labels: , , , ,

10.04.2007

MTV Adobe AIR Challenge

MTV and Adobe are teaming up to bring you the "MTV Adobe® AIR™ Challenge." Think you can make the coolest Adobe® AIR™ application worthy of MTV's digital age? Then give it a shot! MTV has made a variety of RSS feeds, Video & Podcast mRSS feeds, Blog feeds and outrageous MTV Art available for the contest. Grand prize includes a two night trip for two to New York City! All submissions are due by 12:59:59 PM December 31, 2007 - so get coding!

Labels: , , , ,

10.01.2007

Astro, Hydra, Moxie, and more: MAX Day 1

Adobe is definitely all about the experience. I must say they did a pretty swell job with the keynote experience this morning. Seemed a little Apple-esque (in a good way) and maybe even a little more rockin'. Here are some really cool things introduced at the keynote:

  • Astro. Code name for Flash player 10. They did a simple HD demo with H.264 in Flash on the big screens, it looked great. They're also adding in some elementary native 3D support in the player. Rotation and position on x, y, and z axis. Smaller stuff included Flex framework caching and bidirectional text support (along with a lot better text support in general). Pretty good post on Astro here.

  • Hyrda. Code name of application for creating custom filters. Adobe figured instead of making custom filters at the request of the community they could just turn it over to the community completely. Great idea. This one's available on labs via Adobe Image Foundation Toolkit.

  • Moxie. Code name for Flex Builder 3. Some cool features coming up, including profiling performance of your Flex app and refactoring for easy updates to code. Some more on that here. Plus, Flex 3 Beta 2 now available.

  • Other stuff (not cause it's less important). They showed off Adobe Media Player, some really cool and innovative AIR applications, Adobe Premiere Express, and talked about how the internet experience coupled with technology is changing.



It's been a great conference so far. I'd go into some of my sessions, but I am dang tired.

Labels: , , , ,

8.21.2007

Adobe AIR update for Flash CS3


Adobe released a beta update to Flash CS3 that will allow you to package and preview AIR application files. Its nice to have it built into the IDE, but Grant's AIRPanel plugin just looks cooler.

Labels: ,

7.20.2007

Meet Saffron, UML Modeling tool for Actionscript built on AIR

I'm currently working on a desktop media application that is growing out of control, both in scope and in class structure. What I thought was going to be a breeze, is quickly turning into a nightmare. Large portions of the application will need to be rewritten because of the last minute features that have to be added. (Gotta love clients who can't see more than 2 feet in front of them!)

So to organize myself and try to get a picture of the task at hand, I began searching the net for a UML modeler for ActionScript. Yeah, yeah, I know what you're thinking, "Why didn't you start with one before you even wrote one line of code?" Well, my project scope doc, if you could even call it that, was only a page and a half. So, I didn't have much details from the client to work with from the beginning. So now, after working hard to create what the client wanted, they see the result and realize they wanted something different, something bigger, something more. So, it has become a highly funded and poorly thought out app, that has caused me much frustration, but I vent.

Out of my UML modeler search results, I found very little. But, I did find one under development that looks very, very promising, Saffron. Here are a few of its features:
  • Wireframe editor allows both developers and/or designers to create wireframes for their projects.
  • Allows for Actionscript 2, Actionscript 3, PHP4 and Java Code generation directly from the app.
  • Sports an entirely customizable UI which contains several dock-able panels that can be placed anywhere by the user.
  • Enterprise level capability having the ability to support models with hundreds of classes without performance degradation.
  • Beautiful UI.
  • Integrated Version Control.
  • Sophisticated printing options give you complete control over how your diagram is printed
  • Cross Platform on both OS X and Windows.
  • Full round trip support for both AS2 and AS3 (Java will soon follow), always keeping your model and code in synch every step of the way.
Can't wait to get my hands on this and try it out. But for now, I'll use the good old gModeler I've used for years, thanks Grant.

Labels: , , , , , ,

6.11.2007

Pull a free trip out of thin AIR

Wow, I should slap myself for that one, enough with the cheesy AIR references. If you haven't heard by now Adobe Apollo = Adobe Integrated Runtime (AIR). So how do you win a free trip? Well, enter Adobe's AIR Developer Derby and win a travel certificate valued at up to $100,000 to be used for the travel of your choice! The are two categories you can enter: Business Application and Community Application. Entries must be submitted by September 5, 2007.

Labels: , , , , ,