IceCondor Client Storage

Client data storage requirements

Store a location record.

The size is about 768 bytes/record. A hash of string key names and string/float values including latitude=float, longitude=float, altitude=float.


  • Given an ID, the last X records by time
  • Given an ID, the IDs of others within X meters of given ID (based on other IDs' most recent update)

implementation ideas

1. Android client to storage service. Many clients could be talking to SimpleDB or a self-hosted install of CouchDB.

2. Client to client storage. A group of five people with G1s want to share location data. Bootstrap each client with the IP of one other client. Post updates directly to each of the other 4 phones. Use the other 3 phones to learn of IP updates for any one peer.

Each client generates a flurry of records. These records need to be duplicated to other clients and possibly to long-term storage on a "server". The current setup is the record is copied to a server, and read from the server by other clients. I like the idea of client to client distribution with long term storage as a nice option. disconnected operation with a merge/conflict resolution dance occasionally.

To be continued...