Accessibility
Jon Ruppel

Jon Ruppel

http://oneover.com

Andrew Keegan

Andrew Keegan

http://ak10.com

Created:
30 September 2007
User Level:
All
Products:
Adobe AIR

Breathing new life into Adobe Flash development with Adobe AIR

When first hearing about Adobe AIR, our initial reaction was, "finally!" Our enthusiasm was due in part to the years of longing for access to the operating systems' core functionality such as pulling in local files and creating them. Renaming and deleting files could possibly allow us to build little utilities and applications to help with our production workflows as Flash designers and developers. But even in our excitement, we did not fully realize the power that we now held and the potential for creating amazing and beautiful rich desktop applications. In this article, we present a development case study of a collaborative project we both came up with a while ago, but that could not have been realized without Adobe AIR: artMusheen.

Strategic alliance

The two of us, being long time friends and development partners, have always had one of those Yen and Yang relationships. For one of us (Jon Ruppel) the focus has always been centered around interface design and creative conceptualization and the other (Andrew Keegan) has been more interested in emerging technologies and good technical development. We knew right away that the Adobe AIR runtime would give us a chance to not only combine our skills effectively, but to do something both meaningful and powerful—an application that defies conventional application design.

The concept

ArtMusheen was an idea that we came up with a while ago. The premise was to make a tool that allowed people to create their own artistic compositions within a controlled visual language (see Figure 1). Much like handing a big box of Lego building blocks to an imaginative 10-year-old, we wanted to create a catalyst for surprising creative ideas. Adobe AIR came along and, combined with our knowledge of Flash and ActionScript 3, gave us the power to not only create something fun and personal but save it without the aid of complicated server side technologies. We were so excited about this prospect we got to work right away.

artMusheen allows you to unleash your creativity.

Figure 1. artMusheen allows you to unleash your creativity.

Building artMusheen

We decided before we began to split up our roles and attack from different angles. Jon's task was to build the self-contained Flash drawing application and Keegan's responsibility was to integrate it into the Adobe AIR framework and manage the build process. Here's a summary of how some key features of Adobe AIR enabled us to build artMusheen:

  • Working in full screen: One of the great features that Adobe AIR allows you to do is launch your desktop application at any size you want (including full screen). You can also set restraints for the resizing attributes, which makes developing and protecting your interface elements a breeze. In our case, seeing as we thought that people would like to make desktop wallpaper, we went with the full screen option by default and then allowed for resize as desired.
  • Converting BitmapData to JPEG format: This was the biggest hurdle that we never had to solve. Using the Adobe JPGEncoder class and the new ActionScript 3 ByteArray class, we were able to simply convert the composition's BitmapData to a system ready JPEG file. We could even set the compression rate to whatever we wanted so the control was just great. When we had our JPEG file ready for saving, all we had to do was find a place to put it.
  • Browsing the file system: After the user is done creating the perfect composition, we knew that saving it was a must. The Adobe AIR framework allowed us to find a place to put the file on the user's machine by navigating the file system and naming it whatever we wanted. We were also able to give the file a default name and extension, which dynamically put the image pixel width and height into the file name.
  • Making it extensible: We downloaded the Adobe AIR update for Adobe Flash CS3 Professional. Simply by setting a few parameters, we were able to put the install package together as well as set up a versioning system. Because we put our application together in such a short amount of time (and it being our first application using the Adobe AIR framework), we knew that we would want to add to it over time. The automatic update feature is just fantastic. It allows you to set a version number and update URL for future versions. Anytime the application opens, it checks to see if a newer version exists and prompts the user to get the update. The whole process is quick and painless on the client side and will allow for us to make updates at our leisure and feel confident that those updates will be received.

Looking back (and forward)

Developing the app proved to be actually very easy. From start to finish we completed the fully functioning artMusheen application in just under two days! Because we didn't have to learn any additional languages or programs we were able to work within our normal skill sets and execute with almost no pain or hassle. We thought of Adobe AIR as a supercharging partner to Flash and the integration was seamless.

Because of the overwhelming interest in our pet project, we've decided to prepare artMusheen for a full public release accompanied by a gallery site where people from all over can share their creations with the world. Additional features will include more brushes, filters, image import, and the ability to work at very high resolutions for serious projects.

Keep an eye out for the artMusheen site, which will launch very soon.

Where to go from here

If you are interested in developing Adobe AIR apps be sure you check out some of the resources that helped us get artMusheen up and running fast:

For more information about Adobe AIR, visit the product page.

About the authors

Jon Ruppel is a true believer in practical experimentation. A graduate of UCLA's Department of Design|Media Arts, the classically trained designer with a background in 3D and motion graphics made the move to Flash design and development over 6 years ago. His experience spans everything from traditional online advertising to application development for clients such as Acura Motors, Microsoft, Sony PlayStation, and Disney. His work for Scion was featured in Communication Arts: Interactive Annual as one of the "Best of Interactive 2006" and his award-winning portfolio site has been called the future of interface design. Currently residing at Schematic, Los Angeles, Jon heads up the Advanced Interaction Group, a creative technology department focused on emerging media and future interfaces.
Andrew Keegan started working with Flash in 1999. Since then he has pushed the capabilities and boundaries of all the great designers, developers, and animators he has had the luck of working with. His love of animation, passion for usability, and crazed thirst for knowledge solidified his position as Senior Software Developer for Schematic in the Advanced Interaction Group.