Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Request: OOBE (out of the box experience) #146

Open
Samuel12321 opened this issue Oct 29, 2020 · 53 comments
Open

Feature Request: OOBE (out of the box experience) #146

Samuel12321 opened this issue Oct 29, 2020 · 53 comments
Assignees
Labels
Enhancement New feature or request MS Store Feedback
Milestone

Comments

@Samuel12321
Copy link
Member

Store feedback;
Users aren't always aware of the settings menu. If this was opened just once at the first launch of the app, it would make them aware of the customisation available.

@Samuel12321
Copy link
Member Author

As someone who just installed ModernFlyouts for the first time, I like the current behavior. Had it been hidden by default I probably never would've known any of those controls existed.

Originally posted by @justintaddei in #125 (comment)

@ShankarBUS
Copy link
Member

Is this necessary?

I don't mind doing it but wouldn't the users be annoyed by it?

Do you want me to make a OOBE?

@Samuel12321
Copy link
Member Author

Samuel12321 commented Oct 29, 2020

As long as it only appears on the first time the app is run, i don't think it would be annoying.
Others feedback on this suggestion would be useful.

@ShankarBUS
Copy link
Member

So what about existing users?

There's no way to distinguish existing users and new users currently. I never thought of this scenario. But it wouldn't be problematic in the next version.

However all users will get the OOBE during the first implementation.

Is this something the users hate?

@Samuel12321
Copy link
Member Author

i think it should be fine as long as it is explained that it will only appear once.

@ShankarBUS
Copy link
Member

Hey pal,

I also plan to include way to enable certain experimental features only for beta users which won't be available for normal users.

This could be useful right?

@Samuel12321
Copy link
Member Author

Should we do this as a setting in the settings menu. eg "enable beta features"
Or use the beta flight ring that we have and push those updates to that ring.

@justintaddei
Copy link

Me again :)

I didn't have any trouble finding the settings page since the settings icon is pretty obvious.
This one:
image

I don't think it would've bothered me if the settings page had opened on the first launch. Perhaps a less obtrusive welcome screen that asks if the user would like to customize the behavior or sick with the defaults would be a better option?

@ShankarBUS
Copy link
Member

Use the beta flight ring.

I thought it was not being used so I came to this decision

@Samuel12321
Copy link
Member Author

@justintaddei Thanks for clarifying, also got store feedback regarding not knowing about the settings page and assumed this is what you meant.

@Samuel12321
Copy link
Member Author

Samuel12321 commented Oct 29, 2020

Use the beta flight ring.
I thought it was not being used so I came to this decision

It is being used, the last release 0.7.8 was in the beta ring for 2 days to monitor for bugs before i released it to public.

@ShankarBUS
Copy link
Member

@justintaddei,

Perhaps a less obtrusive welcome screen that asks if the user would like to customize the behavior or sick with the defaults would be a better option?

That's what I mentioned as OOBE (out of the box experience).

There will be a welcome screen explaining the features of this app and asking the users for customization.

@Samuel12321 Samuel12321 changed the title Feature Request: Open settings panel on after install Feature Request: OOBE (out of the box experience) Oct 29, 2020
@ShankarBUS
Copy link
Member

@Samuel12321, Oh! I didn't know that.

That's great!

@Samuel12321
Copy link
Member Author

So how would we do this, would we have a fork with beta features with its own releases that go to the beta ring, that get merged into the main branch, or as we currently are with one branch and each release just goes to beta ring for a few days before public release.

@ShankarBUS
Copy link
Member

ShankarBUS commented Oct 29, 2020

No need for that we just have to add "-beta" to the app version on the *.csproj file.

Example : 0.8.0-beta

I can then filter out features based on the app version.

If the version contains "beta" it will enable certain features.

We can remove suffix once the app becomes stable and release the stable version to store after a few days.

@Samuel12321
Copy link
Member Author

I wasn't aware that version in csproj could contain text. Sounds good to me.
FYI:
We currently have 3 release rings.

  • (Internal beta) - just us, have been using this for a while to test update mechanism and check for distribution issues.
  • (Beta) - everyone who signs up for the beta
  • (public) - everyone

@Samuel12321
Copy link
Member Author

just working out future releases. How is the 0.8 stuff going?

@ShankarBUS
Copy link
Member

@Samuel12321, I'm fiddling with the settings window.

I'm nearly close to fixing the settings UI lag.

All the other planned stuff has been done. Just this one is left.

It may take me a couple of days to wrap it up for beta users together with this new OOBE and feature previews.

@justintaddei
Copy link

@ShankarBUS

That's what I mentioned as OOBE (out of the box experience).

There will be a welcome screen explaining the features of this app and asking the users for customization.

My bad. I don't know why I didn't pick up on that. Sounds perfect!

@Samuel12321
Copy link
Member Author

can you push what you currently have.

So do you want to have OOBE and beta specific stuff for 0.8.0?

@ShankarBUS
Copy link
Member

@Samuel12321, It's messy over here. I implemented all the planned features at once. I'll upload all of the settings window features at once.

Should have done separate commits for each feature.

@Samuel12321
Copy link
Member Author

Just planning releases did you want OOBE and beta specific stuff for 0.8.0 or 0.8.5?

@ShankarBUS
Copy link
Member

ShankarBUS commented Oct 29, 2020

We can add OOBE and beta-specific features in v0.8.5

Let's fix the settings UI bug first.
What should be the first beta-specific feature?

Should they be in a separate page in settings? So that beta users can know which features are experimental and enable them on their own.

@Samuel12321
Copy link
Member Author

We can add OOBE and beta-specific features in v0.8.5
Let's fix the settings UI bug first.

Agreed

What should be the first beta-specific feature?

Don't know?

Should they be in a separate page in settings? So that beta users can know which features are experimental and enable them on their own.

Yes

@Samuel12321
Copy link
Member Author

perhaps they should be by default on, so that we can get feedback if they are causing crashes or problems.

@ShankarBUS
Copy link
Member

@Cyberdroid1,

image
image

Ooooh! I forgot that 😅😁. @Samuel12321 your thoughts?

@Samuel12321
Copy link
Member Author

very good points, guess preview wins.

@ShankarBUS
Copy link
Member

Oh wait,

The term "Preview" in this context denotes that all builds from stable to experimental (including alpha & beta) are not public ready.
This term doesn't denote the build channel. The app itself is in preview mode.

My point wins.

@Samuel12321
Copy link
Member Author

for the internal numbering i still think it should be "beta", but for exterior visible labels "preview"

@ShankarBUS
Copy link
Member

ShankarBUS commented Oct 29, 2020

for the internal numbering i still think it should be "beta", but for exterior visible labels "preview"

No, we don't need to. We should have added the term "Preview" to the app's name at the beginning.
Any software before attaining version "1.0.0.0" is called "Preview".

So, our app (currently v0.7.8), PowerToys (currently v0.24.0) and Files UWP (currently v0.17.0) are all in Preview.

We are all under "1.0.0.0". After attaining v1.0 the "Preview" tag would be removed.
We have to add "Preview" to the app's name. But it doesn't denote the build channel.

@prakharb5
Copy link
Member

The app name should not tell that we are using Beta version, the About Page should contain it.

@ShankarBUS
Copy link
Member

ShankarBUS commented Oct 29, 2020

Yup!
@Samuel12321, could you change our app & package display name to "ModernFlyouts (Preview)"?

We will remove " (Preview)" once we attain v1.0..

@prakharb5
Copy link
Member

Yup, makes sense. 😁

@Samuel12321
Copy link
Member Author

Will do with the next release. 😉

@thomasthebear
Copy link

So what about existing users?

There's no way to distinguish existing users and new users currently. I never thought of this scenario. But it wouldn't be problematic in the next version.

However all users will get the OOBE during the first implementation.

Is this something the users hate?


Unsure if this has already been addressed and my apologies for commenting on a Issue almost two weeks after the fact, but from a very basic level of implementing the ability for the software to distinguish between First Time/New Users and Existing Users would be to have the software show the Settings Dialog (or even a New User/Welcome Pane) on startup, by default. This allows the software to always show the designated panel on first run, without fail. Once the Dialog/Panel is opened, either on the Initial Installation or Initial Startup, generate a basic text file (or similar properties file) in its directory with a simple line of something similar to out-of-box.experience = false , startup.settings-panel.show = false or honestly anything of your desired preference. Run a quick check of that line in the properties file to return true or false on start up while having a small section of internal coding that would designate what it should show based upon the results of said check.

That being said, this is coming from someone with limited experience in terms of writing my own software or contributing to existing projects. However, I do have a relatively good understanding of most programming languages and their overall uses & implementation, or so I'd like to think. Hopefully this helps, even if in the slightest, to put yourself on the right track for implementation of an "Out of Box Experience" for New Users, if you're planning to do so eventually.

@ShankarBUS
Copy link
Member

@thomasthebear, thanks for you suggestion.

That's exactly what I planned! You're suggesting to use app data to store if it's first run or not. Which is how it should be done!

But since the data is not already present in the data list, a new entry with true as value would be created.

As the entry is not present in existing installations, existing users will also get to see the OOBE only once.

They won't appear again.

I guess you misunderstood my statement 😄.

By existing users/installation I meant users that already know about the app and have ModernFlyouts installed and been using it for a while.

I hope we're clear 😁.

@ShankarBUS
Copy link
Member

@Samuel12321,

I'm going to skip this and start the work for v0.9.
We can add this to v1.0. I have to use my free time effectively. The OOBE stuff is easy but time consuming (UI designing, localization, screenshots and etc). You could even do that once you fully learn C#, .NET and WPF. I need to code as much as possible within this month and the next. We have a lot of stuff to implement.

I need a small help from you. We need help from a UI/UX designer. Could you search for anyone and ask them to design mockups for our app ASAP?

@prakharb5
Copy link
Member

prakharb5 commented Dec 11, 2020

Hey, what about Sharlee? He had designed the icon for the Dopamine 3 app.

Link -- https://www.itssharl.ee

@Samuel12321
Copy link
Member Author

Will see if i can find anyone.
@ShankarBUS I was thinking it may be a good idea to talk to @riverar and the Ear trumpet team to see whether they would be interested in a possible project merge for #164, seeing as we are both doing similar things, (ours being a bit broader), it sort of makes sense to pool resources. - They may have someone in their team who can help with ui/ux design.

@zeealeid
Copy link

Hm, maybe when the app gets opened for the first time, the user gets a pop up window (like that 'What's new' window thing in new Insider builds) showing the features of the app and an option for accessing the settings area. Would create some mock-ups to explain it better.

@ShankarBUS
Copy link
Member

@zeealeid,

Would create some mock-ups to explain it better.

That's what I need exactly!

Great! ❤️

@zeealeid
Copy link

zeealeid commented Jan 5, 2021

Hm, maybe when the app gets opened for the first time, the user gets a pop up window (like that 'What's new' window thing in new Insider builds) showing the features of the app and an option for accessing the settings area. Would create some mock-ups to explain it better.

Ok so I was saying that when the app opens for the first time, the user gets greeted with this pop-up (heavily inspired by Tips app). So this is what I've come up with

Welcome

Music

Other flyouts

Settings

Let me know your thoughts on this!

@prakharb5
Copy link
Member

prakharb5 commented Jan 5, 2021

NGL, the design is lip smacking!
Like the privacy policy and settings button addition too!

But we would need help of someone to implement it, as @ShankarBUS does not have time to implement it.

@zeealeid
Copy link

zeealeid commented Jan 5, 2021

NGL, the design is lip smacking!

Like the privacy policy and settings button addition too!

But we would need help of someone to implement it, as @ShankarBUS does not have time to implement it.

Glad you like it! Maybe this could be implemented in a later release?

@ShankarBUS
Copy link
Member

@zeealeid,

Wowie! The OOBE UI looks better than the app itself 🤣.
That's too better!

As @Cyberdroid1, I don't have much time.

But I'll try to sneak it in somehow.

I'll at least make the process easier for future contributors.

Thank you so much pal!

@zeealeid
Copy link

zeealeid commented Jan 5, 2021

@zeealeid,

Wowie! The OOBE UI looks better than the app itself 🤣.
That's too better!

As @Cyberdroid1, I don't have much time.

But I'll try to sneak it in somehow.

I'll at least make the process easier for future contributors.

Thank you so much pal!

You're welcome! Glad you like it

@Samuel12321 Samuel12321 added this to the 0.10.5 milestone May 28, 2021
@Samuel12321 Samuel12321 mentioned this issue Oct 7, 2021
@Samuel12321 Samuel12321 modified the milestones: 0.10.5, 0.11.0 Oct 10, 2021
@Samuel12321 Samuel12321 mentioned this issue Oct 11, 2021
@Samuel12321 Samuel12321 mentioned this issue Mar 26, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement New feature or request MS Store Feedback
Projects
None yet
Development

No branches or pull requests

6 participants