nvaccess / nvda

NVDA, the free and open source Screen Reader for Microsoft Windows
Other
2.02k stars 624 forks source link

New idea: Offer a tutorial for new users on welcome screen #7242

Open Qchristensen opened 7 years ago

Qchristensen commented 7 years ago

From a conversation in the user e-mail list, the idea was put forward to have an interactive tutorial for new users from the welcome screen after you install NVDA. The tutorial would work similar to the tutorials for VoiceOver and Talkback on other platforms. Some of the skills which could be useful to cover include:

josephsl commented 7 years ago

Hi, I think a separate file for tutorials would be good, preferably ones that provide a really quick overview, a document that can be translated easily. But at the same time, a much better option would be to provide a button in the welcome screen to open the user guide. Thanks.

Qchristensen commented 7 years ago

The idea of the tutorial was not just a static text document like the User Guide, but more that it would present some text and tell you, press NVDA+up arrow / NVDA+l to read the current line, and ensure that you could do that, and then get you to press NVDA+down arrow / NVDA+a to read from the current point forward, so it actually made you practice the skills it was demonstrating.

It would likely be a reasonable extra chunk of text to translate, but worthwhile if there is interest in such a feature.

csm120 commented 7 years ago

I think this would be extremely useful! An interactive tutorial with sample controls that someone would need to navigate through, such as a property box with info that needed to be navigated via object nav would be valuable to many who don't feel comfortable reading. I have taught people to use the Mac OS and the interactive tutorial there is very beneficial. A total newbie can get up and running quickly and be navigating dialogs, tables, web pages, etc. without needing to read the user guide. I also think something like this could help people coming from other screen readers get up to speed with NVDA quickly.

jcsteh commented 7 years ago

We've certainly discussed this before. The main complication is how the tutorial environment actually works. That is, does it just tell the user what to do, confirm they're pressing the right keystrokes and pretend it's doing what it would normally do, not allowing them to do anything else? or does it let the user use the real commands, and if so, how does it guide them? The first case does not work well for something like a dialog because the user really needs to be able to explore with a whole set of commands and get a "feel" for the dialog, not just follow a restrictive script. It's also much harder to make it work well. In the second case, the concern is that the user might do the wrong thing and then not know how to recover. So, we'd need to find some way to restrict their actions while not restricting them as much as the first case.

I need to look into how VoiceOver does this. I did try this a while back and I think it lets you test the commands, but then it just throws you into VoiceOver itself after you've done the initial bit, but I can't really remember. @QChristensen, can you comment on the experience with Talkback?

Qchristensen commented 7 years ago

Talkback works similarly - when you turn Talkback on for the first time, it launches the tutorial. I just went in to have another look at it and it seems they've changed it a bit since I last used it. Initially, they used to show an all apps list which looked similar to the actual all apps list and got you to touch items and activate them etc (though it didn't actually activate items). Now they've changed it to show a mock up - a bunch of solid circles with "item 1", "item 2" etc. The advantage seems to be that the text of the instruction is in the top half of the screen so you can go back and read it again if you didn't hear the first time (once you've figured out how to explore by touch at least).

It doesn't prevent you from pressing the home, back or recent apps buttons or opening the notification shade, which would all enable you to - deliberately or inadvertently - get out of the tutorial.

I think if we showed a window, with the instructions on it, and got people to practice commands there, it would work. Perhaps repeat the current instruction after a period of inactivity, and maybe have some settings such as "speak command keys" turned on for the tutorial.

One complication might be showing a web page to practice single letter navigation and browse and focus mode, but I would ideally do that in the same window.

jcsteh commented 7 years ago

Does the Talkback tutorial let you use Talkback gestures other than the ones it's telling you about at the time?

Qchristensen commented 7 years ago

Yes you can use any Talkback or other commands. Basically, the tutorial just acts like any other app. It's perhaps a bit easier to keep you in that app on a phone without physical buttons, as the back, home and recent apps buttons are announced then as you move over them, and you would have to double tap to activate them (which works if you want to do that). On a device with physical buttons, you can just press the buttons and get out of the tutorial app.

Having said that, I just ran the tutorial by going to the Talkback settings page. I'm not sure if it behaves any differently when the tutorial runs the first time you run talkback. Though I seem to recall you can get out of it (you wouldn't want it running every time if you set up a lot of phones and were already familiar with Talkback, after all).

-- 22 Point

Check out our first app, RapiTap! - Tap targets fast & avoid decoys: Adrenaline pumping, Challenging, Accessible! https://play.google.com/store/apps/details?id=au.com.twentytwopoint.rapitap Free trial: https://play.google.com/store/apps/details?id=au.com.twentytwopoint.rapitapfree

Web: http://www.22point.com.au Facebook: https://www.facebook.com/22Point Twitter: https://twitter.com/22PointApps

On 5 June 2017 at 13:56, James Teh notifications@github.com wrote:

Does the Talkback tutorial let you use Talkback gestures other than the ones it's telling you about at the time?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/nvaccess/nvda/issues/7242#issuecomment-306097861, or mute the thread https://github.com/notifications/unsubscribe-auth/APKmCNJ7WRBSGCG1BJySNZD_xsp99Yczks5sA3yJgaJpZM4Ntsoj .

csm120 commented 7 years ago

While I don’t exactly know what’s going on with the VoiceOver tutorial programmatically, I do know that when instructions are conveyed that’s done with the system voice evidently. Then when the practice chime is sounded actual screen controls pop up in some kind of simulated window and VoiceOver takes over the vocalization of the tutorial.

awalvie commented 5 years ago

Hey there, I thought of this idea a couple of weeks ago and was happy to find such a detailed discussion about the Idea of making a Welcome Tutorial. I really do like the idea because it makes a lot of sense to have a simple interactive tutorial that helps the users get a basic jist of the Software and it's functionality. This would make the software I personally think much for accessible and user friendly and would encourage more users to start using the software as it would ease out the learning curve for the program.

I was thinking of structuring a GSOC Proposal around this and was looking for some help from you guys so I can better select which technology I should look into to build this tutorial and tips for what could be included.

And also I wanted to know if people would be interested in this idea today and if there is still a part of the community that would want this.

Brian1Gaff commented 5 years ago

So would you have a checkbox on the first welcome screen, run short tutorial or what?

Also if its going to support all the languages nvda supports it will need to be translated and checked so its a big job I'd imagine.

awalvie commented 5 years ago

I was thinking of something along the lines of what most mobile games do. Give you a short interactive tutorial at the start to get you to understand how it works and then let you roam free.

awalvie commented 5 years ago

I do understand that this would be a project that would take a while and might be big but I think that it is crucial to providing new users a much easier way to get started with the software. I did want to know some thought of the general users on the matter but sadly I am currently having issues posting to the mailing list.

From some of the people here I wanted to know if people could point me in the direction I could look for API's / Libraries that I could use to build a Sandbox Environment and also the skill required to achieve this project. I am a beginner when it comes to coding so I currently don't have experience in gauging how big of a task this could be and how much I'd be able to achieve in the span of 3 months reasonably.

Adriani90 commented 5 years ago

@Awalvie you might take a look at this NVDA addon. It uses a quite useful API which could help in developing a welcome tutorial.

https://github.com/ibrahim-s/trainingNvdaCommands

@ibrahim-s your thoughts on this are very appreciated. Thanks!

awalvie commented 5 years ago

@Adriani90 Thank you very much for pointing out this Addon. I can definitely take inspiration from this when designing my tutorial.

Adriani90 commented 5 years ago

@Awalvie you could also use some code from this addon: https://github.com/derekriemer/NVDA-tipOfTheDay cc: @derekriemer

awalvie commented 5 years ago

Thanks @Adriani90 Definitely will look at it.