A chat with Alasdair Monk, VP of Design at Vercel
We touch on A.I., small sharp tools, and Rollercoaster Tycoon. Don't miss it.
While interview posts will usually be subscriber-only, I’m opening this one up to free subscribers as well to give you a taste of what to expect. Enjoy!
Alasdair Monk’s key points about designing creative tools:
Lower the barrier to entry with minimal setup or configuration. You have to be able to play and experiment to learn, not just read documentation.
Support going from first interaction to power user status as quickly as possible.
The era of the all-in-one tool is ending; build small, sharp tools that play well with others.
One big use of AI in this space will be to help people create their own special-purpose creative tools, rather than using tools meant for everyone.
Creative tools can give you superpowers by providing alternate perspectives; for example, shifting your visualization from Figma screens to state machines helps you understand and communicate how a complex app works
GEORDIE: So, when I was thinking about who is obsessed with creating tools for creators, I thought of you. The first thing I ever saw from you was your constraint-based layout stuff. Which was what, 2012?
AL: Yeah, it was probably like 10 years ago.
GEORDIE: And all the way to what you're doing at Vercel now. So, it seems like, and tell me if I'm wrong, it seems like you have this penchant for creating tools for people who build things. Am I right about that? And if so, what is that all about? Where does that come from?
AL: Yeah, good question. So yeah, I think you're absolutely right. I really like working on lowering the bar of entry to making stuff with a computer, like broadly, not even just for developers or designers. I really enjoy everything in that kind of arena.
In fact, really recently, I was working on a toy interpreter for the BASIC programming language. That was also really fun because you turn on the computer and you launch directly into an IDE-type environment. It's the same as opening a document in Figma. You're instantly in a place where you can start playing and building stuff without worrying about installing packages or folder hierarchy, or any of the stuff that gets in the way of just sketching an idea, whether that's literally sketching or figuratively in programming.
I really enjoy working on those kinds of things. Throughout my career, I've tried to chase people that care about the same sort of things. Heroku is a classic example. For years, and probably still today, it's easier to get Rails running on Heroku than on your local machine.
GEORDIE: Postgres!
AL: Yeah, right. Exactly. Heroku just gives you those things out of the box. I worked on similar things at HashiCorp with Waypoint as well, albeit for a more niche audience. And then I guess I've gone the other way again with Vercel, which has a huge audience of users of the most popular programming language in the world, JavaScript. We're thinking about both the tooling, like Next.js, which is trying to do the job of what the Commodore 64 was trying to do all those years ago – an environment where you can immediately be productive.
So, I guess that's where it comes from, and that's what it's all about. I've never been drawn to just working on consumer products that you just use. I've always been interested in making things that you can tinker with.
GEORDIE: Do you think that you have to be designing for yourself in a way, like you are a developer and a designer, you tend to design for developer and design tools?
AL: Yeah, I guess so. I think the thing I really like is the idea of tools that do a specific job. I don't know if you've read the Unix philosophy documents from way back, but it's that whole idea of a tool should do one job and one job only but work really well with other tools. I was thinking about this recently with Figma, where I think that Figma is going to be the last big success of applications that take their lineage from desktop publishing tools. Figma inherits a lot of its ideas from Sketch, Photoshop, Illustrator, and going back to things like Microsoft Publisher and before that, Fireworks and Quark. It really inherits a lot of multipurpose, general tools based around the premise of a sheet of paper.
I think we're going to see more tools for specific tasks. Canva is an interesting example because depending on what you're making with Canva, you get slightly different tooling. The UI is reactive to what you're trying to make rather than a homogenous UI for designing things. We haven't seen that much in design tooling, but you see it a lot in video effects and the 3D world where there are entire applications for one specific thing.
If you're working on 3D, for example, you might have an entire application dedicated to creating textures and materials. You have entire applications for clay modelling, geometry, shaders, animation, syncing soundtracks, green screening, and more. It's really cool because you can go deep on each specific thing, and I imagine we'll see more of this in the future.
A.I.'s role in helping design things will also be super interesting, particularly in the process of giving a first draft of something. It can help unblock creativity by providing direction and variation, ultimately leaving it down to the human's taste and opinions. I'm excited for this, especially in the product design world where we often spend a lot of time on problems that have already been solved. It would allow us to focus when a unique approach makes sense.
GEORDIE: Your Mac apps especially have a really clear voice of a creator in them. They have this Al and Hector-like thing about them that is hard to describe. I don't know if an A.I. would build something in that way. Do you think the A.I. builds the foundation and then you put the Al and Hector-ness on top of it when you're done?
AL: It's interesting. I imagine so, because I don't think it's that different from the jump from graphic design being a physical medium to happening on computers. There's still a stigma around digital art being less real, important, or impressive. I'm glad you mentioned my Mac apps for some free advertisement.
GEORDIE: What is it? Replay? Replay Apps?
AL: Replay, that's right. Since ChatGPT has been around, I've started tinkering with the idea of building Mac applications with it. It's been insanely powerful, especially for someone like me who knows enough Swift to be dangerous but not the ins and outs of Apple's proprietary APIs. Having a machine that tells you how it works specifically in the context of your question is amazing.
It doesn't eradicate quality, care, taste, or any of the things we bring to building products. It just helps us get to stuff faster, which is really cool, apart from when it leads you down a completely wrong avenue of thinking. I recently worked on something that interacted with the Figma APIs and asked it to draft me a Ruby script. It completely hallucinated five endpoints, and I thought the script was amazing until I tried to run it and got 404 errors everywhere.
GEORDIE: It does that with Python modules so badly. It makes up brilliant ideas for imports exactly what you need, and then you're just like, oh, just go ahead and use it. Then Python's like, that doesn't exist.
AL: Yeah, that's so funny.
GEORDIE: Does taste becomes more important when we're getting all this content and can build an app by describing it?
AL: I think so. It's like this general trend we've been seeing with anything that becomes a commodity. Ninety percent of the market is reproducible stuff that's easy to make, not super unique, and does a job well, but isn't going to stand out. In any category, there's always this 5% or 10% where there's a lot of interest, a sense of quality, and status.
Take Squarespace, for example. It's an amazing platform for creating a solid website at a low cost and without any technical expertise. Nowadays, work that would have come to an agency years ago for more money is going to Squarespace. I think that's a good thing because there's still this huge space to build things that aren’t templatized and constrained, and are entirely new ideas. That's where we should be putting our time and energy, not into building another generic website.
GEORDIE: You mentioned this contrast between heading towards a pipeline of specialized, sharp tools, specifically for design and development of digital products, and an emerging world where there isn't any pipeline or tools, just a giant language model that you feed everything into and it spits things out. These seem like completely opposite visions of the world. How do those reconcile? I agree with you on both of them, but I don't see a world where they can both exist.
AL: It's interesting because even if there's one GPT-10 that runs the world, I think there's still a lot of room for different interfaces. It's like the blockchain analogy where you can put any interface on top of a system. I think it's going to be similar with A.I. and machine learning, as natural language input isn't the right input or output for a lot of things we do on a computer daily, especially for power users.
There's still space for expressing things in natural language, and A.I. can do a lot of boilerplate setup, but once we get into the details, we probably don't want to do each round of iteration by typing it out. I think we'll see interesting developments in input and output methods for these models.
GEORDIE: Is using an A.I. tool for creation a fundamentally different skillset, like a managerial or leadership skillset, or do designers already have the right tools to make good use of it?
AL: I don't think it's a mindset change. For me, A.I. allows you to get over the starting hump and gives you something to react to. I think most people can understand and play with the tools. Prompt engineering is interesting, but it feels like a bug in the input system rather than a feature.
In the foreseeable future, A.I. will mostly benefit people who already understand something in that realm. A.I. won't create JavaScript developers out of those who've never shown interest or aptitude for programming, but it can make a JavaScript developer ten times more productive. It'll be interesting and scary to see how the gap widens between those who understand how to get what they want from a computer and those who don't.
GEORDIE: I totally buy that. Have you ever heard of the term Jevons Paradox? It's this idea that when technology makes something more efficient, the consumption of that thing increases, maybe even beyond what you’d expect based on the cost savings from the efficiency gains. For example, with Swift and iOS development, I feel more hopeful that I can make something because I just need to understand enough Swift to manage the model output, and that means that I try to build things now I never would have attempted before.
This unlocking of efficiency makes me wonder if it will actually dramatically increase the number of developers, because a single developer can produce so much more value. Maybe specialized training would only be needed in the field where you want to create value, instead of the intricacies of JavaScript development.
AL: That's interesting. It's like the industrial revolution where everyone became more productive through automation and industrial scale. However, advancements in technology don't necessarily make anyone's lives easier or better.
GEORDIE: Who do you think is on the chopping block?
AL: Probably people who are engineering or designing things that aren't particularly differentiated or high quality, which can be easily replaced by these kinds of systems. Those who build websites at a low tier of pricing without much differentiation might have already lost out to Squarespace.
GEORDIE: Do you see people making their own tools more, or am I overestimating the desire to do that?
AL: I think one of the interesting things about how OpenAI has pitched their products is that creating your own tools is one of the core ideas. For example, with the ChatGPT API, they have a system command where you can customize how the system operates, essentially creating your own version of ChatGPT, much like a unique spreadsheet in Excel for your business.
I built a website over the summer that uses GPT-3 to read tweets from a specific account and make sense of the unstructured data. I think this technology could offer people a powerful canvas, like a spreadsheet, waiting for them to create something unique.
GEORDIE: Back to developer tools for a second. Do you find yourself getting inspired from anything in the physical world when you're building tools for developers?
AL: Yeah, I think so. Some of the stuff that most inspires me is from the world of video games, like RollerCoaster Tycoon, which is basically my favorite game of all time. I think games have a lot to teach us about creativity, interface design, and storytelling, which is important for any object of value. Comparing your average SaaS onboarding to the same thing in a game, it's like really kind of bleak and plain. You play The Last of Us through, and in the first 40 minutes not only are they telling you a story, but they're also teaching you how the game mechanics work. And you basically learn everything you need to know for the entire 16 hours of gameplay in that first 40 minutes.
So I mostly mentioned things that are digital, not physical...
GEORDIE: (Laughing) yeah, I love that I just accepted that computer games are part of the physical world.
AL: I mean, there's a controller (laughing). In terms of physical inspirations, I love the work of Teenage Engineering. They make amazing stuff that's unique, playful, and offers a canvas for you to create in. I have a Playdate sitting next to me, which is fun and creative and just a really great consumer experience as well.
GEORDIE: Do you think there's anything fundamentally different about building tools for developers as consumers versus as creators? Do you take any special consideration when you're building something that is to be used to build other things?
AL: Yeah, I think so. The main difference when building tools for developers is the ability to go from the first interaction with something to becoming a power user very quickly. When I pick up new technology, whether it's a new programming language or a web framework, the first thing I look for is example source code. I think that's a widely applicable stereotype in the realm of building things for developers and engineers.
The first significant impact of A.I. in the programming world is how it enables learning. It provides code samples instead of just documentation, which can be modified or extended as needed. This is different from most consumer applications, where supporting power users or casual users might not be necessary.
GEORDIE: You don't see a lot of instruction manuals these days. Why is that? Is it because our tools are, are better at teaching us through usage? Is it just that our tools are less powerful?
AL: I've been learning Blender since COVID started, and I went in completely naive. The instruction manual still exists, but not in a long written text form. I get a lot of good CSS and JavaScript knowledge from 22-second tutorials on YouTube and TikTok. It's perfect for that stuff. So, I don't think instruction manuals are going away; we just have better ways of delivering instructions that don't require sitting down and reading a book.
GEORDIE: Last question: What did I miss? What did you want to talk about that I didn't ask?
AL: I gave a talk at Vercel internally last year called "Designing With State." It's based on the premise that when we design complex products today, we're really designing a state machine. The medium we use to design the state machine is hundreds of screens in Figma or Sketch. It seems antiquated to capture each moment of a decision tree and draw a picture of it. Figma is a product of desktop publishing tools from 30 years ago, and it lacks knowledge or sense of state.
At both Hashicorp and Vercel, I started designing more using Svelte and designing in code, using tools like Tailwind CSS and Vercel's Visual Preview comments for rapid iteration. I can quickly come up with a demo, share it, and receive feedback. This approach is an example of sharp tools that are good for figuring out complex states for a product, but not for designing icons.
In the immediate future, I'd love to see more innovation in this area. There are a few tools like XState for visualizing state, but the more of the state machine that we can share and discuss as a team, the less misunderstanding and churn in engineering will occur, which is only a good thing for shipping products faster and explaining complicated pieces.