A Complete Definition of Badness

10 minute read

One of the classics of The Onion’s video series is entitled “Sony Releases Stupid Piece of Shit That Doesn’t Fucking Work.” The segment discusses how nobody knows what the stupid thing even does or how to use or install it, interviews a customer outside Best Buy who says he’ll buy any stupid thing Sony advertises, and shows a man in a suit attempting to use the remote control for the new Stupid Piece of Shit while repeatedly yelling the F-word.

Warning: As you might have guessed from the title, while funny, this video is composed primarily of fairly egregious swearwords. You definitely want to put on headphones if you’re in public or have kids in the room!


What makes this piece funny, of course, is that despite buying stupid pieces of shit being a pretty common experience, we keep buying them, and then we keep using them once we’ve bought them. When we buy, we seem to focus only on the best-case scenario, where everything works perfectly. As everyone who works in IT is aware, the case where any piece of technology more complicated than a wedge or a lever works perfectly every time is the unusual one! If we want to make the right choices, we need to find a way to adjust our impressions of utility and time savings for the probability of things not working right.

Technological badness

When trying to identify technology to help with a given task, I like to rate possible options on their badness; the best approach is then the one that has the lowest badness. This is a common approach when designing computer algorithms: it’s often more intuitive to rate things by starting with a score of 0 or 1 and assessing penalties on top of that than to try to come up with a starting number and take away from it. I would argue it’s also particularly appropriate for choosing technology: the most important determiner of a technology’s quality is how often it avoids doing the wrong thing. Which would you rather have, a tool that does everything poorly and inconsistently, or one that has fewer features but implements them all flawlessly? The second admits its faults and gives you an opportunity to integrate other tools or processes to handle its weaknesses; the first can’t be used to do a great job at anything.

The most important factors to use in identifying a solution’s badness, in my opinion, are summarized in the following formula:

$$ \textrm{badness} = t_p + t_{\textrm{nw}}p_{\textrm{nw}} + f + e $$

Note: The intention is not necessarily to assign numeric scores, although if you’re left with a lot of options or a complex set of tradeoffs, that can be a useful technique. Maybe I’m weird and mathy, but I find formulas to be a nice summary of things even when I never use any actual numbers with them.

Time

\(t_p\) is the perfect time, how long it takes to perform tasks with this solution when everything works perfectly. This is often the only thing we take into consideration (maybe along with a general “coolness factor,” which we’ve all been guilty of using but I think we can all agree makes even less sense unless the goal is just to play around with new technology, which isn’t necessarily a bad goal but needs a different set of considerations). It’s important to consider, but it’s almost meaningless without the context of the other factors listed below.

Potential for unexpected problems

\(t_\textrm{nw}\) and \(p_\textrm{nw}\) represent, respectively, the average time wasted if the tool is not working and the probability of it not working during any given task. The intention is for these numbers to apply only after getting familiar with the tool; using any tool with no experience will necessarily be slower, but the training time is, for most well-designed technologies, a small fraction of the total time spent using that tool. It may be appropriate to make an exception if you know you’ll only need the tool for a short time, insufficient to ever become experienced with it.

Frustration

\(f\) is the frustration factor. Tools that are frustrating often score poorly in other areas too, but it’s worth considering frustration all by itself because it has serious negative impacts on results: tasks that are routinely frustrating have a nasty tendency to get done poorly, late, or not at all, and they can drag down your opinion of an entire job or hobby.

Externalities

\(e\) is for externalities. These represent effects of using the technology besides the ones directly produced by implementing it and using it to complete tasks. For example, if you send sensitive personal data to a third party so they can process it and their database is copied and published by malicious hackers, that would be a negative externality. Externalities can be guaranteed effects or merely potential risks or benefits (as above). They do tend to be bad effects, especially the ones you can plan for in advance – but occasionally they’re positive, in which case you’d subtract them here instead of adding them since they’re good and thus reduce the overall badness of the solution.

Some common but often overlooked technological externalities include:

  • increased fragility of the system using the technology (dependence on a live internet connection or uninterrupted deliveries)
  • atrophy of skills (if you have to or want to dispense with the tool later, you may have forgotten how to do it the old way and have to relearn)
  • loss of feelings of competence and worth (and if you don’t like doing something, you’re likely to do it less efficiently and with more mistakes, so this isn’t even just about being nice to people)
  • obsolescence (the new Whizbang Gizmo might be nice now, but maybe the company goes out of business and takes its servers with it and it doesn’t work at all next year, and then you’ll be right back at square one, minus all the time and money you spent on the Gizmo)

Microsoft offered a particularly astounding example of obsolescence at the whim of a company last year when it decided it no longer wanted to sell eBooks. It left the business by forcibly and permanently deleting all the books its users had ever bought. It did offer an automatic full refund of the original purchase prices, and thus did better than a whole lot of startups and video-game companies do, but the contrast here with the permanence and control of owning physical books is striking.

In general, more complicated technologies tend to have vastly more potential negative externalities. A pen and paper may cause a little bit of environmental damage to produce, and you could give yourself a paper cut or get writer’s cramp, but they’re virtually free of meaningful unintended consequences, at least in the context of today’s society (Socrates might disagree). Writing with Google Docs, on the other hand, introduces hundreds – probably thousands – of new ways things can go wrong! (Enumerating these is left as an exercise for the reader.) Of course, Google Docs can also do a lot more than a pen can – but it’s not always worth it, especially if you have no particular use for the extra features. Today’s culture tends to assume that Google Docs is better just because it’s Google Docs and it’s new and high-tech, but once you weigh in all the externalities, it doesn’t seem quite so shiny anymore.

Note: On a societal scale, new technology often produces appropriately vast externalities: think about the spread of literacy and education that accompanied the popularization of the printing press, or the changes to American infrastructure wrought by the availability of cheap automobiles. This isn’t particularly relevant to our individual choices as discussed in this article, but I could be rightly accused of missing the overall impact of technological externalities if I didn’t at least mention this.

Case study

I’ve almost completely quit using word processors in favor of document preparation systems like LaTeX (for fancy printed text) or Sphinx or asciidoc (for documentation); wikis like TiddlyWiki; note-taking tools like Simplenote and Evernote; simple text editors; and even, for some things, pens and paper. Word processors are simply infuriating: while they look nice and intuitive (“What You See is What You Get”), and they’re indeed easy to get started with, for most tasks the shine wears off after a few weeks. Your documents get filled with invisible formatting codes that lead to unpredictable behavior, adding a new image or hitting Enter in the wrong place in the document can result in all of your page layouts getting fried, and even copying and pasting something doesn’t guarantee the same formatting will show up in the destination! I once heard someone describe the true result of WYSIWYG as “WYSIWYGPALOES” – What You See Is What You Get, Plus a Lot of Extra Shit. (Some of the “extra shit” may come out of your mouth as well as the printer, depending on how patient you’re feeling.)

Now document preparation tools are not by any means free of frustration either; since you work primarily with special markup codes interspersed with your text, and the layout engine handles all kinds of things behind the scenes that you have direct control over in a word processor, sometimes it can be a bit of a trick to find the right incantation to display something the way you want. But at least it’s consistent: there’s nothing invisible, and once you get something working the way you want, it will almost always continue to work that way. Further, whatever you learn will be applicable to the next document you want to handle the same way. If you’ve forgotten how, all you have to do is open the old document and copy and paste the markup. These systems are harder to learn, and for most tasks they’re a little slower when everything goes right in both tools – but when things don’t go right in the word processor, the amount of wasted energy fixing and re-fixing things that magically changed on their own is incredible.

Note: It’s worth noting that word processors are a better tool for a few things. If you’re printing out signs or one-off one- or two-page documents where more of the work is layout and formatting than content, the WYSIWYG approach is easier and its drawbacks are far less apparent. On the other hand, if you’re making dozens of similar short documents, a proper document preparation system can make them all look perfectly identical and even automate away some of the drudgery!

Word processors are, of course, just one example. If you hate using some software, service, device, or other technological artifact because it doesn’t ever work right, seriously consider whether you actually have to use it. It’s easy enough to assume that “everyone does it this way now” and that tool is the only game in town, but that’s often not true at all. As with keyboard shortcuts or scripting, often the hardest step is having the imagination to realize that it doesn’t have to be the way it is. Today’s world deserves to exercise this part of its individual and collective imagination much more often.