in Projects

Post Mortem: WhereTheyAt v1 – The not so simple app Apple said was too simple.

When I built the first version of WhereTheyAt, I wanted to be notified when one of my friends was significantly closer to me than normal. If I was in San Francisco and a friend from Europe checked into LA, I wanted to know. If someone from LA checked into Palo Alto, I wanted to know. If someone from the other side of the city checked in at the bar next door, I wanted to know.

WhereTheyAt was able to know the location of me and my friends from checkins aggregated from Facebook and Foursquare. I also kept track of all of my friends’ home cities and calculated if their most recent checkin was 50 times closer to me than their home city.

iOS Simulator Screen shot Jan 12, 2014, 4.03.31 PM iOS Simulator Screen shot Jan 12, 2014, 4.03.48 PM

I also wanted to be able to open the app to see a map of my friends’ locations but keep the app mostly passive. I wanted to be able to put the app away and just receive push notifications on nearby friends. It didn’t need to be something I used every day, just a way for technology to get out of my way and provide a great service.

the project.

The system consisted of an iPhone app that registered the device for push notifications and contained a web view to the real app. The front end was a node/javascript client app, which handled Facebook / Foursquare and displayed the map. I had a separate PHP service that did the heavy lifting; constantly checking for updates to users’ friends’ locations and sending push notifications.

the issues.

Apple

There were a couple of issues that came up with this project, the largest of which was a rejection by Apple from the store. The cited issue:

 2.12: Apps that are not very useful, unique, are simply web sites bundled as Apps, or do not provide any lasting entertainment value may be rejected 

I argued with Apple for a few days about its need to be an iPhone app instead of simply being a website because it needed push notifications. It was also quite useful for the information it provides the user that nothing else was providing. The argument about lasting entertainment value was also frusturating. I don’t feel like the quality of an app should be defined by the amount of time you have it open. Great apps should be passive, know what you want, and be able to give you very specific information. Apple refused to budge and wouldn’t explain more what could be done. That pretty much put the nail in the coffin for this version.

Login

Another issue that I had was getting logged in sessions to persist, letting users stay signed in when they came back to the app. I tried changing cookie lifetimes, session lifetimes in express, and changed my sessions to be stored in redis figuring that every deploy was resetting sessions. I didn’t have this figured out by the time Apple rejected the app and never continued figuring it out.

Profits

Another issue was that I had no strategy in place for making money from the app. Some thoughts I had were selling the app for 99 cents (ick), ads (even more ick), or release it for free that would let you see a map of your friends and then a 99 cent in app monthly subscription to be notified of close friends. I was considering the last option the most.

When Apple rejected the app, I gave up on getting a large release for the app and just kept it running for my friends and I. I was using Heroku for the servers but the free tier for ClearDB’s mysql service stopped providing what I needed so I switched to AWS. I had a couple hundred dollars worth of credits from Hackathons and school classes that would be expiring and decided to use those until they ran out a few months later.

summary.

I built a project with a lot of moving pieces and separate services that cost money to maintain without having a real business strategy to even sustain it, let alone the ability to make a profit.

What would I do if I did it again? Well, I did do it again. Read about that here (link coming soon).

Write a Comment

Comment