Creating addictive… anything, from catchy songs to software

Posted by on April 3, 2018 in Distant Suns App, Essay, Programming | 0 comments

Creating addictive… anything, from catchy songs to software

I am always looking for tips on how to make DS a package people may want to use even if there is no astronomical event coming up or if the nights are cloudy for example. I was thinking if there was any possible link to anything that is catchy: music, potato chips, movies, books, and of course software. With just relatively dull tools such as MS Word, or Excel, this is not necessary as these are task driven and not emotionally driven. But the others, largely optional, have an emotional component to them. I’ve been studying the work of Nir Ayal, at nirandfar.com who has made a career out of understanding what makes habit forming software. He teaches at Stanford, has written a best-selling book, and since he’s local I’ve sat in on a couple of his talks at local meetups. He’s very smart and has a lot to say about a form of feedback loop that keeps a person engaged in non-critical products and making a product “habit forming”.

However, I was thinking if his process could be even more simplified. It seems as if everything we do, every action we make, comes in the form of “tension” followed by a release of that tension. Listen to some catchy music, make note of the parts that really makes you sit and pause, and you will find a tension/release cycle. A dramatic one such as going from a major to a minor key, builds up the tension. Going in reverse, minor to major is a release. In the proverbial page-turner, that cycle is likely to be repeated nearly every scene or chapter. One chapter builds tension, the next releases it and then creates the start of a new cycle, leaving the end for the following chapter still. The biggest release, of course, will be the end unless it’s part of a series, in which case you’ll have to buy the next book to get the release. Same for movies, same for TV shows. For art, abstract impressionism generally builds tension with very little definable release, however, in the art. Unless of course, you know about that specific artist and can understand his or her style which might have a subtle release mechanism in place that you or I might not know.

Junk food has this down to a science. The tension builds as we think about grabbing a snack. The release is when we do. The more we resist, the more tension, the greater and more satisfying the release once the chips or M&Ms are consumed. And who hasn’t started streaming, say, Breaking Bad, going through a couple of episodes, and thinking…” just one more!” until 3 AM.

FOMO (Fear of Missing Out) is a subclass of this, which Facebook, Instagram, Flipboard have leveraged. Fear=tension and causes us to go to one of these services. Same for click-bait, but to a lesser degree. Click-bait uses another variant, however, by asking either a question or expressing that they have an unbelievable list of “10 celebrities who like to eat grilled mole!” The tension can only be released by going to the site and a) find out what loser celebrities like grilled mole, and b) grilled mole? WTF?

Another form of tension is frustration that comes when access to a specific goal is inhibited in some way, such as an app crash, the batteries in the mouse had died or some other annoyance. The tension may only partially be released by finally achieving that outcome, however. Some residual tension might still exist due to say, the time wasted with the initial problem. What even makes it worse is when the problem was deliberately created in an act of “cleaning up the UI.” In this case, there is only tension and no release except firing off another letter to Tim Cook asking WTF? There is no provided outlet for that tension, however, which even adds to it. And when it comes to overall UX/UI design, whenever a user has to pause to think about where they are in the app, or “what is the screen showing right now?” You got unnecessary tension built out of bad design with no release. And that can stay with us for a long long time.

Sometimes detecting these dynamics might take years. For example, I would always feel a stress buildup when running Distant Suns, never really paid attention to it until one day I realized that one of the tension generators was the way iOS compresses the UI for the iPhone. Sadly, this has been accepted as a common interaction model on the iPad as well when it doesn’t have to be. This issue is how iOS stacks views (Via the UINavigationController) into a rigid hierarchical model. Considering the small screens on iPhones, this is a particularly elegant and common-sense design. On a larger screen, this just gets in the way. A typical interaction for say, preferences, required opening up the prefs list. Select an item that will slide a second view on top of the root view. The user can then select any of the options in that second list, however, going to another preference category requires backing up to the top page, then down to another list to make the next selection. For example, if I wanted to turn on constellation names and the planet names, I would open up the preferences view. Tap on Constellations, tap on Names, tap on the back button, tap on Planets, tap on Names, go back to the preference list, and back once more to get back to the star display. This requires 8 distinct physical steps along with some mental re-adjustments to adapt to the three different contexts needed to scan the lists looking for the desired list and item. That’s a lot of work to merely toggle a couple of features. I had always felt the tension during a demo whenever I wanted to change multiple preferences. I never made the connection between the tension and its cause, all I knew was that it took too long to get to the cool stuff. With no apparent connection to what was a commonly accepted model, I just would shrug it off as being something that just bugged me specifically. The solution partly falls out of my new iPad UI design resorting to more desktop widgets that take advantage of the larger screen. This includes sticky menus, draggable and resizable dialogs and in the case of preferences, eventually, each category will have its own dialogs or submenus that can be kept up all of the time if desired.

Tension Acceptance

We can get so used to these tension-producing interactions that we just accept them in the same way we accepted the QWERTY keyboard by never making connections between sluggish and error-prone typing speeds (due to its fundamental design), because that’s always the way things have been done.

I was speaking to one person (not knowing who he was until I checked Wikipedia. He had been a former AOL CEO after Steve Case). He told me he was at Jobs’ house (yes, that Jobs), when Steve’s cell phone rings. Steve picked it up, punched the various keys to answer the phone, and said afterward “These things are just way too hard to use.”

Some iOS developers have partially mitigated these tension-enhancing designs by adopting fun and animated menus to entertain the user while navigating large option trees. So, while the tension increases, the reward and release are temporarily handled by subversively goofy or pretty transitions. The path to task completion is made entertaining enough to release the tension, distracting us for a few seconds. Disney has this down to a science for some of their rides that invariably draw huge lines. Their Star Tours ride can have lines approaching an hour, but all of the little displays and bots placed along the line’s path are as entertaining as the ride itself. Universal Studios did the same thing in their Florida park for their Terminator show.


A subset of tension/release is the risk/reward model. But not all tension producing events would be considered “risky” such as going to the gym. It’s not risky for most to use a stationary bike but merely exhausting. The release is finishing and heading out for a 1000 calorie milk-shake at Johnny Rocket’s to celebrate.

So, by learning just how to juggle that tension/release dynamic should be able to create that catchy tune, memorable commercial or “addicting” software.