Literacy Lab wants to able gather information on the usage patterns of curated apps on tabs. TabInsight aims at helping Literacy lab do exactly this.
What it does
TabInsight will collect information of the tab usage and app usage, that will be send to centralized location where the data will be aggregated. The collected data will be sliced and diced and to provide in depth analytics that Literacy Lab can use.
How we built it
- We developed an Android app with a minimal UI and a background service that tracks the usage of other apps on the tablet.
- The data collected by the android app is posted to a python based web server which then pushes the data to logstash service which can be running on same or different host.
- Logstash then pushes the data to elasticsearch where it is indexed, aggregated and made available to Kibana for visualization.
Challenges I ran into
We had to get the usage statistics of other Google Playstore and third party apps without root access or deploying a system app. We also had to work with minimal permissions and user intervention to make this process as user friendly as possible.
Intermittent access to wifi and how the andriod app needs to connect to it based on its availablity.
Accomplishments that I'm proud of
- Developed a code complete and fairly integrated product within a short amount of time. :)
What we learned
Advanced usage of Andriod System Services and API's
What's next for TabInsight
Better user feedback mechanism: Usage of GCM Integration with BI tools