Heard a great point from Ben Thompson (Stratechery, @monkbent) on the most recent episode of The Talk Show. While discussing the evolution of mobile photography apps and photo filters, Thompson touched on the genius of Instagram:
“That’s what’s so brilliant about Instagram as a social network: there was a reason to use Instagram from day one even if you didn’t have any friends. That’s what’s so hard about getting any social network off the ground is just finding people, discovering people. Even Twitter today has this problem…”
In technology, this is called The Blank Slate, but it is not limited solely to screens. Anyone who has ever purchased a wallet has felt the disappointment when their sleek new acquisition bulges beyond recognition when filled with the garbage of their life. I’ve never designed leather goods but I have made a few web apps in my day, and those lessons can definitely be applied away from the keyboard. To ensure a smooth first run experience in your next endeavour:
- Establish the value proposition ASAP. Instagram uses photos of people taking photos to make it crystal clear what the app is for. So even if you chose to follow no one, your Instagram feed will at least be filled with your own shots. Setting those expectations early and reinforcing them frequently will establish the tone and rhythm of the interactions to follow.
- Guide the user, then get out of the way. Slack’s onboarding process is a masterful display of ingenuity and restraint. Being that it is a group chat and communication tool, Slack would have fallen into the same trap that Twitter does on first run – except for the presence of Slackbot. Once your account is set up, Slackbot initiates a brief, personable conversation that illustrates the chat mechanic, then recedes into the background until called upon.
That’s it: set expectations and lead the conversation. If that sounds like solid interpersonal advice to you, it’s because when we are successful at crafting humane user experiences, software is nothing more than a thin abstraction of the relationship between user and developer.