Topic: Articles to remember
Lots of news and rumors are flying around right now about developing iPhone apps using Flash Platform tools. Here’s a collection of links that I’ve found, some the official information and some information from folks who were involved in developing this cool new technology:
- First thing first: if you haven’t seen the MythHackers video about Flash on the iPhone, you must go watch it. I laughed so hard my eyes were watering.
- Aditya Bansod’s ADC article “Developing for the Apple iPhone using Flash,” from the Product Manager who’s in charge of the Flash Platform development for iPhone effort. Includes some technicial details on how it actually works and how you build the apps.
- Adobe Labs: Apps for iPhone: Video demo and list of apps that are already in the app store today
- Adobe Labs developer FAQ: this has the most information about what this really means for developers
- Mike Chambers is, as always, a great resource for information on this topic. He has a nice summary blog post, plus I know he’s collecting questions to answer in his MAX session (on Wednesday, I believe).
- Arno Gourdol, engineering manager for Adobe AIR (and huge iPhone fan and former Apple employee) talks briefly about the underlying technology, with a focus on MAX sessions where you can learn more.
- Never one to hold back his enthusiasm, Ted Patrick has posted the source code for three different Flash Platform iPhone apps he wrote, that can be seen on the demo phones in the Adobe booth at MAX. (He says it’s four apps in the blog title, but he explains that two of them are the same app with and without hardware acceleration.)
That’s all for now. I’ll keep updating the list as I find more resources.
My team at Adobe is conducting a few usability-type studies to learn more about how our customers actually work (and hopefully improve our products as a result =). To sweeten the deal, we’re offering Amazon gift cards for participants. (There are a limited number of participant slots available.)
We’re mainly looking for developers who have Flex experience but little or no experience developing for Adobe AIR. There aren’t many other restrictions — We’ll conduct the study on the phone and online using Adobe Connect.
Admittedly, I realize that if you read what I write here then there’s a good chance that you’ve already got too much AIR development experience. Even so, we’d appreciate it if you can spread the word to other developers you know who might be qualified.
If you’re interested or want to get more details, check out the official post on my team’s blog:
Need participants for studies about AIR and Flex
On a related note, we’re also conducting some (very brief) surveys about your experience developing AIR applications (Flex or HTML/JS). I can’t remember all the places where you might encounter them, but if you browse around the documentation or the developer center for a while there’s a chance you’ll be offered the survey. If you’ve done some AIR development and get a chance to take the survey, we’d like to hear about your experiences.
Note: article updated Sept. 18, 2009 with additional features that have been made public since the original post.
…and another update Sept. 22, 2009
…and still another update Sept. 25, 2009
If you were following Twitter during the San Francisco Flash Camp on May 29, you might have seen that Arno Gourdol, Engineering manager for AIR, announced/showed a few features that are going to be in the next major version of AIR code name “Athena”.

Today I found the link to the video of Arno’s presentation “Flash Camp Update on Adobe AIR,” so even if you couldn’t attend you can learn about those features yourself. The video’s fairly long and the new stuff is near the middle/end, so here are the highlights for you to watch for (sadly the video doesn’t have time markers so I can’t give exact times):
-
He starts the demo a little past the half-way point of the presentation.
-
He shows an app that detects when a drive is mounted/unmounted by listening for the new
StorageVolumeChangeEvent.STORAGE_VOLUME_MOUNTandSTORAGE_VOLUME_UNMOUNTevents. He plugs a USB thumb drive into his computer and, sure enough, the new drive appears in the FileSystemDataGrid in his app.
-
Next he shows a change to the AIR installation process that’s coming in the “Squirter” release, which is a dot release coming out “probably late this summer” according to the video. The change is specifically to the warning dialog that’s displayed when a user installs an AIR app that’s signed by a trusted security certificate.
Here’s the new version that he showed:

For reference, here’s an example of the current warning dialog. The highlighted items are the parts that are removed in the new dialog. It also looks like the “Install” and “Cancel” buttons have switched places for some reason, and some white space has been tightened up. Other than that the new dialog is the same (as far as I can tell):

Update Sept. 18, 2009
A couple of other new features have been mentioned publicly since I posted this:
-
In an AIR forum post, product manager Rob Christensen mentioned that the next major version of AIR will “provide an API to allow you to open documents” in their default applications. (The examples discussed in the post are opening Word or Excel files in their respective applications.) The code for this feature actually appears in the sample Arno showed at Flash Camp — he just didn’t point it out (look right above his head):

- AIR principal scientist Oliver Goldman mentioned in a blog post that in his MAX 2009 talk he will be talking about “the new deployment options that will be available in Adobe AIR 2, including the native installer support required to use some of the advanced new AIR 2 APIs.”
- And of course, Oliver’s quote also makes it explicit that the next major release of AIR is called “AIR 2.” In case that wasn’t so likely as to be obvious.
Update Sept. 22, 2009
Another update: In his Flash on the Beach 2009 presentation “Advanced Desktop Development with Adobe AIR” Mike Chambers described the following feature (on page 20 of his slides):
NativeProcess API
- New API in AIR 2.0
- Can call and communicate with external applications
- Requires application be distributed as native installer (no AIR files)
- Cannot execute applications within application directory
- Must add “extendedDesktop” to support profiles
Update Sept. 25, 2009
At a Flash users’ group meeting in Paris, Mike Chambers announced and demoed “the new raw microphone access feature coming in AIR 2.0.” Source and video: Lee Brimelow
This has been around a lot (I even saw it mentioned in my local newspaper) so it’s probably not news to anyone, but I wanted to save this link so I can find it again.
This is definitely an amazing, thought-provoking look at leading a rich and fulfilling life, from someone who knew he didn’t have long to live and yet still showed more energy and excitement for life than just about anyone:
Dr. Randy Pausch, Carnegie Mellon CS professor, Dead at 47 (TechCrunch)
Lee Brimelow has just pointed out that the Flash Player 10 documentation is available for download on Adobe Labs. I’m excited that this is public, so I can start talking about it more — I’ve been working on the documentation for several months now =)
On a personal note, the screenshot that Lee posted for the Vector class documentation was written by me. So that was fun to see =)
The first details of the overarching “themes” for Flex 4 (“Gumbo”) have been posted on the Flex open source wiki. Four themes are listed (“Design in Mind”, “Accelerated Development”, “Horizontal Platform Improvements”, and “Broadening Horizons”) although currently only “Design in Mind” has any details.
And what nice details they are!
Here are a few highlights that stood out to me:
Flex applications however have gained a reputation for looking too similar to each other, as many developers choose to use the Flex default look and feel (known as Halo)…we have found that it remains too challenging to create a truly custom experience. It is therefore a priority for Gumbo to make easy customization of Flex application experiences the norm instead of the exception.
Major features…component and skinning architecture…make it easier to describe experience-oriented features such as states and transitions
Perhaps the most revealing part for existing Flex devs is the aptly named “Caveats and Reassurances” section:
Gumbo will remain compatible with Flex 3…Over multiple releases post-Gumbo we expect to deprecate the Halo model…Halo and new Gumbo components can co-exist…new MXML features may require some changes to your existing markup. However, you can make these decisions on a file-by-file basis
But my favorite line of all is in the “Related Work” section:
Provide a tool in which design-oriented users can easily customize the look of individual components or entire applications. Yes, this is Thermo. We’re not discussing it here.
Of course, this is all fairly in line with what’s been talked about previously, such as Thermo, MXML-G, Ely’s presentation about a new component structure with separation of model and view, etc. But it’s nice to see more information…and what’s not there but is hinted at is even more tantalizing.
I’ll definitely be watching that page for more information about “Design in Mind” and the other Flex 4 themes.
(via email from Matt Chotin — also see the announcement on the Flex team blog)
There’s been plenty of blog play about Google’s recently announced Apps Engine, which provides scalable server hosting for web apps.
I found a couple of posts that were very interesting from a different perspective than just the “hey free web hosting” angle, that I wanted to save/share:
- Alec Saunders discusses Google App Engine as an example of the competition between Microsoft and Google, and why Google “gets it” but Microsoft doesn’t.
- Jacob Brunson thinks this is an example of Google “changing the world” — an innovative idea coming from inside Google rather than being bought by them.
And one more link that is a coding-focused one, but I wanted to save it anyway. =)
- Ronald Schouten has a great list of resources for learning Python and Django (Python being the language you must use with Google Apps Engine, and Django being one of the most popular Python frameworks for web apps).
Lots of big releases for Adobe AIR and Flash Player today. In no particular order:
- Security update for Flash Player (“9.4”) (also see the DevNet article)
- Security update for Adobe AIR (“1.0.1”)
- New public Flash Player bugbase (also see the DevNet article)
- Adobe Media Player 1.0 (with a lot more content now that it’s final — if you’ve tried it before but didn’t bother with it because of lack of content, it’s worth another look)
Note: I added AMP after this post was already published, since it wasn’t yet public at the time.
Peter Elst, an excellent Flex/Flash developer and speaker, just finished touring as part of the on AIR Europe tour. He’s posted his slides and sample applications from his presentation, “Introduction to SQLite in Adobe AIR”. Looks like it was a great presentation, and even without hearing him he’s got some nice samples to dig through.
(via Twitter from Peter himself)
I wanted to share a couple of links and some of my thoughts about Mozilla Prism (also here), which (from my understanding) is currently a way to take a browser page and isolate it so that it runs in its own window (and maybe its own process — not certain about that one) without the extra trappings of browser chrome. It’s been compared with Adobe AIR, and while there are similarities there are certainly differences too.
I missed the initial announcements and only became aware of Prism a couple of weeks ago when I happened on a discussion of Prism by Mike Chambers (complete with rather emotional comments on many sides). I can’t say I agree with everything Mike says there — it sounds like at the time he wrote it he didn’t have a complete understanding of what Prism was/is — although certainly some of the people who commented obviously didn’t have a great understanding of Adobe AIR. In any case, it’s an old (by Internet time) post, so I’m sure nobody in that conversation would want to be held to their stated opinion.
My opinion about Prism is more in line with something JD shared recently, specifically the quote below which I think clarifies the value proposition (and relative merits) of both AIR and Prism:
For me, the top difference between the Adobe Integrated Runtime and what I currently understand of Mozilla Prism is the balance between creator choice and user choice. AIR lets you create a predictable beyond-the-browser experience; Prism lets the developer indicate how they’d like the presentation to appear, but the enduser can still modify the markup, scripts and styles they choose to package up in Prism. Two different types of contract between creator and consumer.
Any existing webpage can be repackaged and modified in Prism; any web developer can create desktop-optimized experiences in AIR.
I think this is very relevant to one example that I’ve given to explain one of the benefits of AIR. There are now apps that people use in a browser (e.g. GMail), but they use them like a desktop application — opening them up and keeping them open all day. The user doesn’t want that browser window to navigate to a different page, and if some web site causes the browser to hang or crash, the user’s email app gets hung too. For an app like that, it makes sense for the developer to create a version in AIR that can be run as a separate application. However, there’s a big dependency from the user perspective — the app developer has to actually create the AIR app. (e.g. Google would have to make an AIR version of GMail). Once the developer decides to build an AIR app, there are other benefits and capabilities that become available — but the point is it’s still in the developer’s hands to actually build the app. The value I see for Prism is that with Prism the end user can choose to make that app a Prism app without the need for any action by the app developer. Of course, the app will still have dependencies on things like an Internet connection, and won’t have any more capabilities than any other browser-sandbox app. But it’s certainly no worse than what the user already has in the browser, with some nice conveniences added in.

