I have been interested in GPS technology for a long time, building a tracking device as far back as 2006. At the time it was not common for phones to have GPS built in so it used a bluetooth receiver coupled with a Java application to update the position on a map.

Fast forward a few years and GPS is everywhere. Android and iOS are the dominating mobile operating systems and nobody even remembers what MIDP2 stands for. As more of our lives transition onto our phones it becomes more problematic if one is lost or stolen. I set out to change that with Kraken.


At the time of development, the best app out there for recovering a lost or stolen Android device was Cerberus. This app would passively allow the user to gain limited remote access to their device through a website and view its location or recover text messages.

The key term there is "passively" because if the device was switched off or disconnected from the internet then the user had no way of recovering anything from it. To fix that, Kraken was an always-on, active solution.

The app would periodically update its position with a server at all times. Simple data like text messages and call logs were automatically backed up. If a device was lost, stolen or destroyed entirely a user would still be able to recover certain data through the cloud backup. If the device was turned off or put in flight mode, the user could still see everywhere the device had been up to that point.

Certain data impractical to back up, such as photo albums or large files. If the device was online then these files could be remotely retrieved straight to the user's desktop by making use of websockets. The app would open a websocket server and the user could access it through their browser to gain a full remote file manager. With that they could download any files directly from the device.

If it became obvious the device was not recoverable, it could be wiped clean. Alternatively the screen could be locked with an impossible password by remotely changing the lock password to an untypeable string. A recovery message could also be overlaid on top of everything with contact details for a lost device.

The intention was to monetise this service with a monthly fee. This is actually where the major problem with the plan lay. Since a user could simply install the app and then only pay the fee after their device is lost, it was difficult to talk them into paying a monthly subscription.

As Kraken was an active service, each install incurred ongoing costs to keep the service running so it was vital that users would pay on a subscription basis. What seemed like the weakness of Cerberus was actually its strength, as there is no cost incurred to them until a user is actively making use of the service.

I was pondering a solution to this issue when Google issued a fatal blow by releasing Android Device Manager. Until this point there was no official recovery app for Android devices, but with the release of ADM it was ultimatey impossible to convince anyone to pay for Kraken. While neither Cerberus or ADM offered the same depth of features as Kraken, the features they did offer were enough for most users and Kraken simply couldn't compete. After running for 3 months I chose to shut down the project as I couldn't afford to run it at a loss.