Meng To’s Story
My name is Meng To and I am a designer, coder, and writer. I have been designing for the past 20 years. I started fairly young as a designer from Montreal. Back then, I was very passionate about making websites and graphic design. I remember starting a community for designers called Shadowness and another for Jet Li fans. So I was really driven around making community websites.
Inspired by Flash websites at the time and The Matrix, I did a lot of graphic designs and animations. Also, in my personal portfolio, I started sharing wallpapers. Some passions never die (Meng still creates awesome wallpapers). Back then I was posting my work on DeviantArt, and luckily it got some attention. My portfolio also got pretty popular, so I started sharing tutorials about the work that I did. That’s when Shadowness was born.
Meng's current wallpapers:
Super high-resolution desktop wallpapers for the iMac and Macbook Pro
iPhone X Wallpapers
High-resolution wallpapers for your shiny new iPhone X
Shadowness eventually grew to have quite a few members. Computers were not as popular as they are today. Back then, it was quite an achievement to have a million users, versus now, some of the platforms have billions of users. We had traffic of 2,000 people a day, and that grew very fast to 10,000, to 20,000 and then to 50,000 members. I spent all my time creating a community for graphic designers who shared illustrations, logos and all sorts of digital work. Photography was not as popular. In fact photography didn’t take off until 5 years after I started the community.
People in the community were mainly graphic designers, they created forum signatures, 3D abstracts, logos and web designs. I spent a few years working on this community. It was my little startup. The office was in Montreal and I had a small team, but you know, like most people at the time I freelanced to make money to fund the project. I was not very good at business and the community ultimately failed. I didn’t think about how I was going to monetize the project. I didn’t promote it well enough. We had ads and it was doing okay. I remember I changed the design a lot and eventually, I made the wrong move. The fifth version of the site didn’t resonate so well with our users. I was also doing everything alone.
The first big lesson for me was to learn to monetize early. Not in the sense, “hey, let's build this product just for the money”, but instead, “let's make a pretty cool product, and let’s think about how we can sustain for a number of years”. I realized this is more of something I should be good at.
To be mainly driven by the money is the wrong approach. Always try to make something that people really need and see where it goes. At the same time, don’t give it away for free. I know it’s tempting. It’s a good path if one, you are already making a lot of money, or two if you want to treat it as a side project. For example if you want to make a library for React or Swift and spend 20-50 hours on it, it’s perfectly normal to give it away for free. For Design+Code, I wanted to spend 500-1000 hours. If you reach this threshold, you should think “maybe I should charge for this so I can sustain for a number of months or years, or to start a team”. I think you should never scale before it’s successful. Make sure the product really resonates with people first.
At the time, design was under-appreciated. Designers made very little compared to engineers. I forced myself to learn to code in order to have a decent career. But eventually the iPhone came out and it was the perfect time to get back to design. The design landscape completely changed with the iPhone. Design meant much more than graphic design, it was more connected to programming and user experience. The industry grew more diverse as we see today.
One of Meng's skeuomorphic designs:
Fast forward 5 years, my skeuomorphic user interface designs received some spotlight on Dribbble. I landed job offer from a US company, and they invited me to work there. They would sponsor J-1 VISA to go work in the United States. It was the 3rd company that tried to sponsor me. I interviewed with a number of companies but the VISA never came through.
It was really depressing prior to my time in San Francisco. I was working in Montreal and the startup community there was abysmal. Everyone was trying to emulate Facebook, Youtube and Flickr. Nobody really understood why those products succeeded, and people saw Facebook as some sort of a billion dollar project that everyone wanted to copy. Unfortunately, they didn’t understand how to make a good product. I had my fair share of failures during this time.
Once I got my VISA, I spent a year and a half in SF doing mobile design for iOS & Android. I completely immersed myself in the San Francisco culture. I learned a lot through this experience and made a lot of good connections. I started using Sketch. I guess using Sketch was the turning point in my career. People desperately needed a new design tool.
At the time, there were virtually no alternatives to Photoshop. Fireworks, as you know, got discontinued. A lot of designers were frustrated with Photoshop. It wasn’t efficient. In order to get something done, you had to go through these insane detours and learning curves. You had to click on so many layers, apply so many types of styles, and you didn’t need 90% of the options. The design tool was buried in so many features for 3D, photo editing and digital art. I don’t remember all the names and after 12 years using it, I certainly didn’t use all the features. I needed a new tool that’s entirely focused on UI design. Sketch was it, and it was the turning point of my career. The first time I decided to blog about Sketch, it resonated with a lot of designers. People knew me as the “Sketch guy”, even though I only met the team years later.
At some point in your career as a designer, you will be known for something. You will step out of the shadows of who you are working for. Let it be an app, a website, a library or whatever it is, you can make something that thousands of people will know you for, and that’s kind of a stepping stone for an independent designer.
Sketch was that special something for me. I was one of the first designers to blog about it. People started reading regularly what I wrote. Eventually I went to Medium and I reached a lot of followers on Twitter.
During the same period, I wanted to learn more about prototyping because it was starting to grow. When I was still in SF, there were very few designers who were prototyping. The ones who did were using Quartz Composer or Flinto Lite for basic transitions.
I was trying all the prototyping tools. Suddenly I fell into Xcode. As someone who did a lot of CSS and who builds projects from the ground up, I really felt that there was a huge lack of prototyping and involving designers in the making of an app. Mobile was growing rapidly, yet most designers were working in a silo, leaving all the interactions to developers.
I felt strongly that designers should be part of that workflow. At the time, there was one screen size, and I didn’t have to think too hard about adaptive design. But nowadays, it’s so fragmented and there are so many different screens. As a result, it was very clear to me that designers had to take care of that workflow which is to implement their own design, and prototype as early as possible. The prototype shouldn’t be wasted. Some designers spend 100 hours on a prototype. A big portion of it has to be transferred to production code, in a completely different tool. A lot has to be wasted.
Personally, I never felt that the prototyping stage was so distant from the production stage. I always felt that prototyping is a stage that grows into the final app. Nothing has to be scrapped. I still feel the same today. When I make an app, I sometimes do a light prototype of the design. For light prototyping and small animations, I use InVision, Principle or Flinto, but then I go directly to Xcode and play with Storyboard. I prototype in Xcode without dynamic data. This is the stage where I work on the layout and see how it adapts to the different screens. Then, I work with an engineer to help with real data, to make the app more performant and to rid of bugs.
For Design+Code 2, I actually went 80% of the way and then, I hired an iOS developer to do the rest of the 20%. But the designer doesn’t have to go 80% of the way. 50% would be game-changing, versus 10%, which is just the static design. But I believe that a designer should go 20-50% of the way. Go to the developer and say “here’s the layout, all adaptive and perfectly animated. Let's work together on how making this layout work with the final data”. I can’t stress enough how important that collaboration is.
One of things that really helps a product is when a designer is involved all the way to the launch, versus being only involved at the beginning. If the designer puts the design on hold and doesn’t get involved for weeks, they sort of lose consciousness of everything that is happening in between. For example, when there are animation issues or if the layout isn’t implemented as it’s supposed to be. This is how issues pile up. If the engineers went a certain route and you haven’t been involved in days, weeks, months, you’re screwed and there is no going back. Typically, these projects cannot afford more delays. That’s because in our industry, we tend to underestimate projects. It’s important for the designer to be involved technically, from day one, fixing problems continuously and evolving the product for all use cases.
As good as you may be, you can never predict all the use cases. They can only be found at certain points in time during the production of the app. Code plays such a big part in the making an app. If you’re out of that loop, you miss 60 to 80 percent of the whole process. It’s one of the things that scare me the most, when I design in the blind, and only seeing the results much later.
Going back to prototyping, I wrote an article about working in Xcode as a designer and again, it resonated with a lot of people. This happened at the same time as when I was applying for an H-1B VISA. As a Canadian, from a country that’s neighbor to the US, you would think that it’s a piece of cake to get a VISA. That’s not the case. I had a bunch of options, but they all required a degree. As a self-taught designer who dropped out of college, I didn’t meet that requirement. School was only teaching me the general stuff, which I’m thankful for. But I think every student eventually reaches a certain maturity when they start thinking to themselves, “do I really want to continue like this? Am I still unsure about what I’m going to do with my life?”. I think that’s what school you helps with. School gives general topics that you may or may not be passionate about. At a very early age, I knew what I wanted to do, and once I figured it out, school didn’t serve this purpose anymore.
I wanted to be a designer, make websites, create communities, and share my work. The curriculum at traditional schools was no longer relevant to me. I wanted to learn everything on the Internet. It was this new thing that nobody mastered. So I dropped out and looked for a job, and that’s why I didn't end with a degree. I wanted spend the rest of my life in the US. I didn’t want to go back and relive my failures.
The more I made products, the more I realized that details really matter. The world is so diverse and there are so many problems to solve. If you go through a day, every single part of that day is a detail. What I realized is, a product always starts a detail and ends with a detail.
Learn to design & code for iOS 11
I begged for employer letters, some from 12 years prior. In the end, my H-1B VISA was declined. They didn’t think my 12-year experience was enough to compare to 4 years in college. That was another turning point in my career. I was hit with a brick, and I had to become independent. The US didn’t want me anymore. I said f*ck it, I’m going to travel and see the world. I decided to do it for 2 years, starting with Singapore. Originally, we wanted to go for a few months, but after a while, it became clear that we wanted to travel more. I had to do some freelancing to pay for the travels. Also, there were a lot of people interested in what I did. Luckily, there was a startup in Hong Kong who needed a designer with experience from Silicon Valley. As you know, in China, as well as the rest of the world, they were looking at what Silicon Valley was doing and many were trying to emulate that.
I think emulating is not necessarily a bad thing if you do it right. Startups from around the globe are getting smarter at it. It’s one thing to be a bad copy, but it’s much harder to be better than the original. Products coming out of China are getting better, more unique and more localized. It’s more specific to their audience, and that’s how you should copy. You start with a strong foundation and you really aim to improve the process, the tools and you seek feedback constantly. You care about the details.
You also don’t need to be in SF to make great products. You can be in Japan, Montreal, Europe, applying the same principles and detail-oriented culture.
I learned a great deal in Hong Kong. It was where I started to learn Xcode more seriously. I went to a hackathon and we created an app there. I got really involved in the making of an iOS app from start to finish, not just from the design perspective, but also in the development. It was all so I could be part of the prototyping, implementing the assets and eventually coding the app.
It was a lot of fun to work with a team that is so open minded about making products. When you want to learn something new, it helps to an open mind about it. My colleagues in Hong Kong were very passionate about learning new approaches to design, so it was easy to change the entire process if needed. Unfortunately I couldn’t stay longer than 6 months, so I continued my travels.
When I landed in Japan, I had to decide if I wanted to continue freelancing or do a side project that could somehow pay for my travels. I thought, “let’s take those blog posts about Sketch and Xcode to the next level and write a book”. This time, it wouldn’t be free. That may sound bad, but it really isn't. At the end of the day if you do something that’s valuable, people are ready to pay for it. In turn, you can bring more value to it and you can support it long-term. If you only spend 20 hours on a project, it’s very rare you can charge something significant, but writing a book is different. Free knowledge is amazing too and everyone should have a taste of it on the web. There are a lot of free ARKit and Swift resources out there. For my book, I decided to write about all my experience with design, Sketch, Xcode, prototyping and everything in between, such as my design principles, inspirations and motivations. I wrote everything from scratch, targeted specifically to designers, and put it in a cohesive package. I would spend months working on it, for 1000s of hours and sell the whole thing for I believe is an affordable price, at $50. After putting a single page online detailing the whole book, I was definitely not expecting it to be successful or anything, but it ended up selling a lot. My initial goal was to have 200 sales and we did it in a week.
200 sales would pay for a few months of travels. Then, I would go back home and find a job. But to my big surprise, the book sold more and more and more. So much that I was able to travel for 2 years in total. I met with my readers, taught in person at over 50 workshops in 25 different cities, and continued to update the book. I upgraded the content to Swift, from Objective-C and for each new version of Sketch. I rewrote the book 3 times and improved the videos and content every time, based on feedback.
I released an animation library called Spring, an iOS UI Kit, and a bunch of other resources for free. It’s important to have revenue, but at the same time, you don’t have to charge for everything. At least 20 percent of what you do can be shared freely.
When I released the first book, the original idea was to charge once and make small updates for a year or two, as new iOS versions came out. I ended up making big updates for 3 years. It was great for the 1st and 2nd year, but not great for the 3rd year. In the 3rd year, the sales were so little that I couldn’t see myself spending hundreds more hours updating the content. I thought, “do I keep updating this for free, and find a job, or should I launch a second version and completely rewrite the book?”. This time, I’d make a real iOS app that would essentially be the book itself. I wanted to spend 3 months creating the app and teach the latest techniques in design, animation, prototyping and iOS development.
The new book would double in size, cover new topics such as React, ARKit, Android and making games using SpriteKit and SceneKit. Readers would receive free upgrades for one year. So if we decide to update to iOS 12, they will get it for free instead of buying a new version of the book. With this concept, I would be able to sustain for longer than 2 years.
After its launch, the second book was so successful that I decided to start a team of 8 people, half of it remote. It even exceeded the first book. As a dad working from home now, I can’t possibly manage to do everything. With a kid, I have to work around his schedule. We set up a home office, bought iMacs for everyone and cook homemade meals every day.
iOS 11 UI Kit for iPhone X
The most comprehensive iOS 11 UI Kit for Sketch
Sketch library of vector devices
As a team, we released quite a few projects recently such as the iOS 11 UI Kit, Angle 2 and a Sketch plugin.
Right now, we are working on a game, which has been a dream of mine since I was a kid. My sister quit her job so that she can learn to code full-time and she’s doing the ARKit chapter. I love that she’s a beginner, because I was a beginner too when I taught Xcode to designers. When you start, you notice things that more experienced people learned to filter. That’s why most coding courses are not for beginners, or for designers. The other day, she told that it’s the best project she’s had in her lifetime. I think she’s badass and I know she will impress everyone soon.
In the coming months, we’re going to travel to China and Japan again. I’ve never trained a whole team to do the things that I do, so it’s a big learning process for me. I’m just a dad struggling to continue working on these really cool projects.