Writing a Web Service on Google App Engine

I started working on a website.  It is going to be a tool for online marketers that want to use Twitter to connect to new customers.  I think that the business model is solid and I hope that it will be ready for some beta testing in a couple of weeks.

The interesting technical aspect is that I’m developing it using Python and the Django 1.0 framework and running it on Google App Engine.  It has been interesting to get it all running and right now I’m very happy with the development process.  The documentation was pretty hard to get through initially but then I found a real world application written and used by Google that was an awesome model for how to set up a django app on GAE.

There are some significant deviations from the standard Django framework when using it on GAE and it has been a bit tricky since searching for documentation can be a bit more difficult. — when is it safe to use the standard Django documentation vs when are Google specific modifications required.

There are a couple of really killer features of launching an application on GAE.

  1. Huge scalability because the database is powered by BigTable
  2. hosting is free until you pass the generous quotas
  3. The local development tools work reliably
  4. really good logging and statistics are available from the GAE dashboard
  5. easy web access to the database entries the app creates.
  6. no need to syncdb the database on model changes.

The downsides:

  1. Can’t really use standard Django Models
  2. Standard Django Forms are not quite as useful
  3. I don’t think the admin contrib will work, since it depends on standard django Models

With the free hosting,  the only costs so far in this project has been my time, and a couple of images that I bought from iStockPhoto to use in the design.  Progress has been really good so far, and I’m looking forward to doing an initial launch of the site later this week to create some buzz and guage customer interest.

One thing that I plan on doing with this project is actually hiring an SEO company to help get the site promoted and ranked in Google.  Even though I know how to do it myself I just don’t want to do the work of optimizing the website and creating backlinks.  A specialized company with the right tools in place will be able to do it much cheaper and with less effort than I could do myself.