January 09, 2017

The Delightful Design of Exercism

... doesn't exist yet.


Design is a tricky word. Once upon a time I believed that it meant color and typography and layout. And sometimes it does. The thing is, when it doesn't mean that, it's pretty dangerous to work on the assumption that it does. A lot of things go wrong. They don't go wrong in obvious, disastrous ways. They go wrong in awkward, subtle, silent ways.


This other kind of design—product designis mysterious to me. It's taken me a few years to even realize that it exists.


Over the holidays I took a two week break and spent some time on a hobby. The hobby is irrelevant, of course. The relevant thing is that in support of this hobby I used two different websites that basically did the exact same thing, except one website was a delight to use, and the other wasn't.


With one website the experience was so smooth, it got out of my way. It had the exact right shortcuts. The interface had exactly what it needed (and nothing else). It sucked me in and I spent hours using it and I wasn't thinking about the website or the interface or how to do the things I needed to do, I was just kicking butt and taking names. I was doing my thing.


The other website was OK. It really was. Fine. I'm sure. Jarring, a bit. Not delightful, that's for sure. I got tired using it. And kind of annoyed. And sometimes confused.


And yet... the websites were doing the same thing, basically.


That's this other kind of design at work. It wasn't about whitespace and grids (though I'm sure those things play in). On the surface you might say it's about features, but it goes even deeper than that.


Someone asked me a couple of months ago how many people actually converted from signing up (or logging in) to Exercism to actually submitting a solution to an exercise. I was kind of embarrassed to report that it's a really small number, something like 20%. We have almost 130,000 people in the database, but only a little over 30,000 have submitted code.


Their jaw dropped. Apparently 20% is a HUGE number. We have done something pretty special. We're getting a lot of things right for a lot of people, and because we haven't done that mysterious design stuff really well, we could potentially do it even righter (so to speak), and for even more people.


About 18 months ago a few Exercism contributors worked with a phenomenal designer, Jenn Dodd, digging into some user experience stuff. It was a powerful learning experience. The thing that surprised me the most is almost none of the work we did looked like what I expected design to look like. We did almost no sketching or wireframes or flows, partly because we didn't get that far. Most of what we did was try to ask good questions. Who even uses the site? Why? What do they get out of it? Where are they getting frustrated?


We learned important things, and changed one profound thing based on what we learned: the text on the homepage. It wasn't perfect, it wasn't even great, but it finally spoke to the actual people who are using the site, about why they might want to use it. So people landing on the homepage weren't quite as confused about what Exercism was, or whether or not it might be something for them.


It took us 6 months, though, to get a good enough understanding to do that one thing.


It's interesting to note that it didn't take 6 months to do website copy. It didn't take 6 months to make a technical change. The problem we were solving came before the actual physical manifestation of that change.


My biggest insight from this was that user experience design is like the 9 months pregnancy you need to produce a human infant. Most of that work is mysterious and hidden. I used to think that making a product was mostly the equivalent of the 20 or so hours of labour at a hospital. The obvious, painful, hard work.


I recently came to the conclusion that I want Exercism to be utterly delightful to use. I mean, I’ve always wanted the product to be exactly right, get out of people's way, and help them kick butt.


But recently I decided that I’m going to figure out how to make it happen.


Some of Exercism fits incredibly well into the classic open source model: the curriculum in particular. We're doing really well with that. We have dozens of amazing maintainers, hundreds of amazing contributors. We're totally on the right track with it.


The piece that we've not figured out is this mysterious user-experience, product design piece, and mostly it's not something that open source projects have needed to solve. It's also not something that is a particularly volunteer-sized problem. It's ginormous, and kind of amorphous. It doesn't break down into lots of little actionable pieces that can be described in GitHub issues.


I've spent a few months soul-searching and wondering how to tackle this.


I've talked to a bunch of people I know who have extensive experience in Open Source, and others who have extensive experience doing product work. Sometimes even people who have experience with both. The conclusion is: I've decided to throw some money at this. I'm going to try to go after some sponsorship and apply for grants, etc, to be able to fund full-time design work for a few months.


Thalamus, a company with some stellar product design folks, has agreed to partner with us on figuring out how to make Exercism utterly delightful to use. Their founder, Jeremy Walker, was a contributor to Exercism in the very early days and believes deeply in the value and potential of the project.


Though I will be finding the funds to spend a serious chunk of time working with design professionals on it, it’s not something we're going to do secretively, or disconnected from the Exercism community. In the next few weeks we'll start digging into interesting questions, and we'll need everyone's help answering them. We’ll be doing a lot of invisible legwork with not much to say about it, but as things become more tangible, we’ll be bouncing ideas and thoughts off the community. The first part of this will be a survey that we’re pushing out later in the week and it would be amazing if you could share that widely when we post it.

If you want to read a bit more about the background for this decision, take a look at exercism/decisions#113your thoughts and opinions are always welcome!