It might seem contradictory, but what I took from a recent Facebook post on how they develop iOS apps is that by letting users play with a focused app (like Messenger or Camera) we get a better experience in the consolidated app. Taking a unified codebase and good team work, with priorities set with the user in mind, you can make great strides in app development
I think Facebook for iOS is an app we all loved to hate, but let’s be fair, it’s gotten better. Certainly there are things missing that we’d like to see (ahem, sharing), but I think Facebook is getting there. If you read the entire post I’m quoting from below you should note that Facebook for iOS started with one person, not a team. I think we should be happy that the first versions even worked at all!
In regards to the quote below. Here’s what is important. Facebook is looking at what people like and use in the Camera app (for example) and putting some of those features into the main app (like multiple photo selection…which I’d like to see in the iPad version!), but not all. Also there are stand alone app functions, like the Page Manager, that don’t need to be in the main app. I’d dare say most Facebook users don’t have a Facebook Page they manage. Certainly there are a lot who do, but I liked having the Page management features together in one app. Would I, personally, like them in the main app too? Well sure, but I was also helping to manage over 10 Facebook Pages—I’m an edge case.
Not every feature from the standalone apps makes sense for the core app, so as the Facebook for iOS PM, one of my jobs is to make sure that the features we share across apps result in the best user experience. So while the swipe gesture to reveal the camera roll works really well within the Camera app – we chose not to include this in the core app because the gesture doesn’t make sense with our persistent top navigation bar. To make it into the core app, a feature has to add significant value to the integrated experience, regardless of how critical it is in one of our standalone apps.
For development teams—I fully admit I haven’t worked on an iOS dev team, but I have worked on app dev teams—I think there is a powerful lesson to be learned from pulling out a section or function of an app and throwing it out there to see how what you learn can help your larger app. Of course, many teams don’t have the luxury of people or money like Facebook has to throw against app development, but…
How would you approach making something a native Facebook app? Are there web experience that you don’t think would translate well to a touch interface? Which site/service do you use think most deserves a fully-native app?