I got to chat with CJ Gammon this week! CJ is a creative technologist, a term he’s tried to hang onto as he does more development work, so he can continue to communicate that he’s a designer as well. CJ has been at Adobe for nearly 10 years and has played with a huge variety of interesting creative technologies.

Time Jumps

Transcript

[Radio channel adjustment]

Announcer: Today, on CodePen Radio.

Chris Coyier: What's up, everybody?! Time for another CodePen Radio. It's 358 where I have a special guest, long-time creative technologist--I've admired his work for a long time--CJ Gammon. How ya doin', CJ?

CJ Gammon: Hey, Chris. Nice to be here. Doing pretty good.

Chris: Fantastic. Yeah, you're one of those people we've corresponded in the past. You know. [Laughter] I think I liked a Pen this morning while looking through some of your work from, like, 2013 - or something. [Laughter] I don't know if it was that long ago.

CJ: Yeah. There's some older stuff in there, for sure.

[Laughter]

Chris: You've been a creative technologist, let's say. I don't know if that's how you think of yourself, but that's what your website says, for sure.

CJ: Yeah. that's definitely kind of how I categorize myself. It's hard, especially in Web and front-end. You tend to get put in boxes, I think, a lot, especially around either design or engineer. I've kind of tried to avoid that a little bit and float between the two.

Yeah, I like to think of myself as a creative technologist. I definitely enjoy designing as well as engineering.

Chris: Was it for business reasons or the like?

CJ: Well, I think as far as business reasons, I've definitely gone more into engineering roles, for the most part.

Chris: Okay.

CJ: Technology has kind of taken over career-wise a little bit. But I guess more just for like sanity, I enjoy doing the design as well, and so I try to keep that alive as much as I can.

Chris: Yeah, that's great. That's great. Probably makes sense, too. An engineer with as much experience as you probably have, that's probably where the money is. Not if that's not exactly what you're thinking, but it's probably a little harder.

But then you get hired for the role. If you're really clear about it, be like, "Look. I'm not only full stack but the actual full stack; the one with design in it too." [Laughter]

CJ: Yeah. Yeah, and you there are different types of designs, different skill levels in different areas, but I actually started out doing design first and working in print and things like that and then moved into the Web more and more into the technology side. It was kind of nice to have that perspective, too, when working with designers.

Chris: Oh, I couldn't agree more. It's a particularly useful one, design is, but so many other things are. Sometimes I look at people who were lawyers first and be like, "Whoa, you got a real edge." You know? Or anything else.

CJ: For sure.

Chris: Yeah, cool, and so you're at Adobe now. How fresh is that?

00:02:57

CJ: Yeah. I've been at Adobe a while, so I've been at Adobe almost ten years now.

Chris: Oh, holy... Wow!

CJ: Yeah. I know. [Laughter]

Chris: You got your gold watch - or whatever.

CJ: Yeah. Yeah, it's coming up. But yeah, no. I enjoy it. I've done a lot of cool stuff there, mostly around demos and prototypes for application features and new application ideas and things like that.

Chris: Oh, that's amazing.

CJ: A lot of creativity involved too. Yeah. It's fun.

Chris: What a perfect role for you, and at a company that obviously values creativity. It's pretty fundamental over there.

CJ: Yeah, so it's nice. I like it.

Chris: Yeah. Fantastic. Cool. One of these things that we can do, as I've been talking with other CodePen community members lately on the podcast because I just think it's so darn fun is to look through Pens. Some of them might be a blast to the past for you, and some of them might be more fresh. I don't know.

Even just poking around a little bit, I saw this one called "The Great Fall," and I was like, "This looks familiar." It looked like it was just a fork of one you did in the past, but what an amazing Pen. It has some elements of 3D to it, but you look at it and it looks like nighttime of this mountain forest scene with a river coming right down the middle.

Then as you scroll down, it's so satisfying because not only do things happen when you scroll down, but the whole background itself has a bit of a three dimensionality to it and just a wonderful piece. Where did that come from?

00:04:32

CJ: Yeah. This is one I made a while ago. At the time, I was playing around a lot with WebGL and Three.js. I was really interested in the idea of taking traditional Web interactions, like just scrolling, but also mapping them to a 3D scene.

Chris: Mm-hmm.

CJ: This was one I had done where I just kind of mapped the camera to the vertical of it, but I think (at the time) I was also playing around with mapping cameras to paths and flying through scenes and things like that.

Chris: Yeah. There are some other. I don't know if this one is Three.js. Maybe it is.

CJ: Yeah, this is. Yeah, I think it's just a bunch of low poly models I made in Blender that I kind of brought in.

Chris: But there are others like the Black Sun one that's very fly through the air.

CJ: That was funny. That was actually inspired by -- at the time, there was a Death Cab for Cutie music video that they did [laughter]--

Chris: Yeah?

CJ: --for the song Black Sun. It was a lyric video, but it was a low poly terrain and the terrain would kind of like warp in this interesting way, and so that's kind of where that idea came from too.

Chris: Yeah! That's amazing. Yeah, it's a little -- was in Inception where the city bent up and around? Yeah, but this was well before that.

CJ: Yeah. Pre-Inception. Yeah, I like taking ideas from just other mediums and things like that and just seeing if I could recreate them in Web tech.

Chris: Yeah. Yeah. This Great Fall is so interesting. I can tell how old it is almost in CodePen terms because the first line of the CSS is importcompass/css3, which Compass is pretty old-school. To this day, if that line is in your CSS, we know to route that request to a special, older CSS processor that still supports.

CJ: Oh, nice.

Chris: Compass only worked on Ruby Sass, and Sass has long since left Ruby land.

CJ: Yeah. I'm always amazed when some of these older ones still even run. [Laughter]

Chris: Yeah. Yeah.

CJ: Because so much has changed since some of them were made, too.

Chris: Leave that to us, CJ. That's our problem, not your problem.

CJ: Yeah. Yeah.

Chris: Things will work in CodePen.

CJ: Well, you're doing good with it. You've got it covered.

00:06:50

Chris: [Laughter] Cool. And so, you scroll down here. These days, I think so often of, gosh, if you were going to match scroll position with CSS stuff, well, then why don't you just map a custom property over to CSS? This was long before that was ever possible.

CJ: Right.

Chris: Yet the effect is smooth, performant, just as beautiful as anything you do today, but it's cool to see how old tech.

CJ: Yeah, I think I'm just triggering it when it gets into view based on the viewport.

Chris: Mm-hmm.

CJ: CSS animations. And I think the original one, I don't know if it still works, but I had CSS clip masks animating for it, so like the text at one point.

Chris: No kidding? Oh, yeah. It was early days for that then.

CJ: Yeah, that was a fun, little project. I don't know. I think I was inspired. I think I had just seen probably a print design somewhere that looked sort of like this and kind of riffed off that a bit.

Chris: Nice. I think it's amazing that print design is still cool, as much as people kind of consider it a dying industry. I don't know that that's entirely fair. Maybe there's less money in newspapers and all that stuff. You can't refute that, but certainly the coolest print design is as cool as it ever was.

CJ: Yeah. I think even just the amount of freedom you have in print and static design gives you a different kind of mentality. Then that can inspire interactive or motion graphic designers based on that. It all kinds of feeds into each other.

Chris: Well, and you work at Adobe, so I think you'd have an interesting perspective. What is it like? How do I say this? The tools that Adobe produces are heavily used by print designers still today, right?

CJ: Oh, yeah.

Chris: Is that core still? Do you think Adobe--? I'm sure they don't share the spreadsheet of the books with you necessarily, but is it a bulk of Adobe's business is still supporting print designers?

00:08:55

CJ: Oh, sure. You know Photoshop is a beast and still used all over the place. [Laughter] The way that people reference things like photoshopping is basically like googling, right?

Chris: Yeah.

CJ: When you Photoshop a document.

Chris: It's like Kleenex or whatever. It's just a word, yeah.

CJ: Yeah.

Chris: But that could be used for digital design as well, whereas something like InDesign is exclusively for print, really.

CJ: Yeah, InDesign. Illustrator, I love vector and I feel like that has applications beyond print as well, but yeah.

Chris: Yeah. Vector art does kind of permeate your work, doesn't it? There's this Pen here, the Text Color Draw. I don't know if that's a blast from the past, but it's kind of a namesake Pen for you because these letters come flying down from the sky that are your name and clearly a vector art experiment.

CJ: Yeah. When I was starting out in design, I learned Photoshop from just looking around and seeing art and trying to replicate it in Photoshop. But with Illustrator, I feel like it was a little different where I used more of my illustration skills that I got from school back in the day.

Chris: Mm-hmm.

CJ: Where I was able to kind of leverage those a bit more. I really kind of fell in love with Illustrator as an application just because it treats things more like objects, the way you kind of think of them in the world.

Chris: Mm-hmm.

CJ: Whereas when you're dealing with pixels, you're dealing more with the raw data of it.

Chris: I 100% know what you're talking about. Even when I was at peak Photoshop work, I was almost trying to replicate that by overlaying so that at least the layers were object-like.

CJ: Sure. Yeah.

Chris: And then I'd have some control in that way.

CJ: And config things.

Chris: But in Illustrator, there are layers too, but you almost don't even need to think about it in that way because you just touch a thing, and you see the little control knobs. There you go. That was a transformative class for me. One of my first graphic design classes ever was literally just -- I think it might have been called "Illustrator" because it was like, "Let's learn this one piece of software." It was a very almost formulaic class in a satisfying way. One of the first assignments was to draw an arrow and then learn about some Illustrator things, like how you can duplicate an object.

CJ: Right.

Chris: You option drag, which is now -- name me a piece of software that doesn't have option drag for duplicating a new thing.

CJ: Yeah.

Chris: There are built in tools like rotate it 45 degrees, but then what was it? Command-shift-D was like do it again.

CJ: Right.

Chris: The same number of 45 degrees.

CJ: At an interval, yeah.

Chris: You could do it once and then hit it like eight times, and then you have a circle of arrows. The first assignment was like make a design using Illustrator's tools but the only design element you can use is an arrow.

CJ: Yeah.

Chris: It was a fascinating thing because it's fun for you to do, but then you get to see the 15 other students in your class producing designs too. That's the value of school to me.

CJ: Oh, yeah.

Chris: Brain is just exploding with ideas.

CJ: Just like all those creative minds together. Yeah, it's awesome.

Chris: Yeah.

00:12:11

CJ: Yeah. No, I loved Illustrator, and I feel like that was my gateway, too, to Flash (back in the day), which is another big impact on my career and just, I think, who I am in general.

Chris: Mm-hmm.

CJ: I feel like even today, when I'm building things, I think of them in the same way as I did in Flash.

Chris: Mm-hmm.

CJ: With that object structure, especially with tools like GSAP where you can generate timelines and things like that. So much of that is kind of brought over from the Flash days.

Chris: Right. I think probably a lot of people know it as Adobe Flash.

CJ: Right.

Chris: It was Macromedia Flash before that, and all that. Then this has magically somehow come up on a lot of different CodePen Radio episodes, but GreenSock was a Flash tool.

CJ: Yeah. It was a tweening engine at the time.

Chris: Yeah, and so interesting that Flash people very much made the migration with them.

CJ: Right. Well, I don't know if they were one of the first because a lot of the tweening engines at the time were trying to figure out JavaScript and migrate over as Flash was kind of fading out with the rise in mobile.

Chris: Mm-hmm.

CJ: They were one of the first ones to do it, and they just did it, like nailed it. I feel like they've just dominated that space with the tooling and all the different features they have within it. It's so powerful.

Chris: Yeah, what a challenge. That one I brought up, Text Color Draw, with your name come flying in, it's a GSAP Pen, if you want to check it out. Although, I'm not trying to confuse you here.

Here's one thing you could work on, GreenSock people. As much as I love you, what are we supposed to say? Are we supposed to say GreenSock? Are we supposed to say GSAP? Are we supposed to say something else? I feel like it's kind of--

CJ: Yeah, I feel like either way, GreenSock, GSAP. There's a branding issue in there. [Laughter]

Chris: GreenSock is the way to go, though. I'm going to put my token in for that one because it's such a cool word.

CJ: Yeah, that's fair.

Chris: GSAP has GreenSock in it already. It's the G of GSAP.

CJ: Just because I write it probably in code, I'm just used to referencing it as GSAP more.

Chris: Oh, right because that's the global namespace for it.

CJ: Yeah.

Chris: Yeah. Yeah, that makes sense. I wonder, because GreenSock is the name of the company, that if they had a second product or if God forbid they had to make another transition to another technology (because it's happened to them once already before) that you wouldn't just call it GreenSock. You might as well use a sub-name, not the company name.

CJ: Yeah. Yeah.

00:14:51

Chris: All right. What other Pens do you have? Do you have any that you were looking through that you thought were especially cool?

CJ: Yeah, so that color draw was just sort of animating paths using GSAP at different speeds so that they would kind of overlap the colors a little bit, which is kind of fun.

Chris: Yeah. It looks super cool.

CJ: Yeah. The Snap display ad was one I think we had corresponded because that was an ad that ran on CodePen back in the day when Snap was first released.

Chris: Really? This one with the little monsters that come out of the gameboard looking thing?

CJ: Oh, no, that's the interactive illustrations. That was one to promote Snap when it came out, which is the SVG library. That was - I don't know - I was just goofing around there. It was just an illustration I did in Illustrator and then animated some....

Chris: God, that's a blast from the past for me. I kind of forgot all about Snap. Who made Snap?

CJ: Yeah, so that was Dmitry Baranovsky. He still works at Adobe. He's an engineer. But he created it after Raphael.js, which was his original library he created for SVG.

Chris: Yeah. Wasn't it like an alligator, or something, was the logo?

CJ: Yeah. Yup, yup, yup. Well, yeah, for Snap they had an alligator on the website.

Chris: Yeah, because you know alligators snap. Which one are you talking about, though? There's another Snap thing here?

00:16:17

CJ: Down below, the thumbnail is not really showing anything right now, but it's a Snap display ad one, which is just sort of like a low poly style banner ad that we did. It kind of transitions between different screens and animations. This kind of goes back to the Flash days, too, because I used to do a lot of banner ads for Flash.

Chris: Oh, yeah?

CJ: Way back when. [Laughter] It was fun to kind of use those skills. I think we knocked this out in like a day or two. It really didn't take that long at all.

Chris: I see. Sorry. I do remember this now. Yeah, the low poly meaning the triangles that touch each other.

CJ: Yeah.

Chris: The waterfall has this too. It's just used as a texture behind the ad. Then it ran like -- what would you call it? How did you make interactive ads like this in the past? I guess at one weird point in history they would have been Flash, but this of course was never Flash. It probably would have ran as a little iframe or maybe, because of Snap SVG, that it just turned into an SVG. That's probably what it was, right?

CJ: We did this as an SVG, like the different layers that would transition between each other in the different states.

Chris: Yeah.

CJ: I'm sure you guys loaded it as an iframe when it ran on CodePen.

Chris: Yeah, probably. [Laughter]

CJ: [Laughter]

Chris: Just for safety reasons.

CJ: Hopefully, yeah. But yeah, so that was a fun little project to do.

Chris: Yeah, how cool. How cool. It's interesting. Why would Adobe care or pay for an ad for some library from this guy? Was he working at Adobe at the time?

CJ: Yeah, so Adobe actually released it open-source, and that was one of his, I think, first projects at Adobe that he worked on was that library.

Chris: Oh... Nice. It's his library but kind of sponsored by Adobe. I see.

CJ: Yeah. At the time, Adobe was working on promoting a lot of Web-based features like blend modes and masking and things like that (within the Web as well).

00:18:31

Chris: Yeah. Adobe has an interesting history of their jumping into Web standards even at interesting times. I remember their involvement with -- what do you call that thing where text would flow from one element to another element?

CJ: Yeah. That was regions.

Chris: Regions. Right.

CJ: It never really took off.

Chris: R.I.P., sadly.

CJ: [Laughter] Yeah, well, they were trying to bring some of those print concepts over to the Web.

Chris: Yeah, because certainly you can do that in InDesign. You just link to text regions and the text just flows from one to the other.

CJ: Yeah.

Chris: Yeah, I remember that. I was so excited about that because that really is -- that's really print style. You know?

CJ: Yeah.

Chris: To this day, I think the Web could really use that - without knowing the intricacies of what would make it so hard and all that. I remember there was some concerns about circular dependency crap or whatever. But I remember this seminal moment where -- what was it -- Burt Boss or whatever, this CSS, the inventor of CSS, hasn't spoken up in ages and, all of a sudden, comes out against CSS Regions. It felt like, "Well, that's the end of that then. Cripes!" [Laughter]

CJ: Yeah, there was a lot happening then, too, because that was kind of when Chrome forked off of WebKit and everything. There was a lot of browser stuff happening around that time, too.

Chris: Yeah, I wonder. All that stuff is related. That's a good little piece of history there.

CJ: Yeah.

Chris: You wonder what would happen if it was brought up today with a different landscape of browsers and different appetite for betterness of the Web. I don't know.

CJ: It's tricky, too, because I feel like stuff like that works better on a larger screen and also the trend at the time was kind of going to the phones and the smaller screens, so even simpler layouts. Yeah.

Chris: Oh, that's true. Why does that matter? I don't know. To me, the clutch use case is, yes, you can look at it in a Web browser, but my intention ultimately is to turn it into a PDF.

CJ: Right.

Chris: There's still this disconnect. You'd think some HTML would be real, real easy to turn into a beautiful PDF, and it's better than it was, but that particular piece is very missing.

CJ: It would certainly be nice to have that option, that level of fidelity with the layout.

Chris: Mm-hmm.

CJ: But yeah, you know. It's a different kind of thing, I guess.

Chris: I don't know, but thanks for trying, Adobe.

[Laughter]

CJ: Yeah. Oh, well.

00:21:11

Chris: I'm sure all those repos still exist, and all that.

There's another. Here's another. Winter Trees was a Three.js exploration of yours.

CJ: Oh, yeah.

Chris: That was very beautiful. What really sells it to me is it's a beautiful landscape. It has that Three.js thing where you get to control the camera and all that, but it has this fog to it.

CJ: Yeah.

Chris: This blur effect to it that makes it feel extra wintery and beautiful.

CJ: A lot of it is just playing around with the different features, and most of these are even things like people can play with--like in the examples on the Three.js website--the depth of field blur, like post processing effects and things like that.

Chris: Mm-hmm. Oh, I see.

CJ: Which really add a lot to the scene.

Chris: You know so much of my -- I look at a lot of Three.js work because of CodePen. It's been a lot of years at CodePen seeing people play and do cool stuff - like you. But I've never done it. I don't think I've ever made a single Three.js thing, but I'm curious of where it sits.

Looking at a Pen like this, it just feels like a video game to me. Do people build video games in Three.js. Is that a thing?

00:22:17

CJ: Oh, yeah. You could totally make a game with Three.js, for sure.

Chris: Do they or do they use something else?

CJ: You know that's one of the things I've always thought was really interesting. There's so much capability between sockets and even Web RTC and Three.js, like WebGL.

Chris: Mm-hmm.

CJ: There's so much possibility for people to make really rich experiences, and some do. There are some really amazing websites being made out there. But it always felt like the people who are really pouring resources into it just don't mess with the Web too much. They'd rather just go where they can do the most, I guess, or at least where they can make the most money.

Chris: Xbox....

CJ: Which is probably like doing it on native.

Chris: Oh, I see. Making it - yeah. Making it a game-game. That's not fair to say, but - I don't know - Steam and whatnot.

CJ: Yeah, you could do tons of cool stuff. In fact, I think even -- well, I don't know for sure but I thought Roblox was kind of all Web-based. Isn't it?

Chris: Oh... Nice. I don't know much about it, but I heard a podcast [laughter] about it the other day.

CJ: It might ... a Web player. Yeah, I mean it's interesting what they're doing.

Chris: Okay. Yeah, I'm mostly just trying to see where this stuff sits in the world today. It's like this stuff has been so beautiful for so long.

CJ: Yeah.

Chris: It almost seems like it should be the predominant way we experience a lot of games and stuff. It seems like maybe that's not quite the case yet.

CJ: I really though this stuff was going to -- like the richer experiences because I get nostalgic for the early Web.

Chris: Mm-hmm.

CJ: With the Flash days and Homestar Runner and that kind of stuff where people were just pouring out crazy, creative content. People still do that, and I actually feel like there's been kind of a revival of that recently, like you're starting to see that.

Chris: Mm-hmm.

CJ: Some of it is around the NFT stuff, which you know that's a thing. But it's been interesting to see people putting stuff out there and just being more creative with the stuff they're producing.

Chris: Yeah.

00:24:28

CJ: I think Wordle, too, is a great example. You just made a thing and put it out there and people just flock to it. You know? It's great to see that kind of stuff happening again.

Chris: Yeah! I saw some tweet today. I wish I could credit it, but I'm not going to podcast Google myself - or whatever.

It was about how Wordle maybe broke the wall of the Web for a bunch of people. Like it's a very good thing for the Web because there are a lot of people that have maybe two or three websites they go to every day. Wordle is now like the fourth and what a big deal that is for the Web.

CJ: It just gets into people's routine that way.

Chris: Yeah, and the only option you have to play it is the Web.

CJ: Right. I love, too, that they force that you can only do it once a day. You know what I mean?

Chris: Yeah.

CJ: You can't consistently play it throughout the day, and it just kind of creates this natural fit into your cycle at that point. You know what I mean? Your routine.

Chris: Yeah, right. What a big deal, and to have it be such a wholesome thing. You know?

CJ: Oh, yeah. Who doesn't love word games? You know?

Chris: Yeah. Yeah. I know there's this whole -- yeah, I want to know if it's controversy or anything, but that the New York Times runs it now. But from my perspective and a desire to not be dramatic about anything, it seems fine. [Laughter]

CJ: Oh, yeah.

Chris: Whatever.

CJ: Good for him. [Laughter] You know?

Chris: Yeah. [Laughter] Whatever.

CJ: Get paid for it, so yeah. I think that's super cool. I'd love to see more stuff like that take off. Two, around just bringing things back away from all the social networks and just people making websites and Web content that they share with each other. I feel like CodePen really facilitates that kind of stuff too, which is cool.

00:26:20

Chris: Oh, well, cool. The last Pen I have bookmarked is one about the Apple Watch, which also probably feels like a blast from the past for you, but what a satisfying little experience bringing that. If anybody doesn't have an Apple Watch, there's this one particular view where all the icons are spread out in a plane. As the app that's closest to the middle is the biggest, and the ones around the edges are small. You kind of recreated that in Canvas.

This is also a common thing I find among all y'all creative technologists is that you're very, if not comfortable, you do it anyway, doing different technologies. If I look through CJ Gammon Pens, not all of them are going to be Canvas, but this one is.

CJ: Yeah. No, I love 2D Canvas and just playing around with raw Canvas. I do some of the P5.js stuff too with processing and PixiJS, too. It's fun to just play with the raw Canvas API.

Yeah, I just thought it'd be fun to recreate that functionality where it kind of highlights the centermost circle within the UI.

Chris: Yeah, super cool.

CJ: As you sort of scroll around on the Web. Yeah, it was fun.

Chris: Do you have any others you want to highlight here for folks? They'll end up in the show notes, so if people are like, "What's CJ's favorite?" you can look that up.

CJ: Yeah. They're all sort of like time capsules of what I was doing at the time. [Laughter]

Chris: Yeah. I found that to be true with lots of folks, too. Like somebody shipped some new thing. I talked to Ryan Mulligan last week, and he's like, "Oh, I remember when David DeSandro's 3D library he dropped where you can make this--" It almost looks like Three.js but it's not. I don't know. He had made this boxing burger that's great.

CJ: Yeah.

00:28:14

Chris: Right when David dropped that library, there was a proliferation of Pens in that period, and it does; it feels like a time capsule.

For you, I think one of them, you have this one called Morph Guy, which belongs in the time capsule of when GSAP (let's call it) dropped that morphing plugin, which just captured people's attention and made for cool demos like this little dude.

CJ: Yeah. That's literally what that was. I think I was speaking at Adobe Max at the time, and they had just released it. I was like, "Oh, man! I've got to get this into my talk somehow!" [Laughter] So, I just real quick did a demo, did that little demo based on an illustration I had seen somewhere.

Yeah. I love those fluid animations, so I was trying to replicate that with the shape morphing by just drawing the different shapes and manipulating the vertices in Illustrator.

Chris: Yeah. I'm just so glad that they -- it's just this concept where you can draw an SVG. Right? SVG can draw anything because math exists - or whatever. But it doesn't necessarily mean that you can animate any shape to any shape unless somebody rolls in with a library that does it.

I shouldn't say that. I think the Web platform is actually capable a bit of shape transition stuff, but the pile of limitations for it is so thick that you really don't see it used all that much.

CJ: Yeah. Dave had done such a great job with the tooling of it, too, where you can actually choose which vertices maps to which vertices on the different shapes that they're interpolating between.

Chris: Oh, yeah. That's nuts. Right. Rather than having it be just a magic box that just does whatever it does.

CJ: Right. Right.

00:30:02

Chris: I was in Keynote the other day making a slide, and I had a horizontal line and a vertical line. On the next slide, I wanted it to move them. It's still a horizontal line and a vertical line, but just somewhere else on the page.

In Keynote, there's an option that is Magic Move, and all it does is tween whatever is on the last slide to the new slide - in a way. But it wouldn't just shorten the horizontal line and shorten the vertical line - what I wanted it to do. It bent--

CJ: Did something crazy.

Chris: The one that was horizontal before became the vertical one. I was like, "Is there a button that says don't do that?"

CJ: Right. [Laughter]

Chris: But there's not, of course, because it's just a magic box.

CJ: Yeah.

Chris: Whereas if the thing was using GreenSock, I could say, "Don't do that."

CJ: Right. Right. Right. Yeah.

Chris: [Laughter]

CJ: They've done a great job with it. It's really fun to play with and use.

00:30:57

Chris: Well, what are you excited about now? Maybe we can wrap up that way. What are you working on?

CJ: I'm kind of just continuing to play around with stuff. Honestly, I've gone through lulls with kids and wife and stuff.

Chris: Sure. Same. [Laughter]

CJ: I do less of this kind of stuff, but I've kind of reached a point now, too, where I'm trying to play around more, so I've been doing a lot just with PixiJS specifically right now, but also getting more Web components.

Chris: Oh, yeah.

CJ: And that kind of stuff, which is pretty cool.

Chris: I'm sure you're speaking for yourself there, but I am curious if Adobe cares about Web components in their special Adobe way.

CJ: Yeah. Oh, yeah. Well, Adobe is actually using Web components in a lot of our Web applications now. I don't know if you're aware of it. Photoshop on the Web was released, which is all using Web components.

Chris: Yes. Yes. How should I forget? Yeah. What a big deal, you know, and it works great. What a cool release to have it be out and have it be just what it says it is. [Laughter]

CJ: Yeah.

Chris: Then have it be built from Web components.

CJ: Yeah, so Adobe is really into Web components right now and just really betting big on all that stuff. Really, the great part about it is React is cool and all, but it's nice to be close to the metal and Web components is built into the Web.

Chris: It is. As we know from the experience of, for example, the entire history of the Web, things that get into the platform, they stay there and they evolve and they tend to get better. Very rarely are things just ripped out of there. There is no chance--

CJ: It's very hard to remove them. [Laughter]

Chris: --two years from now, they're just not going to be there anymore. It's like not going to happen. You know?

CJ: Yeah.

Chris: Betting on them now, it doesn't feel like a gamble - really. It feels just like, well, that's where things are headed.

CJ: Oh, yeah. No, I mean it's going to be in the Web forever now. Yeah, so just fun stuff. Continuing to just play. Try and get inspiration from wherever I can and try and make fun stuff.

Chris: Well, thanks for the chat, CJ. It was a pleasure to talk to you. Kind of meet you for the first time here and chat.

CJ: It's nice meeting you too. Thanks for having me on.

Chris: Yeah. Our paths will cross again one day. Take care.

CJ: Hope so. All right. Thanks.

[Radio channel adjustment]