Saturday, April 12, 2008

embedded google app engine

Sometimes I get the craziest ideas whilst talking an hour-long walk by my lonesome. Here's one of them.

The recent launch of Google App Engine has all a-twitter about the possibilities offered by cloud computing - especially when the starting cost is zero. I heard the news the day after GAE launched, which means I was half a day late in trying to get one of the 10,000 accounts open during the initial beta release. I did notice, however, that anyone could download the GAE SDK, which, as one of the GAE help pages says:

...includes a web server application that simulates the App Engine environment, including a local version of the datastore, Google Accounts, and the ability to fetch URLs and send email directly from your computer using the App Engine APIs.

The SDK runs on any computer with Python 2.5 and comes packaged for Windows, Mac OS X and Linux.

These facts were tumbling in my mind during my walk when I switched to thinking about embedded device projects I'd like to work on sometime. I switched to Tomato firmware on my Linksys WRT54G router some time ago, and I've been interested in turning a Linksys NSLU2 (aka "the slug") into a Linux box for dedicated applications (web server, iTunes shared library, etc).

Then the statement above from the GAE help page popped into my head: "The SDK runs on any computer with Python 2.5...". Wait, WHAT? A few quick Google searches later confirmed what I expected: several Linux distros for embedded devices have optional Python 2.5 packages. Another quick check shows that the GAE SDK is less than 3MB in size.

Question: does this mean I can essentially run the GAE development environment on an embedded device? And if so, what the heck would you use that for? I'm not sure yet, but it would be fun to be one of the first to run GAE applications on my router...