-
Notifications
You must be signed in to change notification settings - Fork 18
Description
Hello @msbelaid ,
First of all, I want to say that I absolutely love the concept of this app. The idea of using challenges to break the cycle of distraction is brilliant, and I'm excited about its potential. Because I'm a fan of the project, I want to propose a significant improvement to the first-time user experience to make it more intuitive, professional, and welcoming.
The Problem with the Current Onboarding
Currently, a new user is presented with a single screen that contains everything: four permission requests, the app selection list, blocking frequency, and challenge difficulty. This, combined with a navigation bug, creates two main issues:
-
Cognitive Overload: For a first-time user, being asked to configure everything at once is overwhelming. It's not clear what the most important first step is, which can lead to confusion and abandonment.
-
Critical Navigation Bug: The back button behavior is broken. Pressing it can trap the user in a loop where the screen reloads itself. After granting permissions, it can also lead to an unexpected screen, indicating the navigation stack is not being managed correctly.
The Proposal: A New 5-Step Onboarding Workflow
I propose we replace the single setup screen with a guided, multi-step workflow. This will solve the navigation bugs and create a logical, user-friendly journey.
Here is the proposed flow:
Screen 1: Welcome & Value Proposition
Purpose: To greet the user and briefly explain what the app does.
-
UI Components:
- App Logo
- Headline:
Beat Procrastination & Stay Focused - Description:
PlugBrain helps you reduce screen time on distracting apps by making you solve a quick challenge. - Button:
Get Started
-
Navigation: Pressing back exits the app.
Get Startedproceeds to the next screen.
Screen 2: Permissions Setup
Purpose: To request the necessary permissions in a clear, trustworthy way by explaining why each one is needed.
-
UI Components:
-
Headline:
Let's Get Set Up -
Sub-headline:
PlugBrain needs the following permissions to work correctly. -
A List of Permissions: For each of the 4 permissions:
- Icon: A relevant icon for the permission.
- Permission Name: e.g., "Accessibility Service"
- Explanation: A simple, one-sentence reason.
- Accessibility:
Required to detect and block other apps. - App Usage Access:
Used to show you your usage stats. - Display Over Other Apps:
Needed to show the challenge screen over a blocked app. - Battery Optimization:
Ensures the blocker works reliably in the background.
- Accessibility:
-
Status Indicator (Optional but nice): A checkmark or toggle that updates once a permission is granted.
-
Button:
Grant Permissions
-
-
Navigation: The
Grant Permissionsbutton would trigger the system dialogs sequentially. Once all are granted, the user can proceed. Pressing back returns to the Welcome screen.
Screen 3: App Selection (The Core Action)
Purpose: To have the user immediately engage with the app's primary function.
-
UI Components:
- Headline:
Choose Apps to Block - Sub-headline:
Don't worry, you can change this list anytime.(This reduces user anxiety). - A scrollable list of installed apps with checkboxes.
- Button:
Next(should be disabled until at least one app is selected).
- Headline:
-
Navigation: Pressing back returns to the Permissions screen And Pressing
Nexttakes the user to Screen 4.
Screen 4: Configuration
Purpose: To let the user set the blocking parameters with sensible defaults.
-
UI Components:
- Headline:
Set Your Challenge - Section 1: Blocking Frequency
- Title:
How often should we block? - Options: A set of selectable chips or radio buttons (e.g.,
Every 1 min,Every 5 min,Every 15 min). A default should be pre-selected.
- Title:
- Section 2: Challenge Difficulty
- Title:
How difficult should the challenge be? - Current "Minimal Difficulty"
Slider
- Title:
- Button:
Finish Setup
- Headline:
-
Navigation: Pressing back returns to the App Selection screen And Pressing
Finish Setupmarks the onboarding as complete, saves all the settings, and navigates to the main app dashboard (Screen 5).
Screen 5: Main App Dashboard (The "Usage Stats" screen)
Purpose: The main, day-to-day interface of the app. The user lands here after setup is complete and every time they open the app from now on.
UI Components:
- This is your existing "Usage Stats" screen, but now it's populated with the apps the user just selected in Screen 3.
- It should feel active and useful from the moment the user lands on it.
Navigation: Pressing back Exits the app. User interacts with the app normally.
Benefits of This Approach
- Solves Critical Bugs: It fixes the back button loop and incorrect stack management.
- Eliminates Confusion: It guides the user one step at a time, making the setup process feel easy and logical.
- Builds Trust: By explaining permissions, we are more transparent with the user.
- Creates a Professional Impression: A polished onboarding experience makes the entire app feel more reliable and well-designed.
I am passionate about this project and believe this change would significantly improve user retention and satisfaction. I am happy to discuss this further and contribute to its implementation.
Thank you for your time and for creating such a great app! ❤️