Moved to Blogger

Saturday, April 23, 2011

I've started building my new web site few weeks ago, I wanted it to be more attractive and easier to customize than the old one (dasBlog engine). I’ve started with Orchard CMS on Windows Azure, but quickly realized that some features I wanted were not yet available. I decided then to go for a hosted blogging service that would allow me to focus on the content and forget about the platform. This blog post describes why I chose Blogger and what’ve done to make this beautiful web page you’re looking at.

Blogger as my new platform

It took me about 10 minutes to get my blog up and running with a default template. All the features I needed were there:
  • Search engine friendliness
  • Integration with Google AdSense
  • Integration with Google Analytics
  • Custom domain
  • OpenID support
  • Picasa integration
  • FeedBurner integration
  • Support for standalone pages
  • Generous quota (Blogger does not appear to impose bandwidth limits at all).
  • Easy to customize, allows JavaScript
All I had to do was to create my own theme, add DISQUS, my tweets and all those nice things bloggers need to have. I’ve downloaded and tried some templates from and learned Blogger’s template system that way. In the end I wrote my own template from scratch and the JavaScript I needed (thanks jquery). It came as a surprise to me to learn that Blogger didn't support the BlogML format, so I couldn't simply import my old blog. In a way, I didn't mind because I had less than a dozen blog posts to import and I wanted to adapt the html to fit with my new Css.

The last step was to find somewhere to upload my static content. After some experimentation again, I decided to use Google App Engine (GAE) for that.

Offloading static content to Google App Engine (GAE)

Another advantage of storing static content on a separate domain is to parallelize and speed up the download process (web browsers usually limit the number of sockets to download resources from a single host). GAE is not meant to be a fully-fledged CDN, but it’s more than enough for my humble web site (2 megabytes of static content) and it is free. These are the limits when billing is disabled:
request size10 megabytes
response size10 megabytes
request duration30 seconds
maximum total number of files3,000
maximum size of an application file10 megabytes
maximum size of a static file10 megabytes
maximum total size of all application and static files150 megabytes
(*)More information here

The procedure to upload content to GAE is described here, it works really well. Note that it's more complicated to set the cache-control header (Cache-Control: max-age=3600) with GAE java sdk that's why people are still using Python.

My notes about GAE

I've learned few interesting things on GAE Google Group:
  • GAE makes a best effort to do caching, but there is no guarantee that responses will be cached.
  • Edge caching for requests that use the cache-control header is only active when billing is enabled


I've spent many hours working on this blog, I've learned many things about Blogger and GAE, I think it was worth it. Hopefully I will be able to concentrate on blogging in the future and the current design will satisfy me for the next couple of years.

0 Comments so far - Add one:

Post a Comment