Announcing Teh - the Minimalist Blog Tool Using Google App Engine

Sunday, 04 May 2008

I've written few small apps exploring Grok, Pylons earlier. But, Teh has been the most fun to write. After reading Bret Taylor's Experimenting with Google App Engine, and noticing that he had not given the full source code for the app discussed, I set about filling the blanks myself.

The source code is here: You can see the live demo here:


  • The best thing about appengine is the ease with which you can deploy the application. No databases to initialize, no SQL to write, no wiring of Apache
  • Python has always lost a bit of "newbie" ground to PHP because it is non-trivial to get a PHP app running on a web facing server. Now with GAE, deploying python apps is as simple as -- write-> upload -> test. This alone has the potential to push python to new levels of acceptance among developers.
  • I hope that hosting services will start offering wsgi enabled servers now that we have seen WSGI in action, on a "google" scale. mod_wsgi should get some more traction.
  • If you are familiar with Django, writing apps using AppsEngine will be a familiar exercise, though you might miss the admin interface.
  • URL mapping is very simple, in the lines of
  • GAE has managed to retain the popular elements of Django (templating, model declaration, form handling) at the same time embracing the minimal style of for url configuration, file layout (one app cab be just a single python file).
  • For someone used to RDBMs centric view of data storage, getting used to GAE data-modeling is an unlearning exercise. Zopistas, I see your knowing smile
  • Appengine is really attractive for python developers, who can code but do not have the knowledge/resource to host the application themselves. If google prices the app hosting services competitive to Amazon AWS, it can benefit independent developers immensely.

Appengine hosting is still in private-beta and has limitations on file-size, number of files etc., But these should not stop enthusiasts from getting a taste of what is to come.