Don’t Solve the Hard Problem

Leave a comment

I have a design tool I call “Don’t Solve the Hard Problem”

It consists of three steps

  1. Identify: What is the expensive, difficult aspect of delivering on a highly desired user promise?
  2. Clarify: What is the actual root of the promise?
  3. Cheat: What is the the cheapest way possible to actually deliver on the root promise?

Example 1: Meaningful NPC interactions

  • Identify: Rich, Turing-testable AI is hard. Even in this era of deep learning, the results somehow feel empty. “Maybe in another 10 years…” <- The classic sign of a hard problem.
  • Clarify: But do all user actually want some weird chatty humanoid? When I talk to my players, what they really want is an emotional connection. A relationship. Someone to help and support and support them in return.
  • Cheat: In Cozy Grove, we didn’t solve NPC AI. We added an option to hug NPCs. They can refuse. But when they accept, it plays an animation. People feel an emotional connection. They feel support. That little hug is a meaningful addition to many of our player’s lives. It took less than a week to build.

Now, people working on the hard problem of NPC AI may be upset right now. The example I just gave is SO trivial. And isn’t the problem they are pouring their lives into solving.

But I didn’t have 10 years. So pivot. Solve an adjacent easier problem. It worked for our users.

(BTW, I’m constantly cheering on folks who ARE trying to solve the hard problems. It is the foundational work that moves the horizon of cheap solutions forward. Our ‘hug’ is built on digital animation tech that was a ‘hard problem’ of its own 40 year ago.)

Example 2: Massively multiplayer games

  • Identify: It is hard getting lots of players online at once. To this day I hear attempts at putting 1M concurrent players in the same space. Ugly bandwidth, CPU, replication, base costs and more result.
  • Clarify: What if player just want to be with friends? Sometimes lots of people, sometimes a few. What if “lots” and “few” and “friends” was a feeling that we could design for instead of a numerically large concurrency number?
  • Cheat: We’ve done experiments. Many times more than 30-50 people in a space feels like “lots”. Past 100, feel free to use bots or popular samples. No one can tell. Most successful multiplayer games deal primarily with smaller groups. What is the 4-12 player version of your game?

I remember old 1v100s discussions where 1M concurrent players was bandied about. Massive tech expenses resulted.

Yet most people played in 4-player matches. I’m always curious how the host wrapper could have been faked and that core 4-player feeling of being together enhanced.

Example 3: AR glasses

This one is more fanciful because the current discussion irritates me.

  • Identify: There’s a hard problem with a high FoV, high contrast, low latency, stable image that overlays the real world, works with the human eye and fits in glasses.
  • Clarify: The user fantasy I hear over and over again is “I want to remember the names of people I see”. There are others, but 8 out of 10 times this is the first use case real people can imagine for the tech.
  • Cheat: Why are we even focusing on the visual display for this problem? Seems totally secondary. One solve: You need a camera, a list of friends, face recognition, activation UI (voice? button?) and some headphones for feedback. All these things exist right now.

Ok, maybe the TRUE user fantasy is that this process is unobtrusive. Maybe we need to add a secret ring you can click and fiddle with to active the camera. Maybe we need the camera mounted on your head or eye tracking software to clarify intent.

Harder, but not the original hard problem

And what can you do with that boring platform? Translate text you look at. Identify objects. What the broad category of ‘finding out stuff about the world’ where the world is your affordance and looking is the pointer?

To me, this is still a hard problem. But at least it puts energy into something very solvable. And it isn’t some BS derived from fictional movies or tech executive wankery.

Imagine if this design thinking was applied to web3 or the metaverse. 😉

Look for the bodies

As a final note, when identifying hard problem, look for the bodies. Is there a history of smart people spending money and blood in this area with poor results?

Is there a slightly different problem to solve? One delivers what folks need, not what you’ve been told they want?

– Danc.

(This was originally a Twitter thread:

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s