It is unfortunate, but probably not very controversial, to say that mobile web sites tend to be second-rate afterthoughts compared to “real” desktop-browser-optimized sites. A lot of popular web sites either provide no mobile-optimized version at all, provide an overly-specific one built only for the iPhone, or provide a super-generic, watered-down WAP version that admittedly presents the content, but usually so that it looks like an unstyled bulleted list. What’s worse, none of these mobile strategies really scale well to handle new devices - say, a new class of device with a screen halfway between that of a smartphone and a desktop. The iPhone-specific version usually doesn’t display properly, the WAP version is way too basic, and the full desktop site often requires Flash, Silverlight, Java, or other heavyweight plugins that aren’t always available.
It’s kind of a mess.

Here at the Labs, we have been playing around with the MapReduce programming model (namely the open-source Hadoop implementation) for a while, but have been relatively conservative up till now. Most of the jobs that we have done thus far have been relatively simplistic, being more or less basic aggregation functions, with the most difficult part being the shear size of the data itself. This time around, we are planning on being a little more adventurous with the techniques we will be using to analyze the data, mining deeper than we had before. Before actually diving in, I did some reading of books and papers from both academia and industry to get an idea of the landscape and what we could try. Here’s a basic summary of some of the more interesting things that I’ve stumbled upon and possible ideas that we will tackle in the near future.

As you might know from reading some of my previous blog posts, I’ve been working with Python and Django pretty extensively over the last year, mainly for rapid prototyping and developing relatively simple web applications (including a Facebook App). During Cool Stuff Week I decided to try using Ruby on Rails (RoR) as the base framework, as a learning experience more than for any other reason. So what’s the difference between these two popular dynamically typed frameworks?

Django is an open source Python web framework that uses a variation of the MVC architectural pattern, called MTV for Model-Template-View. Having used Django for quite a few projects now, I have grown rather fond of it, despite some annoying aspects. Development using Django is very easy and painless, allowing for rapid prototyping and development.
Learned new tools from my business.