Vue.js: The Documentary


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’d 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 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 was something unheard of back
then right it kind of really showed what JavaScript can do. I think I 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 in total disbelief to be honest
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 right in New York I don’t have to move. 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
fresh out of school and worked here for a bit over two years, worked on a lot
of interesting and 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 look like in ten years?”,
“what if our walls are all interactive screens?”, “what if Google just understands everything you say?” which ironically today is almost becoming a
reality. And we were coming up with like
concept videos and prototypes of these kinds of interactions back in 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 this 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. 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 of Vue.js in maybe June 2013 and it was originally
named Seed.js, I didn’t have a better name for it and actually Seed.js was taken on
NPM. 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 and 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 NPM so like okay this is it.
So that’s how I picked the name. 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 at 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 lent me a bunch of
initial users No not at all.
When I published it wasn’t really saying I want to publish it as a somewhat
sustainable project. I’d say it was like a music enthusiast just making a 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 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.js was really kind of
like this other outlet for me where like I’m building something that people
are actually using in real world use cases compared from the thing I am doing for
work is like we just show it to executives but God knows when this is
gonna be a real thing. So that was this 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 would help you in
terms of looking for a next job. That’s how I joined Meteor.
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 spot.
So I was saying yeah that was one of the real kind of benefits you get by
working on some open-source projects. When I was working at Meteor I still
continued working on Vue.js pretty much for the same reason. I felt it’s my baby
at that point so if you look at my commit history you’d probably see a really
really green graph on GitHub because I was doing a lot of commits on weekends
and working on Vue.js at that point of time also became a bit more demanding
because you 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 Taylor first tweeted about Vue.js. It was in 2014. Taylor Otwell is the
author of Laravel. Laravel is a very popular PHP framework, probably the most
popular PHP framework out there right now. I wasn’t even that familiar with
Laravel before Taylor made that tweet so he one day he tweeted on Twitter saying
current status of learning React: Confused I think, overwhelmed or
something. I can’t remember the exact words 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.js right and then a bunch of people started asking
him like “hey what do you think of it, is it any good?” 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. All right thank you for coming to Laracon US 2019, our seventh and 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 SAS 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.js and I could actually just, you could build a simple view
application in Microsoft Notepad, you basically 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.js and even someone like me can start writing JavaScript
applications and I was just blown away and so we adopted Vue.js 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.js and really
helped bootstrap you know who knows how many businesses are built on Spark now
that leverage Laravel and Vue.js together Please welcome Evan You That was before I decided to work on
Vue.js full time and before that Vue.js 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 it 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 on to something”. But there are starting to pop
out threads and discussions of people that say “Which should I pick?” “Should I use
Vue.js?” and a lot of the answers you would see would be along the lines of “No,
because it’s like still zero point something, it’s unstable, it’s maintained
by only one person, god knows when it’s gonna disappear.”
I want to prove these guys wrong like I just want to you know make Vue.js 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. At the time Vue.js had just
released 1.0 I think and the core team wasn’t really existent like the way it
is today, it was just Evan and I think Chris Fritz and some 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 bugs like after the 1.0 release and the forum was just really a little bit of a wasteland 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 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 pull requests, I made no contribution in forms of code to the
project whatsoever but the focus in Vue.js from 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 is 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 in to the source, looking into some
repositories, looking at some issues and start contributing here and there. I think after 1.0, I was starting
to explore the possibilities of 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 to feel like a sort of a split between my work
at Meteor versus my work on Vue.js. 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 pessimistic about where Meteor
would end up being, whereas in comparison the growth of Vue.js was
kind of like just it was growing so I was just noticing like fewer people were
actually using Meteor and more people are using Vue.js somehow so I guess that’s
the moment when I thought it would it might be worth it to just start working
on it full-time. My name is Scott Tolinski, I am a full-stack
developer from Denver, Colorado and with me as always is Wes Bos.
How you doing Wes? Hey, good! I was gonna do like a hilarious intro like do a robo
podcast by night all day let’s go! I stole your joke, it was written in the show notes so I decided to just yank it. In this episode we’re gonna be talking
about publishing a React library… People have been asking me 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 LevelUp Tutorials and in this series we’re gonna
be talking all about Vue.js.” Vue.js came along at the right time specifically
because a lot of folks had started with Angular back in the version 1 or even
before then and there was a sense that it was very simple and once Angular sort
of graduated to a version 2, the version 2 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 1 had, and it really felt like there was this this gap, this hole that
Angular 1 had sort of left wide open. So Vue.js 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 and the flexibility that you had with
something like React and that’s really one of Vue’s strong suits in that regard, that taking the best from so many different frameworks and different
platforms. Since I started having the idea of
working on Vue.js 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 Patreon 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 Da Feng, he was the CTO of Strikingly, a YC
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 could just really quit and started working on Vue.js full time so
that seemed enough for me to just take the leap and at least try it out. I work for CSS tricks as a staff writer
and I asked Chris Coyier like okay like I think I’m gonna write an article on
Vue.js and he’s like oh great okay sounds good so I write an article on Vue.js 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
contents 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 final animation article of that series and we come out with the five article series on it and I just kept writing about Vue.js. 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.js
core team and now I helped run the Vue docs meetings and help run the Vue core team meetings and I love working with this team. Working from home is definitely very liberating, you can set your own schedule that’s probably the second biggest benefit
other than not having to commute. You don’t have to dress like Tom Dale. 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.js 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 view model. Some of the things you can’t even translate. Because
I’m a native speaker 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 second language that they are not that familiar with. In doing that I
think it definitely helped with adoption in China. In China there are very few people well
known in the technical community so, Evan, in China, people see him just like hero you
know. Oh a Chinese developer who built a framework and everybody loves it. 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’s one of the best ones
in the world and he’s Chinese so I think that’s why 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 real part of the Vue.js community in a very
real sense because they’re personally connected with the creator of
this product and I think that’s really a 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 and 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. At that time the mobile network is
very complicated and unstable especially here in China you know. Even a lot of
people are still using a GPRS network so we were trying to build
some new framework that has small size but high performance to help our product
to build solvent webpages for I guess billions page view traffic so that is a
huge huge amount. I found Vue.js on GitHub and the
story began. He invited me to 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.js, how I started working on it and what is the advantage of using it compared to some of the say manually
written jQuery. And they take a long time, maybe one year or one and a half a year
and finally some developers accept Vue.js and use it and today more and more
developers know Vue.js and are 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.js because of my presence on (Chinese platform) and also because Vue.js had 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.js and in fact a lot of people first learn about Vue.js as just this open
source project then they realize oh it’s actually written by a Chinese person. We use Vue.js mainly in our enterprise
management apps like something like similar to Google AdWords. I was like
what about just being part of this stuff, it’s going, it’s trending, they (Chinese developers) do
not just regard him like an open-source programmer but just some kind of open-source leader. I was very familiar with Ember.js and
Vue.js looks like it very much so I started to write something and it’s
it’s working, it feels like it’s something you have already learned. Vue.js has
very high quality Chinese documentation and that helps low-level developers to study ways we can build the ecosystem here, a community here. That’s why it’s popular here I think. In China we have many software developers
but we don’t have a rock star like that. So in software engineering and not just
in Vue.js 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.js there’s tons of people who work on Vue.js 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.js that’s not you know a
giant company’s project, it’s helpful because it’s a source of truth. What we
do get is that we’re not pushed forward by any one company and that means that
the company’s not making the rules, people are. Evan has this
cohesive vision for the whole picture where something like Angular or React that
are built by a large company with many people involved from the beginning, it’s
sort of designed by committee you might say where as with something like Vue.js
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.js 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.js 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 for taking the leap to leave a 9 to 5 job and just
work on something I’m generally passionate about. Sometimes 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 fulfilment 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.js for. I created this thing, I shared it 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. thousands of developers find jobs across
Europe using honeypot if you’re up for a new challenge in one of these European
cities sign up at honeypot buyer if you want to see more tech documentaries then
subscribe so you don’t miss the next one

Leave a Reply

Your email address will not be published. Required fields are marked *