Countly: The mobile analytics framework

The Countly project provides analytics tools for mobile applications. I recently had the opportunity to discuss the project with the lead developer, Onur Alp Soner, and our conversation is below.

If you would like to discuss your project for the SourceForge blog (or podcast) please email us and we’ll set something up.

Rich: Countly is an innovative, real-time, open source mobile analytics platform. Can you break that down for us? What does Countly offer to the mobile app developer?

Onur Alp Soner: Countly offers a mobile analytics platform for application developers. It is the first open source mobile analytics solution, and anyone can start using it by deploying Countly to their own server and integrating our client SDKs to their applications. Installing Countly to a Ubuntu server takes about ten minutes. Add another ten minutes for integrating the SDKs to the application, and voila! You own your application data and you will be able to keep it safe on your own server. Countly is true real time, it is fast, it is scalable and looks better than any of the alternatives out there.

Rich: What got you started on this project? Do you have your own mobile apps that you built this to address?

Onur Alp Soner: One of the co-founders is the creator of a mobile development framework and the other operates a mobile development and design studio, so we are into application development ourselves. Countly is born from a need and built from scratch to fulfill our needs. Being in the business for long years helped us craft Countly to this point but we made it open source in order to be able to put something into Countly from all application developers experiences. We want to discuss Countly’s future and develop it together with the mobile application community.

Rich: Who else is using Countly? Tell us some success stories about your users.

Onur Alp Soner: Countly has been downloaded more than 2000 times since May. We have a lot of happy users and most of them are amazed with how easy it was to set it up and how efficient it is to track all their applications from one dashboard. For example, UX design company InnovationBox tracks 6 mobile applications with Countly. We are testing events system with InnovationBox, and all tests are conducted in parallel, to ensure a smooth launch for next version. Ontek, being a hosting service provider, develops its own applications and a graph drawing application “Ciz Gitsin” has just hit iTunes store, which is tracked using Countly iOS SDK.

Rich: What’s new in the recent 12.07 release of Countly?

Onur Alp Soner: 12.07 release was mostly driven by our users’ needs. We have added support to track application versions, platforms and platform versions. We made it possible to add past data through the write API using a timestamp, made a few improvements and visual additions to the dashboard and made it possible to clear all the data stored for an application (mostly for test purposes).

Rich: What’s coming up in future releases? How can the community get involved in making that happen?

Onur Alp Soner: Upcoming 12.08 release will include the most wanted feature, custom events. App developers will be able to track and segment custom metrics they need. Until now there were predefined metrics available from the dashboard such as session counts, user counts, countries, devices etc, however from now on, a developer will be able to track metrics specific to his application. For example an app developer will be able to visualize in app purchase count and amount, segment this metric into his application version by adding just one line of code to his application.

We have a pretty active community. They lead what we build next and how we build it. In the first two weeks after our first release in May (12.05) we received a Heroku port to Countly server and an Appcelerator Titanium SDK from the community. Another community member built the Windows SDK and recently finished testing it. A few weeks earlier we decided to localize Countly and after one week Countly dashboard was already localized into 7 languages in full – 4 more languages are also on the way so hopefully 12.08 release will be available in 11 languages.

We love getting such great help from the community and this really fuels up our core development. Everybody is more than welcome to join the project even just to share their thoughts, give feedback, help us spread the word or write a post in our blog.

Rich: What’s the technology behind Countly? Are you using an app development framework? What would I need to know first to get involved in the project?

Onur Alp Soner: Countly is made up of two parts, server and SDKs. SDKs are embedded into the application and they serve as the communication channel to Countly server which collects and visualizes the data received from these SDKs. For now we have Android and iOS SDKs which are written in Java and Objective-C respectively. Blackberry and Windows SDKs are on the way and will be available in the upcoming releases.

Countly server is built on top of Node.js and MongoDB. It is made up of two parts – one is the API, which is a plain Node.js server listening for read and write requests, and the other part is the dashboard which is built using Express.js. Countly is client side heavy and there are several javascript frameworks and utilities used on client like backbone, underscore, handlebars and jQuery. As you can tell, everything is built in javascript so in order the get involved in development being familiar with javascript is a must. Having used Node.js and MongoDB before will sure be a good help.