My Thoughts on App Walkthrough / Tutorials

This post was inspired by reading this post here.  Worth a quick glance for background knowledge.

Well, basically the premise is – are we over-doing it with App “Tutorial Screens” or basically, if a small app needs such instructions, isn’t this basically trying to smooth over a fundamental flaw in the UI Design?  (Of course we can argue back and forth, you know, what would Mom and Dad do without such orientation materials, and so on?)

We also had these discussions while working on Toast.  Where I’d like to add my 2 cents is to try to bridge the gap between programming and UX since many programmers don’t have a sense for aesthetic and usability, demonstrated by very Database-friendly form designs but not necessarily user-friendly ones, for example, and designers almost always (I mean, how could they?) have little knowledge about what’s possible technically (and at what cost?)

I’d like to ask you to think of the middle ground;  True, power users shouldn’t need tutorials and are probably pretty quickly annoyed by them, especially when it involves being shown every little detail of the app, right when you first launch it and still have no idea what it’s about and what it’s value proposition is (aka the reason why you’d want to use it).  You also don’t want to lose potential users by them being confused or disoriented with your app and its design.  So? …

Analytics.  No, not some crazy business analytics tool to make some number-watching business type in your company fancy himself as a UX Designer-by-numbers, no, I mean some sort of simple analytics code that can monitor what your user is doing with the app, what the user has done with the app, and have the code respond to that user’s behaviour and offer him a somewhat personalized experience.

On Toast, I came up with a bit of code (that never really saw the light of day), which I called UserBehaviourAnalysis.  At it’s core it did a simple thing and could be easily extended to analyse all sorts of stuff (if you programmed it to).  You basically can log events as they happen and have some simple logic that triggers events/notifications.

Booorrring.  Or is it?  OK, simple case;  I accessed this View Controller.  “Is this the first time you’ve viewed this (very important to the functionality) View Controller?”   Display a tutorial screen for some key features.

Take it further.  I pressed this button on this screen.  “OK, good, I’ll remember that.”

Now.  I accessed this screen for the 20th time and can see in the App’s usage statistics (which we keep track of with NSUserDefaults) that I still haven’t pressed that button (that opens up a whole bunch of other features and functionality for the user).  A little logic later and a NSNotification, and you can have a seemingly smart ‘tutorial on demand’ system working in your app.

You dig?  Maybe I’ll post an API soon that demonstrates how one might use such a thing if the above wasn’t enough food for thought.  Let’s face it – programming is just a tool, your brain is the part that uses that tool to create awesome things!


3 thoughts on “My Thoughts on App Walkthrough / Tutorials

  1. We’ve recently added Google Analytics to our App to feed back user activity to our UX/UI guy. The idea being that he can analyse what the users are doing and change the UI to make things more intuitive for the user. Google Analytics is a piece of cake to add to your App (although I do still have concerns over the overhead).

    However, your post makes me think. If you could analyse in real time in the App and then offer the user a bespoke “walkthrough” depending on what they do, then that becomes a very interesting idea. For example, if the user constantly goes from Screen A to the Navigation Menu to Screen B, when there is actually a shortcut to Screen B available on Screen A, you could advise the user of this shortcut after the 3rd or 4th time that he takes the long route.

    Hmm, interesting ….

  2. Yeah, this post itself is like a ‘thought stub’. 😀 Doesn’t really provide an implementation, but conceptually something to think about. Just log events to a singleton, then post NSNotifications if something should happen based on that logged event (and persistent usage statistics of previously logged events).

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s