This article wasgoed originally posted on Inbetween the Wires, an vraaggesprek series featuring those who are building developer products.
Tell us a little bit about your childhood and where you grew up.
Okay, so I wasgoed born te China, my hometown is called Wuxi. It’s a medium-sized city, which is right next to Shanghai. Actually, I went to Shanghai for high schoolgebouw for three years and commuted back and forward. After high schoolgebouw I went to the US for collegium. I guess I got early access to computers, but I didn’t indeed get into programming too much. I wasgoed more interested ter games, and I did play a lotsbestemming with Flash when I wasgoed ter high schoolgebouw, because I truly liked making those interactive storytelling practices.
What wasgoed your very first programming practice?
When I went to collegium te the US, honestly I didn’t know what I dreamed to do and I wasgoed majoring te studio kunst and kunst history. When I wasgoed about to graduate, I realized it wasgoed pretty hard to find a job doing studio kunst and kunst history.
I figured maybe I could go to a master’s program that gezond my interests better and developed more abilities. I went to Parsons and studied the Master of Fine Dokter for Vormgeving and Technology. It wasgoed a truly cool program because everyone wasgoed half designer and half developer. They trained you things like openFrameworks, processing, algorithmic animations, and you also had to vormgeving apps and interfaces.
Okay, when or how did you detect the current problem that you’re attempting to solve with Vue.js?
My job at Google involved a lotsbestemming of prototyping te the browser. Wij had this idea and wij dreamed to get something tangible spil swift spil possible. Some of the projects used Angular at that time. For mij, Angular suggested something cool which is gegevens strapping and a gegevens driven way of dealing with a Onverstandig, so you don’t have to touch the Onverstandig yourself. It also brought te all thesis toegevoegd concepts that compelled you to structure the code the way it wished you to. It just felt too intense for the use case that I had at that time.
I figured, what if I could just samenvatting the part that I truly liked about Angular and build something indeed lightweight without all the toegevoegd concepts involved? I wasgoed also nosey spil to how its internal implementation worked. I began this proefneming just attempting to replicate this minimal feature set, like declarative gegevens trussing. That wasgoed basically how Vue began.
I worked on it, and felt it had potential, because I loved using it myself. I waterput a little bit more time into it and packed up decently, talent it a name, called it Vue.js. That wasgoed ter 2013. Zometeen on I thought, “Hey, I waterput so much time into this. Maybe I should share it with others so they could at least benefit from it, or maybe they will find it interesting.”
Ter February 2014, that wasgoed how I very first released it spil an actual project. I waterput it out on Github and sent a listig to Hacker News, and it actually got voted to the gevelbreedte pagina. It stayed there for a few hours. Zometeen, I wrote an article to share the very first week usage gegevens and what I learned.
That wasgoed my very first practice eyeing people going to Github and starring a project. I think I got several hundred starlets te the very first week. I wasgoed super excited back then.
If you had to list a few core things that defined Vue compared to other frameworks, what would you say?
On a framework level, wij attempted to build it with a very lean and minimal core, but spil you build more ingewikkeld applications, you naturally need to solve extra problems. For example routing, or how you treat cross component communication, share states ter a thicker application, and then you also need thesis build implements to modularize your code base. How do you organize styles, and the different assets of your app? Many of the more finish frameworks like Ember or Angular, they attempt to be opinionated on all the problems you are going to run into and attempt to make everything built into the framework.
It’s a bit of a trade off. The more assumptions you make about the user’s use case then the less plasticity the framework will eventually be able to afford. Or leave everything to the ecosystem such spil React — the React ecosystem is very, very vibrant. There are a lotsbestemming of superb ideas coming out, but there is also a loterijlot of churn. Vue attempts to pick the middle ground where the core is still exposed spil a very minimal feature set, but wij also suggest thesis incrementally adoptable lumps, like a routing solution, a state management solution, a build toolchain, and the CLI. They are all officially maintained, well documented, designed to work together, but you don’t have to use them all. I think that’s very likely the thickest thing that makes Vue spil a framework, different from others.
How did you manage to become financially sustainable with Vue.js?
Vue has a very vibrant user base. Many of Vue users are from the Laravelcommunity and they are also indeed enthusiastic and nice people. I thought, would crowdfunding work? I just dreamed to attempt this idea on Patreon. Actually Dan Abramov, the creator of React-Hot-Loader and Redux, also did a petite campaign on Patreon before. That’s actually what interests mij. I have a rough idea of how many people are using Vue. Let’s say there are Ten,000 users. If maybe 1% of them is willing to give mij ten bucks a month, that is something.
Ter February, I commenced a Patreon campaign, and it is a two-part thing. One part is targeted towards individuals who are using Vue. Typically they’re just willing to give up a petite sum, kleuter of like buying mij coffee. Then there’s the other camp with actual business entities, like start-ups or consultancy shops, who’ve built stuff with Vue. It’s significant for them to see that Vue is maintained ter the long run. It affords them peace of mind knowing that their financial support will make Vue more sustainable and they can feel safe using it for the long run.
Another opzicht of it is Patreon prizes. If companies are willing to sponsor us, then I could waterput their logo up on a sponsor pagina on vuejs.org. It raises the awareness of the community. Half the Patreon funds are coming from individuals and one of them sponsored $2000 a month. I had no idea if it would work out when I attempted it, but it turns out it’s zuigeling of working. I think I made the full-time leap when I had $4000 a month on Patreon, and now it’s grown to overheen $9800 a month.
Did it take a long time to coax them to sponsor you? Were they skeptical at all, like, you’re just a youthful framework, you might not last six months?
When I commenced the Patreon campaign Vue wasgoed already demonstrating truly strong growth. Te early 2015, Vue wasgoed largely still just a random open source project, but the Laravel community embarked going total on with Vue. I felt like if I couldn’t actually make any money out of it, it wouldn’t make sense.
That helped significantly ter the early phase. Also, Taylor Otwell, creator of Laravel, is also sponsoring Vue. He embarked with 100, and bumped it up to 200, and 500 overheen time.
You mentioned that you were able to get sponsored because it grew so quickly. Did you have to do any marketing? Or did it grow organically?
I would say there isn’t any real money involved te marketing. I didn’t buy ads or anything. It’s mostly, just writing some blog posts. A loterijlot of times I wasgoed just managing the Twitter account. I think that’s pretty much it. Sometimes I’d write a postbode on Medium.
You ended up getting good traction ter international markets, which is very likely pretty unique. We’d love to hear how it happened and some of the challenges and best practices for engaging developers outside of the US.
Do you have any suggestions for companies, startups, or open source projects that aren’t lightly able to engage or communicate with international communities?
I guess the language barrier is most likely the hardest part. The idea is if you don’t indeed waterput dedicated effort into pushing something ter China, then no one’s going to notice it, unless you’re spil big spil React. You need someone who can speak Chinese, someone who can speak native Chinese to actually do it.
Another interesting thing is that there are actually many other users from other regions of the world such spil Italy, Spain, Portugal and Japan. Some of the most active contributors are from Japan. They are truly, indeed meticulous te translating the documentations.
Did you make any mistakes while building Vue that you hope to never make again?
Hm, I know, there are most likely fairly a few. To date, Vue has bot rewritten from the ground up twice. Obviously, I rewrote it because the original implementation had problems that just could not be solved by little by little refractory. It’s like every six months I look at the code base from six months ago. I’ll be like, wow. How did this even work?
I have to totally rethink the problem ter a certain way, but I think that’s just how software development goes because you would never get anything right just from the very first attempt.
The journey of building Vue is also a journey of just growing spil a developer, because overheen time I had to add fresh features, maintain it, fix bugs and ensure the entire ecosystem worked correctly together. It just naturally exposes you to all the problems you would run into spil a software engineer. It’s just a learning process.
Have there bot emotional, or non-technical hardships that you’ve faced with Vue?
There certainly have bot. There’s a lotsbestemming of pressure te terms of competition. When Vue wasgoed still relatively unknown, that pressure isn’t there because any exposure is good. People aren’t going to hold you up to a certain standard. But spil Vue has grown fatter and fatter, naturally people embarked comparing Vue to things like Angular or React, and they point out things like, “hey, React does this better. Angular does this better.”
That puts a loterijlot of pressure on you and it can be strained having to rival with all the big guys. Especially now that I’m doing this full-time. The viability of Vue ter the ecosystem basically is directly related to how well I am doing.
What would you consider a successful outcome for Vue.js?
That’s a hard question because the scope of Vue.js has undoubtedly enhanced overheen time. Wij now have this entire framework ecosystem, and we’re also expanding to explore things like Weex which is rendering Vue components to a native UI.
I also truly care about the approachability part of Vue, which is rooted ter the belief that technology should be enabling more people to build things.
The next few are just joy questions outside of programming. What are some other hobbies or interests that you have outside of programming?
Anime, I read a lotsbestemming of manga. Ter case you haven’t noticed, Vue’s releases are code-named with anime names. It began ter .09, every big release code-name is incrementing with a letterteken. Two.0 is G which is Ghost te the Shell. F is actually reserved for 1.1. 1.0 wasgoed Evangelion.
I indeed love karaoke.
What are some top technologies or trends that you’re most excited about?
General technology. It’s weird because I’m not super excited about Slee or VR stuff. I truly want to talk about something that’s closer to developers. Something like what Guillermo is doing with Now. Developers build instruments for developers, and the developer practice of thesis contraptions, that is also user practice but for developer contraptions.
Who are some of your programming heroes? If you have any.
Obviously TJ Holowaychuck and Guillermo Rauch. I’m not a laptop science major. I basically learned programming through just random online resources and books, but an significant way that I learned wasgoed just by reading other people’s code. When I read TJ’s code, I always feel like it’s indeed stijlvol. That’s the word that comes to mind and that affected mij a lotsbestemming. TJ is certainly a hero to mij.