Valuecosm Prototyping : Part 1

After all of the intellectual musings to date, it’s time to start thinking about how this might work in practice. In the next few posts I’m going to talk through a sample application and how it is built.

I really like the idea of my phone telling me when one of my friends is near, so I have a chance to meetup with them if I have time, so I’m going to try and build that.

I’m going to use all of the techniques I’m interested in at the moment, but mainly: agile, MVP, AWS cloud services.

Cloud Architecture

AWS architecture

AWS architecture

I’m going to build it on Amazon EC2. I’m choosing it for a few reasons:

  • I have used it before and it is relatively easy to get started
  • I have more control then using tools like Heroku or Linode
  • I trust Amazon to keep adding services that I may need in future
  • I have full control of the architecture

Amzon kindly provides a number of reference architectures, but the ones which look most suitable are:

I will pick out the pieces that I want to use from these, and provide an update next week. We won’t add disaster recovery or reduncancy until we have a working set-up.

The application

I’m going to write an app which tries to do the following:

  • Tracks your location using the phone GPS and tries to identify (roughly) where you live, where you work and how you go to work
  • It will then access your facebook data and if a friend checks-in to a location near-by, it will let you know so you can choose to pop in and say hello

This is a good example of what Mark Zuckerberg called realtime serendipidy.

Problems

While the above sounds easy to describe, it will be a litlle more difficult to code. The two biggest challenges will be how to store the location based information and then how to match that against facebook information and provide something useful at the end.

To get some more information on strategies to use location information I am reading the highly informative Computing with Spacial Trajectories. Seriously.

As I get through that I will post about what data structures I decide to go with. I am currently getting my head around (x,y,t) so it may be a while.

UI

I’m going to use a simple HTML front-end for now. Once we have some useful services we can package it as a native smartphone app.

More on this next week.

This entry was posted in article. Bookmark the permalink.

Leave a comment