After weeks of long talks and digging about mobile analytics it was finally that time of every project to choose the platform, the technology to build what we have been dreaming about all this time.
Having used PHP for all my previous web based projects, I have my own comfort zone just like all of you. I have my WAMP server that I won’t easily give up, I have a huge/handy collection of code snippets, I have all the experience about numerous frameworks like CakePHP, Smarty, CodeIgniter etc. But things were different with Countly. We were about to build a realtime, pretty complex and open source platform. I could easily visualize the codebase getting out of control, the performance problems along the way and the entire realtime struggle we would face if we choose PHP. It was time for a change…
So we decided to build Countly on Node.js and lived happily ever after, I wish we did that :) We started with Tornado so Python was the new deal. A whole new world with all the non-blocking confusion for a new-comer. I started with the API and things were going pretty smooth. Built the first prototype (pretty similar to our current API) and we were all amazed with the test results from Apache JMeter. It was faster than we had ever imagined even on a pretty simple server. Till that day documentation was enough to build things but how was the Tornado community like? That was the big question I needed to ask way earlier than building a working API. Tornado did not have a growing community, actually any community I could find of… I believe Facebook’s open sourcing the project gave it a strong pace in the beginning but later on people just stopped using Tornado, stopped developing modules, plugins etc. It was not the right time to reinvent the wheel (I love to do so most of the time) since building a complete analytics platform is probably one of the most complex things you can ever do on the web. So I needed to give up another slowly forming comfort zone of mine… For a good cause though.
What’s the bottom line of this story? Never ever be afraid of getting out of your comfort zone. You will be amazed with the opportunities new platforms and technologies have in store for you. Come join us today and let’s build an amazing analytics platform for example :)