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

UX: iOS onboarding flow #37

Open
mwild1 opened this issue Jan 29, 2021 · 1 comment
Open

UX: iOS onboarding flow #37

mwild1 opened this issue Jan 29, 2021 · 1 comment
Labels
blocked/external A feature in an external component is missing ux

Comments

@mwild1
Copy link
Member

mwild1 commented Jan 29, 2021

This is a general issue to track revisions to the iOS onboarding flow. It's a placeholder for user testing and feedback we may receive from beta/initial users.

Currently we present a button that links (or will link) to the app store. We do the same for Android, but the install referrer ensures the user is still on a straight path to registering an account.

iOS doesn't have that. After the app is installed they must return to the invite and click the button (which is a little de-emphasized currently because it's irrelevant to most Android users).

Possible future changes:

  • Instead of taking the user directly to the app store, show a popup or second page with instructions
  • Make the app install section a tabbed box (auto-selecting the current platform if known), with more detailed instructions about how to complete the registration process.
  • Detect the invite somehow, some random ideas (not necessarily good ones):
    • Copy invite URI to clipboard in page, check clipboard at app launch
    • Attempt to open the URI periodically in a loop until successful (success can be detected on some platforms, is iOS one of them?). Also JS almost certainly doesn't run when browser isn't focused.
    • Use the web Credentials Management API to save the domain and invite token as username/password for a domain asserted by the app (e.g. invite.snikket.org). The app can then use Shared Web Credentials to access the info stored by the browser. This may be the most reliable/seamless experience. Downside, it probably requires executing Javascript from invite.snikket.org. But the JS will be public, open-source, zero-knowledge and should be no less trustworthy than the native app.

The app should also prompt the user more explicitly to return to the invite if they have one. That can be easily fixed in the next update.

User testing will indicate if there is even a problem to solve here (but I'm 90% sure there is, after similar testing on Android).

@mwild1 mwild1 added the ux label Jan 29, 2021
@mwild1 mwild1 added this to the 0.2.0 milestone Jan 29, 2021
@horazont horazont removed this from the 0.2.0 milestone Mar 22, 2021
@horazont
Copy link
Collaborator

Clearing it from 0.2.0 because the workaround from #53 has been implemented and a proper fix requires changes in the app.

@horazont horazont added the blocked/external A feature in an external component is missing label Mar 22, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
blocked/external A feature in an external component is missing ux
Projects
None yet
Development

No branches or pull requests

2 participants