When designing apps very high up on the list of priorities is something that has, de facto, little to do with the product design itself, namely "onboarding". Onboarding is essentially the set of activities designed to teach the user how a given application works. It can take many forms, from static text descriptions to interactive tutorials taking the user by the hand and explaining the mechanics of the app step-by-step.
Onboarding is crucial for a number of reasons. First and foremost, it helps prevent situations where users abandon products only because they don’t know how to get started. Secondly, it sets a solid foundation for the user to get really good at using the product, and so become more satisfied and perhaps more immersed in the experience over time. Finally, having that kind of easy way for learning the basics of the product makes it so much straightforward for the user to get their job done—they don’t have to spend time figuring it all out by themselves.
But with every extra step we throw in front of the user before they get to play with the product the likelihood of a break-up increases. This is especially the case for mobile applications where automatization features, like auto-fill, are still lagging behind web browsers. That means that in some cases users may have a ton of work to do just to get started, even before proper onboarding begins. By adding more work still you would be seriously pushing your luck.
A different approach to this problem is to start teaching the user the mechanics of the product before the actual registration. It sounds more complicated than it actually is. One of the best examples is the DIY app from Zach Klein (founder of Vimeo). DIY is basically a social network letting kids showcase own creations and browse works of others. But unlike Facebook and Twitter you do not need an account to browse the content of the network or check out profiles of others. So by the time you are ready to post something yourself you will have already learnt how to use the app and know exactly what to do. It’s brilliant in its simplicity.
Pre-boarding, as I started calling this technique, is thus designing the product in such a way that the user starts to learn how the product works from the very second the app / site launches, rather than having to wait through registration and the like first. The way this can be achieved will depend on the type of product of course. For my own product coocoo.lu I’ve been working in the last couple of days on re-modeling the landing page akin to the way the actual product works. Instead of creating a wholly different experience I want to use the same layout and menu items contained in the product itself. I hope that once it's ready this will slice off a couple of inches off the onboarding to-do list. In the end it should also give coocoo.lu a more consistent look spanning the entire set of user touch points, including marketing and support, not just at the product level. This is a somewhat novel approach, to me at least, and I’m really excited about its potential. It would help solve a major headache for me. Hopefully, it’s not that novel that will require a tutorial of its own.