One thing that frustrates me the most about some platforms is that so much work goes into providing features, adding to the marketable feature list, but after the release there is no carry through on improvement. There is no iteration. The feature seems abandoned or at least waits until a major product release date months or years down the road.
I don’t developers need to be like Apple and hold back on releasing features until everything is perfect as few of us get it right the first time. In reality if you deploy new features you should expect some time after the release to reiterate quickly and make the feature really, really great by watching how people use it and gathering feedback.
There are valid reasons to release incomplete (but usable) versions. My most popular excuse is to see where the user’s priority lies. If you have a list of 10 features you would like to add, but don’t know where to start, getting user feedback will help prioritize that list so you know where to go next. Maybe there are very important features you missed. Also, don’t be surprised if what you and your team thought was a high priority, is actually not what the user needs. (Notice how I said “needs” rather than “wants.”)
I was thrilled to hear the following discussion on the daily podcast Tech News Today, Episode 521 recorded on June 13, 2012. At the 27:35 mark a discussion was held between Andy Ihnatko and Jason Howell about iOS and Android release of features. I’ve been pretty careful to transcribe it here (as allowed by permission granted through Creative Commons):
Jason: I would say just from an Android perspective, one of the things that I miss that I wish we had in the Android side of things that I see definitely in iOS, and Kent German points out in the article, is the fact that Apple takes the time to kind of mold these features before presenting it. One example, prime example, in Android that frustrates the heck out of me is the people app in Ice Cream Sandwich. You know, during their announcement last year at Google IO they touted this as a very graphical, beautiful way to offer up the contacts in your contacts list and they showed some very nice examples. The reality is that Google scales all their images on their servers down to 96 by 96 thumbnails and then blows that up in your people app so that everything looks like garbage, totally pixilated. I would, you know, on one hand appreciate all the features that Android maybe gets before iOS or whatever, but on the other hand I do wish that Google would kind of take a little bit of that from the iOS side and really kind of refine these things, or at least show their dedication to these features after the fact. If Google, you know, a year later still has not, kind of, fixed this problem I see every time I get a phone call, like, that’s an issue you run into regularly. I wish they’d care a little bit more about that type of stuff. Andy: If there is one blanket thing that I don’t like—I love Android phones, I think that they’re one of the things that Google is doing that is almost pretty much in the same parity with what Apple is doing in the same space—but if there is one universal thing I don’t like about Google and I wish they would fix, is that they really aren’t great about running the ball all the way into the end zone. With every single product you sort of see the point at which they were excited, excited, excited, working harder, harder, harder, and, “Oh, God, we are so bored. Hey look! Let’s go work on Google+!” Jason: Yeah, it’s like a cat following a laser on the floor. It’s like, “Oh, now I’m over there! Oh, no, now I’m over there!”
The highlight was when Jason said he wished that Google would “show their dedication to these features after the fact.” Also, Andy said, “They aren’t great about running the ball all the way into the end zone.” This is almost a word for word conversation I have had over the last few weeks about some of the products I deal with on a daily basis at work and at home. Not just from Google, but I see it in other companies too.
The take away is, as a developer, development team, or manager, when you release features don’t consider them done. Devote some time to fix the bugs, issues, and shortcomings. Software is never “done” and I know developers don’t have an infinite time to perfect it, but at least show some dedication to the features after the fact.