Sunday, April 14, 2013

How I chose my python framework

I always wanted to learn Python. Even though I never coded in Python, I kept in touch with the community. So, from that experience I can tell you that Python lacked a robust web framework until recently. Django was under development and things were not so easy if you wanted to code for the web in Python.

Fast-forward today, I'm surprised at the number of frameworks that have come up for Python. And honestly, when I started this exercise of learning Python all I wanted to do was,

 sudo apt-get install python-django 

But now, with so many choices I can no longer think of Django as the Python framework of choice. So, as any good programmer, I did a lot of research, read a lot of opinions and finally settled upon Flask.

I have my own reasons for choosing Flask,

  • I wanted to learn Python, and wanted the journey to be fun. For that I needed a framework without lot of conventions.
  • I did not want to build anything big. I wanted to start small and start quick.
  • I wanted good support from the community.

Flask is a micro-framework. To put it the developer's own words - "Flask can be everything you need and nothing you don’t". 

And, that's exactly what I need. It's minimal, light, comes with a light weight web server for testing and has very good documentation and community. I was able to install flask, write a Hello World application and serve a web page in less than 5 minutes. So, that definitely says something.

One more framework I did a lot of research on was Web2Py. Though I don't agree with some of their design decisions I still think its a great framework for beginners and experts alike. But, as I stated above my goals are different and at the moment Flask does the job for me.

Saturday, April 6, 2013

It's not always about the response.

This is about my recent experience with the Android app - Cleartrip.

The earlier week Cleartrip released an update to their Android app. And, oddly enough they added a mysterious permission "Retrieve running apps". When I saw the permission my emotions ranged from anger to hatred to giving up. Because, for me it made no sense that a travel app would require such a permission.

I felt angry because I thought Cleartrip was misusing my trust. Just because I like their app and use it for my booking, it doesn't give them the right know what apps I use. 

I hated them because it was only after a lot of search, installing/un-installing other apps, I finally settled with them. I'm very particular about user experience and this was the only app that matched my expectations. And now, they do this and leave me no choice but to move on to another app.

Under normal circumstances, I would have ranted or would have just uninstalled and settled with another app with subpar user experience. But, my recent experiences with the open source community, +xda-developers  and WebileApps taught me ranting or giving up doesn't help anybody. Maybe, it was an honest mistake by the developers.

I wanted to constructively let the developers of Cleartrip know how I felt about the new update. And this is what I did.

Couple of hours later the developers release two updates and here's what they had to say:

While I don't believe everything they said, removing the permission and releasing an update was the correct thing to do.  This could have gone in an entirely different direction, the developers could have just ignored my review or worse I would have never bothered to post the review. But, in the end I did voice out my opinion and for a change this time, people cared.