Introducing NearbyNotes

Iphone-details-01
Iphone-mainview-01

 Add a note nearby any location. Find other notes nearby any location. 

These are two iPhone screenshots from the current implementation. I basically have the idea to empower people with the ability to drop and discover text notes nearby any location in the world. All of these notes will sync with the Ruby on Rails application allowing anyone to share and discover the notes on the web, or over a mobile network.

Currently:

  • Design is somewhat complete
  • Ruby on Rails site functionality complete
  • iPhone app nearing completion

It's been interesting working with registration and login capabilites from an iPhone to a Rails application. Also, it's been a fun challenge making sure that the data saved on the iPhone properly sync's with Rails. Along the way, I received some GREAT feedback on using SSL with the iPhone app. The data syncing is almost complete, the only part I have left to accomplish is visually notifing the user on the iPhone that the data has been succesfully synced or is in the process of syncing. I'll post a write up about how to do this shortly...

The immediate issue noticed when doing any sort of remote requests is that by default they are done synchronously, which blocks all user interaction and interface updating. Not a good thing! Luckily, popping a thread is super simple...

Syncing Data with NSInvocationOperation & NSOperationQueue

NSInvocationOperation and NSOperationQueue allow us to utilize all the threading goodness we want, without all of the coding complexities that can come with threading. How does it do this? Pretty simple really. We create an NSInvocationOperation object, and push it onto an NSOperationQueue. We just push as many methods as we like onto the queue, the system pops them off in the order they are recieved and runs them on their own thread. We can get a callback notification when the operation is complete.

Easy!

Home Stretch

NearbyNotes is almost done. I'm working on the last 10% of it, which is usually the hardest part, but plan on getting a Minimum Viable Product launched and in the app store shortly. I'll of course continue writing technical posts about it, and then I'll transition into how I market the app.

As always, feel free to shoot me an email with any questions, comments or feedback!