PhoneGap - Write native apps for iPhone, Android, and Blackberry using JavaScript

Categories: Adobe AIR Frameworks iPhone JavaScript Objective-C RIA WebKit

From the site (

“PhoneGap is a development tool that allows web developers to take advantage of the core features in the iPhone, Android, and Blackberry SDK using JavaScript.”

PhoneGap essentially wraps a web view (WebKit on the iPhone) in a native app container, giving the web application access to core device APIs. This should go over well with the Adobe AIR crowd that’s already been sold on the idea of repurposing their web-based apps as “native” desktop apps, who are also interested in bringing that software to various mobile devices.

What will the programs created in this manner be called? Rich Internet Applications? Native Web Applications?

I’m a big proponent of web-based applications, but only inasmuch as they allow fairly ubiquitous access to data across devices. My biggest beef with web apps, though, is that they are much less responsive than native applications. Alright, let me rephrase that - a web application will always be inherently slower than a native app. I/O for the data model aside, a web app also has to contend with the fact that both its data and the presentation logic for the data must trickle over the wire or over the air (and then be rendered) before anything useful can be done with it. Native applications simply do not have to deal with the presentation waiting game.

So the scenario I see PhoneGap being used for is something like: provide as much presentation logic/code as possible in a local data store that gets installed with the app, and only download data for the user when necessary. Cache things that won’t change often. Use device APIs for storing user data locally and for things like geo location.

I’m excited about the prospects of using JavaScript (something fairly easy to pick up) to create “native” web apps for mobile devices. But I’m also aware that the speed, feel, and device integration of a true native app (especially if it gets its data from the web) will beat web applications in those same criteria for the foreseeable future.

Adobe AIR 1.5 for Linux

Categories: Adobe AIR Eclipse Software

One of the engineers on my team prefers to use Linux for development (specifically writing Java code in Eclipse), but has been a bit dissatisfied with Adobe’s release lag in pushing out Flash run-times like AIR for Linux (Ubuntu in his case).

A month after the Adobe AIR 1.5 release on the major platforms (Windows and OS X), Adobe has released AIR 1.5 for Linux, which covers the Ubuntu, Fedora, and openSUSE brews. Even 64-bit Linux users can join in on the fun (

More detail is available on the Adobe AIR blog:

Even Richer Internet Apps with Adobe AIR 1.5

Categories: ActionScript Adobe AIR Adobe Flex AS3 Flash WebKit

Adobe AIR logo

Adobe has just released Adobe AIR 1.5. Now you can take advantage of great features like Pixel Bender for custom filters and fills, the new 3D effects, dynamic video streaming (based on available bandwidth), and the Speex audio codec, aimed at providing high-quality audio delivery at lower bandwidth.

In addition to the existing Encrypted Local Store functionality in earlier versions of AIR, Adobe has now added encrypted local databases, which will make it easier to encrypt and locally persist large data sets.

Also, as a follow up to an earlier post on the use of SquirrelFish in AIR, Adobe has confirmed that this is indeed the case. Adobe AIR 1.5 has a WebKit update that incorporates SquirrelFish - Adobe claims that HTML-based AIR applications can run as much as 35% faster.

Download version 1.5 of Adobe AIR.

Developer and User release notes are available as PDF.

On a related note regarding the Flex Builder 3.0.2 update that takes advantage of the new AIR runtime: be sure to change the app.xml XML namespace to use 1.5 instead of 1.0, as noted on this blog -  I had trouble with my application until I found this post.

Adobe Thermo Demo at 360|Flex

Categories: ActionScript Adobe AIR Adobe Flex Flash Thermo

Mark Anders from Adobe gave a preview of Thermo and Flash Player 10 at the 360|Flex conference. It’s a good video for designers interested in Flex-based RIA UI development and for Flex programmers interested in what’s on the horizon for designer/developer collaboration.

Flex in a Week video training

Categories: ActionScript Adobe AIR Adobe Flex AS3 Howto

Adobe is offering Flex training on their developer site using videos and supplemental PDFs. Check it out here:

As of this writing, days one through three have been added.

Book review: php architect’s Guide to Enterprise PHP Development

Categories: Adobe AIR Books PHP Reviews

Currently I’m helping to lead the development of an enterprise-grade rich internet application. We’ve decided that the front-end client is going to be a desktop app running on Adobe AIR and using the Flex framework, but we’re still discussing options as to what the back-end should be running on. Java, .NET, Ruby on Rails, even Python…all have been discussed, but the one we were initially writing off was PHP. In an effort to be fair, I’m re-considering, and recently finished reading a book, php|architect’s Guide to Enterprise PHP Development, that aims to position PHP as a viable enterprise platform.

Keep reading “Book review: php architect’s Guide to Enterprise PHP Development”...

Inquiring minds: SquirrelFish in Adobe AIR?

Categories: Adobe AIR JavaScript

Inquiring minds want to know: with WebKit officially banking on the use of the SquirrelFish JavaScript interpreter (WebKit is the HTML rendering engine underlying Apple’s Safari browser and Adobe’s AIR platform), does this mean that we’ll see Adobe moving away from using JavaScriptCore for JS execution and toward using SquirrelFish?

In 2006 Adobe donated the Tamarin interpreter to the Mozilla Foundation (press release). Tamarin is a JavaScript engine based on Adobe’s Flash ActionScript interpreter. More recently, a branch known as Tamarin Tracing is most likely going to make its way into Firefox 4.

Early tests have shown SquirrelFish to be a (whopping) 52% faster than Tamarin, which seems like it would make it an ideal candidate for AIR.

So the question is: will Adobe abandon the child of its scripting engine in favor of SquirrelFish?

[Update, 11/17/2008] Yes, they did indeed.

Two Twitter Clients I Use

Categories: Adobe AIR General

For a long time I resisted using Twitter, because I was more interested in getting, along with this blog, up and running. But after seeing some practical benefits to using Twitter, I’m starting to get my feet wet.

When I’m on my Mac, I use Fluid to run a SSB (site specific browser) for Hahlo - and I’ve made it into a nice menubar item that just sits up out of my way, there when I want it. It even has Growl notifications (currently disabled for me - I’ve got work to do!) to let me know when someone I’m following makes a new tweet.

On my Windows machine, I’ve just started using TweetDeck - it’s a full-featured yet minimalist front-end to Twitter that runs on the Adobe AIR platform. That means it’s cross-platform. Thanks to Iain Dodsworth for putting this one together, it’s very well done.

I’m aware that there is a vast array of Twitter clients out in the wild, like the TwitterFox plugin for Firefox. I’d be interested to know what you’re using, so feel free to let me know in the comments.