Future of Coding - Democratizing Web Design: Vlad Magdalin
Episode Date: January 6, 2019Vlad Magdalin is the CEO & co-founder of Webflow, a WYSIWYG website builder and CMS that's a thin layer of abstratction over HTML, CSS, and JavaScript. In this conversation we discussed Vlad's Bre...t Victor origin story, the differences between live programming and direct manipulation, and why web design has resisted direct manipulation pro tools for so long. You can find the transcript for this epsisode at futureofcoding.org/episodes/035#transcriptSupport us on Patreon: https://www.patreon.com/futureofcodingSee omnystudio.com/listener for privacy information.
Transcript
Discussion (0)
Welcome to the Future of Coding. This is Steve Krause.
Today on the podcast, I have Vlad Magdalene, the CEO and co-founder of Webflow,
a WYSIWYG tool to build websites.
Webflow is a really interesting company in the future of coding space,
in part because it is a very thin layer of abstraction over HTML, CSS, and JavaScript.
It allows you to customize the way your website looks and feels, even as far as animations go,
but without touching HTML, CSS, and JavaScript, but using the same abstractions you would if you
were coding. They just have a GUI tool that you would use instead. So it allows, empowers designers to really be as powerful as front-end
engineers, all without, you know, having to learn the syntax. We get into more about how Webflow
works in the episode. Another thing that's interesting about Webflow is that it has a
wonderful Brett Victor origin story. Vlad has, to have maybe he repinned it this this pin
tweet on Twitter that said, you know, this this inventing on principle video changed my life.
And if it changed yours to let me know beers on me. So before I bring you Vlad, a quick message
from our sponsor. Replit is an online repl for over 30 languages. It started out as a code
playground, but it now scales up to a full development environment where you can do
everything from deploying web servers to training ML models, all driven by the REPL. They're a small
startup in San Francisco, but they reach millions of programmers, students, and teachers. They're
looking for hackers interested in the future of coding and making software tools more accessible
and enjoyable. So email jobs at repl.it, R-E-P-L dot I-T, if you're interested in the future of coding and making software tools more accessible and enjoyable.
So email jobs at repl.it if you're interested in learning more.
One final note about this episode is that I've never laughed so much in an interview before.
It's a really, we have a good time.
Vlad on Twitter is known for his hilarious tweets.
So if you too got a laugh out of this episode, I would recommend following him on Twitter is known for his hilarious tweets. So if you two got a laugh out of this episode, I would recommend following him on Twitter for more of the same.
Without any further ado, I bring you Vlad Magdalene.
Welcome, Vlad.
Hey, Steve. It's great to be here.
Yeah, it's really wonderful having you.
So to get us started, I was doing some Twitter stalking of you.
And I found that you have a lot of very funny tweets. You try really hard with the dad jokes.
Thanks. I only have three interns working on that content.
Just three. Wow. Really high quality stuff.
Thanks.
And so I found you recommended a good icebreaker.
So I thought we might as well start there.
So Vlad, what's your story?
Interesting.
Way to turn that around on me.
Just kidding.
I mean, in a nutshell, I was born in Russia, of all places, next to this mountain range called the Caucasus Mountains.
So I guess you could say I'm very Caucasian, since that's the region.
And grew up there, moved to Moscow for a little bit. My dad kind of went there for a job he had,
but then moved back down to like very southern Russia
on the border of Georgia and had a very weird upbringing.
Like my parents had, they were Protestant,
which is a religion that was kind of looked down upon in Russia.
Like the state saw it as not a very friendly thing to the state.
So there was a lot of persecution happening.
Like there are people in my direct family that were assassinated for,
for having a Bible, for example,
or just like shot by firing squad for having a Bible in their home.
So that, that led to the,
the U S government actually opening up some asylum laws in the late 80s that allowed my family to immigrate to the U.S.
So when I was 10, we moved to Sacramento in California and just had kind of a, I would say, a pretty, pretty normal childhood growing up there, then went to school,
followed my brother to computer science school, even though I didn't really enjoy it.
Just because my parents said, you know, this is where we're already driving one of our kids. So if you want a free ride, in the sense of, you know, like a car ride, not a scholarship or
anything like that, you should go to this school too. So I just followed my brother. And computer science at
that school was like really, really intense. You know, we're learning how to write like an
artificial intelligence algorithm to play chess. And for me, it just never really,
never really clicked. So I didn't enjoy, I didn't enjoy those classes at all. So after the first year, I dropped out
and moved up here to San Francisco to go to art school. Actually, I wanted to become a 3D
animator and just work at Pixar and make really awesome movies. So I started going to the Academy
of Art here in San Francisco, kind of learning, wanting to learn 3D animation.
But the first two years were actually just focused
completely on fundamentals of, you know,
graphic design and color theory and composition
and perspective and, you know, sculpture and form, et cetera,
which I also didn't, I wasn't too good at that stuff. Like I could sort of
learn the techniques, but I wasn't really personally motivated to like, you know, go out
and sketch people or just draw in my notebook, et cetera. But then when I started to actually take
in the beginning of the third year, when I actually started to take 3D animation courses, it turned out that the school is actually pretty terrible at it.
Like all the teachers were students who couldn't get jobs, you know, at studios and sort of came back to teach.
And I think I was learning more from like video tutorials than I was from the classes. And it was during that time
when I picked up a lot of these tutorials
that I got back into coding.
Like Maya has something,
Maya is a very popular animation tool,
but it has something called Melscript,
which I think it's called the Maya expression language.
And through that, I actually started to like um, to like coding, um, because you
could save a lot of time, uh, animating by, you know, like putting in this expression and like
the computer would sort of do it for you. Uh, and, and that's where I started to sort of like
develop this, um, uh, more of like a visual programming or visual, towards like mixing visuals and,
and development. So,
so then I sort of like saw what it took to actually work at Pixar and you had
to be like, you know, this really, really incredible animator on paper,
you know, like traditional 2d animation.
And you have to be like super creative.
And I just didn't have that compared to a bunch of people that were, you know, going through animation at that same school.
And I really started to fall in love with like what I could do with code,
kind of combined with this 3D stuff. So I decided to go back to the school where I was studying
computer science. and I finished up
the the computer science program there but during that when I went back to my
computer science program I also got a job sort of part-time working at this
web design agency that was creating kind of like these more complex CMS sites for
like Quicksilver and Apple and the Tennis Channel and all these sort of like big clients.
And that's when I got into web design and web development.
And these sort of things started to come together to sort of like push me a little bit further into, like, creative programming.
But then I graduated.
I sort of went out looking for jobs, couldn't really find anything in that creative space,
and I got a job at Intuit, which is, you know, known for very exciting software like TurboTax
and QuickBooks.
And you could say I kind of settled into that job. Like,
it was really fun. Like we did a lot of sort of other projects as part of Intuit, but I,
together with my, my wife moved back to Sacramento, we started a family, we had two kids. But then one day, it sort of forgot about this whole
idea of like creative development or visual programming. And then one day I saw like
randomly on the Facebook, on my Facebook feed, Brett Victor's video inventing on principle,
somehow got shared on my feed. And as I was watching it,
like all these ideas like came back,
like the concept of like 3D animation
and how it's very like tied to direct manipulation
and all the things that I was able to do
with sort of like the programming side of things.
And then like the visual approach
to procedural modeling with Houdini
and how I was doing particle
effects through that program, plus all of the things I was doing in that, in that web agency,
sort of like came to a head and made me realize like, wow, there's like a huge, like there's the
potential here to do this same type of, apply this same kind of thing to web programming. And then that same night, I read a paper that Brett Victor has called Magic Ink,
which the combination of that, like the Inventing a Principle video and the Magic Ink paper,
just convinced me that there's an opportunity there.
So like the next day, on a Monday, I put in my, my notice that Intuit started
making plans to move to the Bay Area, called my brother to see if he wanted to, who was a designer,
see if he wanted to work on it with me. And then we pretty much right away, like a couple weeks
later, sort of canceled our lease in Sacramento, moved to the Bay Area. My brother moved up to my place, and then we just
started working on Webflow pretty much day and night. And then since then, it's just been kind of
working on what it's become, like getting more customers, adding more features,
getting closer to this vision of empowering more people to actually develop, even if they might not understand the exact principles or the exact syntax of the code that they're creating.
Maybe that's not like a short story, but that's kind of how I got to where I am today in a nutshell.
I love it. I'm so glad I asked that question because I don't think I would have gotten all
that if I asked a different question. I think that's the only way I would have gotten all
that background and that is stuff I didn't know and I'm very glad I do now.
Awesome. Yeah, that's why I like that icebreaker. There you go.
So that's quite a Red Victor origin story where you were kind of settled, like you were saying, into a job.
And then like Morpheus, he shows up and he gives you the red pill.
And then all of a sudden you can't see anything the same.
You quit your job and.
Exactly. That's exactly what it felt like.
It was like just light bulb went on and it was just inevitable at that point.
I couldn't not work on what I ended up working on.
Yeah. I think there's a very small,
like in the context of the world, there's a very small number of people.
But in the context of a video that changes people's lives very drastically, I think there's quite a large number of people who could say that about at least one of his videos.
Probably it's that one.
That was the one for me.
I still have the email in my inbox of like, dear Brett Victor, I watched this video and I'm convinced that I should like, you know, do this kind of work, you know, like
what, what's your advice? Um, right. Right. I have that same exact email.
Oh, okay. And it's, and it's funny. My email like goes through, there's like many, many,
many paragraphs, uh, of like, you know, this is how you inspired me. Thank you. Thank you. Thank
you. Thank you. And Brett, uh, Brett you, thank you. And Brett responds with two words.
You're welcome, with a smiley face.
It's so incredible to receive.
Yeah, yeah, that sounds like him.
I'm not surprised.
At least you got a response.
It took me many years of cold emailing to get something back.
Nice.
Yeah, he's got a lot of people that he's inspired. of cold emailing to get something back. Nice. Yeah.
He's got a lot of people that he's inspired.
Yeah, yeah.
I imagine it's hard to be him,
especially because he was telling me when I eventually did get to meet him
that he thinks of himself as a contrarian.
So it's hard when people watch his things
and say, I agree,
because he doesn't want everyone,
he doesn't want to be in the mainstream.
He likes to be misunderstood.
So his only response when you say,
no, I love what you do, I'm a big fan,
is you don't quite understand what I do.
You don't actually get it.
Yeah, yeah, yeah.
And I can see that. Well, I kind of impulsively bought Brett Victor fan dot club, the URL.
So maybe you could be a co-founder.
Nice. Brett Victor dot club. Nice.
Brett Victor fan dot club.
Oh, got it. Got it.
Yeah. It's important that we're the the fan club got it
uh i would i'll be your first member uh great yeah well we should probably make this website
on webflow that would be the right way to do this of course of course otherwise you know
it's first step to failure is not making a website on Webflow.
So I think part of how we got connected was you had this tweet that used to be pinned on the top of your Twitter.
I was really inspired by this, Inventing a Principal Talk.
So if you are too, reach out to me. I'd love to grab a beer
with you. Like a standing offer. I need to repin that.
I think I had
some product that we were launching
that I pinned something else and then I couldn't
find that tweet.
I think
I've met so many incredible people through
that tweet.
It's crazy that
there's this
common connection through this one video
or through this one person that somehow gets people together.
Yeah, I agree. It is pretty wacky.
And I think I also saw on your Twitter that you, this was a while ago,
and I wonder if it actually happened,
a dinner for people who are
like democratizing coding in San Francisco? I haven't, honestly, I'm behind on organizing it.
But that is on the docket. I think it's just the end of the year has been really tough to schedule.
But when January and February rolls around, I'm going to make that happen.
Amazing. Yeah, we just organized, sorry.
I was just saying, yeah,
there's just a lot more people now who are trying to democratize
development in one way or another and make like,
whether it's visual development or like non-traditional forms of development
happen. And that,
that field thankfully is growing much more than much more than it was several years ago.
Yeah.
In your tweet, I think most of the people that I recognized that you were going to do
this dinner with were people who have companies like you that are trying to push forward coding,
which is amazing because San Francisco, you actually have a lot of companies like Dark and Rebel It
and yourself that are doing this.
In London, I hosted a dinner last week
for people just kind of more interested in this topic.
Oh, I saw that.
Like side projects.
So it's like, I guess the people are less,
it's just, I guess a slightly different feel
because we don't have companies.
We're more hobbyists, more interest group, but it's just i guess a slightly different feel because we don't have companies we're more hobbyists uh interest group but it's quite similar yeah well i don't i don't feel like i
have to like i hope it's not something that's just limited to people who are uh you know running
companies or whatever because there's so many different ways we can like rabbit hole into
the specific things you know whether, whether for Webflow,
it's like more website focused or for Airtable,
it's more like workload focused or for like Zapier it's, it's more, you know,
integration focused or whatever.
I would want that dinner to be a lot more kind of oriented around the what's
possible in the future versus, you know,
techniques to optimize what we're doing now.
So I'm actually hoping it's a little bit more
oriented around people's vision
for visual programming and visual development
and just democratizing coding in general,
whether it's in the form of code
or some other way of representing some abstraction over code
so that we can all get inspired
versus trading tricks and trades for like reducing
churn or getting more customers or whatever.
Yeah. It's, it's not, yeah, that makes sense. Yeah.
Well I'm John and I as, as I guess, you know,
I'm John is the sponsor of the podcast and awesome.
Awesome. Yeah. Yeah. Yeah. you know Amjad is the sponsor of the podcast and um oh awesome awesome yeah yeah yeah Reflux is
the sponsor of the podcast and um him and I actually need to get together because like uh
he responded to that tweet originally and we just kind of kept going back and forth so this is a
good reminder for me to ping him again after uh yeah well I was to say it's kind of related. Like these meetups I've been hosting in New York and now London, and then someone's going to do meetups in Boston.
And Amjad said that he would like be up for like hosting the San Francisco based ones.
I feel like it's, yeah, anyways, it could be like a thing in my dreams.
It could be a thing like you do at dynamic land.
And yeah, I have a lot of friends who are into these topics in the Bay.
So I would want to send them, send them that way too,
but I don't know how big you want to make it.
Yeah. I don't know yet.
Like we just have to have the first one and then see where it goes.
I know it's just like the hardest thing is organizing people.
Yeah. Yeah. Tell me about it the london one i thought it was
going to take just a few hours to organize but it was such a big project yeah yeah especially
busy people that's uh yeah you have to like send around a doodle to get everyone work off when
they're free exactly i had to i had to upgrade to like the paid version of Doodle at this point.
That's when you know you're serious about organizing,
especially designers.
You need like the pro level of tools to get designers to show up to the same place at the same time.
Yeah. So back to your origin story
of the founding of Webflow. It sounds like your brother was your co-founder. Is that right?
Yes. So it was my brother, Sergi, and one of my co-workers from Intuit, Bryant,
that the three of us started together. Cool. And so at the time, were there a lot of existing
like visual web development solutions?
Because today there's like Squarespace and Weebly and Wix.
Like as competitors, were those around at the time?
Yeah, all three were around.
So Weebly was pretty new.
Squarespace has been around for a while.
Wix has been around for a while.
I think they were like Flash-based at the time, though.
We didn't actually see them as competitors, really,
because you couldn't really develop your own thing.
You could just like pick a template and move content around.
And that's pretty much where they are today.
So we didn't really see them as a competitor
because you couldn't do anything really that custom without resorting
to code.
Okay.
Well, I think there's an interesting nuance there because I've used some of these tools
and you can move things around, but as far as the styles go, you can't do anything custom.
Got it.
You have to use a template.
Right.
You can't.
It's not just style.
It's also interactions.
You can't, when you hover over over something create some sort of interaction or
you know create animations uh those are the things that get closer to you know when we were starting
you could only do in html and css and javascript um and in that, there wasn't really that much competition. And then we sort of came in at a weird time in history.
This is 2012 where, um, like bootstrap was taking off.
So a lot of people were building like bootstrap builders, um, which is sort of like more vanilla
cookie cutter, similar to Squarespace where you're like kind of configuring bootstrap
elements.
Um, and most of the world, like the startup world,
was just assuming that the web was like dying and everything was going into apps.
So all the startups, like even at Y Combinator and a bunch of investors were talking about like,
well, what's your story around mobile development? Like, you know, mobile is really,
really taking off. Everyone's getting
a smartphone, et cetera. So the specific space of like visual web development wasn't really
that much in demand at the time. Everyone had assumed, you know, pretty much everyone we talked
to that was even an industry expert was like, well, this is probably not going to work out
because Dreamweaver didn't work out or Frontpage didn't work out. So it was sort of like a foregone
conclusion that a WYSIWYG in the web platform space was kind of like a fool's errand at the time.
But we still, because my brother and I built so many websites together, we still felt very strongly
that it was something that just needed to exist. That process of doing a design in Photoshop
and then manually translating,
it just felt like there's got to be a better way.
So even if we had it just for ourselves,
we still wanted to make it happen.
Yeah, that makes sense.
That distinction wasn't obvious to me before,
that those other tools,
all you can do is just pick a CSS theme and that's it.
And if you want customization on top of that,
you have to go into the CSS or HTML or JavaScript.
Exactly.
And same thing with our kind of the biggest competitor in the space,
which is WordPress.
Essentially what you get out of the box with all these tools is a CMS.
Any customization of how things look and how a user interacts with them
are all done through HTML and CSS and JavaScript.
You're manually coding.
Yeah, that distinction makes a lot of sense.
So there are some keywords that you've used a few times
that I think are quite important.
So I want to just get your definition of these terms.
One is direct manipulation, which I think is a important. So I want to just get your definition of these terms. One is direct manipulation,
which I think is a hard term to pin down.
And the other one I think is a little bit easier
is WYSIWYG.
So yeah, what are your, yeah, sorry.
So direct manipulation to me just means that
like an action that you take has a direct response
with like the medium that you're creating for.
So if you're sculpting, for example, you're, or like chiseling at some, you know, stone,
like hitting your hammer against the chisel immediately has, you know, maybe there's some
like micro second delay or whatever, because of physics and whatnot, but like it immediately has an impact on that medium, right? Or when I'm modeling a character
in, you know, 3D animation software, or like I'm using graphic design software when I'm using the
pen tool, like me moving the vertex, I don't have to wait or I don't have to like switch to some
mode to see the result of that operation. Whereas when you're lacking direct manipulation,
you actually have something where you have to make a guess
and then go check whether that is what you intended,
which is pretty much where most of web development
and application and software development is today,
where you're in a text editor and you change something
and then you have to go into a browser and refresh
or wait for live reload to happen
to see if that's exactly what you meant.
So that's the lack of direct manipulation.
It's like the wait and see type of approach.
But when you have direct manipulation,
you actually have this very tactile connection
to the thing that you're creating. And when it's
missing, I think it's, you know, you have to find all these workarounds or get used to the fact
that what you're actually, the thing that you're writing or the thing that you're declaring
is not the actual thing that you're building., um, makes this just feel more like a translation, uh,
rather than a creation.
Um, so that's kind of how I see it.
Like when you add direct manipulation to something, it's sort of like switching between, you know,
Markdown, uh, to something like Word, you know, in, or like Google Docs, where in Google
Docs, what you're seeing is exactly what you get. Whereas in Markdown, it's sort of like a abstract representation of the thing that you're going
to get.
And then you have to kind of go switch back and forth into preview mode to see if that's
how you intended it to look.
Yeah, well, I want to keep digging in here because i think i want to like kind of tease
out the difference between direct manipulation and like live programming and and so live programming
i'm just going to say it's like when you get very quick feedback so you can imagine a markdown
editor where on the left you have the markdown and on the right you have the preview and as
quickly as you type you can see the preview yep and so that's not direct. Because when I when I
think of direct, like you mentioned the stone, I think of direct as like my hands, like fingers are
like in the clay, I can feel the wetness, that's like very direct. Right. And so I'm with you that
word feels more direct, because I can like point at the words. But still with word, I like select
the word, and I have to go and like pick a number to represent it i don't actually like drag the word bigger it's still not as direct right so yeah there's a there's
kind of a mixture between between both right like like there's some virtual reality um
uh kind of sculpting um programs where you have you know like kind of a closer to a you're not actually changing the thing
in um you're not touching the medium but you're sort of like virtually representing that that uh
physical interaction um but even in those cases like the way that you uh pick a color you're still
like in a modal or something like that um so, so there's, there's always a mixture, um, you know, when you're mixing paint, uh, on a, on a palette or whatever,
it's not exactly like you, you know, having a preselected color and then putting it on canvas.
There, there's always like some, some like modal offshoots of, of that kind of direct manipulation
idea. Yeah. The modal offshoots of like, you're picking a font or color is one thing but then
the other thing that i feel like it's hard to get at is like how direct is is direct like um
it or what kind of an attribute is direct is it like a spectrumy thing or is it a binary thing
uh i think i think it's a definitely a spectrum um you. For example, in a lot of things that you would
consider to be, let's say Houdini. I don't know if you've ever used Houdini for particle effects.
It's similar to Markdown, where you might have a procedural flow diagram of, I have an emitter,
I have a gravity well, I have like a gravity well, I have a, you know, different sort of like
sources that I put my particles through. And then on the right side, I have sort of like the actual
particle effect, right? And I can see, you know, this is what I want. This is like the gravity,
this is kind of how I want to represent it. And then in some cases, there's even a third step of
like actually rendering that out to like seeing fire or smoke or whatever um so there's definitely a spectrum where the
closer you get to um uh like your main input being uh the representative of uh the output product
the like the more direct that that feels right uh whereas if you if you're writing um let's say i'm writing a shader
right um for some game and i'm doing expressing that through like c plus plus that feels like
less direct to me because that means more translation layers to you know that code now
becoming an algorithm that becomes um some way to represent light bouncing um like there's, you're more and more steps
removed from the final output.
So I think the closer you are
to your expression
of like, you know,
an artistic or creative idea
to that final output,
the more direct that feels.
But it's almost never
like sculpting in itself, right?
Because like that is such a,
that's like, you you know finger to clay and exactly what you what you do is is what you end up with um so i don't think like you know
visual software development especially can can ever be that direct because um the expression
the things we're trying to express are so much more complex.
You have to come up with these sort of like abstract representations of like, quote unquote,
directness.
But I think the goal should always be to get it closer and closer to what you're trying
to represent.
That makes a lot.
Yeah, yeah, it does.
Let me just try putting it in my own words, because I like what you just said. So when you're doing some activity to build like an artifact, and so when you do the activity, you have to go check the artifact to see if it thing that you're checking, like the actual preview or the output is also
the thing you're interacting with, that's direct manipulation.
So the Markdown thing, it's not because it's off to one side, but word you're, you're more
directly interacting with the thing you're also checking.
I think, I think that's at least to me, it makes more make sense.
Yeah.
I would, I would say in some, in some world, maybe even something like Markdown would be close to direct manipulation if you have true reflection of the thing that you're creating right away.
Like if there's no delay, and that is the most efficient way of kind of like declaring that, I guess, like the abstraction that leads to the director the end result but
again it's it's um like for example i'm thinking i'm thinking like let's say i'm 3d modeling right
and i'm choosing a color uh even though i'm not choosing that color directly uh as long as i as i
like in some modal as long as i'm choosing that color and kind of like dragging around the color picker, but, and I'm seeing it immediately reflected on the, like the medium
that I'm creating for, like the actual model that feels like pretty direct to me. Like I think
qualifying it as whether like I'm choosing that color directly on the object versus somewhere on
the side, as long as I'm seeing the result right away, like immediately
without some sort of lag, that feels pretty direct. Like it, it, uh, it feels like it would be
too kind of like maybe pedantic to say, um, that's not exactly direct because like the influence of
your action is very direct. It happens right away. And you know, in a way, if that's what you meant, it's not, you don't have to like go in and kind of, you know, wait for anything or think of it as an abstract representation.
You're just kind of like thinking of that as the color of the thing that I'm creating, which is part of the thing that I'm creating.
Yeah, yeah, I definitely see that. I think just to be, I guess, like pedantic about it. I think that in that example, the color picker i don't have to like you know look in the code and then find the color picker i just i just press
on the thing whose color i want to change that's the direct part i like that distinction i actually
wasn't um like the live aspect wasn't in my vocabulary before but that that distinction
makes a lot of sense okay cool anyways uh we can move on it is very pedantic um
and and i could see how it would be pedantic um particularly when you're like trying to make
things that people use right uh as myself being more of a researcher these are these are the kind
of the terms that we we use in debate like what does it mean to be direct and you know right right
so so but given that you're like such an expert on
direct manipulation i figure you'd be the perfect person to help disambiguate these terms if i think
about let's say the markdown uh you know you have the market down code on one side and the live
preview on the other side where uh that's when you can start to make like almost a judgment call
on efficiency and ease of use where even though you have like the live translation right away, you could argue that you can actually teach a lot more people, maybe orders of magnitude
more people to go, like if you had something like content editable or something more like
Google Docs, to be able to directly change that right side. Even if you have, you know,
that live translation, you could argue that the direct
version is a lot easier to, for people to understand and therefore more accessible
than the live translation portion, because then that just means you have to learn another format,
you have to learn another kind of different, more technical way of expressing things. Yeah. Yeah. Yeah, definitely. I think most people agree
that direct manipulation is better and live is better. Once you understand what the terms mean,
I think most people agree that they're what we're going for. Actually, that brings me to my next
question. So you've spoken elsewhere about the democratization of various creative pursuits be it
blogging or animation or modeling or basically any creative pursuit that we could think of or that we
have there is some tool some professional editing tool and maybe even some amateur tool where it's
like direct manipulation and allows you to like do this creative pursuit
without having to worry about code. Um, but programming has been like particularly web
design has been resistant to that sort of a tool. So I was wondering if you could talk about why do
you think it's been so resistant? Oh, that's a great question. Um, I think, I think the major,
um, there, I think there are two factors. One is web programming actually
wasn't hard enough in the beginning. So many people found it pretty approachable, you know,
when you could just buy a book on HTML and learn how to sort of like create pretty basic websites
with tables and frame sets or whatever. It wasn't enough of a thing where it's so tedious
that it just screamed out for tooling.
Whereas something like 3D animation or video editing,
it would be so tedious to declare where every pixel goes
or where every vertex goes and where every cut happens
that it just, very early on, people just saw that
as the only kind of
meaningful way to get work done here is to create like more sophisticated
software to help us do this whereas web design kind of started as a much easier
kind of technical challenge and I think enough people over the first like five
years or so became experts at it that that it sort of, it just became kind of a
foregone conclusion that everything that you could do in web design, you could do manually
and it's like straightforward enough that it doesn't take too long and that kind of thing.
But then over time, as web development got more and more complex, that mentality stuck because, you know, you needed that experience of like the initial foundations of HTML and CSS and JavaScript to do the more complex stuff.
And the only people that could do that were the already experts.
And nobody could prove that you could do it any other way. So, um, uh, because we had multiple failures in the space, like Dreamweaver, right? Like Dreamweaver tried to, um, kind of like add some direct
manipulation features to web design. But then, um, uh, the, the outcome of that was like every
one of these pro developers would say generated bad code, which was true. Um, and it sort of like
became kind of a self-fulfilling prophecy where, because most of the experts thought that you couldn't actually do professional work with it, nobody knew would start using that
as sort of like the de facto tool, because all the experts and thought leaders said,
the only real way to do this correctly was to learn code from scratch, etc. So I think that,
you know, played out over decades, and led to this sort of conclusion that the only real way to do things correctly on the web is to learn all the foundations and do all the technical groundwork yourself.
Which almost feels like kind of sticking to the conclusion that assembly is the best way to do programming.
Sort of like we don't need any more abstractions to help us, you know, make sense of this complexity.
We don't need, we sort of reach the apex of the tooling that we can create.
So I think it's just like, it was a combination of multiple factors. But I think the biggest one was that the industry leaders
were kind of, and still to this day, you ask most web design industry leaders what they think about
WYSIWYG, like they'll dismiss them out of hand right away. And they'll say things like, you know,
well, just do what I did. Learn the fundamentals of HTML and CSS and JavaScript, et cetera.
Forgetting the fact that it was so much easier to do this
when the web was first getting started.
You could, like, incrementally learn these things
as, like, browsers got more and more, you know, as CSS came out,
as CSS2 came out, as, like, these new tags started to happen with HTML5,
as jQuery came out.
You know, like, all of us kind of like industry experts from the early that were doing this from the early years could
sort of like incrementally learn these things uh and it didn't seem too hard uh however somebody
starting new from scratch today it's it's such an overwhelming mountain to climb um because there's
you know uh hundreds of different ways to write CSS, many different
compilers that compile to HTML, many different approaches to JavaScript and JavaScript frameworks.
And it's just like this paradox of choice of tooling and this overwhelming kind of wall that
you have to surpass. So most people just end up either not getting into the space or hyper
specializing in something. They become like a React developer. So only building UIs, or they become
kind of like an angular developer where they're focusing more on like business logic or, you know,
creating forms, et cetera. It's, it's no longer a lot of industry experts will say, you know,
it's, it's kind of unlikely that you can become a master of everything, because there's
just way too much stuff to master now. But I think that is actually, it's the more we ask computers
to do for us, the more it's possible for us to master things, because then we just have to
understand, like the core concepts, we have to understand, you know, roughly how the box model
works, we don't need to actually understand all the syntax of expressing things that rely on the box model. We have to roughly understand how search engine
optimization and accessibility works. We don't actually have to know by heart all the different
HTML5 tags. We have to roughly know the principles of timed animation. We don't actually have to know by heart the web animation API or some React powered JavaScript
animation library.
As long as we can create tools to actually access that same level of power, I think all
that stuff is possible.
It's just the biggest barrier is overcoming this mental gap of believing that it's actually possible, which is most of the industry, I would say, does not believe that it is.
Yeah.
So I have two things to say.
So the first thing I want to say is that I really love the way you put it, that you don't have to know the syntax for doing certain things.
You only have to know the higher level concepts of how they work.
I really love that distinction because it's another way of framing what Fred Brooks calls the essential complexity versus the incidental complexity. not saying that we're going to have users you know describe their ui like abstractly and have
like some machine learning ai like figure it out for you we're saying no no you still have to
understand the essential nature of the problem you're trying to express you still have to
understand like visual design if you want to make a good looking website but you don't have to
understand all the things that that like we could just you know write down for you all the all the
like curly braces and semicolons.
We'll get that stuff.
You just focus on the actual essential bits.
Exactly. Yep.
And then the other thing I wanted to say was that
you mentioned that the perception of programming
and programming tools and WYSIWYG,
that's like been a big block for you.
And so I'd be curious, you've been doing this now for six years.
So I'd be curious how that's been going,
the different strategies you've been taking.
And one thing I'll throw in there is that I did an interview with one of the
founders of Bubble, which I assume you're familiar with.
Yeah. And he called this a slow revolution. is that I did an interview with one of the founders of Bubble, which I assume you're familiar with.
And he called this a slow revolution,
where the only way that people are going to realize that this is legitimate
is when other companies become big successes.
Like when the next Uber is built on top of Bubble or Webflow,
that's when people are going to take these tools seriously.
Would you say that the same has been true?
Absolutely.
It's all about social proof.
It's all about showing people versus telling them.
So we've had the same thing.
You know, year one, there was a lot of skepticism.
Year six, when we can point to, you know, Webflow.com,
which is 100% visually developed by a graphic designer
who doesn't code at all,
but that our sites, the amount of animation and interaction happening there will, in some cases,
outpaces what some of the best front-end developers can do. When entire companies switch
their entire marketing sites to Webflow, there's now HelloSign and Lattice and a bunch of other like YC startups,
you know, like best of breed type of startups
that switch all of their marketing operations
to like this new visual way
of kind of building web pages and applications.
That's when you can say like,
look, the proof is in the pudding.
Like you can actually,
but it is absolutely a slow revolution.
Even with those proof points, you get a lot of yeah, buts. Like, yeah, but it doesn't do this. Yeah, but it is absolutely a slow revolution. Even with those proof points, you get a lot of
yeah, buts, like, yeah, but it doesn't do this. Yeah, but it doesn't do this. Like, oh, what if
I need to kind of like pull the escape hatch and do something custom? And I think that's just a
matter of like adding more and more functionality to the, you know, to the tools that we're creating.
Like just, let's say, four months ago,
it was a legitimate thing where people could say,
well, yeah, Webflow sort of abstracts HTML and CSS,
but one of the new technologies is CSS Grid
and your team or your product doesn't support it,
which was a completely valid criticism
because we're sort of behind the curve a little bit
around what's actually available in browsers. But now that's not true anymore. So we have like
fewer and fewer sort of things that people can point to as examples where we're behind what's
actually possible with the web platform. So I think it's absolutely just a matter of time,
absolutely kind of a function of more and more people adopting the technology
and then showing what's possible with it.
Like we have some people
who have started entire companies without developers
and like gotten funding
because they were able to build
like either a proof of concept
or like sort of everything they needed to build
and host on Webflow.
And those, like the more of those that we get,
the more we can inspire others to
kind of not assume that they need a developer to get to do development, because sometimes you can
like learn how to visually develop yourself. And then like the more of those proof points you have,
it sort of like starts to snowball. But we're still very much in like the middle of that
slow evolution. It's not nowhere near to snowballing yet.
But it's, it's a lot closer to it than it was five years ago.
Yeah. So I wanted to talk about one of the design choices you made with Webflow,
like design of one of the technical design choices. Sure.
So it seems like Webflow is a very thin abstraction layer over HTML and CSS. For example, you brought up the CSS grid abstraction, which I've seen a lot of really cool demos
of like on your Twitter feed and like little GIFs showing or maybe some videos.
And it's really impressive.
And it seems like you guys really think that like the CSS grid abstraction improves the
tool.
And so part of the question is like, why didn't you build that abstraction before CSS grid
existed?
And then just like, you know, manually compiled down some HTML, CSS thing that didn't exist.
Basically, why didn't you implement your own CSS grid if you had the idea?
Why are you waiting for HTML and CSS to do the thing and then abstract over it?
Why don't you just build the right abstraction and then compile down to whatever CSS and
HTML supports now?
That's a great question.
So a couple answers to that.
One is we fundamentally believe
that the web platform will win over the long term
just because there's so many proof points over time
that the web, like this open technology
that gets consensus and agreement
across many different solutions
in many different companies,
tends to, even though it takes a longer period of time,
tends to absorb all these great technologies
from mobile, from Flash, et cetera,
which seem to, when they first start to create,
Flash had its own custom layout engine,
which is a lot more flexible.
They seem to be more flexible initially,
but then stuff starts to break down.
Screen readers don't work,
or search engines don't work with them or like there are performance issues with doing layout that, you know, when it's not built into the browser, it just goes a lot slower.
So we have kind of have made that assumption from day one of like where we can let's rely on browsers and open standard open web standards to actually do the underlying work for us.
So that's the concept of building directly for the medium that we're creating for.
So we're not building our own rendering engine or our own layout engine, because we would
really have to be more right in the web platform for that to eventually succeed.
And even if it does succeed, then we create this sort of walled garden of this, you know, this layout engine only works on Webflow or whatever, or like we have to have our
own runtime. But the bigger, like more practical answer to that is just speed. There were a couple
like grid or grid-like layout engines, you know, some based on like Apple's, I think it's called
auto layout. And there's something called GSS, like grid style sheets,
which are JavaScript based.
They were just way too slow.
You have to do a lot of work to essentially relay out
the page as content is changing or animations are happening.
Whereas browsers, when they build it into their engine,
they have such closer control, sort of like quote unquote to the metal where they can hyper optimize things like layout or, or like repainting,
et cetera, where the user experience is just so much more, like, it just feels so much more native
that, um, that takes a lot of work off of our plates. So by creating a visual abstraction over
something that's already there, A, makes our
job easier. But I think it also makes the work that people create in our tool a lot more long
lasting. Because you can always pull the escape hatch if you need to. And what you get out is
standard HTML and CSS in JavaScript, which you can run anywhere. You can take over and start maintaining it yourself.
But it's open web standards.
There's nothing magical about it.
And that inspires confidence in our users because it means that you don't feel trapped
in something that just one company is doing.
Or what if our layout engine starts to not become performant or whatever? Um, I think there's just more confidence
in us saying, um, you know, we're following the accepted web standards, even if it, if it means
waiting a little bit longer to do that. Damn. That was, um, the best defense of
open web standards i've ever heard
so great you're a real fan yeah thanks
uh so do you contribute to web standards or is that something that
you see yourself or your company doing down the line um i think we've uh we've been a in part of
several conversations like um one recently around styling scroll bars.
We were pretty early in the CSS Grid discussions with the company that was implementing it in Safari and Chrome.
But it hasn't been a direct type of involvement, just because we don't have anybody on the committees. We've definitely commented quite a bit on some of the proposals and shared our perspective.
But I think our company has been at too small of a scale to participate in those larger vendor
discussions. But definitely something we see ourselves being more involved in going forward.
So you mentioned this phrase walled garden. And I, that's related to this other question I have
for you. And it's also related to this tweet. I keep, keep referencing your Twitter feed.
I think someone like contacted you on LinkedIn saying like,
you're building the Salesforce for web development.
Cause like,
I think they were talking about how Salesforce is this like platform.
That's very like pluginable.
Yeah.
Like everyone kind of just built on top of Salesforce.
Yeah.
And so it's wonderful if you could pull off the platform thing and then
everyone kind of integrates with you.
So anyway, so I I'm not, I'm doing a bad job of articulating a question and then everyone kind of integrates with you. So anyway, so I,
I'm doing a bad job of articulating a question.
I'm kind of talking around it.
It seems to me like Webflow is, is a walled garden in that.
It's like a single cohesive system,
your one-stop shop for web development, CMS, maybe more.
And so, yeah, I'm wondering, and then like,
I'm sure you're going to open up like a plugin-y system at some point if you already have one. So, but like, I don't know,
I'm just curious if you've considered like the, a different alternative where you instead focus
maybe more on what you're good at and then integrate with other tools that do what they're
good at. Sure. And have kind of like more of a patchwork solution? Sure. So we consider that for sure. At the end of the
day, what it comes down to is the user experience. So when we first considered launching or
integrating our visual tools with a CMS, for example, the obvious answer was, hey, build an
extension to WordPress.
Take something that takes your visual chops and kind of extend it to a CMS platform that already exists,
especially one that's open source.
And we actually created some prototypes around that.
And what happens is you have sort of like,
by approaching it in a sort of like piecemeal patchwork way you have
essentially the sum of those two things you have a good cms and you have a good visual um uh kind
of like layout engine or like a way to build templates but it's the combination of the two
if you do them right it actually becomes a lot more than the sum of the two parts. It makes the two things work so much more kind of like cohesively together that it becomes
foundationally or fundamentally more accessible to people. So for example, right now we have what
we call a visual CMS, where you design the entire content model, sort of like your graph of what
objects you're representing and how they relate to each other.
And then when you're building the visual for it,
you actually can visually bind to that data.
And that's not something you can do
when the two systems don't really understand each other that well.
But by having control over both the,
like how the data is declared
and how it, like the schema around that information, and exactly the structure
and the source and the performance characteristics of that, the shape, everything around how
that data is accessed and how it's stored, you can very easily marry it to a visual design
and provide this super seamless visual development environment
where you can tie visuals to data.
And I think the result of that is 10 times better
than just having a CMS and a visual template editor
in isolation that are sort of integrated together.
And same thing goes for,
we're now working on things like multi-language and components and e-commerce where just having a feature of, like, let's say we had e-commerce where we took our visual language and sort of made it as like a Shopify extension.
You have like all these sort of like translation steps between the two platforms that just don't feel very natural. Whereas in Webflow now with Webflow Commerce, you can like literally drag in kind
of like a checkout page and make it look however you want or like a product grid. And you're just
like directly manipulating your layout of like products or like the product detail page. And
you don't have to worry about like all the, like how it would actually integrate with an e-commerce
platform. It just works. It's just like the it would actually integrate with an e-commerce platform.
It just works.
It's just like the thing you're declaring just works out of the box.
You press a button and it goes live.
You hook it up to your, you know, Stripe account
and it just, everything just works out of the box.
So it's more of the kind of like very,
it's like think of it maybe as,
I don't know if you have an Apple device.
Yeah.
Let's say you have something like email, right?
Email is a kind of federated way that you can send a photo to any person in the world,
no matter what device they have, right?
But if you use AirDrop, it just feels so much more natural.
You're close to a person.
You literally hit AirDrop.
You just give them all the photos from your device.
It just feels like it takes like a
second versus like a, you know, a minute long process, right? But that's only possible because
like those devices understand each other. And it's just like a very, very integrated environment. I
can do that to my to my Mac, I can do that to my iMac at home, I can do it to my daughter's iPad,
etc. It's just like, the fact that the systems understand each other just makes the user experience so much more fluid, that I don't
think it's possible when you have like this sort of like handoff or integration type of workflow.
And that's just kind of like a decision that we made. Based on user feedback, like we just found
so much more success with people like thinking of those things as just one thing
versus the combination of many different solutions
that are sort of patched together.
I don't know if that answers the question,
but to us it's all about user experience.
But we try to keep things in a way where
everything around what you're building in Webflow,
like all your data, your layouts, your HTML,
your CSS, your JavaScript,
your actual stuff that you put in the CMS,
you can take it and put it anywhere else.
Of course, you're not going to get
all of the ecosystem effects
from everything working well together,
but it's not like you're completely locked in,
almost like you are with Facebook.
Facebook is not going to let you take your... I mean, they'll let you download all your messages,
but you can't just move them to something that's a similar functionality.
They're not going to port your stuff to some other social network.
It has limited value, whereas the things you build with Webflow,
you can actually take the majority of it and adapt it to some open source CMS or whatever.
You don't have to throw out the baby with the bathwater in a sense.
So that strategy makes a lot of sense.
I guess one outcome of doing it all yourself and slowly growing the product to do more and more things,
to encompass more and more of all the things users want to do. I'm curious, when will it stop?
So now you have companies that are turning their home marketing sites into Webflow sites.
Will the next Airbnb or Uber or Facebook, will the next website, billion dollar YC company,
will one of them, will one day they be created in Webflow?
I think the first versions of them could definitely be created in a future version of Webflow.
So when we add things like, you know, a plugin ecosystem, user context, like backend, like
more backend-y visual development flows, I can definitely see where the initial version of Airbnb
or an initial Twitter would be created and validated on Webflow
and then potentially even scale with Webflow.
And the vast majority of software that's created is CRUD-based.
It doesn't have the type of scale that these startups do.
So I think a lot of software
will be created in this sort of mid-tier
where they're completely scalable
on something like a shared platform like Webflow.
And a few of the breakout ones,
like the Airbnbs, like the Ubers,
they might need to sort of like,
quote-unquote, eject
and build a lot of stuff on their own.
Just like Dropbox had to eject from AWS
and build out their own servers.
But those startups are very few and far between.
And I totally believe that in the future,
a lot of the initial versions of products
will be completely created visually.
And then if the platform or the foundations on which that visual software runs does not
support very complex use cases, there will be ways to either augment that with code,
whether it's front-end or back-end, or eject and build that the traditional way.
But I do think more are more and more software,
if not the majority, over the next decade
will actually be created in a more abstract way
where you're not like writing all the rails
or node handlers on the back end.
You're actually, we're going to move closer and closer
to like a Zapier-like or Airtable-like
or more Webflow-like kind of visual expression of business logic and UIs
and components where a lot of the translation steps are just removed from the equation because
they're just like just that tedious translation. We need to focus more on the actual like solving
business problems. So if you can imagine Webflow the way it is today, when you submit a form, you know, just adding some functionality where you can, a user, like a designer can map what those form fields go to in the CMS.
You've essentially created like a CRUD based application where a user has user generated content.
They fill out a form.
It goes into the database.
When you refresh, that is now available on the website.
Then you augment that with something like user context,
where users can log in and actually see content that's relevant to them.
Then you're already pretty close to migrating what looks like a website
to a web application.
And you're already pretty close to creating things that we think of
as like, you know, full-on applications
to being completely possible visually.
So it's definitely not outside the realm of possibility
that entire startups will be created on Webflow.
Whether they stick on the platform or not
just kind of depends on their needs as they scale.
But that's something to figure out in the future.
Fascinating.
Yeah.
That distinction you make between, like, it sounds like you're very much going after the middle market or even the lower end of the market.
And you're letting the big guys eject from you.
That's not.
Yeah.
That's not.
Because I think there are tools that exist that you or I, maybe you know about them, but I think most people don't that are like just for enterprise companies.
Like the fortune 500 companies have website builders that I don't know, SAP has made for them.
But, um, but like the rest of us don't know about those tools and you're kind of going for the opposite.
Yeah.
Yeah.
I think we're, we're trying to enable software creation that's not being created today.
So right now somebody might have an idea.
So I'll give you an example.
One of our product designers launched just a podcast directory,
a searchable podcast directory of the top-rated podcast,
in his opinion, right?
You could say that's a product.
It was on Product Hunt.
It's a piece of software.
It has a database.
You can search the stuff. It's a piece of software. It has a database. It has, like, you can search this stuff.
You can, like, rate by certain things.
You could argue that that software would never have been created
because this person doesn't know how to code.
So I think what we're trying to enable is, like, giving people this ability,
sort of, like, democratizing the act of creating software
to where most of it is not an alternative
to something that they can already do today.
It's actually like the first,
it's an empowerment of them being able to do something now
that they weren't able to do before
without like significant capital
or like hiring somebody else
or learning how to code, et cetera.
That, that makes a lot of sense.
It's kind of like what Excel, Excel did to Pascal, you know, like a lot of people when,
when, uh, spreadsheets came out, it's not like all the Pascal programmers jumped to
that and said, Oh, I'm going to do all of my computation on, um, but you know, with this visual expression of kind of, like, expressing computation,
it actually empowered 10 times, if not 100 times as many people to actually, even if
it's in the limited sense, to get a computer to do calculations for them. And depending
on how you define, like, you know, giving instructions to computers, like Excel could
be considered the most popular programming language, it's it's used to sort of like extract computational
power from um from a computer in like a very specific type of way uh in some ways like entire
businesses are based on excel spreadsheets and and like formulas and calculations and stuff
but it's um it created this like new, completely new way of getting people to
quote unquote program. But it wasn't necessarily like a replacement of anything.
Yeah, I really like that distinction. And it reminds me of someone else I interviewed on my
podcast, Joe Cohen of this company Universe.
Are you familiar with the Universe?
It's like a grid-based iPhone app to make websites.
Yeah.
And it seems like a lot of the people who he has on his platform are people who never in a million years, I don't even think that they would have gone to Webflow.
Even that seems too complicated for them.
Like these are people who need to be like on the bus to be able to make their website.
Cause like they don't have time.
They don't have a desktop computer or whatever it is.
So I think he,
like you are enabling people,
they're enabling the things that never would have been created on any alternative.
Exactly.
Exactly.
That's exactly.
It's, it's empowerment
to express yourself, whether that expression is like, you know, your personal, in the case of
universe, like your personal kind of identity on the web and, and how you want to be perceived,
uh, and what you want to say about yourself, uh, to being able to express some idea for,
um, you know, uh, a website or even a product or like a bit of software.
Those things would have not made them like, would not have kind of formulated into reality
had these like kind of tools not existed to empower those people to do that.
So if you'll allow me,
I want to be a bit pedantic again about something that you said.
Okay.
Is that all right?
So you mentioned how if you consider giving instructions to computer programming,
then Excel could be one of the most popular programming languages out
there.
And so I too have defined programming that way. Uh, cause all the
time, especially when I was teaching programming, people would ask me what is programming. And, um,
that's a hard question to answer. I've since learned, uh, cause I started dating someone who
is an artist and everyone always asks her, I used to ask her what is art? It's really hard to define.
So it turns out every field of, of study or expression is hard to define.
But stick to programming.
What is programming?
I think most people will agree that you have to be pretty abstract when you're talking about what is programming.
And giving instructions to a computer is probably basically what you want.
But then people will be like, but wait a second.
Where's the line?
It's like sending my
emails on gmail is that programming and um it took me a while but finally my answer to this
question is yes everything you do on a computer is programming it's just um not a very good
programming language like gmail is not very composable it's not very expressive it's a very
it's like not turned complete it's not a very good programming language but but it is how do you feel about that that's interesting i've never had it um kind of expressed that way i would say
programming is the the act of somehow declaring instructions that are then replayed uh in some
way so in in gmail to use that example i think creating a filter feels like kind and some like, you know,
help support desk software or whatever.
That feels like programming
because you're saying,
hey, computer, next time this situation happens
or even going to like a text expansion program
or your iPhone and like declaring rules,
let's say when I type this, do this.
That feels like kind of like
what I would define as programming.
Whereas like that, like, let's say you had like an Amazon Echo device where you're saying like, when I say this word, turn on my Christmas tree.
When I say this other word, turn off my Christmas tree.
When I create those rules, I'm programming.
When I execute that program and then like say those words, I'm actually now just, you know, giving it commands
and those, those instructions are executing. So it feels like that's the distinction to me,
like creating the rules, that's programming, executing on the rules is more of like the use
of that programming. I see. And this really fits. I like this distinction a lot. So the distinction is deferred, like whether or not it's happening now or later.
And I think that fits with people's conception because if you think about the word, even
programming, it's like pre-programming something.
It's like setting it up.
And then later, you're using something that was pre-programmed.
And so the programming is, it's the setting it up.
So I guess to take your email example,
when you're sending emails, you're not programming.
So let's say I'm in code.
I've authenticated, like I'm in a Python shell
and I've authenticated to some Gmail API
with my Gmail credentials.
And then I write an email in the shell and I hit send.
So most people will call that programming
because it looks like programming,
but maybe you would say, no, no, no,
that's just using, that's just sending an email.
Yeah, that's maybe scripting.
Like you're just sort of like the act of
creating that,
that command or that program that executes on that is programming,
but actually executing that command feels more like, you know, I don't know,
utilizing that program. I don't know. It's kind of,
it starts to become arbitrary.
No, no. I think to me you've you've come up with a very clear distinction uh programming is just setting up a computer and then and like setting up is very clear and then anytime you use a computer
that's that's not programming that's just yeah yeah cool yeah i'm glad i'm glad we went down that rabbit hole. That was fun. Awesome.
So I have a cheeky question.
Okay.
Bootstrapping.
Will Webflow ever be built inside of Webflow?
And not just like the marketing website for Webflow,
but the actual tool itself?
I think maybe at some point, very, very far into the future.
There's a lot of parts of Webflow we already build in Webflow.
Like, for example, a lot of our e-commerce product,
all the user interfaces were actually declared by one of our product designers inside of our tool,
which is actually kind of confusing
because when you look at this designer's design surface,
you actually see Webflow twice, like all the tools,
and then you see them again on the actual canvas,
which can get really confusing.
So all of the visuals were built with Webflow
and then sort of like perfected in React or whatever.
So it's moving closer to that world,
but I think we're still pretty far away
to building the entire thing.
It's almost like the best 3D printers these days
are not 3D printers that can replicate themselves.
You get so much more quality by using materials
and using the types of precision
that is not quote-unquote replicatable.
But I think at some point in the future,
more and more of these things will be able
to be expressed visually.
Uh, I still think there's going to be massive amounts of, um, like manual code needed to,
to like build out these tools and build out more complicated software.
Um, so it's very, very early, uh, to, to try to say like when or if even, uh, entire tools
like Webflow will be able to be created completely in Webflow.
The 3D printer thing is hilarious.
I've never heard of that or it never occurred to me
that a 3D printer could build a 3D printer.
And then once it does, we've reached the robot apocalypse
because there's no stopping them.
There are 3D printers that can actually build all the materials
to rebuild themselves,
but they're usually the ones that are like less uh less accurate um it's it's more of like you're just doing that out of kind of like
the novelty sake um but the best ones are definitely the the really really kind of complex
ones that can't rebuild themselves well that's that's so cool though i feel like someone just
for fun should make a project where you have a 3D printer, it prints all the pieces for itself, and you also have a robot that's able to put it together. And then you just have this video that goes on. As long as you have input materials, you just have this robot just go down the line making things that make themselves. And it's exponential because, of course, once you have two, they can both make two. And then once you have four, they can make eight.
That would be hilarious. I would not personally recommend that as a hobby.
That would probably take many, many years.
Yeah, yeah.
Because I guess you need a 3D printer plus an assembly robot together.
Yeah, yeah.
You'd have to.
And it would be very slow, I'm sure.
You'd have to speed up the video. But it'd be exponential. So as long as you have the input material. Yeah, you'd have to. And it would be very slow, I'm sure. You'd have to speed up the video.
But it'd be exponential.
So as long as you have the input material.
Yeah, anyways.
But think of the internet points you could get.
So many.
See, this is how the robot apocalypse is going to happen.
It's not going to be for greed of money.
It's going to be for greed of internet things.
Exactly.
All economics boils down to internet points. It's not going to be for greed of money. It's going to be for greed of internet. Exactly. It's a, that all,
all economics boils down to internet points.
Okay.
So back to,
back to serious topics.
I,
myself was,
I was sketching out a tool for direct manipulation of user interfaces.
But my personal work is more about very nested interfaces,
like a to-do MVC. So it's all front-end logic and it's very interactive.
Right.
And so I was making a direct manipulation tool that could make these sort of things.
And the hard wall that I ran up against is that everywhere I put like a slider for numbers or a color picker or anything like that, I also realized that I'd have to be able to put an expression, like an arbitrary expression or value that my program computes elsewhere.
And so then I was like, well, if I have to be able to put expressions everywhere, then basically isn't it just a programming language?
Like then I can't have these nice widgets like color picker things.
So, but then I had this idea that, so now you're just giving me product feedback.
So anyways, so then I had this idea that um like we could have
detachable widgets where like only the literals are widgets but you could kind of like detach
them and put anywhere like in webflow anywhere on that panel where you could like pick a color
or a number you could like instead put an expression there um and then the expression
could contain itself like a color picker i don't know so those are some some difficulties and a proposal
what are your thoughts on making a tool that's like webflow and it's direct manipulation
but also uh like more expressive and like nested right right uh that's a that's a good question
like we we've deliberately chosen um chose not to kind of go down that level of complexity yet. So take something like CSS.
It has like a concept like calc, right?
Like to calc it instead of like a direct value,
you know, I want something to be 20 pixels.
There's like a kind of an expression that you can say,
I want something to be 20 pixels plus 20%
of like the page width or something like that.
We haven't even gone to that complexity
where, you know, we find ways to express that
because like the majority of our product
is so much more like direct manipulation-y.
So it's hard for me to say
like how much value that actually provides
because even without those things,
people have been able to create
like really, really powerful, you know,
websites and experiences and animations, et cetera.
So one part of my answer is that it feels like in many cases
that sort of expressiveness might not even be necessary,
especially in the web design use case.
But once you start to go down that rabbit hole,
when you want to have the same level of power
that you might have in a 2D UMBC app, then I don't actually know what the answer is to
creating that level of expressivity.
You may be...
The fact that you have to write an expression becomes a necessity, but as long as you keep
that to a minimum, almost like Excel does, like Excel, you have all this power with formulas and things like that, but it's easy to see when
you messed up. In a regular program, you get a semicolon wrong, the whole thing doesn't run.
Whereas in Excel, you get a formula wrong in a specific cell, you kind of see that the error
is just there, it doesn't break the whole program. There's sort of like this iterative kind of solver model
that the whole spreadsheet runs against.
So as long as like your visual way of expressing
this like really complicated front-end workflows
keeps that type of principle of like,
it's really, really hard to do the wrong thing,
even when you have,
uh, this, uh, you know, ability to write out expressions, um, like for example, you can,
you can compile expressions, uh, before you even let a user committed and say, you know,
the syntax is wrong here. Um, so you have a lot of flexibility to, um, make it, um, kind of like
harder for, for the consumers of your software to do the wrong thing.
I think that will, the combination of those two things, like the direct manipulation and
the kind of the ability to do these super custom things on the edges is probably the
right approach in the long term.
But, you know, you just have to actually build them
and give people the task of,
hey, build this interface or build this interaction
and see if it makes sense.
It's very hard to abstractly try to determine
whether that's the right approach or not.
I was wondering if you would have advice
for other people looking to follow in your footsteps
in following in Brett Victor's footsteps, like for people looking to follow in your footsteps in following in Brett Victor's
footsteps like for people looking to do Brett Victory things with their lives uh what sorts of
given that you've found a lot of success uh doing that what would you recommend?
Oh that's a good question um you know for me it was very um like I was lucky enough to to be
kind of exposed to certain things
like I described like 3D animation and web design
where kind of seeing this concept of, you know,
removing a modal or like a mode-based type of workflow
with one that has no modes or like, you know,
introduce direct manipulation like it was directly applicable.
I've actually shared that video with a lot of
people who aren't in like programming or or design and some people actually just don't connect with
it at all so i think i was yeah i have to say that um especially people not in programming they
don't get it at all my girlfriend she she was like so confused when i showed it to her and she
dismissed it so out of hand.
It was tough for our relationship.
It was so hard for me to hear.
I'm like, you don't understand.
Like this video is like the most important thing to me.
And she's like, but it's like, she's like all the artistic tools I use, Photoshop, they all work like this already.
I don't get what your problem is.
Yeah.
So it's very, it's hard to say what I would advise because it's such a personal thing.
You know, my wife had the same thing, like, will you watch that video together?
Because I told her how, you know, impactful it was for me.
And it was just like, that's cool.
You know, not quite the same.
And forget about reading Magic Inc. That's just like, you know, way too, like, even for me, it was pretty, pretty dense to get through.
So I would say there's, if the inspiration strikes around like a specific concept, like,
even in that video, like Brett shared, kind of like this new way of doing animation, right? I
don't think anybody has actually built that into a product yet. You know, when he was like sort of manipulating it
with his, you know, making like the leaf animate.
I don't think anybody has actually taken that to market.
So I think if there are specific things
where you can see that you can actually solve an existing,
here's how I actually heard this on another podcast.
I think an investor was saying it,
like the way to identify business opportunities
is to take something that people are already paying
quite a bit of money for.
And if you can actually make it way easier,
like that's almost a no brainer
because there's a proven sort of like,
you know, use case for it.
And you're making it
easier there's there's got to be a way to market that so I think there's there's quite a few ideas
maybe not with like sort of the electrical diagramming that Brett Victor kind of did in that
in that video but maybe game development maybe like this video editing thing, it's hard to say.
Because like, I don't want to recommend, you know,
start like visual web design software,
because, you know, it would be like,
I honestly believe that it would be very hard
to kind of do all the work that we did in the last six years.
So you have to, because when we started,
it was sort of like a very, very niche thing.
We were the only
real player doing that so we didn't really have competition but I'm sure there are many other
areas where you can like apply this principle maybe it's like very focused to just component
design or like animated SVG kind of like output or like I mentioned video editing I don't know it's it's very hard to answer
that I think I feel very lucky in that like for me it clicked right away based on the experience
I had with of like how hard it was to build like custom custom websites and it just like made sense
it's like duh but I don't know if that it'll apply to other types of products or industries.
Well, one thing to note is that when I asked that question,
I wasn't quite asking like,
how would you come up with Brett victory startup ideas,
but that is the question you answered.
And that makes sense given the way I asked the question,
because that's what you do.
But clearly you don't have to like do a startup to to do this kind of work um like speaking of which um brett isn't like known for being like an ardent
fan of capitalism so i'd be curious to get uh to hear if you've interacted with him you know
like recently and if he's seen what webflow has become and and like what he thinks of it
um i i did get a chance to meet him at Dynamic Lane,
but unfortunately we didn't get a chance to,
you know, I didn't want to just start talking
about my product or whatever.
But based on his reaction to, let's say,
I know Khan Academy, John Rezic,
when he went to work there
and he sort of like took a lot of the principles behind Brett Fichter's kind of direct manipulation and like visual programming type of concepts and applied it to learning computer science.
Like Brett had a lot of kind of criticism for that approach.
Yeah, I'd say that's an understatement it's one of my favorite stories of someone like
trying to give pay homage to someone and getting like uh yeah criticized in a big way and i think
you know honestly um uh what's the expression like capitalism um is the worst type of government
except for all the other ones uh so for for, the fact that we have an economic incentive to,
you know, create better products, like in the long term actually impacts way more,
like makes a much bigger dent in the universe, because it means that the thing that we're
creating is actually long term sustainable. Whereas just creating, you know, something on
the side to be completely perfect, but doesn't solve like some immediate business need may actually mean that you have like a more perfect product, but you don't actually have long term impact.
So it's sort of like there's a big trade off, right?
And I think there's well yeah i think just to point out like there are a lot of like
for example the the open web standards w3 people like like that's not a business and yet they have
a big impact so obviously you can have a big big impact yeah absolutely i just thought i'd point
it out because i i remember because uh when i initially um for myself decided that i'd rather
try and have a bigger impact without making money,
I didn't think it was possible because I came from the world of startups and
my dad is a finance person.
And,
and everyone was telling me that like the only way to have a big impact is
to start a company.
And I,
and I believe them at first.
So I feel like it's important to just say,
Oh,
absolutely.
I mean,
look at Brett.
Yeah.
Look at Brett.
Like he,
he probably led to the creation of so many companies just by way of inspiration.
And that's huge.
I mean, like if you create the sum total of that, like none of that was him starting companies, right?
Totally.
Totally.
Well, that's too bad that you don't have your own version
of the learnable programming essay that criticized
Khan Academy you don't have your own
your own
beautiful essay that tells
everybody how terrible your product is
but I guess honestly that's one of the reasons
why I didn't want to write anything like
on Medium or some blog post
saying like this is inspired by bread stuff
because I didn't want the criticism
but you know, yeah, yeah. Maybe one day you'll be so lucky. Yeah.
Um, okay. So in the last few minutes, um, I like to ask guests for their, um, API so that like
basically ways, uh, other people can interact with you or Webflow,
if you're hiring email, whatever it is that you want people listening this to follow up with you.
Oh, sure. So I'm, I think the only kind of socially network that I use is Twitter. So I'm,
I have my DMS open on, on there. I love having conversations on there.
I think most of the friends that I've met
that are into like visual programming
have all been through Twitter
or primarily been through Twitter.
Yeah, I could say the same thing.
I've made so many hundreds of friends
through Twitter in the last year.
It's amazing.
I like have been neglecting my IRL friends
because my internet friends are more interesting.
So that's the best way to get in touch with me.
That's where I talk about programming and Webflow and all those things.
And I love kind of getting together with people, you know, especially in San Francisco, because that's close to where I live.
But, you know, I make it out to other places, too.
Just talking about this stuff over, you know, breakfast or lunch or whatever it is.
But yeah, Twitter is the main channel.
Great. Is Webflow hiring? Is that something you're-
Yes, absolutely. So we're hiring product designers, specifically those that have some
bend towards programming. All of our product designers have some understanding
of all the concepts behind front-end development,
CSS, JavaScript, et cetera.
And just people interested in creating tools
that help other people create software.
So that is, we're always hiring on that front.
And then right now we're kind of,
we just hired a bunch of front-end developers.
So that's not a big area of focus,
but we are hiring product managers as well,
like people who can really understand this customer's problems
and like lead entire features or product efforts.
And the more technical you are, the better.
I think everyone on the Webflow team
tends to lean towards the very technical side. And that helps a lot with the way that we design
products, the way that we think about how stuff is architected. So yeah, definitely hiring on the product side.
Cool.
And I was kind of curious, is a big percentage of your team,
Brett Victor fans before they joined the team
or you kind of inculcate them into it after they join
or you kind of leave it out of the way?
No, a big percentage are like started from conversations
that were sparked by this talk.
So they lead to like closer conversations, then they lead to people joining the team. I would say like, you know, roughly half
of the team is like huge, huge fans of Brett Victor. Oh, the other thing I wanted to mention
around hiring, like we're essentially worldwide. You don't have to like move to San Francisco to work at Webflow.
We're in, I think, 22 different states, 16 different countries.
So it's, there's a lot of flexibility there.
Yeah, that's wonderful.
I definitely someone who prefers to work from home.
Cool.
So maybe we'll find someone who wants to work at Webflow.
Hopefully.
I mean,
you you'll collect your recruiter recruiting fee.
Oh, yeah. I don't think I've yet connected someone for a job.
Yeah. I don't I don't I'm not that good of a first time.
We'll see.
Could be. Well, anyways, thanks so much for taking the time to chat. This was a lot of fun.
Absolutely. Likewise. I love this conversation.
All right. I'll catch you next time. Thanks, Dean.
Bye. Bye.
If you find these conversations valuable, please consider becoming a supporter.
Your support would help make this work more sustainable in the long term.
You can support by going to futureofcoding.org and clicking on become a patron in the top,
or just go to patreon.com slash steve krause.
Thanks for listening, and I'll catch you next time.