(numbers clicking)
(gentle music)
- So I joined Google right out of grad school.
I went to Parsons for an MFA design and technology program.
It's a mix of design and code and new media art.
That's also when I properly taught myself JavaScript.
So I started playing with JavaScript.
I built a lot of these Chrome experiment style
interactive pieces,
put them in my portfolio.
And also, one of the things I did in grad school
was I built a clone of the Clear app.
I don't know if you heard of it,
but it's a to-do app with very interesting gesture controls.
So I think that was kind of the pioneer
of like the swipe to complete gestures.
So I replicated most of its functionality
with web technologies
and it kind of blew up on Hacker News
and got a bunch of websites like just doing a story on it.
And that also probably landed me attention
from the Google recruiters.
At that time, Google had a lot of these Chrome experiments,
3D stuff, 2D physics,
and a lot of visualization related things
right in your browser,
which is something unheard of back then, right.
It kind of really showed what JavaScript can do.
I think somehow got a call from the recruiter
and she's like, "Are you interested in joining Creative Lab
as part of the Five?"
And I was total in disbelief to be honest.
I'm like, "Wow, I didn't even send in my resume
and you just call me and ask me if I want to join Google.
Hell yeah, why not?"
I was beyond excited to be honest.
And I was also really happy it's in running New York.
I don't have to move.
(upbeat music)
This is where I worked.
I actually joined Google Creative Lab as a Five,
which is a group of new grads they pick each year
from fresh out of school
and work here for a bit over two years,
worked on a lot of interesting experimental projects.
And my old office is in fact way up there on the 16th floor.
It has some pretty amazing views,
which we can't really see right now,
but trust me, it's really good.
They put us on a lot of really interesting projects,
very experimental out of nowhere kind of ideas,
like what would search interface be like in 10 years,
what if our walls are all interactive screens,
what if Google just understands everything you say,
which ironically today it's almost becoming a reality.
And we were coming up with like concept videos
and prototypes of this kind of interaction lacking 2012.
For a very long period of time,
I worked on those prototypes
with just hand rolled vanilla JavaScript
because a lot of these are not traditional UI.
They required a lot of special handling
that's not typically seen in the typical app
you would see today.
And I was trying to use some of these existing frameworks
for those purposes.
But a lot of times I just find
the options weren't really solving my problems.
The first framework I ever used was Backbone,
but Backbone really was more like an application structure.
It doesn't give you any of these
view interactivity management
and then Angular did provide data binding
and keeping your state in sync with your views,
but it also was dictating how you would write your code,
which didn't really fit well
into the kind of projects we were working on
because those projects are just really more focused
on the interactivity part
rather than being an application.
I was starting to think about
how can I make my own work more efficient?
That's when I started having the idea
of maybe I could work on a framework of my own.
(gentle piano music)
Originally, the goal was really just to provide
a super simple focused utility almost,
just to sync some Dom with some JavaScript objects.
That was the original idea.
It was only after the initial project got somewhat popular,
we started to expand the scope
and adding more pieces to the ecosystem,
which eventually made it a framework.
I think I started working on the first commit to Vue
in maybe June, 2013,
and it was original named Seed.
I didn't have a better name for it.
And actually, Seed was taken on MPM.
When I was about to publish the package,
I found, oh, the name is already taken.
So I had to come up with a new name.
And I thought, "Okay, this is a view library,
but just calling it the English view
sounds a bit too literal."
So I throw view into Google translate
and found the French translation of it.
It's just three letters.
It looked cool.
It's not taken on MPM.
So I was like, "Okay, this is it."
So that's how I picked the name.
(numbers clicking)
I mostly was building it for myself.
So my expectation was I want to build a framework
that I would personally like.
And that's pretty much the whole reason why I started it.
I was still on Google Creative Lab,
but I just published it as a personal project.
There were a few hundred users.
I think a few hundred GitHub stars,
which lend me a bunch of initial users.
- No, not at all.
When I published it,
it wasn't really saying I want to publish it
as a somewhat sustainable project.
I would say like a music enthusiast
just making an album for fun.
You know, that kind of feeling.
Like it's not about I want to make money out of this, right.
You publish that piece of music
just because you enjoyed making it
and you want some other people to hear it.
So working on Vue was really
kind of like this other outlet for me,
where like I'm building something that people actually use
in real world use cases,
compared from the things I am doing for work
is like we're just showing it to executives,
but God knows when this is going to be a real thing.
So that was this urge of like, I want to build something
that people actually use.
I probably didn't realize it back then,
but having a popular open source project
actually would help you in terms of looking for a next job.
And that's how I joined Meteor.
(gentle piano music)
I would say pretty much they were just impressed
by my work on Vue.js
that they just skipped the whole normal interview process
and just directly gave me the offer on the spot.
So I would say, yeah,
that was one of the real kind of benefits
you get by working on some open source products.
When I was working at Meteor,
I still continued working on Vue,
pretty much for the same reason
I felt it's my baby at that point.
So if you look at my commit history,
you would probably see a really,
really green graph on GitHub
because I was doing a lot of commits on weekends as well.
And working on view at that point in time
also became a bit more demanding
because Vue started to get more users.
It's growing.
So there are more issues, more bugs to fix.
And that's also the period of time
where I think when Taylor first tweeted about Vue,
it was in 2014.
Taylor Otwell is the author of Laravel.
Laravel is very popular PHP framework,
probably the popular PHP framework out there right now.
I wasn't even that familiar with Laravel
before Taylor made that tweet.
So one day he tweeted on Twitter
saying, Current status of learning React, confused, I think,
overwhelmed!" or something.
I can't remember the exact word he used,
but basically he was saying React was hard.
And he is learning Vue.js now instead
because it looked easy.
If anything, this wasn't really like a direct endorsement.
He's pretty much just saying I'm learning Vue.
Right.
And then a bunch of people started asking him like,
"Hey, what do you think of it?
Is it any good?"
(uplifting music)
Pretty much like in all of the responses he was saying,
"Yeah, it's good."
So that started to look like endorsement
and all the Laravel users were like,
"Wow, Taylor is liking it.
It must be kind of good, so we should try it out."
And so we got a lot of users from the Laravel community.
(upbeat music)
(audience applauds)
- All right.
Thank you for coming to Laracon U.S. 2019,
our 7th and biggest Laracon,
really the biggest Laracon ever.
So I'm just browsing around, you know,
the internet looking for JavaScript frameworks
to build a product called Laravel Spark,
which is a bootstrapping scaffolding tool
for building your own software as a service application
to basically help people start their own business,
like I did.
And I was just overwhelmed.
I looked at other frameworks
and they had, you know, complicated compilation steps,
a lot of tooling needed to get started.
And I looked at Vue and I could actually just,
you could build a simple Vue application
in Microsoft Notepad.
Basically, you didn't need any other compilation tools.
I could just pull it in from a CDN,
write a few lines of JavaScript and I'm up and running.
So to me as being not very trained in JavaScript
to say the least back then,
that was actually very refreshing
to be able to get a lot of power really quickly
without learning a lot of other tooling.
I think I put out a tweet,
I discovered this cool new tool called Vue,
and it's actually even someone like me
can start writing JavaScript applications,
and I was just blown away.
And so we adopted Vue for Laravel Spark,
which ended up generating, you know,
over a million dollars in revenue for Laravel,
tens of thousands of users launching their own businesses.
So it was just a really great thing all around,
both for Laravel and Vue,
and really helped bootstrap, you know,
who knows how many businesses are built on Spark now
that leverage Laravel and Vue together.
- Please welcome Evan You.
(audience applauds)
- That was before I decided to work on Vue full time.
And before that Vue was pretty much still in the status
of it's relatively well-known inside front-end communities,
but I haven't even started thinking about
working on a full time or even making money from it.
It was when I looked up what Taylor was doing
and I learned how big Laravel was,
that I realized, oh, maybe I'm onto something.
(numbers clicking)
But they are so regarding to pop out threads
and discussions of people like saying, "Which should I pick?
Should I use Vue.js?"
And a lot of the answers you would see
will be along the lines of,
"No, because he's like still zero point something.
It's unstable.
It's maintained by only one person.
God knows when it's going to disappear."
I want to prove these guys wrong.
Like I just want to, you know,
make Vue like this 1.0 production-ready library.
So I actually used all my vacations of 2015
and then I spent three weeks
getting everything properly implemented,
updated documentation.
And then we published 1.0 in October, 2015.
(bells chiming)
- At the time Vue had just released one, 1.0, I think,
and the core team wasn't really existent
like the way it was today.
It was just Evan.
And I think Chris Fritz and one other person, I think,
but I can't really remember.
And they were just all busy
like getting up to speed with documentation and fixing box,
like after 1.0 release.
And the forum was just really a little bit of a waste plan.
And I just came in and was just answering questions a lot
because I was just very active on the forums
and I was just like knowing a lot of the problems
and issues that people were having in their projects.
And Evan picked up on this
and he just like after three or four months
of me just doing this on my own free time,
he just sent me a Slack invite.
We haven't talked about anything.
I hadn't opened any issues.
I hadn't sent any pool requests.
I made no contribution in forms of code
to the project whatsoever.
But the focus in Vue from the get go
was always that the framework is more
than just the code, right.
It's not like this is the library,
this is the documentation of how it works
and now you solve the rest.
It's always been like we need the best documentation
we can come up with.
We have to engage with the community.
We have to provide additional tooling and support.
And so this was the reason that I was invited
because I was like growing
into some kind of community leader in a way.
And so I actually joined the core team
without being a contributor
in the sense of code or actual content.
And it only happened afterwards
that I found the self- esteem, so to speak,
to like get into the source,
look into some repositories,
look at some issues and start contributing here and there.
- I think after 1.0,
I was starting to explore the possibilities
working on it full-time,
maybe this thing could actually generate some income
so that I can work on it full time.
That was really also the moment
when I started feel like sort of a split
between my work at Meteor versus my work on Vue.
At Meteor I was really just a developer.
I didn't have this kind of high level decision making power.
Like I could make suggestions,
but really I was nowhere near the place to say,
like, this is how we should do it.
It kind of made me a bit of pessimistic
about where media would end up being,
where in comparison the growth of Vue
was kind of like just it was growing.
So I was just noticing
like fewer people were actually using Meteor
and more people were using Vue somehow.
So I guess that's the moment when I thought
it might be worth it to just start working on Vue full-time.
(gentle music)
(birds chirping)
- My name is Scott Tolinski.
I'm a full stack developer from Denver, Colorado,
and with me is always is Wes Bos.
How you doing Wes?
- [Wes] Hey, good.
I was going to do like a hilarious intro,
like Doroga podcast by night, all day, let's go.
- I stole your joke.
It was written in the show now.
So I decided to just yank it.
In this episode, we're going to be talking about
publishing a React library.
People have been asking for Vue.js tutorials
from me for a long time,
ever since it started to get popular.
Hey, what's up?
This is Scott with Level Up Tutorials.
And in this series,
we're going to be talking all about Vue.js.
Vue came along at the right time
specifically because a lot of folks had started with Angular
back in the version one or even before then,
and there was a sense that it was very simple.
And once Angular sort of graduated to a version two,
the version two was almost shockingly different.
Around that time React was also coming out.
So React took the place of a lot of those developers,
where they came in and they saw React as this new thing
that was picking up the crown.
But a lot of developers were missing the simplicity
in some of the ease of use that angular version one had
and really felt like there was this gap,
this hole that Angular one had sort of left wide open.
So Vue really came around at the right time
because it really filled this void
of people who wanted a lower barrier to entry,
but they also wanted the strength in the flexibility
that you had with something like React.
And that's really one of Vue's strong suits in that regard
is that taking the best from so many different frameworks
and different platforms.
- Since I started having the idea
of working on Vue full-time,
I was exploring what I could do
to financially sustain myself.
The first thing that came to mind
was to set up a patron account
and turns out it actually worked decently well.
I think there was close to $2,000 a month
very soon after I set it up.
And then there was a friend of mine, Dafeng,
he was the CTO of Strikingly oversea company.
His company actually had this little fund
that they would use to support open source projects
just because it's a good thing to do.
If I have that, I can just really quit
and start are working on Vue full-time.
So that seemed enough for me to just take the leap
and at least try it out.
(gentle music)
- I worked for CSS-Tricks as a staff writer,
and I asked Chris Coyier like,
"Okay, like, I think I'm going to write an article on Vue."
And he's like, "Oh, great.
Okay, sounds good."
So I write an article on Vue
and it's getting a little bit long
and I come down and I'm like,
"So at what point does an article become a series?"
And he's like, "I think when you need a table of content,
that's when we should probably start to break it up."
At this point, the Google doc is like 25 pages long
or something crazy.
So then I write the, you know,
final animation article of that series.
And we come out with a, you know, five article series on it.
And I just kept writing about Vue.
The next month I wrote a few more articles
and then I did a couple more demos
and did some open source projects.
I think at that point,
I was pretty much just really excited about that framework
and I really wanted to invest more.
So Evan and Chris Fritz invited me
to start working with the docs
and also like working on a project called The Cookbook.
So I became the lead for The Cookbook
and joined the Vue core team.
And now I help run the Vue docs meetings
and help run the view core team meetings.
And I love working with this team.
(numbers clicking)
- Souvenir.
Working from home is definitely very liberating.
You can set your own schedule,
that's probably the second biggest benefits
other than not having to commute.
You don't have to dress like Tom Dale.
(Evan laughs)
- Imagine someone from China
is trying to learn a new framework
and they go to the site
and they notice there's only English documentation,
and it's worse if the framework itself
is kind of hard to understand in the first place, right.
They would have a really hard time trying to pick it up.
And then they go to the Vue website,
and then, oh, there's a Chinese version of the documentation
and they read it
and they find it's written by a native speaker.
Technical content when expressed with Chinese
can read a bit weird
because you have to come up with translations
of some technical terms like bindings
or references or Vue model.
Some of the things you can't even translate
because I'm a native speaker,
the translation, and I wrote the English version,
so I had more liberty in rephrasing some of the things
to make it just more natural in the translated version.
This kind of familiarity helps them to get your framework,
to click, right, much faster
than if they have to go through a language,
a second language that they are not that familiar with.
In doing that, I think it definitely definitely helped
with adoption in China.
(upbeat music)
(speaking Chinese)
(audience applauds)
(crowd chattering)
- In China, there is very few people
well known in the technical community.
So even in China, people see just like a hero, you know.
Oh he's a Chinese developer,
write and build a framework that everybody loves.
(crowd chattering)
- It's not very common in China actually
because we didn't see many people make a huge impact
on the open source projects around the world,
not just inside China,
and Evan like he is one of the best one in the world
and he's Chinese.
So I think that's why so many,
he has so many Chinese fans.
- He's Chinese
and I think when Chinese people see that,
they think I'm a part of this,
like I'm a part, a real part of the Vue community
in a very real sense
because they're personally connected
with the creator of this product.
And I think that's really powerful phenomenon
when he taps into that
because it creates this bond between those developers
like on this personal level
where everyone loves to be a part of a group like that.
Like it just makes you feel good
if you're part of the in-group.
And so when he can tap into that, I mean,
people love that.
That's really powerful.
People love it.
That's a huge factor in his success in China.
Amazing how he can tap into that, really.
(gentle music)
- At that time, the mobile network is very complicated
and unstable, especially here in China, you know,
even a lot of people using GPRS connect network.
So we are trying to build some new framework
that has small size but high performance
to help our product to build solid webpages
for I guess billions page view traffic.
So it's a huge, huge amount.
I found Vue.js on GitHub, and the story of began.
- He invited me to visit Alibaba's campus
and just do a small scale sort of tech talk sort of,
just to introduce some of the ideas behind Vue,
how I started working on it
and what is the advantage of using it
compared to some of the say (mumbles) and jQuery.
- And they take a long time,
maybe one year or one and a half year.
And finally, some developers accept Vue.js and using it.
And today more and more developer know Vue.js
and using Vue.js as well.
- After that, I guess Ali started using it a bit more,
people also kind of started to know more about Vue
because of my presence (mumbles)
and also because view has started
to gain more attraction outside of China.
And then some of that information kind of flows back
into China where people discover,
"Hey, there is this new framework called Vue."
And in fact, a lot of people first knew,
learned about view as just this open source project.
Then they realized, oh, it's actually written
by a Chinese person.
- We use Vue.js mainly in our enterprise management apps,
something like similar to Google's AdWords.
I was like, "What about just being part of this stuff.
It's going, it's trending."
They do not just regard him like an open source programmer,
but just some kind of open source leader.
(gentle music)
- I was very familiar with AngularJS
and Vue.js looks like it very much.
And so I started to write something and it's working.
I feel like it's something you have already learned.
Vue.js has very very high quality in Chinese document
and that helps low level developers to study with.
We can build the ecosystem here, community here.
That's why it's popular here I think.
In China, we have many software developers,
but we don't have a rockstar like that.
(gentle music)
(numbers clicking)
- So in software engineering and not just in Vue,
but like in all of software engineering,
we have a concept called benevolent dictator for life.
This concept that someone kind of owns the project
and is the key kind of brains of the operation
to push things through.
And it does not mean, sometimes people confuse this
and think that it means
that no one else works on the project.
That's far from true and you see that in Vue.
There's tons of people who work on Vue and in Vue core,
and we all work together collaboratively,
but it does mean that it has
a kind of driving force behind it.
I think when you have a project like Vue,
that's not, you know, a giant company's project,
it's helpful because it's a source of truth.
What we do you get is that we're not pushed forward
by any one company.
That means that the company's not making the rules,
people are.
- So how long have everyone been working with you?
- Evan has this cohesive vision for the whole picture
where something like Angular or React,
they're built by a large company
with many people involved from the beginning.
It's sort of designed by committee you might say,
whereas with something like Vue with Evan,
he has this one singular picture in mind
for where he wants to take the whole framework.
I think that's really important
for creating a really good software product
and why Vue has been so successful.
- The market was dominated by React
which is done by Facebook,
and Angular which was done by Google.
And then there was us,
like the nerdy guys that did their own framework
just because they wanted to.
- It just feels less corporate in a way
that's maybe more exciting, more grassroots.
And just to have that aspect of it alone
is enough to make something a little bit more exciting
and enticing to the people who use it.
- Vue will still be growing,
but it's not like taking over the world
or taking over world dominance or something,
and it's not our goal either.
It's just we are happy to work on this project
and we're happy to see it grow.
And I'm excited to see where it's going.
I'm not too sure.
- I'm really proud of myself,
taking the leap to leave a nine to five job
and just work on something I'm genuinely passionate about.
(gentle music) (numbers clicking)
Sometimes times I would look at the stats,
like how many users we have, how many downloads we have,
but what kind of gives me the most sense of fulfillment
or satisfaction in terms of the work I do
is every time I see these people,
especially like at conference after parties,
people would come up to me
and they would generally like shake my hands
and say, "Thank you, Evan, for making this thing
that just made my life so much easier."
So these are the exact moments where I feel like,
okay, like this is what I made Vue for.
I created this thing.
I shared with people,
hoping that it could make people's lives easier.
And people coming up to me personally saying,
"Thank you for achieving that."
Right.
That kind of completes the loop.
(gentle music)