[Sugar-devel] [DESIGN RFC] Onboarding

Tony Anderson tony_anderson at usa.net
Wed Dec 30 02:24:10 EST 2015

Some thoughts:

     Trigger this with the help button (see TurtleBlocks). If there is 
already a help, make the help button show options:
         tutorial: how to launch an activity

where tutorial is the Onboarding implementation. It should be possible 
to have more than one tutorial with some description of the purpose.

Add a help button to the left of the home view button on the home view 
and the list view (list view help gives tutorial on list view.
Add a help button to the right upper corner of the frame.
Add a help button on the bottom bar of the Journal view (away from the 
mount icons but not in the far corner to avoid conflict with the frame)
Add a help button on the top bar of the neighborhood and group views (to 
the right, away from the corner)

Implement the system so that activity author/maintainers can create 
their own help button tutorials.

Use a list of jsons to define the steps in the tutorial:
     [{'hotspot':'x,y,w,h','click':test for completion,....}

On the home view, at the deployments I support, pressing the alt key 
makes 'always start new' the default. This makes it easier to separate a
deliberate attempt to resume a task (from the Journal) from a new task 
(from the Home view). With the above approach, the home view tutorial 
can be
easily modified.

For the frame, the corners are disabled so that the frame is only 
available from the frame key. This is essential for the original XO-1 
keyboard since moving the cursor to stop an activity almost invariably 
covers the button with the frame. It would be nice if the tutorial 
implementation had a way to show a keyboard hotspot (e.g. a on-screen 
keyboard) to show how to access various views from the keyboard.

In the context of the proposal:

     Onboarding goals should be supported by the implementation but not 

     User flow: user clicks on help button and clicks on tutorial (if 
more than one option).
                     home view tutorial shows how to launch an activity 
- but an activity has it's own help button and tutorial

When a user completes an onboarding task, the window should flash 
through a huge tick, then fade away.
                     a new hotspot appears to set up the next task.

The image in the popup could be a screen shot showing the expected 
result of the previous task.

So, in general, the tutorial definition should be separated from the 
tutorial mechanism.

I suspect the 'hotspot' implementation to be relatively easy but the 
tricky code will be to determine whether the task was executed correctly.

The hotspot mechanism must be able to handle changes. Suppose that a 
home view tutorial sets a task to launch 'Record' by placing a hotspot 
around the Record icon. The mechanism needs to find where the Record 
icon is on the home view, not just position it where Record shows in a
freshly-installed Home View. The user (or deployment) could have added 
or removed activities from favorites.


On 12/29/2015 03:55 AM, Tony Anderson wrote:
>  The important thing is Sam's proposal and its implementation.
> Two considerations:
>      1) Make the implementation scriptable as much as possible so that 
> new help scenarios can be easily implemented in the wild.
>      2) Minimize text - emphasize icons. For example, a standard 
> 'click' icon. This reduces the stress of making translations.
> Tony 

More information about the Sugar-devel mailing list