This blog post is based on a talk I did at Heavybit. (Video Link)
Over three years ago, I founded Kitematic with my two friends, Jeff and Mike. We built a desktop app that made Docker, a software container platform, more accessible to everyday developers (including non-Silicon Valley). Thankful to a great community who loves Kitematic - we were acquired by Docker to continue our vision and help expand Docker’s addressable market. Since then, I led design for a number of products for developers and ops: Docker for Mac & Windows, Docker Datacenter, Docker.com revamp and Docker Toolbox
For developer experience and onboarding, my co-founders and I always had a guiding light when building and designing these products: there’s an uncanny resemblance between developer onboarding and taking a trip to IKEA and then setting up the furniture.
“Consumers place a disproportionately high value on products they partially created.”
The IKEA Effect (Wikipedia)
In the world of developer products, this means to improve the perceived value of your product; developers should go through hands-on, frictionless onboarding experience that leads to fruitful results. The whole process should WOW the users with key features of your product and inspire them to think about how they can use your product in the future in less than 15min.
Types of onboarding experiences:
We want to respect the time of our users, since doing a full tutorial takes time from their busy lives, and just a simple hello-world is not enough to demonstrate the value of your product.
The tutorial example should be related to how the developers will use your product in the real-world. It’s an end-to-end experience and future-proof.
Just like the IKEA showroom, the consumers see different visions of what their place could potentially look and feel like. Getting them excited and make it worthwhile to piece together their furniture eventually.
Most developers are natural tinkerers and learn by exploration, so it’s important to do the extra hard work to allow developers to do that.
Just like IKEA, they put in the extra work to create wood pieces that fit perfectly together. Good design sometimes involves putting in the extra thought and effort to make the experience so “natural” that the users don’t even notice.
Here are some of the extra hard work you can do.
A reliable setup & install process is the foundation for your onboarding experience. If things fail, users may get frustrated, and the perceived value of your product will decrease. Streamline & Automate the process as much as possible and make successful setup & installs a metric to be tracked.
In the early Kitematic days, we abstracted away from the entire Docker installation process with one double click. The process included lots of dependencies such as setting up VirtualBox, downloading and install boot2docker VM and asking for user permission to install. There are also numerous edge cases to cover. All these happens in the background and streamlined in the UI.
I believe Microsoft has done an excellent job on their errors. On this error screen, they mentioned the likely cause of the error, and actionable items a user can do to help themselves. All these information and resources help users learn more about the underlying technology.
Another example is how Microsoft’s Visual Studio handles exceptions. They give you tips to troubleshoot, actionable items you can do, but also tells you that you can get help online. This way users don’t hit brick walls and get discouraged, they know that Microsoft and the online community have got their backs.
As a bonus, doing all these hard work help you reduce the work in writing documentation.
If you look at IKEA’s manual, it’s essentially just purely illustration, and you rarely see any text.
Developers love high-quality products and when things “just work.” It’s worth all the effort because it builds trust with developers so that they would actual rely on your product/service, and even write code for it.
The essence of this talk is to suggest keeping an eye out for everyday things in life, connecting seemingly unrelated concepts can be the key to new inspirations.
Web applications are evolving fast and becoming part of our lives. We use them every day, like checking Google Maps on our phones or chatting with our friends on Facebook. Unlike the conventional...
Product & design guy in the developer and infrastructure space. Founder of Kitematic, now working at Docker. @lisean106