<div dir="ltr">Hi Tony,<div><br></div><div>Thank you for the comments on the proposal.</div><div><br></div><div>(For context, by onboarding I refer to the users first run experience.  Similar to [1].  Specifically something that helps them understand the basics of sugar)<br><div><br></div><div>From an implementation perspective it is important as you note to bind to widgets rather than hard coded positions and recognise when the user completes the task.  I think from that perspective, it would be very complex to use a JSON file.  I would much prefer to have a singleton class "Onboarder" (or whatever) which would have 2 main methods.  "add_hotspot_over(hotspot, widget)" and simmilar for other places that hotspots are placed over and "signal_hotspot_completed(hotspot)" which signals that a hotspot has been completed.  There would then be a separate list of hotspots and their content.  Having more of the implementation in python in will give this flexability.</div></div><div><br></div><div>I feel that adding lots of different tutorial in different places almost conflicts with our contextual help system (the help window that pops up).  I think that adding a small initial explanation/tutorial is a different issue and targets a different need.  Does this need to be added to the onboarding though (how to open the help)?</div><div><br></div><div>Supporting the F6 frame activation could be added, I will mock something up tomorrow.</div><div><br></div><div>Earlier you mentioned that design should use more icons than text.  I think that I could show screen shots of the expected result.  However, sometimes I personally find icons can be more vauge than text for explaining ideas, and I believe that some users may feel a similar way.  Therefore I believe that the supplementary copy could be helpful for many users.  However, I you point out the issue of translation loads.  Should the copy be hidden if text is not available in the same language?</div><div><br></div><div>Thanks,</div><div>Sam</div><div><br></div><div>[1]  <a href="https://useronboard.com" target="_blank">https://useronboard.com</a></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Dec 30, 2015 at 6:24 PM, Tony Anderson <span dir="ltr"><<a href="mailto:tony_anderson@usa.net" target="_blank">tony_anderson@usa.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Some thoughts:<br>
<br>
    Trigger this with the help button (see TurtleBlocks). If there is already a help, make the help button show options:<br>
        help<br>
        tutorial: how to launch an activity<br>
<br>
where tutorial is the Onboarding implementation. It should be possible to have more than one tutorial with some description of the purpose.<br>
<br>
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.<br>
Add a help button to the right upper corner of the frame.<br>
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)<br>
Add a help button on the top bar of the neighborhood and group views (to the right, away from the corner)<br>
<br>
Implement the system so that activity author/maintainers can create their own help button tutorials.<br>
<br>
Use a list of jsons to define the steps in the tutorial:<br>
    [{'hotspot':'x,y,w,h','click':test for completion,....}<br>
<br>
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<br>
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<br>
easily modified.<br>
<br>
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.<br>
<br>
In the context of the proposal:<br>
<br>
    Onboarding goals should be supported by the implementation but not limited.<br>
<br>
    User flow: user clicks on help button and clicks on tutorial (if more than one option).<br>
                    home view tutorial shows how to launch an activity - but an activity has it's own help button and tutorial<br>
<br>
When a user completes an onboarding task, the window should flash through a huge tick, then fade away.<br>
                    a new hotspot appears to set up the next task.<br>
<br>
The image in the popup could be a screen shot showing the expected result of the previous task.<br>
<br>
So, in general, the tutorial definition should be separated from the tutorial mechanism.<br>
<br>
I suspect the 'hotspot' implementation to be relatively easy but the tricky code will be to determine whether the task was executed correctly.<br>
<br>
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<br>
freshly-installed Home View. The user (or deployment) could have added or removed activities from favorites.<span class="HOEnZb"><font color="#888888"><br>
<br>
Tony</font></span><span class="im HOEnZb"><br>
<br>
On 12/29/2015 03:55 AM, Tony Anderson wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
 The important thing is Sam's proposal and its implementation.<br>
<br>
Two considerations:<br>
<br>
     1) Make the implementation scriptable as much as possible so that new help scenarios can be easily implemented in the wild.<br>
     2) Minimize text - emphasize icons. For example, a standard 'click' icon. This reduces the stress of making translations.<br>
<br>
Tony <br>
</blockquote>
<br></span><div class="HOEnZb"><div class="h5">
_______________________________________________<br>
Sugar-devel mailing list<br>
<a href="mailto:Sugar-devel@lists.sugarlabs.org" target="_blank">Sugar-devel@lists.sugarlabs.org</a><br>
<a href="http://lists.sugarlabs.org/listinfo/sugar-devel" rel="noreferrer" target="_blank">http://lists.sugarlabs.org/listinfo/sugar-devel</a><br>
</div></div></blockquote></div><br></div>