Become a Creator today!Start creating today - Share your story with the world!
Start for free
00:00:00
00:00:01
Episode #82: Rune Madsen image

Episode #82: Rune Madsen

The PolicyViz Podcast
Avatar
170 Plays8 years ago

The “open” movement consists of different product types–we all know about open data and open source code, for example. But more and more, we’re seeing open book writing. Last year, Hadley Wickham wrote his book on R in an open platform....

The post Episode #82: Rune Madsen appeared first on PolicyViz.

Recommended
Transcript

Introduction to JMP and Guest Rune Madsen

00:00:00
Speaker
This episode of the PolicyViz podcast is brought to you by JMP, Statistical Discovery Software from SAS. JMP, spelled J-M-P, is an easy to use tool that connects powerful analytics with interactive graphics. The drag and drop interface of JMP enables quick exploration of data to identify patterns, interactions, and outliers.
00:00:19
Speaker
JUMP has a scripting language for reproducibility and interfacing with R. Click on this episode's sponsored link to receive a free info kit that includes an interview with DataVis experts Kaiser Fung and Alberto Cairo. In the interview, they discuss information gathering, analysis, and communicating results.
00:00:49
Speaker
Welcome back to the Policy Viz Podcast. I'm your host, John Schwabisch. I'm excited for this week's episode because I have a graphic designer on the show who is interested in how graphic designers work with code, which I know listeners of this podcast are always interested in hearing more about. So I'm very pleased to have this week, Rune Madsen on the show who is doing some very exciting work and writing a new book on programming design systems. Rune, welcome to the show.

Rune Madsen's Design Philosophy

00:01:24
Speaker
coming out sort of chapter by chapter online for free which is awesome. Listeners of the show probably know I'm a big fan of free stuff so I'm enjoying the free stuff for now and I'm looking forward to having the physical copy in my hands and some sort of gorgeous designed heavy good paper in a year or so or whenever it comes out. But let's start maybe with having you talk a little bit about yourself and the work that you've done and then we'll talk maybe about a little bit about the projects you've been working on and then we can talk about the book.
00:01:41
Speaker
Thank you very much. Happy to be here.
00:01:52
Speaker
Also, I normally describe myself as I think about myself as a designer. But besides like, using traditional design tools, I also tend to dabble quite a lot in programming languages. So like using programming languages to make systems of design. So like what happens instead of thinking
00:02:13
Speaker
of a design product as a one-off that you make in a static tool, like what happens when you write software and systems that produces designs. And that's kind of the overall thing that weaves in between my professional work and my artwork. So maybe a little bit of background.

Rune's Background and Career Journey

00:02:29
Speaker
I'm from Copenhagen, Denmark, a little north of Copenhagen, Denmark, and moved to New York in 2009 to study at this weird art and technology program at New York University called the Interactive Telecommunications Program.
00:02:42
Speaker
That's a weird art tech program that takes a bunch of different people from the arts and all different fields and throw them into a program and teach them programming and physical computing. That's really my background. I've been at the New York Times, I've been at O'Reilly Media for a couple of years doing research and development, and now I'm actually back at ITP as a professor and a full-time researcher while doing this book on writing.
00:03:09
Speaker
So, do you not like the title graphic designer? Do you have your own title that you've developed? It's very hard. On my website, I write multimedia artists, but that's mostly because the stuff is more of the art stuff I put on my website. But I call myself a graphic designer. We can talk later about what's problematic about that field and education specifically about my book.
00:03:35
Speaker
like I say graphic designer, but then I also very quickly after that mentioned programming languages to make people know that I'm kind of like I and I've had that with employers too, where they asked me to describe myself and very on Scandinavian of me I have to like explain, well, I feel very comfortable as a designer, but I've been programming my whole life and do like full stack front end, back end, and embedded systems.

Tiny Artist Project Explained

00:04:01
Speaker
So
00:04:01
Speaker
I'm both very technical and very design focused. Right, right. We'll certainly come to the education side and sort of how people view, I think, graphic design. I mean, I think you make a good point that I think a lot of people hear the word or the phrase, the title graphic designer, and they're like, oh, you're probably good at Illustrator and Photoshop, but there's a lot more to it and clearly that's some of the work you've been doing.
00:04:22
Speaker
Maybe we could talk about some of the projects that you've done. As I was scrolling through, looking through your website, I found the Tiny Artist Project really cool. So maybe you could talk a little bit about that one, and maybe you have a couple others that are your, you know, maybe your personal favorites that you want to talk about. Of course. Well, so the Tiny Artist Project is kind of an umbrella for many different kinds of projects. So there's seven iterations of it now. But the common theme is that it's these small computer programs that I write that
00:04:52
Speaker
When you run them, they generate graphic designs and print them directly on a professional printer. And then they delete the digital files and delete their own source code. So the only thing that's left are the actual prints. And it's something I came about because I think a lot about
00:05:10
Speaker
like the designer as more an art director. So it's not so much a designer sitting down and making something, but a designer making a system that makes something. And then the, if you follow that to the full consequence of things, it's like, who is really the designer here? If I write a piece of software that has some kind of randomization in it.
00:05:30
Speaker
and I run it, have I designed it or has the program designed it? So that's why I think that project is really interesting. So I show these prints at galleries. Every piece of software prints nine posters to show the variance of what it can do, and then it kind of deletes itself.
00:05:48
Speaker
Also, it's like a fun comment on originality in digital art. So you can always print a new thing, but if you don't have the software and don't have the files, you can't do it. So it's kind of like a fun, playful, artistic approach to the stuff I otherwise work with in professional environments.
00:06:06
Speaker
distilling, design thinking into software. But does the coding part of your life sort of cringe when the code gets deleted at the end? Like, I'm always like, that's my big fear that I'm gonna code something, I'm gonna run it and then, you know...
00:06:21
Speaker
I won't have saved it and the thing will crash. Does that part of your brain just cringe when you're like, okay, well, I'm going to delete, you know, I have this goal, but yeah, I'm still deleting code. Well, that's the fun thing about it, right? That it becomes like the prints become much more precious because you can't really, you can't remake them and they have, like when you run them, there's like inherent loss that comes just from the randomization. Like some of them are prints I've shown.
00:06:47
Speaker
other iterations of the project like in Brazil on this huge building covered in LEDs that ran for three weeks that used machine learning to constantly evaluate whether the designs work right or wrong. But the posters are a little bit more dumber, so they just randomly generate, based on random variables, some different designs.
00:07:09
Speaker
When you look at the outputs, there are things I would change, but I cannot change them because I'm not in control. There's a moment of not having control over the entire design process and letting the computer decide and then not the ability to making changes, which is interesting. Right, absolutely. Do you have any other favorite little projects that you want to talk about?
00:07:32
Speaker
Well, I do a lot of interesting like projection work also. It's been a few years, but I've done like projection work for a few Danish artists. And also, so this thing I showed in Brazil was this huge three week long project of projecting interactive art and generative art on a building. So besides my print work,
00:07:53
Speaker
There's a lot of like interactive physical installation work that is hard to explain in audio, but much more immersive than the, I think people come to my website and see my graphic design work and wants to like buy a poster. But I also tend to do much more interactive work like both on the web, but also for physical installation and musicians and so on.
00:08:14
Speaker
Very cool. Great. Well, I'll put links on the show page. People want to check out some of the work, but I want to turn over to the book.

Insights into 'Programming Design Systems'

00:08:22
Speaker
The book is Programming Design Systems. You're going chapter by chapter, all open source, open, open, open.
00:08:31
Speaker
You want to start by giving us a sense of both why you're writing the book, what you're trying to accomplish and also why you're writing it in this open way. I mean, I think that's sort of the new thing that people are doing now and I'm curious about why that's the path that you chose for this project. You bet. So maybe to that last question, the reason why I'm doing it in the open is that I've worked a lot in publishing. I was the creative director at O'Reilly Media.
00:08:55
Speaker
I think publishers do good things, but I think it's questionable when you're a person who is technical, can design your own things and write your own things. The cut that a publisher takes from your revenue, it is questionable whether that actually delivers the equal amount of value. So I think the time where I realized that was when I realized that if I chose a publisher and I was speaking to a few of them for this book,
00:09:21
Speaker
they wouldn't even help me do licensing and copyright issues around use of images. I would need to do all of that myself and so on. My wife is an editor, so it just seems like a really good thing to do on my own. I've been doing these open source publishing tools for a while. I'm working on a tool called the Magic Book Project that I'm using to produce my book. In general, it's just like a
00:09:45
Speaker
nice way to put things out of the open. I'm financed by NYU as a researcher. And also, it gives me the ability to not go away in a room for a year and then come out with a full book. But to meet my audience and my readers, get input. And I've heard from a ton of people and received a ton of edits from them. So it's just a much more lively, connected way of doing a book, I think. So maybe to the first point about the book.
00:10:14
Speaker
So I call myself a graphic designer and I've been thinking a lot about graphic design and new design products the last couple of years. And I think what's problematic about the term graphic design is that people immediately imagine static design products like posters and logos and so on. But the problem is that the world we live in has drastically changed and the products that were required to build has also drastically changed.
00:10:41
Speaker
Data visualization is one of those products, but mobile applications and even simple things like logos are now becoming dynamic and iterative and so on. So I think it's problematic in graphic design education that we have a tendency to think about designers as ideators who are completely detached from the process of implementing something. And I really want to push to that. So data visualization is a good example of that. If you just consider
00:11:09
Speaker
the designing of a data visualization as something that can happen in Illustrator, you are immediately only thinking about predifying something when everybody who's done a data this knows that it requires time spending code to knowing the data to kind of find a representation that fits that data set. And that's the thing that can you might be able to do it in a graphic interface like Tableau or something like that.
00:11:32
Speaker
But programming languages are right now the most powerful ways of doing that. So the book is like a foundational graphic design text about the foundations of graphic design, form, color, typography, and so on, but using a programming language as the tool instead of Photoshop and Illustrator. So yeah, I mean, there's a lot of things to say about that, but yeah, that's the main goal. So it's not only about
00:11:58
Speaker
what they can build if they program. But that's obviously a big thing about it. Like once you can program, you're not stuck in these static design tools where you have to prototype static pages. And I've been in a lot of digital design teams where the problem is that we live in this world where designers are asked to do, let's just take a website, designers are asked to do a website and they deliver these static mockups. And then
00:12:24
Speaker
the technical people look at them and like, okay, we have to weave this together. Then we've found this group of people called UXers to kind of glue all that together with motion. The thing that really dictates the success of a program is not so much only the look, but the way it feels, how it uses motion, and so on. So I think my idea is that designers need to be able to prototype those things to survive in this new digital reality.

Bridging Designers and Programmers

00:12:49
Speaker
I think the website examples are great examples. So you have the designers, the traditional, let's say graphic designers over here, and you have the web developers or the UI, UX people over here.
00:12:59
Speaker
Let's just say you had a team of two doing that. In your ideal world, would you still have a team of two where both of those groups are moving towards each other, or would you ultimately just have a team of one where one person does everything? Well, this is where it gets dangerous because people think that I'm of the everyone should program generation, and that's really not what I mean. I don't think that it's specifically that every designer should be able to program.
00:13:25
Speaker
But I do think that we need to bridge that gap. So I would actually like we should encourage people to specialize in things. So I would have a programmer and I would have a designer. But if there's no shared language between them, it's very problematic. And the teams I've seen work the best is where it's not only the vocabulary that is shared, but it's the assets that they work on that is shared. So if you can have a
00:13:53
Speaker
design style guide that is implemented in code that the designer can work on and the programmer can work on.
00:14:00
Speaker
that just makes for the best collaboration. Yeah. Yeah, I totally agree. I mean, I can't tell you how many times people come to me like, you know, I have this 200 page report, can we get, you know, an online visualization tool? Can we get it by the end of the day? And it's like, right? No, building this stuff is hard. No one asked you to write a paper, a 200 page paper by the end of the day. So this stuff is hard. You know, building these teams of designers and researchers and developers, I think is the exact way that I like to think about it. So
00:14:30
Speaker
You said you don't think that everybody needs to code, but do you think that everybody needs to at least appreciate or have some understanding of what it takes to code? And if so, would you sort of have everybody, you know, everybody has to take one semester of R or Fortran or maybe not Fortran. Okay. Maybe not Fortran, but you know, everybody has to, you know, at least for some part of their, you know, some part of their education, they have to dive into some code and understand what it means to think like that.
00:14:58
Speaker
I definitely think that everyone should at least see code and know what it is to become just at least a little bit proficient in it. That, or we need to reinvent our design tools. So they are built on a workflow that makes sense for the people who need to implement a real piece of software. I always tell when I talk to my students in the first class, I say, I pull up google.com and I say, look at this. If you think of the design of google.com,
00:15:28
Speaker
in something like Illustrator.
00:15:30
Speaker
then it's just the colors of the border of the input field. But that's not the design of Google.com. The design of Google.com is the interaction and conversation with the algorithm that designers will need to prototype. So yeah, I mean, programming is the only way to really get into that right now. There are, and I'm running at NYU, I'm running a research group with a fellow researcher called Patrick Hepron called Intelligent Design, which is a research group focused on making new design tools with machine learning.
00:16:00
Speaker
to figure out how can we have designers build complex systems without necessarily needing to write all the algorithms. So yes, it's either having everyone introduced to programming languages, which I try to do in my book, in a way that's very focused on design, because I think the problem is we tend to teach programming languages as a hard skill, and people want to learn programming language through a soft skill. So all my focus in my book is on the design parts,
00:16:31
Speaker
but then using programming language to do that. So we need to do that or either we need to reinvent our tools, but that's also a larger conversation. So then by extension, if we think that people need to learn how to code, do you think people also need to learn more about design principles? I think so. I've been a lot in web development. I think what happens a lot in web development is that there's a lot of really savvy technical people that
00:17:00
Speaker
tends to, if designers don't kind of enter the domain of the web developer, design just happens without designer. And the way the focus in web development right now is it happens a lot in a vacuum where they think everything that is invented, for example, thinking about design systems has been a big thing last year of making living style guides and so on and defining brands in style guides.
00:17:25
Speaker
And people, if you look at the graphic design history, rules and systems is not a new thing. We've been doing it for hundreds of years if you think about it as the New York City subway system, or just what we call branding is the same, defining simple rules that go towards many different outlets. So if we don't have designers come into the domain of the technical people, technical people will just do
00:17:52
Speaker
design without design thinking. And I think that's the problem. And now I tend to talk about this as designers and technical people. I just want listeners to know that I don't see that gap at all. But it does happen in the workplace. Absolutely. And I think part of why it happens in the workplace, speaking from personal experience, some of it is cultural. You have people coming from different backgrounds. They've gone through school in different ways, different ways of thinking, different levels of expertise.
00:18:21
Speaker
Another part of it is because there are specializations that happen. Someone has a job, they have to do these 15 projects and so they have to concentrate on the task for those 15 projects and so there's a little bit of that as well. You talked a little bit how the book sort of starts and talks about some design principles of color and font and layout. You want to walk us through the plan, the broader plan for the book as you go? Go ahead.
00:18:48
Speaker
Yeah, so right now I've written some of the chapters in two parts of the book. The first part is called Shape, and it's all about how to use basic shape, more complex shapes to create meaning with shapes instead of in text. The next chapter or the part of the book I'm working on right now is called Is on Color.
00:19:09
Speaker
and trying to understand how can you computationally in algorithms generate color schemes that are harmonic or and so on. But then as we go along, there's a part on typography, there was one on layout. And then as we go further along, it'll be more and more things that are like affected by programming languages, there's a whole motion chapter, it's like how to do animations and easings and so on to create meaning. There's a
00:19:36
Speaker
chapter on repetition patterns and like patterns that repeat, aperiodic patterns that never repeat and so on. And so it's like 10 different parts with five to seven chapters in each part. So there's a lot of things to write. But I think one important thing to say about that is that every part of the book starts with an
00:19:58
Speaker
a short overview of the history of design for that specific part, which is very important to me to bridge that gap to what we're doing today. So there's a whole history of color theory in the color part and so on. Again, the target audience for the book is graphic designers who want to become more familiar with code.

Target Audience of Rune's Book

00:20:21
Speaker
And also I would suspect web developers who want to become more familiar with design.
00:20:27
Speaker
But are you writing it for someone like me? I mean, I'm reading it anyways because anyways. But for someone who doesn't really have experience on either side, who I would argue should have at least an understanding or appreciation of both sides, is it something that someone who doesn't have design or doesn't have web programming experience, can they jump in or dive into the book and learn those topics and come out with it with something that they can apply and do?
00:20:55
Speaker
I think so. There are very simple examples that go throughout the book. So even though you're not super experienced in any of these fields, you should be able to follow along. There's also quite a bit of stuff that doesn't involve code, like speaking about the not critical theory, but speaking about the implications of programming languages. And as we go along, there'll be interviews with people in the field and so on. So definitely there is one like the book starts with
00:21:22
Speaker
and anticipation that the reader has done a few tutorials in JavaScript in p5.js, which is what I use for the book. So that would be one thing where every reader would need to kind of go, I have a link to YouTube videos someone should see before diving into the book. But I really try to make it both a book that is practical, but also something that speaks to kind of the
00:21:44
Speaker
How does this relate to the world? Yeah, absolutely. Before we go, I want to touch back on the point you made earlier about getting people to comment, send you edits and suggestions. Can you talk a little bit about how that interaction and that process has gone in doing this open world where you're not locked away in a room for a year and you come out with, but you're having this interaction, what is that like?

Open Writing Process and Reader Feedback

00:22:07
Speaker
You bet. Well, so I run a mailing list or a newsletter that people can subscribe to on the website. And that's the primary channel. I think the secondary channel is Twitter. But so people can sign up for the newsletter before going public with the chapter.
00:22:23
Speaker
I send it out to everyone on the mailing list to kind of get their feedback. And I hear from at least like five to 10 readers for every chapter coming back with edits. Some people, because there's a link to the GitHub repo where all this is stored, some people just send edits directly and pull requests on GitHub. Many people come back with, Oh, I didn't understand this. I didn't understand that. And what I've been most surprised by is like many people come back as
00:22:51
Speaker
experts telling me how things actually work. For example, there are a lot of things that I know but don't know in detail. Color theory is a highly complex thing, digital color theory and color spaces and color profile. I spoke to at least a few people who really knew their stuff. I think that's the best thing.
00:23:12
Speaker
And that has been the most surprising thing, this pool of experts that are just willing to give their time to send me edits. So yeah, I send it out to the mailing list, I get feedback, then I post it for more public consumption on Twitter.
00:23:27
Speaker
Yeah, the edits roll in. That's cool. And you don't have your own calendar set up, right? You're just writing all the time and just putting them out as you feel that they're ready to go out? Yes, I am. So I'm teaching also, and I do some presentation and a little bit of consultant work. So I try not to force myself into a schedule, but I'm publishing at least hopefully a couple of chapters a month in 2017. Wow. It's a good long haul. Yeah.
00:23:56
Speaker
Well, it looks great. And so and then at the end, we'll have a hardcover that we can hold in our hands at some point, right? Hopefully, yes. I'm hoping to do a Kickstarter because I want to do it and not print on demand, but do a real printing press. Nice book that is bound and looks beautiful. So awesome. I'm sure it will be. I'm really enjoying it. It's nice to sort of have these chapters fed to you every week or so to have something new to read and you know,
00:24:21
Speaker
not feel like there's this huge book on my nightstand that I have to get to. The book is great. Programming design systems. I think everyone should really take a look, especially if you're in design or web programming or data visualization or working with data, which is pretty much everyone who listens to this show. I think it's going to be a great, I think it is already a great resource, but it'll be great when it all comes together to take people all the way through. So, Rune, thanks so much for coming on the show. It's been really interesting.
00:24:47
Speaker
Thank you very much. Great. And everyone, thanks for tuning into this week's episode. I hope you've enjoyed it. So until next time, this has been the policy of this podcast. Thanks for listening.
00:25:07
Speaker
This episode of the PolicyViz podcast is brought to you by JMP, Statistical Discovery Software from SAS. JMP, spelled J-M-P, is an easy to use tool that connects powerful analytics with interactive graphics. The drag and drop interface of JMP enables quick exploration of data to identify patterns, interactions, and outliers.
00:25:26
Speaker
JUMP has a scripting language for reproducibility and interfacing with R. Click on this episode's sponsored link to receive a free info kit that includes an interview with DataVis experts Kaiser Fung and Alberto Cairo. In the interview, they discuss information gathering, analysis, and communicating results.