Episode 47
Creative Coding: Programming Visuals with Joshua Davis
Legendary designer, Joshua Davis, joins us to talk about how he utilizes programming to create unique visual landscapes. A Flash pioneer for over a decade, Joshua shares his journey with open source software and creative coding that informs his incredible art.
In this episode, we time travel back to ‘95 to hear how Joshua went from painting to programming. He also shares what frameworks he’s using now, why he’s a fan of open source software, and why it’s important to share what he’s learned with others.
This episode is brought to you by Wix. Push the limits of design and start creating beautiful, impactful websites that are uniquely yours at wix.com/dribbble.
UEFA Champions League Opening Visuals with the Black Eyed Peas, presented by Pepsi from Joshua Davis on Vimeo.
Subscribe to Overtime on Apple Podcasts or Spotify. Or download the episode via Simplecast.
Links Mentioned on Overtime
- Joshua Davis
- Joshua on Vimeo
- Joshua on Twitter
- Joshua on Instagram
- Commodore 64
- Slackware
- Branden Hall
- Displacement Shader + RGB Separation and Oscillation
- UEFA Champions League opening visuals
- Hype Framework
- Joshua Davis on Patreon
- Tim Saccenti
- Voices by Phantogram
- Fall in Love by Phantogram
- Here
- IBM Watson
- Praystation
- Once Upon a Forrest
- Escaping Success
- MakerBot
- Anderson Ranch
- Joshua on Skillshare
- Joshua Smith, Hydro74
Transcript
Dan: Yeah. So, welcome to Overtime. Joshua Davis.
Joshua: Are you ready to rock?
Dan: Okay. Already that’s the best intro that we’ve ever had.
Joshua: So, basically what’s happened is is that all the people who were freaked out about that have now left, and all the people who completely relate to that are like, “This is my guy.”
Dan: Which is a great filter for the audience, right? Now we know that we’ve got our people that we can talk-
Joshua: There’s plenty of people who are like, “I am out of here.”
Dan: We don’t want those people to listen, let’s be honest.
Joshua: Right. Right, right.
Dan: If you’re going to be scared off by that, come on.
Joshua: Let’s see if I can not curse for an hour. Let’s put that challenge.
Dan: That’s okay.
Joshua: Can we get a curse timer going at some point?
Dan: On Vimeo, your bio is … I love this. “I write things … That make things.”
Joshua: Yeah.
Dan: I love that. It’s beautiful. It makes sense, from what I know of your work and, gosh, I’ve been a fan for so long. For those that maybe aren’t familiar, there’s probably very few of you actually. But, tell us what that means, I write things that make things.
Joshua: I think across all my social media, one thing that I’ve always tried to do is not take myself too seriously.
Dan: Yeah.
Joshua: You know, not to think that I’m too precious or that my work is too precious. My social media taglines have always just been really silly. You know, just to kind of keep it like, “Hey, listen, your next door neighbor has no idea who the hell you are. Let’s bring it down a bit.”
Dan: That’s good.
Joshua: I think my Twitter says … What does my Twitter say? My Twitter’s probably a little more professional.
Dan: Yeah, it is. Is a designer, technologist, author and artist. Yep, using creative coding.
Joshua: What does my Instagram say? My Instagram says I sell forms and color for a living.
Dan: Oh, that’s great. Yeah, yeah. They’re all true, though. They’re not jokes or anything. It’s true.
Joshua: Yeah, they’re kind of like abstract representations of myself. Like, that’s really what I do. I sell blue and triangles, and people pay me to do this. So I sell forms and color for a living, and then my Vimeo … I think it’s like I write things that make things.
Dan: Yeah, yeah. Love it.
Joshua: Obviously we can go like way back, but I first got into computers … Commodore 64 I think was my first computer.
Dan: Oh, yeah. Classic.
Joshua: I think I had writing basic for commodore 64.
Dan: Yeah.
Joshua: I mostly just played video games. You know, it was great. A Bard’s Tale, you have reached a mountain pass. There’s a sign, there is a rock. Pick up rock, you cannot pick up rock. Fuck rock, you cannot fuck rock.
Dan: Everyone has played that.
Joshua: Yeah. Yeah. I think that was my first computer, was a Commodore 64.
Dan: Yeah, classic. Classic.
Joshua: Yeah. My parents sort of got me into computers pretty early. This is like around in the 80s. I didn’t really … I kind of went the art path and we obviously can talk about my career as a painter at some point.
Dan: Yeah.
Joshua: But, eventually in 1995 I started to get reintroduced back into computing. Actually, I gravitated towards Linux because I couldn’t afford Mac.
Dan: Yeah.
Joshua: I really didn’t know much about PCs.
Dan: Wow. Wow.
Joshua: I think Windows at the time was kind of expensive.
Dan: Yeah, yeah.
Joshua: DOS came on a bunch of floppy disks, and again I can’t remember what the price tag was back in ‘95. For Linux, you could buy a $25 book at the bookstore, and they gave you a CD with the operating system on the back of the book.
Dan: Wow.
Joshua: So, Linux was kind of my first foray into computing, which that community and that sensibility will come into play much longer down the road in terms of embracing open source and giving stuff away.
Dan: Yeah, right. Right. How fitting.
Joshua: I’m leaving out a lot of gaps, but there’s this kind of ‘ah-ha’ moment where I realized, “Oh, I’m still a painter, but I’m just going to use this funny little box and I’m going to try to self-teach myself programming.” So that phrase is like I write things that make things, kind of really holds true. Which is, I’m fascinated about this idea of writing in some kind of language that uses the power of hardware to produce something.
Dan: Mm-hmm (affirmative). Yeah.
Joshua: I’ve made these quotes over the past couple of years, which is … It’s like, I never want to paint again because with writing programming and using hardware, I’m really creating things that sort of dazzle my eyes and dazzle my brain, so far where the things that I’m making far surpass the human hand.
Dan: Oh, yeah.
Joshua: If I had to sit in front of a canvas and try to paint half of the stuff that I do with programming, it would just be impossible. So, I like this idea of I write things that make things. It’s very nondescript in the sense that a lot of times I’m writing stuff and I don’t even know what I’m going to get.
Dan: Yeah.
Joshua: I sort of let the computer do what the computer does, and functions will run and things will happen and all of a sudden it’ll be like, “Happy Birthday. Here’s a piece of artwork.” I’m like, “Holy shit.” So, a lot of times I’m sort of surprised by the computer. So, yeah. I write things that make things is kind of my tag.
Dan: Yeah. I think it’s beautiful. It sums it up, and when I saw that I’m like, “That’s brilliant.” You know, you said Linux started with-
Joshua: Yeah.
Dan: How quickly did you … Actually, Linux in ‘95 graphically, were you immediately sort of hooked on using computers to create art?
Joshua: No. No, my very first computer was a 286 PC. It was a 286 PC, and it connected to a monitor that was amber.
Dan: Oh, wow. Yeah. Right.
Joshua: It did not do color.
Dan: Monochrome, yeah.
Joshua: Yeah. You could either get one that was green or amber.
Dan: Green or amber, yeah.
Joshua: Oh, my god. I’m dating myself like crazy. If you could see a video of me right now, I sort of look like Santa. I have a full white beard. I am your grandpa.
Dan: I’m a grandpa, too. You’re in good company here.
Joshua: Yeah. ‘95, there wasn’t even a color video card.
Dan: Right, right.
Joshua: You plugged in, and you either had an amber screen or a green screen. I had amber. At the time, back in ‘95 Linux was really just command line for me.
Dan: Yeah.
Joshua: You have to understand, I was this weird kid, man. I liked taking things apart to figure out how they worked. I would take apart radios and toasters, and believe it or not, I think maybe I was in junior high school. I was obsessed with Radio Shack, and I would go up to Radio Shack and I would just buy shit. I would just buy copper boards and I would buy resistors and transistors. I had no idea what the fuck I was doing.
Dan: You just wanted to buy them.
Joshua: I just wanted to buy the stuff, because I was convinced I was brilliant and I would be able to take it home-
Dan: And build something.
Joshua: … and God knows, I would build either a sex robot or a spaceship.
Dan: That’s amazing.
Joshua: I would actually buy stuff from Radio Shack, just because this fascination with figuring out how things work. It’s sort of like I guess maybe a quantum computing thing, you know?
Dan: Yeah.
Joshua: This idea of disassembling something to find the very small, to find out how something works.
Dan: Yeah, yeah.
Joshua: My mom will joke, like I would take things apart and put them back together. The thing would still work as expected, but I’d have leftover parts. I would disassemble part of the thing and be like, “Why’d they put this shit in here? They don’t need this.” I was just that guy.
Dan: Wow. Wow.
Joshua: With computers, I was more fascinated with the idea of taking a computer apart, figuring out how it worked. Now, I’ve been building computers ever since 1995. No, Linux at that time was not fun. It was command line, just kind of tinkering. Eventually, I got a 16 color video card and then eventually I got a 256 color video card. I remember I had this 256 color video card, and wow. I just remember the heavens opening up and I just thought, “This is the best thing next to sliced bread.”
Dan: Yeah, yeah.
Joshua: Like 256 colors? Are they crazy?
Dan: Who could possibly need more?
Joshua: Who could possibly use this many colors?
Dan: Right. Right.
Joshua: At that point, I was using Slackware. Slackware Linux obviously has the XFree86 Window Manager, which is the GUI that just sort of … It’s the GUI to the command line. So, I got that up and running. They had this thing for Slackware called Enlightenment, and Enlightenment was like a desktop manager that you could run on top of the XFree86 Window Manager. Half of your guests have now left because they have no idea what I’m talking about.
Dan: No. No, no, no.
Joshua: That’s fine. Thank you for coming. The fun bit was is that it ran off of this thing called a Step RC files, and you had this Step RC file which was very similar to HTML. It basically was like a lookup document, where you pointed to certain things on the desktop and then you could point it to bitmaps. So, I was using GIMP at the time.
Dan: Oh, GIMP. Right.
Joshua: Yeah, graphical image manipulation program.
Dan: Right.
Joshua: I could make bitmaps, and then you could use a Step RC file to say, “Okay. Use this bitmap for this, use this bitmap for that.” You would restart Linux, and basically you would have the Josh Davis desktop.
Dan: Oh, wow.
Joshua: I was designing my own desktops.
Dan: Your own interface.
Joshua: It’s just funny, because I didn’t even know that that was a job. I didn’t know that, “Oh, that’s called graphic design.”
Dan: Yeah, right. Right.
Joshua: People had that as a job. So, obviously fast forward but I get started in Linux, then I start learning HTML and JavaScript. This is Netscape 2. This is like ‘96, maybe?
Dan: Right. Right.
Joshua: I’m bad with times.
Dan: Mid-90s. Yep, yep.
Joshua: Might’ve been ‘96. That was like super easy. You could view the source and view source was like the really great way for me to learn kind of how things worked.
Dan: Yeah, amazing.
Joshua: It just kind of snowballed from there. I don’t think it was until 1998, some three years after I started tinkering in this whole thing that I realized, “Oh, I’m a painter but these are the weapons now.”
Dan: Yeah.
Joshua: Like, I can put down the brush and the paints, and it’s actually programming and hardware is going to be my new weapons.
Dan: At that point, were you frustrated at all with technology? Like, visualizing what you wanted to do?
Joshua: That’s a hard question, because I think yes and no. I think I was frustrated because I wasn’t a very good programmer, and I was self-teaching myself programming. It took me maybe like six years to really get comfortable with programming. I was the kind of guy where … This is why I embrace open source, and I like this idea of I don’t know what I’m doing. I’m going to give it away, and then people are going to fix it.
Dan: Yeah, yeah.
Joshua: Or make it better, and then it would come back to me and I’d be like, “Oh, okay. So, that’s what modulo does, or that’s what a switch case is. Or, that’s what if else does.”
Dan: Yeah.
Joshua: I literally was learning by giving away, and people were just fixing my shit.
Dan: Wow.
Joshua: This is where I meet Branden Hall, Branden Hall was really my mentor in really early on. He came up to me at a conference and he’s like, “I love what you do but oh, my god. You are a terrible programmer.” Rather being offended by that, I was like, “Well, great! How do I get better?”
Dan: Yeah, yeah.
Joshua: I really have to thank him for sort of kind of taking … He probably hates me, I asked him so many questions. He really took me under his sort of programming wing, and kind of taught me the things that I needed to know and to do, and best practices. It was always great, because I would write a program and it would be like 100,000 lines long. Branden would take it and give it back to me and it would be 15 lines of code.
Dan: Wow. Wow, wow.
Joshua: I sort of learned these … Yeah. I sort of learned these shortcuts of how to do things.
Dan: Hmm.
Joshua: He was really instrumental in making that happen. So to answer your question, I think I was frustrated at the time just because I wasn’t really good at best practices and being able to program.
Dan: Right.
Joshua: But on the other end of it, I was just completely floored and dazzled because I thought, “This is like oh, my god. This has never happened.”
Dan: Yeah, yeah. New territory.
Joshua: Yeah. This never has existed, like this idea of being able to have a canvas through a screen and anyone in the world could potentially log on and see this piece of art.
Dan: Yeah.
Joshua: Was like, holy shit.
Dan: Yeah.
Joshua: There was that sort of knowledge that this is something that’s never happened before. It was really easy to look back at my painting career, which my painting career … I was painting people in the 15th century. I worked in oils, I did glazing.
Dan: Wow, wow.
Joshua: It would take me forever to make paintings, and I would sort of be upset. Man, it’s the 90s, and I’m painting all these people in the 15th century. The internet was really kind of this thing where it was like, this has never existed. Like oh my god, you literally just caught the first wave. I’ve been obviously surfing it ever since.
Dan: Wow. Wow. That’s awesome. What language, by the way, when you say programming Linux in the 90s. I’m just curious, what you’re using for tools back then.
Joshua: Oh, my god. Here’s another funny thing. I think I bought my first domain in … I’d have to look up on obviously who is, but I think I bought my first domain ‘97 or ‘98.
Dan: Mm-hmm (affirmative), yeah. Yeah.
Joshua: My first domain I bought was Cyphen, C-Y-P-H-E-N.com. It was a JavaScript color tool where you could put in RGB color values and it would return the hexadecimal equivalent. That was a project that I made, because at the time Photoshop and Illustrator didn’t support hexadecimal colors. But, the web did support hexadecimal colors.
Dan: Right.
Joshua: I made this sort of tool to figure that out. So, I’m using Linux and there was no tools. So, I was actually SSH-ing into my server. I was writing code live in VI.
Dan: Oh, geez. Wow, yeah. Right.
Joshua: Yeah. I was writing code live in VI, which there’s a bunch of people who are cringing right now who are probably saying, “Why didn’t you use EMAX?”
Dan: Right, right. Of course.
Joshua: That was available at the time. But, EMAX was super complicated. I didn’t really understand … It was hard for me to use, just because it was so robust. VI was just stupid. There wasn’t a lot you could do in VI, so it was much easier for me to pick up VI because there wasn’t a whole hell of a lot you could do.
Dan: Right. It’s a good constraint, yeah.
Joshua: Yeah. I was SSH-ing into my server, and writing code in VI. At that time, I really was just writing HTML in JavaScript, and those were really kind of the first … You can’t really call them programming, they’re markup languages. But, getting comfortable with that first meant, “Okay. Well, now I want to do stuff on the server. Cool, I need to know PEARL.”
Dan: Yeah.
Joshua: So, I started dabbling in server-side using PEARL. Then eventually, obviously cascading style sheets come around, and then obviously Flash comes around. ActionScript is very similar-ish to JavaScript, so it was really kind of this stepping stone of really just starting off with HTML and JavaScript back in Netscape 2. Writing this all in VI, and then that was kind of the stepping stone to moving onto ActionScript. Now, I’m doing stuff … Kind of the four main areas that I’m dabbling in is Arduino, processing which is Java.
Dan: Yeah.
Joshua: Processing is kind of off to the side, and I’m also doing stuff just in straight Java. So, now I have this system now where I’m kind of coding in Java directly, where I pull processing into.
Dan: Wow.
Joshua: Then, I’m tinkering a little bit not with C++. This is mostly because I want to play in Unreal engine a bit.
Dan: Oh, yeah. Sure.
Joshua: Unreal engine is C++, so for the past couple of months I’ve been slowly trying to get my feet wet into C++. Then really GLSL, and I really end with that one because I really think that GLSL is the thing to know right now.
Dan: Really?
Joshua: Oh, yeah. Yeah, for sure.
Dan: I don’t even … I haven’t heard of this one.
Joshua: Well, WebGL.
Dan: Oh, okay.
Joshua: WebGL basically is GLSL shaders.
Dan: Gotcha.
Joshua: So, writing shaders … You have the ability to hangout in WebGL and do stuff in the browser, but then you have environments where C++ likes GLSL. Java you can do GLSL, but then you have environments like TouchDesigner, which support it. You have environments like Unity and Unreal engine that support it. So, right now I’m really trying to build up my muscles on GLSL, which has been a challenge for sure.
Dan: I’m glad you mention that, because there’s a … Just going through your Vimeo in the past, there’s a displacement shader madness video, for instance.
Joshua: Yeah. That’s using shaders.
Dan: Yeah, right. Just the stuff it produces, just so insane.
Joshua: Yeah. Really, the science behind it … It’s really not that complicated. Your computer has a CPU, and your CPU really is kind of this Swiss army knife of components, in the sense that it tries to do everything that you could possibly want to do on your computer.
Dan: Mm-hmm (affirmative).
Joshua: So, what does that mean? That means it needs to accommodate somebody who is writing poetry in Word. It means that it needs to be able to run a browser, so that you can surf YouTube. It also means that guys like me need to be able to write programming on it and make graphics.
Dan: Yeah.
Joshua: Really, the CPU is really kind of a bottle necked piece of hardware because it tries to be all things for all people. So, this is where you get into writing shaders. Writing shaders means, “Hey, for $1000 you can put a top of the line GPU card in your computer, and you can play video games.” All of the programming that’s done in these video games says, “I’m going to move all the hard bits, all the stuff where I need to do a lot of calculations. I have to move a lot of pixels, I have to draw a lot of stuff on screen. I’m going to move that over to the GPU card, because that GPU card only does that.”
Dan: Right, right. Right.
Joshua: It has no idea how to do any of that other bullshit.
Dan: Yeah.
Joshua: It just knows how to paint stuff to screen really, really fast.
Dan: Mm-hmm (affirmative).
Joshua: This is what this GLSL stuff is, which is we’re writing specific programming that moves all of the calculations over to the video graphics card. So, that means when you’re looking at my Vimeo, yes, those are videos. But, those are videos of real time systems.
Dan: Yeah, right. Right.
Joshua: All these animations and all these things that you’re seeing on screen are animations that are running real time 60 FPS. So it means that if I’m doing a concert for somebody, I can bring a computer with a really crazy GPU card in it. And, I can have the sound guy give me an XLR into a mixer, and that mixer going to my computer. I can get a video guy that can send me a video feed, and I can use those as inputs in real time to give visual resorts back. That’s a lot of what I’m doing now, and that’s I think mostly how I pay my mortgage.
Dan: Yeah, yeah.
Joshua: Is working with bands to do these kind of unique one-off shows, where these graphics are reacting in real time to some sort of physical input that’s happening at that exact moment on stage.
Dan: Wow. Yeah, right. That stuff, it’s year live on stage or backstage, whatever, with the band. You’re doing this in real time, that’s amazing.
Joshua: Correct, yeah. If Taylor Swift does this concert in Houston for the Superbowl a couple years back and she says, “What up, Houston?” My programming can react to her voice making those sounds, displaying graphics on stage as it’s happening. So because everything that I do is algorithmic, meaning that it’s unpredictable, I’m just sort of designing the guard rails for excitement to happen.
Dan: Yeah, yeah.
Joshua: That means that every show is potentially different.
Dan: Oh, yeah, even with the same setup and software.
Joshua: Same setup, yeah. The algorithm may trigger something completely different. So if you were to follow a particular band around that I’ve worked with, every show could potentially be different.
Dan: Oh, wow.
Joshua: Which is exciting.
Dan: Yeah. That’s super amazing. Yeah, I know. From your website, any one of these tiles from the index of your website is just amazing.
Joshua: They’re great iPhone wallpapers, man.
Dan: Yeah, exactly.
Joshua: Crack into that business.
Dan: Right, yeah. Please click into them, because they do more than just look amazing. So, this UEFA Champions League opening visuals. I’m looking at this and I’m like, it’s mind blowing to me. If we took that as an example, how do you even begin at that? I know we don’t have all day for you to explain how you create this stuff, but it would be cool to know … Obviously you’re not using Linux with a monochrome screen anymore. How do you even begin to do that?
Joshua: Yeah. Most of the stuff that’s on my website is done in processing.
Dan: Processing, right.
Joshua: I’ve been doing processing now for about six years. I’ve gotten really good at these kind of special techniques for kind of pushing processing to the brink.
Dan: Yeah.
Joshua: Again, it’s using a combination of Java, processing … I am a contributor to a library called Hype. There’s a bunch of us that sort of contribute.
Dan: Yes, -that framework.
Joshua: Yep. So, that’s up on GitHub, and it’s kind of a collection of things that do things. So, I’m one of the contributors to that.
Dan: Yeah.
Joshua: It’s using shaders, these GLSL shaders. So I really split the process into three, which is color, form, and algorithm are kind of the three camps. I try to make everything super dynamic in the sense that if the first two things of the process are form and color, that could be anything. So, I really have this library of programming that says, “Hey, here’s how I’m going to handle color, and here’s how I’m going to process color.” So when I’m doing these UEFA Champions League opening visuals, I’ve done them two years in a row. I did it this year with Dua Lipa, and I did last year with Black Eyed Peas.
Dan: Nice.
Joshua: I can work with the brand of Black Eyed Peas, and it’s also sponsored by Pepsi, so I’m getting sort of two inputs from two entities here that are saying, “Here’s what colors we like.”
Dan: Yeah.
Joshua: Obviously Pepsi has branded colors, and so I can start to build these tables of color. Again, I give all this stuff away. I actually just started a Patreon account.
Dan: Yes, I saw that. Yeah. That’s fantastic.
Joshua: Yeah! I’m actually giving away how I do all this stuff.
Dan: I know. I wanted to ask about that too, yeah.
Joshua: The Patreon thing, so it’s patreon.com/joshuadavis. I think I’m up to 22 videos now. So far I did three videos called Working with Color, and I showed these sort of tricks where I say, “Okay. I’ve got a client, and here’s how I’m building these color tables.” I literally build these color maps and I can say, “Cool. I’ve got all of the colors that are going to exist for this opening six minutes of this football match.”
Dan: Mm-hmm (affirmative).
Joshua: Then, we move onto form. So we set color off to the side, and then form really is I’m making brushes. Right? The brushes are … The best example I can get is if you go to the art store and actually look at the section where they sell brushes, you’ve got fat brushes and you’ve got thin brushes. You’ve got small bristles and you’ve got long bristles, and you have bristles that are made out of sable. So it’s really, really soft, and you’ve got bristles that are made out of camel hair, so it’s really, really coarse. There’s all these different types of brushes that if you were to buy a collection of them and bring them home and execute gesture on a canvas, you’re going to get a specific kind of texture based on the type of brush that you’re using.
Dan: Right. Right, right.
Joshua: My brushes actually are black and white transparent PNGs. So, I’m mostly making artwork in Photoshop or Illustrator. Mostly Illustrator, and most of my brushes are just black and white transparent PNGs.
Dan: Wow, wow.
Joshua: If I make a piece of artwork that’s like 1000 x 1000 and I just draw a 400 x 400 circle in the center, well, now I’ve got transparency all the way around it. Right?
Dan: Mm-hmm (affirmative).
Joshua: So, it’s kind of like a floating circle in transparent space. If that circle is white, what I’m doing is I’m saying I’ve got this brush. This brush is this square that has a circle in it, and I’m then pointing to the color and I’m saying, “Hey. I understand you’ve built some color tables. Can I take a color and apply it to this white transparent P&G?”
Dan: Wow, yes. Yes.
Joshua: White will absorb all of the color. Black will absorb none of the color. So, that’s why like all the brushes that I’m making or all the forms that I’m making typically are black and white. And so, now I’ve got color. Now I’ve got form, and then we move onto the third part which is algorithm. Which is, how do I write sort of an invisible system that is going to move things in space? That is going to point to the forms, the forms are pointing to the color, and all of a sudden I’m now painting this universe. That whole process really isn’t much different than how I would think most designers work in Photoshop or Illustrator, right?
Dan: Yeah. No, that’s true.
Joshua: You make a canvas. You pick your color swatches, you decide whether you’re drawing circles or triangles or squares and then you’re sort of manually laying them out on the space. I’m making those same exact decisions, but usually those decisions have animation in some way. I’m using a computer to make those decisions. I’m using programming to make those decisions, but based on rules. So I might say, “This is a minimum scale, this is a maximum scale. This is a minimum rotation, this is a maximum rotation.” You know what? These two forms don’t like each other, so they should repel. These forms love each other, so they should adhere. You can start to use all these sort of different concepts, and all of a sudden you can run this program.
Joshua: It will execute that animation and that animation is always running, always moving. Sort of always algorithmically unfolding itself, and then I’m just sitting there going, “Print image. Print image. Print image. Print image.” And then at the end, I could have a folder that has 100 images in it, and then I can sit there and go, “Okay. That one’s good, that one’s good. That one’s good.” Or, maybe I should make this change and re-run it over again. So really, all the stills that you’re looking at on my website are images frozen from sort of an animated system.
Dan: Right. Yes.
Joshua: Now you may say, “Wow. That sounds really complex. Why would you want to do that?” It has been super helpful for clients, because I remember a couple years back. A buddy of mine, Tim Saccenti was photographing this indie band called Phantogram. He was photographing them on a stage, and then it just ended up that he projected one of my animations on their faces. Took the picture, and it ended up being the album cover.
Dan: Wow. That’s fantastic.
Joshua: They’re like, “Okay. Cool. This is going to be an album cover of these two people, and then Josh Davis’ weird geometric artwork is projected on their face.” And then, you start to get in these conversations and you say, “Well, actually, you know. It’s a program that I wrote, and it’s actually based on animation and here’s some of the animation.” A month later, I’m asked if I want to partner up with Tim Saccenti again and do their music video.
Dan: Wow.
Joshua: So same environment, but it was print at one point. But now, I’m actually able to take this animation and have it be part of their music video.
Dan: Wow.
Joshua: Then you sort of say, “Hey. You know, I should also probably tell you that this works real time. If you ever go on tour-“
Dan: Oh, yeah. Right.
Joshua: Next thing I know, I’m doing a show with them at South by Southwest. We did this unique show where I algorithmically projection mapped all the animations on the crowd and the band.
Dan: Wow.
Joshua: At one point during the concert, the lead singer Sarah’s like, “I feel like I’m tripping acid.” I just thought, “Well, that’s a win-win.”
Dan: Mission accomplished.
Joshua: Yeah. It’s fascinating, because I’m basically working in this one environment that doesn’t care whether the output is physical installation, Vimeo video, music video, or print. For me, it’s been this kind of ideal work process because I can output to so many different mediums.
Dan: Yeah.
Joshua: So many different platforms, where typically I think that becomes really difficult. Where maybe you’ll hire a graphic designer that mostly works in Photoshop or Illustrator, he’s got a hand that off to … That becomes the album cover. He has to hand it off to somebody who tries to interpret it and after effects for a music video. Then, that person has to hand it off to some other person for their live show.
Dan: Right, right.
Joshua: It just becomes very complex to sort of navigate that chain. Or, you could just hire me.
Dan: Oh, no. I was going to say, clients must love that. Right? You’ve created a system that they can reuse for all sorts of applications.
Joshua: Yeah. I’m actually flying to Chicago tomorrow, because I have a client in Chicago called HERE. I’ve written some programs based on data, so they’ve given me a bunch of data. They’re a map software, so they’ve given me maps of different cities. I’ve taken map data and generated all this artwork that is murals in their corporate headquarters.
Dan: Wow.
Joshua: The software that I’m running is based on animation, so they could always get a video if they wanted to. But, I’m also generating … It’s funny. I’m actually writing programs that generate PNG files that are 10 feet high by 25 feet long. So, I’m writing software that’s generating 25 by 10 foot PNG files.
Dan: Wow.
Joshua: Which is crazy.
Dan: That’s insane. Yeah.
Joshua: At the end, I get these PNG files that I have to convert into … I think it’s PSB, is the large format for Photoshop. Not only am I generating these huge murals, but I’m generating hundreds of them. So I’m able to say, “Client, here is a hundred selects. Which ones are you liking?”
Dan: Wow.
Joshua: “Oh, okay. I kind of like this family, but I wish it was in this color.” Cool. Go make a cup of coffee, change the color part of my process and say, “Hey. I need this to be in blue rather than red,” and I can instantly within a few seconds generate a whole new series of compositions. Whereas if you were asking somebody that mostly worked in Photoshop or Illustrator, that process could be very time-consuming.
Dan: Oh. Yeah. It would be a nightmare. That’s amazing.
Dan: This week’s episode is brought to you by wix.com. With Wix, the web is your playground. Start with a blank slate, and design your website in any layout you want. Work with advanced features like retina ready image galleries, custom font sets and sophisticated design effects. Each feature is intuitive to use, so you’re in control from design to live. With Wix, you’ll have real creative freedom to tell your story online, exactly the way you envisioned it. Push the limits of design and start creating beautiful, impactful websites that are uniquely yours. Go to wix.com/dribbble to get started today. That’s W-I-X.com/dribbble. Wix, what will you create?
Dan: I wanted to ask, too. So, you’re using all these open source tools now.
Joshua: Mm-hmm (affirmative).
Dan: Some of which you’re creating yourself and contributing to, and open source seems to be a big part of your work flow and sort of ethos. Initially, you got a lot of your work was in Flash.
Joshua: It was.
Dan: You really made a giant name for yourself in that community, and wrote some books and all that.
Joshua: Mm-hmm (affirmative).
Dan: I wonder if we could touch on that transition a little bit.
Joshua: Sure.
Dan: Because 15 years.
Joshua: Yeah. I worked in Flash for 15 years.
Dan: That’s a long time.
Joshua: Yeah.
Dan: Yeah. Was it a gradual transition for you? Or was it difficult to kind of-
Joshua: To move into Flash?
Dan: Well, to move out of Flash, I guess. ActionScript, it probably shares some programmatic similarities to other things. But, I just wonder how the process was for you to make that.
Joshua: Let me touch on both. I think moving into it was really easy.
Dan: Yeah.
Joshua: Because I remember complaining in 1998 about having to write sniffer code. Like, were they on a Mac? Were they on a PC? Were they using Netscape or were they using Internet Explorer? I remember being angry about that then. I was just like, “Wow. I’m going to move to this thing called Flash, because wow. If they just have the plugin, what I write is exactly what they say.”
Dan: Yes.
Joshua: So I dropped HTML and JavaScript like super quick, just because I was frustrated at wanting to sort of create these graphic design experiences. As long as they had the plugin, it was game time.
Dan: Yep. Yeah.
Joshua: So, moving into the platform was really easy. I found it really easy to walk away from HTML and JavaScript. It was really easy for me to move out of it as well.
Dan: Yeah.
Joshua: Funny enough, I left using Flash and moved into processing a month before Steve Jobs had written that open letter.
Dan: Oh, wow. Wow.
Joshua: For a couple of reasons, and the first reason was is that I was … I still kind of feel this way today, and I’m probably going to get a bunch of people that yell at me. But, the web is super boring right now for me.
Dan: Yeah.
Joshua: I kind of really felt that six years ago, or however … Again, I’m bad with time so don’t hold me to dates. It feels like six years. But, like a month before Steve Jobs wrote that open letter about killing Flash, I really kind of hit a ceiling. A couple things kind of had happened. One is, I had just finished writing IBM’s Watson with Branden Hall.
Dan: Oh, yeah. Right.
Joshua: That was kind of like, oh my god. Where do you go from here?
Dan: Exactly, yeah.
Joshua: You just write this thing, and at the time we really felt the weight of that project.
Dan: Mm-hmm (affirmative).
Joshua: I was sort of hired to design what Watson looked like.
Dan: Yes.
Joshua: And how it was going to animate, and how it was going to move. That was kind of what I was tasked with. Me and Branden built that in Flash. It was the last Flash project that I ever worked on.
Dan: Wow. Really?
Joshua: So IBM’s Watson is actually written in flash.
Dan: Wow, wow.
Joshua: I really kind of felt like that that was kind of a coming of the end for me. There was a lot of stuff that I was feeling. I was feeling like I was using Branden as a crutch, like he was so good and so far beyond me that I found it really easy for me to give up on the hard bits and just be like, “Oh, let me call Branden, and Branden will help me write this thing that I don’t know how to do.”
Dan: Yeah.
Joshua: I was kind of feeling like I used Branden as a crutch a lot, and we had just finished IBM’s Watson. Where do you go from here? The web was kind of getting super boring for me, like I wasn’t really interested in using it as a canvas to make art anymore. I’m really speaking to projects I was working on, like Praystation or Once Upon A Forest.
Dan: Yeah, yep.
Joshua: Which really were kind of like web art galleries. They were ways for me to make art, and the canvas was the browser.
Dan: Yes.
Joshua: I was sort of losing interest in doing that, and then Arduino happened. Arduino was like, “Hey, you want to use a sensor? Do you want to use a heart rate monitor? Do you want to use a motor?” Like, that was really kind of the icing on the cake, was like micro-controllers and being able to use electronics. And, really thinking about what the input is far more than I ever could. I was starting to get into using 3D, and Flash didn’t really do 3D.
Dan: Oh, right. Right.
Joshua: I did 2.5D. So, there was this kind of moment where there were was this fight or flight moment where I was like, you know what? 180 degree turn. I’m going to leave Flash and I’m going to pick something that is just like way … Just 180 degree turn, and I was like, “It’s going to be processing.” It’s going to be processing because I don’t know anybody that works in that area, like really really well. So, I don’t feel like I’m taking on a new crutch, like Branden was for me in Flash.
Dan: Oh, right. Interesting. Yeah, yeah. Yep.
Joshua: It also meant that I could tie into things like Arduino and Serial and do data and do cameras and microphones. It was like, a really easy transition. I was like, “Peace! I am out of here,” because there is all this other stuff that’s happening that is like really exciting. This idea of physical and digital, like, okay. I’m going to have a camera that moves things in 3D space, and it knows that I’m there.
Dan: Yeah.
Joshua: There’s depth to this, and it really was a really easy bye-bye.
Dan: Yeah, yeah.
Joshua: But it was weird, because I had done this a month before Steve Jobs had written that letter.
Dan: Yeah, made the announcement of … Yeah. Yep.
Joshua: When that thing dropped, all these people were like, “Yo. Are you going to say anything?” I’m like, “About what?”
Dan: You’re like, “I’m over that. I’ve been over that.”
Joshua: I am so already out the door.
Dan: Wow, wow. Wow. Yeah.
Joshua: For me, like I was just kind of like, I was in Flash for 15 years. It kind of really taught me a lot of the stuff that I really wanted to know, but back to what you said earlier, I’m never really satisfied. I’m always kind of frustrated that certain tools really sandbox you.
Dan: Yep.
Joshua: Flash really kind of put you in a box, and there was only so much you could do inside of that box. I think I started to get frustrated again because I had ideas that the technology couldn’t satisfy. So for me, it was nice to be able to jump out of Flash and into processing, because I had bigger ideas. Now again, I’m seeing this sort of happen again, where right now I’m trying to teach myself Unreal engine and C++.
Dan: Yeah, yeah.
Joshua: Because of the stuff that you can do in there in terms of making games or doing VR.
Dan: That’s a whole other world, right. Exactly.
Joshua: So, I’m slowly kind of making that little dabble transition into C++ and Unreal, just to see what I can make. But, back then six years ago I would say it was a real fight or flight. It was a real, “I am going to fight to reinvent myself in this new environment, and if I don’t make it, then I’m going to go work at the garden department at my local nursery,” because I gave it a go.
Dan: Yeah.
Joshua: If it doesn’t work out, then I’m just going to do something else. So, it was like a real moment, like I was pretty scared because I just thought-
Dan: Oh, I can imagine.
Joshua: Yeah. How do you spend 15 years really comfortable in an environment, and how do you just walk away from it?
Dan: Walk away from it, exactly.
Joshua: Just walk away from it.
Dan: Wow.
Joshua: That’s what I did, and processing was a real learning curve. I didn’t know anything about display matrices or hash maps. I really felt like I was starting from zero again. I knew certain things, like conditionals and for loops and how to write a class. I kind of knew those basic things, but processing was such a shift in terms of how you paint things and draw things that I really felt like I was starting over. If it didn’t work out then, cool. It’d been fun. See you later.
Dan: It worked out.
Joshua: It worked out!
Dan: Definitely worked out.
Joshua: I was able to sort of evolve myself.
Dan: Yeah, yeah.
Joshua: I think this ties in nicely back to some stuff that we were talking about before, which is how do you not take yourself too seriously?
Dan: Yeah.
Joshua: How do you always remain teachable? How do you always try to perpetually stay in the student? I always want to be curious.
Dan: Yes. Yes, yes.
Joshua: The goalpost always moves. A buddy of mine posted on Instagram a couple of days ago, and he posted this quote where he said, ‘The thing that you are seeking is seeking you.’ I said, “Well, shit. I got a really big problem, because the thing that I’m seeking is to always be seeking.” Right?
Dan: Yeah, yeah.
Joshua: I don’t ever really want to be satisfied. I kind of always want to keep moving the goalpost, and always being teachable and learning, and being uncomfortable and collaborating with people that are outside of my comfort zone. And trying new things, and in that process, you’re going to fuck up a lot. You’re going to fail a lot. But then, also you’re sort of learning new things and you’re always sort of remaining teachable. I would say, “God. It’s been 18 years, 20 years that I’ve been doing this.” How do I do it? How do I remain relevant? That’s another question, I don’t know necessarily if I’m relevant.
Dan: No, yes. Yes.
Joshua: But, it’s that always being thirsty, that always remaining teachable. That always trying to be humble and not taking your work too seriously, I think just keeps you in a perpetual state of change and trying new things and adopting new things. So, I don’t think I ever want to be stuck in an environment again for 15 years like I was Flash.
Dan: Wow. Yeah. Man, I agree with so much of that and relate to it, too. I think that constant desire to learn, that just paves the way I think for staying creative. You know?
Joshua: If you’re not uncomfortable all the time-
Dan: Yeah.
Joshua: Or if you’re not always questioning what the fuck am I doing all the time, then you’re probably not doing anything that’s of value.
Dan: Right, right. Right.
Joshua: If you’re comfortable and it’s easy, then it’s probably pretty boring. Trust me, I’ve been stuck there. I did a talk a couple years ago, I give a lot of talks throughout the year. A couple years ago, I gave a talk called Escaping Success. It was kind of like a weird controversial thing to talk about, because I was saying, “Hey, there’s all these people in this audience that are trying to find their style and find their voice,” and I’m saying, “Cool. Hope you find it, but don’t let it define you in the sense that you can get so successful at something, that you just end up repeating yourself.”
Dan: Yeah, yeah.
Joshua: I have fallen into that trap hard, and if you’re not uncomfortable or questioning every single day, “Do I know what the fuck I’m doing?” Which is sort of a daily fight, then I sort of question … Maybe I should just stop making work, you know? If it’s easy, if it’s comfortable, then I’m probably not pushing myself hard enough. In that quest to always be seeking and always remain teachable and always be trying new things, means that you have to embrace failure. It means that you have to wander, and try things that are way outside of your comfort zone. In that, you expand a little bit. You expand a little bit and you move into something new. Maybe you get to a place that you never thought you were going to be a couple years ago, and I always want to be that person. I always want to be excited every single day about the work that I’m making, because there’s that challenge. Because there’s that always moving of the goalpost.
Dan: Yes, super inspirational. I totally agree. It’s funny because without hearing that from you, just sort of watching your career evolve over the years, you’ve made it look so natural and easy. It’s almost like, “Well, Flash came and went but look at how Joshua was able to learn those new things, and then push the envelope even more as the technology evolved.” It’s impressive.
Joshua: Yeah. I think that’s one thing that really bothered me about Flash actually, and I thought it for ever. I hated being associated with the technology.
Dan: Yeah.
Joshua: I always hated being like, “Oh, yeah. He’s that Flash guy.”
Dan: Right, right. Right.
Joshua: That always drove me nuts, because it was just like Flash is just the tool. I do not give a fuck about this tool. Like I care about tripping myself out.
Dan: Yeah, what you’re creating with it.
Joshua: I want to make things that just make my brain and eyes melt. If Flash happens to be that technology at that particular time to satisfy that particular need, then cool.
Dan: Yeah.
Joshua: Let it be Flash. But when it was time to melt my brain in a completely different way, it was really easy for me to exit Flash. I always hated being associated with that use. It’s like, I never look at Chuck Anderson and go, “Oh. He’s that Photoshop guy.”
Dan: Right. Right.
Joshua: No, he’s just a graphic designer that has ideas. I think most of us, I would hope most of us listening to this podcast … We’re just interested in being able to get familiar with the tools to let those tools execute the crazy fucking ideas that are stuck in our heads.
Dan: Yeah.
Joshua: To associate that with a technology, I always felt like was a disservice. Like, I’m not a Flash guy. I just want to laugh my ass off and melt my brain, and I’m willing to use whatever technology it takes to get there.
Dan: Yeah. That’s such a healthy attitude toward anything, I think. You know? In order to grow and keep yourself interested in what you’re doing, and the focus on the actual work and not the process. That’s beautiful.
Joshua: Thanks, man.
Dan: So, what’s next for you? Maybe that’s hard to answer. There’s so much going on technology-wise, you mentioned VR. While you were talking about stuff I was picturing, I want to see a Joshua Davis thing happen where what you’re creating visually is actually being 3D printed in real time. I think that would be amazing. I don’t know how that would work. You’d need this giant space, things start forming. I don’t know. The possibilities are endless, though. Right?
Joshua: Sure, and I’ve tried it.
Dan: Have you really?
Joshua: Yeah, I have. I’ve written a couple programs that I’ve tried to output to MakerBot.
Dan: Right, right.
Joshua: I have a few MakerBot prints of some of my algorithmic stuff. I’ve got this one thing that’s maybe the size of a grapefruit, and it took four days.
Dan: Oh, my goodness.
Joshua: Took four days to print.
Dan: Wow.
Joshua: Because I didn’t know how to hollow out the inside. Listen, I really don’t know what I’m doing. But, what’s next for me is … If you could see my studio, one whole wall is just filled with shelves and bins. In each of those bins, I have things like circuits and cameras and sensors and magnets and GoPros, and projectors and drones and ethernet cables. And motion sensors, and touch devices and Arduino.
Dan: Yeah.
Joshua: It’s a mad workshop in here.
Dan: Sounds glorious.
Joshua: I’m constantly fascinated with, again, this physical and digital. I’m always trying to find ways to say, “What’s the input? How does the input maybe take on some sort of physical capacity, and how does it interface with digital?” You know, how does it visualize what you’re doing? So, I’ve been teaching a lot of stuff in workshops lately that do just that. So, like every year I teach a workshop in Anderson Ranch, which is in Aspen, Colorado.
Dan: Mm-hmm (affirmative).
Joshua: We’ve done everything there from CNC printing, to 3D printing to laser cutting. We’ve done Open Computer Vision, we’ve done Leap Motion.
Dan: Wow.
Joshua: It’s always been this place where we’re trying to mix physical computing with digital output. Usually at the end, we either make a visual animation or we make prints. Or with the CNC thing, we wrote processing sketches that CNC routed your patterns on skateboards.
Dan: Wow.
Joshua: We’re really trying to do sort of weird stuff. So, I would say that the future is always like for me, trying to keep going down that path and finding new ways to use input. Whatever that input be, whether it be data or camera or sound or sensor, or micro controller. And, attach it to these sort of digital experiences. I think it might be good to point out, I don’t really do a lot of projects a year. I think this year I’ve maybe done three major projects. I’m a studio of one. My studio only has my body in here. I have an agent, who obviously helps me figure out how to do contracts and budgets and yells at me when I need to get things finished. But really, my studio is just me. I’m really just kind of … I have people that I collaborate with, but I think it’s important to realize I am not a big studio. I don’t have employees. I don’t have to take on every project that comes in-
Dan: Mm-hmm (affirmative).
Joshua: … to cut paychecks.
Dan: Yeah, you can be really selective.
Joshua: It means I live real modestly. It’s funny, I had this conversation once with Stefan Sagmeister. I was having lunch with him and I said, “You know, I give talks at all these conferences. I’m pretty sure that most of the people in the audience make more money than I do.” I was waiting for Stefan to tell me, “Well, here’s how you make a million dollars.” But what Stefan said is, “They should.” I said, “What?” He said, “They should make more money than you, because look at the situation. You’re up on stage being able to do whatever you want to do, and some of these people don’t have that luxury. So, they probably should be paid more than you because a lot of them are probably unhappy.”
Dan: That’s interesting. Yeah.
Joshua: I was able to say, “Well, how much money do I really need to make? How much money do I need to make over the course of a year to buy food and pay my mortgage?” I maybe only do three projects a year, and it’s enough for me to sort of do what I do and still try to laugh and melt my brain. But, I don’t make a ton of money. I sort of make just enough to sort of sustain the year, but fuck, am I happy.
Dan: That’s the important part, right? Also, as you’re talking about this, I’m thinking of your Patreon. You got some Skillshare stuff, and your talks at conferences. I think we’re all thankful that you’re sharing and you’re giving back to the open source projects. It’s very commendable. I think not everyone has that in them to want to share while they’re learning something. You know?
Joshua: Again, I got this argument years ago when I was doing it with Flash. People would say, “Why are you doing this? Why are you giving away the FLAs?” What most people didn’t realize is that if I gave something away, I would get it back 50 times.
Dan: Yeah. Yeah, yeah.
Joshua: 50 times people trying other things, and so I was learning. I was learning because I’d be like, “Oh, shit. I never thought to do that.” That would end up fueling more of the creative process. Open source is very valuable in the sense that people do contribute, and they contribute outside of what you know. So, they’re going to do things-
Dan: That you haven’t thought of.
Joshua: That end up informing you.
Dan: Yeah, exactly.
Joshua: It just means that the inspiration is always moving. That’s why I always see these stupid ass things like, “How do you get over creative block?” I don’t know what the fuck that is. I don’t think I’ve ever … I can’t think back over 20 years where I’ve ever been like, “I don’t know what to do today.” That’s never happened! That’s never happened to me.
Dan: Yeah. Yeah. I know what you mean, yeah.
Joshua: And why is that? I think it has so much to do with if you are willing to give stuff away, people are going to give back to you where literally I have sketchbooks of ideas that are spanning years of ideas that I still haven’t gotten to yet!
Dan: Right. There’s just not enough time, right?
Joshua: So, there’s not enough time.
Dan: Yeah.
Joshua: There’s not enough time to embrace all these paths that people have helped point me into certain directions. Open source does that. Open source says, “Hey. You have one simple idea, people will give you that idea back with 50 mutations.” So, there’s never a moment where I say, “Oh, I have no idea what I’m going to do today.” That’s never happened to me. So, let me just say this. The Skillshare thing is nice. Skillshare is hard, because I really have to come up with a class. I have to come up with a syllabus. I have to work out all the examples under that syllabus.
Dan: Yeah. It’s a lot of work.
Joshua: It’s a lot of work.
Dan: Yeah.
Joshua: I’ve done three classes. The first one is Intro to Generative Programming. The second one is Generative Programming Animation. It’s like how you do the music video stuff. And then, the third one is Painting with Sound. It’s how to use sound to make audio reactive graphics. Those have been great. Those have been fun, I’ve been really thankful for those. But, Patreon really is my new jam. I’m spending most of my energy on Patreon now, which is, hey. It’s cheap, it’s $2 a month. Like, you help me buy coffee and cigars. You’re subscribing to the Josh Davis magazine of weird and wonder.
Dan: Yeah. Yeah.
Joshua: It’s like a magazine subscription. Each month I try to post one thing or multiple things. And, what’s nice about Patreon is that it doesn’t necessarily have to adhere to one syllabus topic like Skillshare does.
Dan: Right, right.
Joshua: I can go all over the place. Like, one class on Patreon I said, “Hey, here’s how we do stuff in command line. Here’s how you do home brew, here’s how we do FFmpeg to cut and edit video in command line.” Like, I’m trying to think about all these tools that have just helped my career, so that I can sort of pass it on to the next people. And so these 22 videos, I’m covering everything … The very first video, I tried to structure it like way back in the very beginning. So, the very first video is how the hell do you set up? How do you just start being this person?
Dan: Yeah.
Joshua: So, the very first video is like, here’s what I use. Here’s how I set it up. Here’s the tools that I’m using. Here are some of the shortcuts that I take. And so, I’ve been sort of slowly unveiling how it is I do all these sort of tricks and tips that have taken me 20 years to figure out. And, you only have to watch a 20 minute video. So, here’s a great plug. If you’re interested in learning how to do this stuff, it is easy. I will help walk you through the entire process, and the Patreon platform has just been really awesome. Because, again, I only do three projects a year or so. Being able to talk to a community and make cigar and coffee money has been awesome.
Dan: Cigar and coffee money. Yeah. I want to take them all now. I really do, because-
Joshua: You should, because I don’t just stay on processing. Again, I’ll show some stuff like, “Hey, here’s FFmpeg in command line, and here’s why it’s awesome.”
Dan: Yeah.
Joshua: Here’s how you can output to video, but here’s all these shortcuts that you can do that have been super helpful.
Dan: That’s great.
Joshua: Eventually, we’ll cover Arduino. Because it’s not tied to one universe, it means that I can say like, “Okay. Cool, here’s cameras that I’m using. Here are cameras that I’m using for these OpenCV things.” It doesn’t care whether you’re writing OpenCV in processing or openFrameworks or whatever. So, it’s been a cool platform to be able to cover sort of a wide range of topics.
Dan: Rather than with the Skillshare or online course, where you’re really preparing-
Joshua: Really locked in.
Dan: Yeah, and you have to do so much preparing ahead of time.
Joshua: Yeah, yeah, yeah. So, the Patreon thing … Not only am I doing Patreon, but I’m supporting a lot of people on Patreon. There’s some really great people that are using that platform, everything from musicians to quilters to whomever. So, there’s about five people that I support now on Patreon itself. I think it’s a really great way to say, “I love your content that you’re posting on Instagram, please keep doing it.”
Dan: Yeah. Yeah, right. Please keep sharing. Yeah.
Joshua: I just got Josh Smith, Hydro74.
Dan: Oh, yeah. Yeah.
Joshua: I just told him about Patreon, and he’s on Patreon now. I love Josh Smith, I love his vector work. It’s a way for me to say, “I love everything that you post on Instagram so much, here’s $5 a month so that you can just keep doing that.”
Dan: That’s super great. I love the whole premise of that.
Joshua: Awesome platform.
Dan: It’s awesome. Well, geez.
Joshua: An hour and six minutes!
Dan: I told you in the beginning, I’m like it’s going to be really hard to just kind of … There’s some things that we didn’t even … I didn’t get a chance to ask you about, like Dreamless.
Joshua: Oh, god. Yeah.
Dan: Which, actually is sort of interesting because it would … We would have to have a separate conversation about that.
Joshua: Dreamless was fascinating.
Joshua: Dreamless was kind of the really first hidden, weird cult communities. It’s just so funny how Threadless is created out of Dreamless.
Dan: Yeah, I heard that. I’m like, “That’s amazing.”
Joshua: Yeah. Yeah, they ran a T-shirt contest on Dreamless, and then the three guys were like, “Hey, we should start a company.”
Dan: That’s incredible. Yeah. It now makes sense.
Joshua: Dreamless was great. Yeah, it was kind of like before Facebook, before Twitter.
Dan: Yeah, exactly. Right.
Joshua: Before everything. It was a really great community of people that loved and hated one another.
Dan: Like any good community.
Joshua: Like any great community.
Dan: I mean, yeah. That was like a simple time for a lot of folks, and a lot of inspiration came out of that. So, and yet another thing that you’ve shared and were part of it, that was important. So, thanks for all that.
Joshua: Yeah.
Dan: Thanks for being here, on this little show.
Joshua: Second podcast. I think this is the second podcast I’ve ever done.
Dan: That’s shocking.
Joshua: Did I do this right?
Dan: It’s amazing. I feel like it was a master class in just about everything there. So really, really appreciate it. Joshua Davis, thank you.
Joshua: Anytime. Thanks for having me.
Dan: Thanks so much.