In 2001 I purchased an app called Code Vault for my Nokia 9210 Communicator. Code Vault let you securely store sensitive data. It had pre-defined templates for things like passwords and credit card information. If you needed to store something that didn’t have a template, you could create your own.
Code Vault eventually became Handy Safe, and I used it on a 9500 and after that, the E90. Since then I've been looking for something like it on Pocket PC, then Windows Mobile and now Windows Phone, but nothing's ever quite matched its utility.
In 2003 (I think) I bought a copy of Linked: How Everything is Connected to Everything Else and What it Means for Business and Everyday Life. It’s a book on network theory, and it got me hooked on representing data as edges and vertices (nodes and links), rather than structured data in a relational database.
Towards the end of 2004 I spent 3 months in Building 25 on the Microsoft Campus in Redmond, writing an app that used BITS to transfer VHDs across a network. BITS was an amazing piece of software, by the way. After my work with BITS I started playing around with binary data transfers in general, including predefined static fields and key-length-value schemes, chunking larger files, and batching smaller ones.
Sometime after that my need for a modern Code Vault, and the ideas behind Linked and data replication over the Internet started to coalesce into something that did seven things –
- A form builder that creates templates for data entry
- Add, change and delete data based on these templates
- Store data as nodes, and store relationships between nodes as links
- Allow nodes and links to be tagged with labels
- Make data import and export easy
- Synchronise nodes and links across devices
- Encrypt everything
In 2010 I left Microsoft with grand plans of travel, and somehow ended up spending virtually every waking moment of the next 6 months writing version 1 of the Interact desktop client instead.
The desktop client ticks off items 1 to 5, and 7 from the list above. Next up is building out the sync engine, and a Windows Phone client.