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

Improve onboarding process #83

Open
skjiisa opened this issue Jan 18, 2022 · 0 comments
Open

Improve onboarding process #83

skjiisa opened this issue Jan 18, 2022 · 0 comments
Labels
enhancement Improve the user experience good first issue Good for newcomers help wanted Extra attention is needed
Milestone

Comments

@skjiisa
Copy link
Owner

skjiisa commented Jan 18, 2022

While witnessing someone else try to use the app for the first time, I realizing the wording on the onboarding screen isn’t great. Help with the language and UX for the onboarding process would be appreciated.


There should also be an explanation about iCloud sync and how it can take a minute to load. It would be a bit complex, but it might be possible to have a loading indicator for sync progress even though Apple’s APIs don’t directly give any indication of this:

  1. Immediately start observing for Core Data changes with something like a FetchedResultsController with a delegate on app startup of a new install.
  2. Perform a very small, fast query to CloudKit. For something like a single Track.
    • If the user taps to continue before this process is complete, show a loading modal, potentially with a dismiss button (could be labeled something like “Load in background”, thought that might be confusing unless it’s clearly communicated that it’s connecting to CloudKit)
    • Could maybe even be a toast with info on the current sync progress.
  3. If the request is successful and no data is returned,
    1. assume this is a new user with no data to sync.
    2. Dismiss the loading modal.
    3. Continue to the new user onboarding.
  4. If the request returns with data,
    1. assume this is an existing user with CloudKit data to import.
    2. Wait for the CoreData listener to report changes which would indicate that the automatic CloudKit sync was successful (may have already happened).
    3. Dismiss loading modal.
    4. Continue to main app.
  5. If the request fails,
    1. show an alert saying that CloudKit sync failed.
    2. Give the user the option to continue with onboarding.
@skjiisa skjiisa added enhancement Improve the user experience help wanted Extra attention is needed good first issue Good for newcomers labels Jan 18, 2022
@skjiisa skjiisa added this to the v1.4 milestone Mar 9, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Improve the user experience good first issue Good for newcomers help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

1 participant