Done is better than perfect

I was inspired by a post from Nicolas who wrote about focusing on content for his blog instead of making minor tweaks to the code.

I’ve been guilty of this. When I first started this blog years ago I spent a lot of time on tweaking the design to get it just right. Nights spent adjusting things that people would hardly notice like typography, line spacing or colours. Looking back I was procrastinating to give me the satisfaction of working on the blog without doing what mattered–writing.

At the time this blog was self-hosted on Ghost which meant using the command-line to navigate and change things. Since I’m not a developer this meant a fair amount of friction for minor tweaks on the blog’s appearance. If I didn’t go through the updating process for a couple of weeks it would take a while to remember how to do it. Over time that friction made me not want to update the blog’s design anymore. That was a good thing. I focused on writing instead which was much less of a hassle compared to finding my way around the command line.

When I migrated over to Blot I once again noticed over a dozen of bugs” that I could fix. That was almost a year ago and I still haven’t touched any of the code. And you know what? That’s fine because I’ve written and published a lot more posts than I have in the past.

Done is better than perfect.

Lord of the Flies — William Golding

After seeing this book referenced in the previous book I read as well as walking past a burger joint called Lord of the Fries one too many times, I figured I should finally check out this classic.

I naively thought the story would involve flies and other sorts of insects but it turns out I was wrong. Lord of the Flies is actually the story of a group of children stranded on a desert island during the second world war. Without any adults present they have to grow up fast and figure out a way to get rescued. The kids realise early on they will need to work together if they want to survive but soon tension start to arise in this newly formed mini-society.

It’s an interesting take on how children would self-manage and form their own little society. They face challenges on a daily basis, especially when it comes to agreeing on what’s best for the group. Despite this, I felt there was much happening in this book except for a couple of events that shake up life on the island for the main characters. I also got tired of the author’s long and often unnecessary descriptions of the surrounding landscape.

The ending wasn’t what I was expecting at all but I didn’t mind it. Overall a decent book, but I was left wanting more.

★★☆☆☆

Girl Gone Mad – Avery Bishop

Girl Gone Mad isn’t the type of book I’d usually read but since it was recommended to me and it had good reviews I gave it a shot. It’s a story about a group of women who used to be bullies in high school. Even though they’ve grown apart since, their past now seems to haunt them in mysterious ways.

I enjoyed the author’s style and the numerous flashbacks that progressively reveal more about the main character’s background. Throughout the story however I kept thinking Well now would be a great time to call the police and let them take care of it” but apparently the women prefer to take matters into their own hands–for better or worse.

It’s an entertaining book with many twists and turns with an ending that surprised me. In fact it was still on my mind several days after I’d finished it. Overall a decent thriller if you can forgive a few unrealistic story elements.

★★★☆☆

Ready Player Two – Ernest Cline

Where do I start? When I first read Ready Player One five years ago I was a fan. It was that book that drew me back into reading. The story was captivating and the premise of a virtual egg hunt with a lot at stake was thrilling. Since I like video games it made me appreciate the many pop culture references even more.

Unfortunately Ready Player Two is pretty much the same plot all over again and the main character Wade Watts is joined by the same group of people to help him in his quest to save the world…again. Even though he’s supposed to have grown up in the nine years that have passed since the first book Wade’s behaviour is that of a spoiled and insecure billionaire man-child.

As luck would have it he’s the chosen one which means only he is able to complete the main stages of each quests. This leaves very little room for the rest of the characters to shine and develop their stories.

In this sequel the pop culture references were gratuitously sprinkled all over and didn’t feel very relevant to the story. It seemed like the author just wanted to brag about his vast knowledge of the 80’s which gets old quickly.

Unless you’re a huge fan and want to check out what the hype was all about I would avoid this one.

★★☆☆☆

Roguelikes and the UX design process

I’ve been into video games for as long as I can remember but it wasn’t until my mid-twenties that I discovered an entirely new genre called roguelikes. The name comes from the original dungeon crawler Rogue released in 1980.

Two of the major defining characteristics of this genre are permanent death and randomly generated levels. As you can guess the games are usually very difficult and frustrating, especially since there is no saving or reloading. Ever. Once you die, you lose all of your past progress and start again from scratch.

Over the years many games tried to replicate the formula that made Rogue great. The rise of roguelikes eventually led a group of passionate people to create a scoring system to determine how roguelike” any given game is. This interpretation of the genre became known as the Berlin Interpretation which highlights 9 high value factors” of a true roguelike game:

  1. Random environment generation: the world is randomly generated so that every playthrough is different.
  2. Permadeath: when your character dies you lose all progress and have to restart a new game.
  3. Turn-based: each command corresponds to a single action without having to worry about time.
  4. Grid-based: the world is represented on a grid so that monsters and players take up the same amount of space.
  5. Non-modal: every action should be available at any point of the game.
  6. Complexity: the game is complex enough to allow several solutions to common goals.
  7. Resource management: you have to carefully manage your limited resources like keeping track of health or thirst.
  8. Hack’n’slash: the player should be able to fight and destroy most things in the game.
  9. Exploration and discovery: the game requires exploration of the dungeon levels and the discovery of unidentified items for every new playthrough.

Why does any of this matter? Well I just picked up my latest roguelike: Hades by Supergiant Games and it got me thinking.

Even though I’ve played many roguelikes before, it’s only during a session of Hades that something occurred to me–advancing in a roguelike game is very similar to the UX design process.

Discovery

Roguelike

Procedurally generated levels ensure the obstacles and the path to completion remains unknown. Rooms and game elements remain the same but the way they’re laid out differs from one run” to the next.

Design

At the start of any project the design solution usually isn’t known. Sometimes even the problem isn’t clearly defined either. The designer has to embark on quest to find the truth while dealing with ambiguity along the way. The deeper they get into the research, the more findings they uncover. Their ideas generate new ones as they move from one concept (“room”) to the next. Since the design process is inherently messy and far from linear, there’s no telling where they might end up with a solution.

Failing forward

Roguelike

The beauty of roguelikes is that they’re unforgiving. One tiny mistake and your hero dies a horrible death while you watch in disbelief. A death is never in vain, however, because with each failure comes a valuable lesson. Maybe you encountered a new monster or trap that you haven’t seen before which led to your sudden demise. Whatever the case may be, you will have learned something. About the environment, the enemies or maybe your character’s abilities. Those insights will allow you to make it further during your next attempt, with each run becoming a lesson in itself.

Design

Fortunately when a designer’s ideas don’t pan out straight away they don’t die. That would be quite cruel, wouldn’t it? They might, however, have to kill” their ideas early and often without ever getting too attached to a single one too soon. A lot of times they’re encouraged to fail fast in order to focus on the next idea with possibly more potential.

As with every death in a roguelike game, every failed concept in design leads to valuable learnings and ultimately a better solution. It’s important to take time to reflect: Why did this idea not work? What can they learn from the current prototype? How could it be better?

Power-ups and retention

Roguelike

Modern games of the genre implemented achievements and unlockable items that carry over from one run to another. This means that even though a run might fail as it’s often the case, the player still retains a sense of progression through items or power-ups that will help them in future playthroughs. They might start with more life or better weapons for example.

Design

With each customer or stakeholder interview, each prototype and each usability testing session the designer will inevitably learn more about the problem at hand. These insights don’t vanish–they remain with them and inform their decisions for the next steps. These valuable bits of information are their little power-ups for the next phase testing. They’ll pave the way for a more powerful” prototype that will be able solve more problems than the previous one.

Final thoughts

I’ve found that once you start accepting that failure is inherently part of the learning process you’re much further along than other designers.