Four Star App Review

To Aspire to 4 Stars Rather than 5

A happy side effect of app stores and the web in general is that feedback ratings on a product are no longer difficult to find. There was a time not long ago when a consumer would need to turn to a respected source, such as Consumer Reports, to get a general consensus of quality for all but the most ubiquitous and popular products. Such a world, where information is funneled through a few curators, is one ripe for “reputation management.”

In theory, to optimize the perceived quality of your brand, all you would need to do as a company providing a product or service was:

  • build to the desires of the known entities who will be doing the evaluating
  • or figure out how to skirt the evaluation process while still presenting an air of broad market approval
  • or establish a relationship with the people doing the evaluating to ensure friendly terms
  • or even more unsavory behavior

But in a world where every potential customer is also a potential reviewer of your product/service, such brand management tactics lose some of their efficacy. To be sure, a fair amount of the behaviors mentioned above still happen, but they are not as universally effective as in days past.

One of the new realities we as product creators are faced with is that universal cultural approval, at least as we came to understand it over the last 50-odd years, is something largely unattainable. Nothing ever truly had this type of universal appeal, but the difference is that now every critic has, at least potentially, as loud of a voice in the conversation as the traditional curators do.

This is a good thing. Focus-grouped products engineered for mass appeal, be they music, literature, software, movies, or television, are, generally speaking, lowest-common-denominator creations…things without soul, passion, or inspiration because they are so deliberately engineered to speak to so many people. They are built to appeal to everyone in a shallow way and are done so to such a degree that they ultimately speak to no individual in a meaningful way at all. That intimacy has literally been factored out of their very being.

But one odd effect of this mass availability of opinion is that such a world can be crippling for those product creators starting out and looking to become established. “What if we get a bad review early? What if someone hates it?” The old answer was to quietly address the complaints of the people who hate it through largely private communication. The new answer is a little more nuanced.

You still have to address the complaints, but now we do so much more publicly.  This requires a thicker skin than in years past. Part of serving our customers now involves owning up to our mistakes or misjudgments in the open.  The process of managing the perceived quality of your brand has shifted from crafting a potentially artificial image of “everything is great all of the time” to one of concentrating on the good while acknowledging the slip ups and working diligently to ensure the good far outweighs the missteps.  “Yes, a few people hate it. Let’s concentrate on keeping it just a few people.”

Acknowledging missteps can be a very stressful thing, especially for those striving to establish themselves.  A single negative opinion can feel like the end of the world when you’re fighting so hard just to get attention.  It’s hard not imagine all of the potentially negative things that could result from a bad review.  But you can’t let yourself get trapped focusing on the “what-if”s that may or may not come about because of something you truly cannot prevent.

If you receive a bad review, you got a bad review, and you have to deal with it. Pay attention to it. Listen to what the customer is saying. If they are asking for something reasonable, something completely within your vision for the product, then there is no reason not to give them what they want, especially if it’s easy to do.  Start a conversation with the customer and come up with a plan for addressing the things they don’t like.  Attentively responding to customer feedback is surprisingly effective at fending off the scary consequences of a poor review.

But this doesn’t mean that you should blindly defer to the opinions and desires of every person who comments on what you are doing.  If you built a Volkswagen and a customer is complaining that it’s not a Cadillac, that’s not necessarily an indicator that there is something wrong with your product. They may just be trying to get a Cadillac below cost. The same rule applies doubly if you built a boat and someone complains that it’s not an airplane.  In these cases, the problem you should address is likely not your product itself but how you are positioning it within the market.

You cannot please everyone. You just can’t. If you came of age in the time when all opinions you heard in media mattered, then this feels very wrong. And you’ll want to fix every complaint from people you don’t know right away and completely. But you’ll also be lapped productivity-wise by those who’s attitude largely boils down to: “Yeah, there’s one guy in Idaho who hates what we’re doing. Thank goodness that almost all of our other customers love what we’re doing.”

In today’s world, a perfect 5 star rating is nearly impossible at any scale that would represent success. You have to be okay with a few people who don’t like how you built your product. Know in advance someone will be a real jerk about your creation. Concentrate on building something that will average a better than four-star rating, factoring in the cranks who will positively hate how you designed your product no matter what you create, especially those who don’t understand what you built.

If you do an exceptional job, you may even average 4.9 stars and become a legitimate hit. Even if you don’t, you’ll likely build something you, as the creator, have greater faith in. And that matters much more than the opinion of that one guy in Idaho.

Person with bullhorn yelling at a surprised person

Let’s Talk about Something Provocative

There’s a trend in the technology industry that I wish I saw less than I do. In many blog posts, programming books, tweet storms, etc., you’ll frequently see arguments along the lines of “I admire people who are X,” where X is a commonly-acknowledged negative trait. The author then goes on to argue how the apparent flaw is actually a virtue.

I understand the appeal in making statements like this. It makes for great copy. Counterintuitive arguments are just naturally more interesting than stating obvious truths.

Plus, there’s the added benefit that the author gains “rebel” credibility points. There’s no better way to establish yourself as an independent, “outside the box” individual than to say something that sounds so wrong that it borders on provocative and then defend the position.

One thing I don’t like about the tactic is that it often feels like a cheap way to get attention. When it’s overused, it becomes as cliche as the phrase “outside the box.” Usually, I don’t mind the tactic when the argument is compelling; in spite of the fact that when the argument is compelling, it can often be made just as effectively without the flamboyant showmanship.

What really bothers me is that frequently the author bends the definition of the negative term to the point of breaking. In Code Complete, Steve McConnell argues that laziness is something programmers should aspire to (second edition, page 830). Lazy people want to avoid doing unnecessary work, so lazy people will build tools that do repetitive tasks, and therefore lazy people will complete tasks more efficiently.

I’ve worked with my fair share of lazy programmers. Lazy programmers will never, ever build a tool. Ever. Building a tool requires thinking about the problem, doing work that wasn’t asked for, and then verifying that the tool works. Lazy programmers will copy several thousand lines of code on both sides of a conditional because they can’t be bothered to think about the problem. They will not write a tool to make the work easier.  Never.

The desire to do work more efficiently is the virtue, not laziness. People who want to work efficiently may be trying to make the job easier, but to call that laziness is simply describing the impulse to work smarter as laziness for the sake of being clever.

However, the thing that bugs me most about this technique is how easily these sound bites can be abused. One of Paul Graham’s more notable quotes is:

When I see patterns in my programs, I consider it a sign of trouble.” – Paul Graham

Doesn’t that sound smart? Isn’t that such an interesting idea? Sure it is. But it’s also part of a very large essay that was written in 2002. At the time that essay was written, the world was full of “Capital E” enterprise development advocates who tended to overzealously sell one-size-fits-all approaches to building software. People who argued that something as simple as “Hello World” should leverage a Singleton, a Factory, and a couple of Commands. When cast against that world view, Paul’s statement takes on a more nuanced relevance.

But that doesn’t diminish the huge value design patterns provide to software developers. They provide a vocabulary for describing time-tested, well-understood solutions to common problems. In an industry as young as software development, a tool like that is invaluable.

But on its own, Paul’s quote reduces the notion of their value to smart-alec one liners. Taken out of context, the quote leaves no room for discussion, they clearly must be bad. I’ve heard Paul’s quote used by a colleague to argue that anything described as a pattern must be overly complex and unnecessary.

Because of these reasons, I hope the trend of using smart-sounding, provocative statements to get attention runs out of steam soon. Or maybe I’m just too lazy to keep arguing the point.