Making the right choices: How we designed and developed the iMore for iPhone app
Or, why building a solid iOS app ain't like dusting crops, boy!
Han Solo's right. People release thousands of apps a week into the App Store, with varying levels of commitment and forethought to the final products. At Nickelfish, we pride ourselves on not being those kinds of people. Which is why when Rene and the Mobile Nations guys came to us and asked us to build them a great iMore app, we said yes. Obviously, as a podcast host and occasional contributor to iMore, on a personal level I'm deeply invested in making iMore and Mobile Nations look as good as possible, so there was a definite component to this project that made the stakes a little higher. It also made making choices that much more difficult. That's what it's all about though -- making the right choices at the right time, and releasing a product of which you can be proud.
We knew collectively that in order to release a great 1.0, among the most critical choices would be what we needed to leave out. It's the basic tenet of Apple's iOS philosophy at its core: to do a few things really well, and add others later when the time is right, and the appropriate level of planning and work has been applied to them. We knew the app would be "missing" features. We knew that people would talk about what's not there (yet). This was a conscious choice we had to make as a team. We believe strongly that in most cases, it's far better to develop a strong first entrant into the market and iterate quickly and effectively to continue strengthening the product. It's the path we took with iMore, and it's a path we've walked before with great confidence.
Since there isn't a whole lot of clarity for the end user in many of these cases, I also wanted to write something about it after the launch in an effort to not only share how this process works with the iMore community, but also as my own little way of creating the right expectations going forward -- for this app and for other apps people may download in the future. We often forget that real human beings are pouring hours -- and their hearts and minds -- into their work. The App Store makes it easy to overlook the complexity of how this all comes together (and it should -- that's what makes it an effective sales and distribution platform). So here's a tiny bit of background on the thinking that went into the app's development.
Taking a lightsaber to it
Rene and I, as well as his Mobile Nations team and our NF team all talked about what the big picture for the app looked like. The whole thing. Let's put everything on the table and add every possible feature we would want in this most killer of killer apps. A large feature list is compiled. We all read it and continue adding things to it.
Then we take a lightsaber and slice that thing open. We take out what we don't need (tauntaun guts) and make sure the things that are most important for right now (Luke) go in.
Now we ask the tough questions. What do we need for a 1.0? What is the core idea behind the app? Who is the target audience for the app? These seem like easy answers, especially if you're already an iMore fan. However, you need to consider the much wider audience of the App Store now. What do those people want in an app, and how do we deliver it without executing a "lowest common denominator" approach (so as not to alienate or take away from a hardcore fan's experience)? Do we need forums? Yes, we need forums. Well, it turns out, after days of research, phone calls halfway around the world on weekends (yes, to do things right, you have to sometimes work on weekends) and a lot of heavy discussion, we realize we can't do the forums the way we want to. Visually, functionally, and in any number of other ways, we aren't happy with the results. Do we want to drop them completely? No, of course not. Will it bother people that they can't access the forums from the app? Almost certainly. But it's a choice -- do we appease everyone at the cost of seamless functionality and aesthetics? Or do we draw a line in the sand and say "now that's a v2 feature"? Or it's an app unto itself, as Rene has already mentioned.
It's a trap
Everyone will look at this app and say "it's really great, but it'll be even better when it has (blank)". We know. We know because we had that same thought when we first discussed the app, again when we first designed it and again and again when we tested the early alpha and beta releases. We had the same thoughts we knew everyone else would have when they held it in their hands and saw it on their iPhones. And we had a long talk about it, and we had to make a choice. No one liked it, but it had to be done. Because if we hadn't, you'd say "it's cool that (blank) is here, but it kinda sucks the way it works". And that a trap. It's pure poison. Your impression is already tainted, and the delight we could have provided is diminished by our inability to properly choose what is most important at this time and place.
We see it every day, in software, in devices, in almost every facet of consumer electronics. The more you try to do, the less you'll be able to do really, really well. It's a simple equation. The other part of that equation is much more quantifiable: budget and time. Things cost money, and making things takes time. If we waited to do all the features that should be in the app, you wouldn't be enjoying it right now. It would still be 6-12 months away from launch. And if we thought of more features, or if new devices hit, or new versions of iOS, it could be even longer. It could be Duke Nukem longer. The more you try to do before you launch, the more you will watch the market, people's expectations, and even your own feelings about the project change -- all of which are out of your control.
Here's where the fun begins
In case I haven't already beaten this point to death, it bears repeating just once more. Being great isn't about hitting all the targets all at once in any way you can. It's about systematically taking each one down with precision. Each step you take with a project should be meaningful. And you'll never please everyone, so don't even bother -- make something great, something that makes you proud. Which is what we tried to do.
And we can't wait to show you what's coming next.