Using Android helper apps to put Purple Robot on a diet

Posted by & filed under Android, Data Management, Purple Robot.

Fat Robot

Since Purple Robot’s inception in the fall of 2012, it’s become the largest Android application I’ve ever written with over 50 different sensors, a built-in web server, and two complete embedded scripting environments. Lately, I’ve had to temper my ambitions a bit given that the app has begun to hit fundamental system limitations that are causing major issues moving forward.

Ontologies at CBITS

Posted by & filed under Data Management.

The world of CBITS is two intersecting domains – Behavioral Intervention theory and web technology. Ontologies are one strategy to manage the multi-faceted body of knowledge, models, designs, data and code that researchers at CBITS encounter every day. What Are Ontologies? An ontology is a “domain model,” or a model of some particular area of… Read more »

JSON Wars: The Empire SAX Back

Posted by & filed under Android, Data Management, Purple Robot.

Two of the most persistent issues that I have to constantly address with Purple Robot its performance and resource footprint. After over a year, I’ve continued to refine and modify the code to squeeze out more responsiveness and battery life. In the current Purple Robot code, I just committed some code that increased battery life 176%, decreased average CPU load by 65%, at the cost of increasing the average memory footprint from 31.7MB to 36.4MB (as measured on a Samsung Galaxy Nexus running Android 4.3).

How did I do it?

Purple Robot Importer and Purple Warehouse

Posted by & filed under Data Management, Machine Learning, Purple Robot.

Purple Robot (PR) is an excellent data-collection and device-side background application, with an impressive functionality set. But for any non-trivial use – and particularly for use in an institutional setting (such as that of CBITS) – it quickly becomes necessary to enable automated data-ingestion. tl;dr Purple Robot Importer and Purple Warehouse are a robust and… Read more »