It's hard having pride in your work. It's hard taking the extra time needed to make something you are proud of instead of just something close enough. In a perfect world, we would always have time to make a product completely perfect before sending it out the door. But as we all know, we live quite a ways down the road from a perfect world.Over the weekend, I had an experience via the app store that surprised me but probably shouldn't have - I downloaded a truly bad app.
The realities of the App Store and the current economy mean that we as developers constantly try to live in an uneasy lagrangian point between speed, quality and cost. Being first with an idea can mean the difference between success and failure but being first with a bad implementation can be worse than losing the race.
Here at Handelabra, we do our best to make sure our products are worth using. When we make mistakes, and we do, we work our butts off to fix them. But not everyone does. In the new world of indie development and self-publishing via the App Store, there's something interesting happening - the breakdown of quality control.
Yes, Apple must approve any app before it is released and yes, they have a list of rules that ostensibly guard against the bad eggs but my experience this weekend reminded me that the role of publisher is not completely vestigial.
Software development is an interesting thing. It's an incredibly technically precise endeavor that requires a wonderfully artful touch to be done well. And as with any complex undertaking, its hard to find people that have all the right skills in a single body, or even to assemble a team with all those skills in only a few bodies. But the absence of certain aspects doesn't make them any less necessary. And unfortunately, some small developers, when pulled too far by the gravity of costs, lean on Apple to fill the roles they don't have the time or the money to do themselves. But the problem is that Apple, via the app store, is not in a great position to fill that role for us.
We all love Apple, that's why we develop for Apple platforms. But Apple's goals with the App Store approval process are very different than ours with our products. Their goals are to maintain a consistent experience, to protect iPhone and iPad customers from "objectionable content and provide customers with incentives to stay with the platform (and to make sure we're not using any of those sweet, sweet private APIs). Our goal (and I hope I'm not speaking out of turn) is to create compelling, useful and bug-free experiences for our customers. Letting Apple be your quality control department is a mistake. Sure, they may catch some truly egregious bugs (or not) but the factors they are controlling for are probably different from those that will most effect the customer experience of our software.
The App I used this weekend clearly passed Apple's gatekeeper (although it's questionable whether it should have). But before even getting there, it should have faced a much more meticulous gatekeeper who was concerned with the app and it's experience and not simply whether Apple would approve it.
And cards on the table - I'll admit that I'm as guilty of this as anyone. When we've been polishing an app or an update for a month, I want it on the store so bad I can taste it. I'm constantly being reminded by my team that it's more important to get it right, and make it solid before letting it out, short term revenue be damned.
But then, I'm lucky enough to have a team that takes pride in their work. My job in this case is to get out of the way and let those inner quality assurance beasts come out to play.