for W3c validation
Note: as I’m currently evaluating and interviewing for product manager opportunities, I’m publishing many answers to the product, behavioral, business, and life questions I’m researching/practicing publicly rather than keep them private in a Google doc.
Give an example of a project that had a change in scope and how did you handle it?
We designed the initial home screen for Horizon at the end of 2013, with the expectation that we could provide a single user utility of organizing all your own Facebook friends by location. That’s the reason current location was included on the home screen even though the primary use case was searching for a different city with the goal of finding a place to stay within your trusted network on your next trip.
Several months later, in April of 2014, we found out we only had a year to develop and grow with the ability to import all of a given person’s friends and geo-locate them.
Facebook announced they were limiting the data developers could access from their graph API in one year (see announcement here). What did this mean? Version 2 of the graph API only returns a users friends who have authenticated with the same app — rather than all a users’ friends.
Even after hearing about Facebook’s plans, we planned to build for graph 1.0, get as much traction/data as possible before the impending API change, and sort out data cleanup later in 2015. It wasn’t meant to be. During development fall of 2014 while going through Start-Up Chile, we started noticing duplicate people showing up in our app and hearing reports of people finding no one they knew in the app upon login (our default assumption was of course “user error”). We finally dug into it and realized Facebook changed their SDK, which put us onto the graph 2.0 API automatically. The duplicates were due to 1.0 and 2.0 returning different unique IDs for Facebook accounts, and the lack of familiar faces was of course due to the fact that Facebook was only returning friends on the app rather than all friends.
With extremely limited development resources and funds, we decided we didn’t have the bandwidth to hack back to the old SDK and support it while finishing our app — especially given the temporary nature of support for the graph 1.0 API. We decided to re-write our entire backend for the Facebook graph 2.0 reality we are going to have to build the business with, and wipe the whole database. The plus side of the decision was that every single person who shows up in Horizon has logged in (rather than being empty Facebook profiles with no knowledge of the app) and thus will not be confused by inquiries from people who contact them on the app.
Re-coding our backend sidetracked us for well over a month, at a time when we really really couldn’t afford the delay. We were so close to launching, and then hit a massive unexpected snafu that we weren’t staffed or funded to deal with. It just goes to show, you have to roll with the punches — and you have to live with the decisions of other companies when building upon 3rd party APIs. Getting over the finish line wasn’t easy (the things worth doing never are), but we did it. In March, we released Horizon on the App Store(download here).