Using realistic data in a design prototype

I mentioned code-based prototypes a few weeks back. Here’s a related observation.

I like to put realistic-looking content into my higher-fidelity prototypes. The main reason for my preference is that, in many cases, a design can’t be effectively evaluated if it doesn’t present realistic data and/or information. You need to see how the design handles the real thing.

When I was at Karos Health, I regularly used the names of jazz musicians to create fake patient data that was used in various design prototypes. I did it for two reasons, the first being my preference for realistic data and/or information.

The second is more subtle: while the names looked realistic, anyone who recognized a name like Miles Davis or Louis Armstrong would realize that what was being shown wasn’t real real patient data. That was an important consideration in health care, where patient privacy is a critical concern. One of my favourite moments came when someone viewing a prototype noticed that a birthday shown for Miles Davis was correct. (In fact, all the birthdays were correct.) The attention to detail made an impression!

This is a recommendation?

Netflix is a service with which I have a love/hate relationship. Even with the comparatively slim pickings offered by the service in Canada, the monthly fee provides pretty good value. And, of course, the offerings became more compelling since they got into creating their own content, some of which is terrific. And being able to watch on multiple devices is a terrific feature, especially with playback synced across them.

I’ve never, though, enjoyed the experience of finding videos to watch. Scrolling through titles can be slow and imprecise. There’s no way for me to easily recall the videos that I want to watch; the “My List” feature reorders videos, making it hard to find something that I thought I had added. The “Suggestions for You” that it makes can sometimes seem cryptic — what, exactly makes for “Exciting Movies”? And I regularly find unhelpful recommendations along the lines of “Because you watched [title of video]” where the first listing is something else that I watched recently.

Screens showing Netflix recommendations based on ‘Stone’

Here’s a different unhelpful pair of recommendations that I ran into some time ago. Having watched a Robert De Niro movie called Stone (part of it, anyway), Netflix thought that I’d be interested in a movie called Stone Cold, as well as The Stoning of Soraya M. As far as I can tell, the movies have little in common other than similarities in their titles.

I get that this isn’t necessarily easy, and my response is mostly bemusement as the recommendations generally don’t add a lot of value for me. It just feels like discovery of what to watch is an untapped opportunity.

Why I write software code as a part of my design work

A closeup of hand-written code in a notebook

Now that the whole designers-coding-stuff thing has died down a little (or maybe it hasn’t?), I thought I’d share some thoughts on why I code on my own design projects. There are a couple of main reasons why I engage in this activity.

First, I believe that it’s important for me as a designer to have a solid understanding of the medium for which I’m designing. Being able to code helps me better understand the things that matter to developers on a software product team, and it enables me to communicate more effectively with them.

Second, creating prototypes is a part of the design process for me. Prototypes, in various levels of fidelity, help me think through what the interaction should be for a particular design solution. Obviously prototypes have other uses; they are great for communicating a design to product team members and, of course, they are central in the testing of a product design with users.

There are many tools available for creating product prototypes. As it turns out, though, because I’ve been coding with html/css/js for so many years now, I can actually work fairly quickly to create a code-based prototype that I can iterate on and refine efficiently. I’m able to create realistic interactions and behaviours that are a big challenge with other approaches. I can start with something crude and wireframe-ish and iterate to something more polished. I like to call late-stage, high fidelity, code-based prototypes “real software with fake functionality”! It might be best to avoid ray guns, though…