Porting Stuff to Google Apps

Recently I wrote this lengthy on Google App Engine and new avenues of opportunity such ventures open up for us. It seems that I’m not alone in thinking about this stuff. The gist of that post was that Google App Engine and similar services which are bound to pop up sooner or later offer us what I call “a third option”.

Traditionally if you wanted to run a blog, a forum or some sort of dynamic service you essentially had two options. You could either buy yourself some form of hosting (or hot or you could go with a free service. The problem with free services is that you pretty much lock yourself into their proprietary software and are limited by it’s functionality. So while you don’t pay for a blogger, live journal or wordpress.com account you also have very little choice in how your blog will be configured, what “plugins” it is running, and etc. None of these services allows you to change the code of the application itself to extend it for your needs.

Private hosting on the other hand costs money and in most cases requires you to be your own sysadmin. You had to configure your web server and the database, install the forum software, make sure it works and finally protect it from being slashdotted or dugg to death.

Now we have a third option which is sort of a middle ground between the two. You build your app, and you upload it to Google App Engine. This way you have both access to the source code and flexibility which this entails, Google’s famous back end scalability, and it is completely free for you to use making it a an attractive offer.

Now I have a concrete example of someone taking this idea and running with it. Krzysztof Kowalczyk (btw, if you can pronounce that name you get a cookie) just recently released a minimalistic forum software he dubbed FoFou written specifically for the Google App Engine.

He essentially took Joel Spolsky’s forum design idea (side note: Joel can sometimes have those rare moments of brilliance when he is not busy being a fucking tool) took some of the ideas from FruitShow project (which implemented Joel’s forums in PHP) and ported them into Python with Google App Engine in mind. The result is a very light weight, minimalistic discussion board which is quite usable despite it’s spartan design.

But I’ll let Krzysztof explain the motives behind his project in his own words:

I believe that thanks to ease of development, ease of deployment and generous free quotas, App Engine has a potential to revolutionize the landscape of low-end web hosting. App Engine is plenty powerful to host your website, blog, wiki, forums and what not, for free, with better quality guarantees than most low-end web hosts.

It doesn’t make sense to pay even $5/month for low-end web hosting and mess with configuring web servers and databases and PHP software.

It doesn’t make sense to pay $5/month for TypePad blog, if you could install TypePad-like software on App Engine and run it for free.

It’s even attractive to use App Engine instead of free (read: ad supported) services like blogger or wordpress.org, because you get rid of ads, you can install any blog software you like and you get more control over the website.

It’s still early in App Engine lifetime so we’re not yet at a point where this is true. The biggest missing piece is availability of high-quality, free re-implementations of the most common types of software people use: blogs, wikis, forums etc. Fofou is here to give you one more choice when it comes to forum software.

This is precisely what I have been saying in that previous post. This guy totally gets it, and I’m with him on this 100%. We need more initiatives like this where we port popular open source web applications for Google App engine. In fact, if someone at Google is by some fluke reading this blog (which I doubt) this is something you guys could totally pounce on. Make a contest for the best port of a popular app, offer some attractive prizes and cash in on the positive PR, buzz and see a huge influx of users for your Google App Engine.

I must say that I really like Fofou. I grabbed it and set a test forum for myself just to see how easy it was to deploy and configure. It’s a breeze. You create a new app in App Engine web interface, dump the Fofou folder into your Google Apps dev directory, edit app.yaml to include your app’s unique name, run appcfg.py update and you have a working installation. All that is left is to log in and create a forum. Easy as pie – or even easier.

In the past my brother asked me for recommendation on a free forum hosting and I ended up sending him to some crappy PHPBB based service which turned out to be a complete disaster (they had more downtime than dreamhost and twitter combined which is actually something that is not very easy to achieve). This time around, I would be tempted to set him up with Fofou on Google App Engine… Then again Fofou might have been too bare bones for what he needed, since he was all into that secret-password-protected forums, user privilege stratification and etc. Still, it would be an attractive offer.

Let’s hope that Fofou is just simply an early indication of an upcoming trend of porting popular applications to the App Engine. And if Google at some point adds PHP as the second supported App Engine Language next to Python (which they probably won’t) we might see an avalanche of behemoths such as WordPress, PHPBB and etc being ported en masse.

[tags]fofou, forums, ftuitshow, joel spolsky, phpbb, google app engine[/tags]

This entry was posted in programming and tagged , . Bookmark the permalink.



2 Responses to Porting Stuff to Google Apps

  1. Pingback: Terminally Incoherent » Blog Archive » Your Homepage on Google AppEngine UNITED STATES WordPress

  2. Pingback: Terminally Incoherent » Blog Archive » Running a Blog on Google Appengine UNITED STATES WordPress

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>