Visualization of the motion estimation performed in order to compress an MPEG movie.
Visualization of the motion estimation performed in order to compress an MPEG movie. (source: Blender Foundation / Netherlands Media Art Institute on Wikimedia Commons)

In this week’s Design Podcast, I sit down with Scott Murray, designer, creative coder, and artist who writes software to create data visualizations. Murray is the author of Interactive Data Visualization for the Web and the forthcoming book Creative Coding and Data Visualization with p5.js: Drawing on the Web with JavaScript. Murray is teaching an online course, Programming for Designers on May 11-12, 2016. We talk about why coding is a great skill for designers to learn (and it’s not just about earning more money); data visualization; and why design, at it’s core, is problem solving.

Here are a few highlights from our conversation:

Design and data visualization

We're swimming in infographics, and we have open government data, open data, API's data—data, data everything. You can't avoid data. It's a critical part of the modern world. The way I see it, to stay relevant, designers have to keep engaging in the modern world.

Visualization is a natural fit for designers because it's leveraging all the visual communication skills, all the problem solving skills that we've already practiced. It's just in a more specific domain. You might still be designing posters, or dashboard, or charts, or something, but your source materials are these rows and columns of values instead of unstructured text. It's just a more specific kind of design. It uses all the same skills, and then some.

Historically, everybody who’s practicing in the field now came from another place, so they're either coming from design, data science, statistics, architecture, computer science, cognitive science, journalism. Essentially, everybody was trained as something else and then found their way into this, which I love. Doing data viz, you get to meet so many interesting people and curious people. But it does make it hard—there's no one-size-fits-all solution when people are trying to figure out how to get into it. I point people to Alberto Ciaro's website or Andy Kirk's websites. Those are: thefunctionalart.com and visualisingdata.com.

Problem solving: The meaning of design

One of the challenges I see is getting design recognized as a problem-solving process, not just as a beautification tool, and not even just as a visual process, either. I think designers get this already, but design is one of those weird words that has different kinds of meaning and different contexts, so it's hard ... When I'm talking about design, I'm usually talking about this problem-solving process that you could apply to making a band poster, or making an interactive silly face, or do like IDEO does: change organization design, designing entirely new school systems from scratch. They're visual elements, but it's not really a visual problem. You apply the design process to political problems, social problems.

To me, that's one of the challenges, and the related challenge for the field is to figure out how to manage all this complexity that goes with increasing popularity and more and more people in more and more fields adopting the design language, and design thinking, and design process.

It can be super intimidating for new designers—and especially students I've worked with who are just coming out of school. They graduate and they're dropped into this whole world that is just ... I guess every generation thinks the world is more complicated than it was for the previous generation, but it really feels that way. The bar is so high. It's like to get any design job you have to already be familiar with these thousand different processes, and techniques, and tools. It can be really intimidating. I think managing that complexity is going to be huge.

How programming can help designers

Even if you don't go on to code as part of your job, learning to speak that language and learning the thinking process that goes behind programming is helpful. We call it computational thinking. Appreciating how the computer operates and how you have to think about your own design systems differently in order to fit them into that box that the computer can understand. That's really helpful later, even if you don't code yourself, because then you can talk to developers and other people on your team who are working with this stuff. I guarantee you'll start to understand, ‘Oh, they always get frustrated when I ask for x, y, and z. Now, I see why that's a big deal because I have a sense.’ Maybe you don't understand the details, but you have a sense of what effort had to go into creating that.

In the online Programming for Designers course, I’m using a creative coding approach to programming, which is to say that the philosophy I'm bringing to this is, ‘You figure out how to communicate to the computer to get it to do what you want’—that's pretty different from, ‘You figure out the most efficient way of solving a particular problem.’ That's not something I do. That's something computer scientists and proper developers do really well. [In the training course,] we're going to use this new tool called P5JS, which is a Javascript framework.