jamulussoftware / jamulus

Jamulus enables musicians to perform real-time jam sessions over the internet.
https://jamulus.io
Other
1k stars 224 forks source link

First Time Install #991

Closed gene96817 closed 3 years ago

gene96817 commented 3 years ago

Is your feature request related to a problem? Please describe. Many new users are not familiar with the concepts for configuring their devices. Some of these users can only succeed with a lot of hand-holding. Even with very technical users helping the setup process, this task is very difficult and tedious in times of social distancing.

Describe the solution you'd like A stand alone quick start utility/application to step the new user through the steps needed for a successful first jam session.

Tasks might include (but not be limited to):

  1. down load ASIO4ALL if needed for the OS
  2. help the user select the proper microphone (confirmed by Jamulus VU meter)
  3. help the user select the microphone (OS) volume control
  4. help the user select the proper sound output (built-in, USB, add-in board, audio interface, etc.)
  5. note that often plugging in a headset with a microphone is not properly detected by the OS
  6. quick intro to the Jamulus UI controls for their channel
  7. configure the user profile
  8. quick intro to the Settings Window and why they may need to change the settings
  9. show the user how to find and connect to a server (and confirming everything is working)

Additional notes

ann0see commented 3 years ago

Thanks for the great write-up.

I think the next question here is:

Where should this be included? Can the installer do it (I don't really think this would help). Or should Jamulus do it? (I'd vote for Jamulus)

Afterwards:

I think there are two problematic areas:

  1. UI of ASIO4ALL (contacted the dev about this issue, I hope he implements the ideas)
  2. Bugs or difficulties in Jamulus (something we can solve)

~~

Just adding my (unrelated) thoughts (I'm currently testing ASIO4ALL with my machine and try to do as much as possible wrong. That's how I found #796).

note that often plugging in a headset with a microphone is not properly detected by the OS

Also had a conversation to somebody via mail about this issue. It might be possible to solve it by re-loading the ASIO driver interface. What I found is that you can in fact reset ASIO4ALL by clicking on the diamant icon. Some devices might show up after a reload. Can Jamulus do this somehow?

gene96817 commented 3 years ago

I only discussed the quick start as a utility because I thought I saw a developer bias for this to be separate from Jamulus. I personally think packaging this module in Jamulus is a much better user experience. Then there is just the Jamulus client and they either have it all or not. In this packaging as part of Jamulus, we can keep a history of what path was used to configure Jamulus. (first install or repeat of a quick start, manual install, etc.)

ann0see commented 3 years ago

The question is:

Would it be possible to make the most important first time use functions visible in the area where the mixing board is (in "off" state this is just wasted space). We could also give brief explanations, show a help text if ASIO4ALL is detected and hide this text after specific things are set.

But another question here is: do we even need to remove these texts for new users?

I have the feeling that adding a real first run wizard will not be accepted and a separate utility will just add overhead or not even be installed.

gene96817 commented 3 years ago

Wow, being able to highlight the UI element with the first-time-instructions makes a first-rate impression.

Keeping or removing text for new users is a question about clutter. As we work through the implementation, we may discover ways to make things smile and clear for everyone. KISS usually improves things for everybody.

I also am biased against a first-run wizard. Should we change the "Describe the solution" from "Create a quick start utility" to "Create a quick\ start process"?

pljones commented 3 years ago

OK, my view on this:

Remember, lots of people use Jamulus in lots of different ways. Any "quick start" is never going to cover all those cases -- and it must NOT get in the way once someone discovers it's not offering a solution to their use case.

gilgongo commented 3 years ago

Just a minor point: in user testing (websites and mobile apps, general consumer screener, even splits of sex, age 18-65), I have yet to see much significant initial use of "first start" or "onboarding" UI. Almost everyone apart from older people will dismiss, skip or barely pay it attention. They instead just give the app a go. People seem to just want things to be easy :-) HOWEVER, it is common to see people a little later seek out the thing they initially dismissed.

Those systems that have eg a prominent floating question mark icon (or similar) that re-starts the first-time UI usually see better SUS scores.

gene96817 commented 3 years ago

@gilgongo I am willing to concede many people will just give it a go and hope for the best. Some of them can recover with a second more thoughtful try. It's the ones that ask for help to dig them out of their mess that is the most annoying. If we have a well structured first start process, the second try should be easy, and hopefully, it won't need assistance. Interestingly, the older, self-aware, tech paranoid user will follow the instructions carefully.

gilgongo commented 3 years ago

@gene96817 Yes, that's what I'm trying to say. We shouldn't be discouraged if we see a first time install being ignored, as long they can easily get to it later after dismissal.

pljones commented 3 years ago

"Help -> Setup Assistant", perhaps? ("Setup" not "Set up", as it's not to set up an assistant... :) )

mulyaj commented 3 years ago

Would it be possible to have some kind of collapsable help widget? It could contain specific first-start guides.

gilgongo commented 3 years ago

@mulyaj Yes, if the UI was structured to support that. This is part of the discussion here https://github.com/jamulussoftware/jamulus/issues/958#issuecomment-779032451 in which I'm suggesting that the UI needs to be re-done so as to scale to support current and future (and as yet unknown) features and functions. I think this is somewhat of a separate issue to this ticket though, perhaps.

pljones commented 3 years ago

I'd rather detailed support information was on the web site, to be honest. More people nowadays "look it up in Google" than Help->User Guide.

gilgongo commented 3 years ago

Yes - probably just a link as we have now. Just in a different (more obvious?) form.

gilgongo commented 3 years ago

@gene96817 (and everyone else)

It would be good to get this defined so that it can exist as an agreed backlog item to be worked on. Given the initial discussion here, and @pljones https://github.com/jamulussoftware/jamulus/issues/991#issuecomment-778688072 do we agree that:

  1. It would be a stand alone feature outside of Jamulus exhibiting at least some of the things you list.
  2. That it would invoke on first run, and thereafter be available from the UI (eg the Help menu).

If so, I can alter that in the ticket and mark this as specced.

If not, we can move this over to a Discussion until such time as we've worked it out.

gene96817 commented 3 years ago

@gilgongo Your summary works for me. Assuming a multistep process where some steps can be skipped, can we persist the information of which steps were performed and which were skipped?

gilgongo commented 3 years ago

can we persist the information of which steps were performed

@gene96817 Just to take a step back a bit: I think there may be some misunderstanding going on here :-)

I'd assumed we were talking about an actual helper application for each OS that did stuff like list your actually installed sound devices ("help the user select the proper microphone"), launched the relevant control panel or settings UI ("help the user select the proper sound output") and stuff (no idea if that's possible!)

But are we in fact talking about simply static (but linked) web pages? In which case are we just talking about a better/re-jigged version of https://jamulus.io/wiki/Onboarding but taking a "needs based" approach to the navigation of it (so asking the user if they have a mic, then depending on which link they follow it will talk about setting that up)?

Sorry if I'd got the wrong end of the stick!

pljones commented 3 years ago

The main point is an assistant to help with setting up - something that can help a novice user who doesn't have any experience with optimising a computer for use with real time audio through from downloading and running the installer for the first time (at which point the assistant launches, unless the user selects "I need no help with this install, thank you so much for offering [x]") all the way to connecting to a server an having an online jam with others.

This could be cancelled at any step. But the user might get lost later having abandoned the help, so want to start it again - hence there should be a menu option "Help -> Setup Assistant". Ideally, the assistant could work out what was going on and help fix it...

That's quite different from "Help -> User Guide", which would take the user to the web site (as would a quick search on Google, with any SEO luck), where they could look up guidance on specific problems.

To me, it sounds like the Setup Assistant is a big project and probably warrants a separate git repository. (It's also a good reason to give Jamulus an inter-process API that the assistant could use to find out what's happening and make stuff happen.)

gene96817 commented 3 years ago

@gilgongo What you described is perfectly fine. I was just trying to point out that if there are decision points for the user to make, it would be good to save that information in case the user needs more help later. Knowing what the user has done is very helpful. Perhaps this is taking things too far. For now, just keep this idea in mind. We are already making a big improvement.

gilgongo commented 3 years ago

@gene96817 OK and relation to what @pljones has just said https://github.com/jamulussoftware/jamulus/issues/991#issuecomment-782276017 we already have this on the website. But this ticket isn't simply to make that better, it's a whole new desktop application (and all that implies).

That's fine if so, I just wanted to get that clear. BTW we can always work on that web page too, but that's a separate matter :-)

gilgongo commented 3 years ago

This is still rather more of a debate than a clear specification for any work, so I'm moving it to discussions until such time as we can agree whether this is some separate app that's bundled for (just Windows?) users, or just some kind of expanded version of Getting Started.