Skip to content

Instantly share code, notes, and snippets.

@dmzza
Last active May 10, 2016 22:45
Show Gist options
  • Save dmzza/1d3b374be5fd5812a6bc1d9611e3aa82 to your computer and use it in GitHub Desktop.
Save dmzza/1d3b374be5fd5812a6bc1d9611e3aa82 to your computer and use it in GitHub Desktop.
Onboarding Outline and Notes

Current sign up process:

  1. phone number (or see social sign up below)
  2. confirmation code
  3. email address, mandatory for contact exchange (for now, but doesn't have to be)
  4. Missing profile information?
  • autofill:
    1. ask for contact permission
    2. either ask which contact you are or go to step 5
  • manual:
    1. goes to profile#edit where anything missing is highlighted (name is only found from the iPhone's name)
    2. you must fill every field before saving or else it shakes
  1. Always discoverable? (if you tap "don't allow" on one of them, the button turns red and tapping it gives you instructions and a link to settings to fix it)
  • background bluetooth
    1. this comes up right away; ok/don't allow bluetooth
  • background location
    1. ok/don't allow location while not using the app
  • push notifications
    1. ok/don't allow push notifications
  1. if you close the allow discoverable without tapping Allow Location Always, you get another custom dialog asking for location while using the app

Social sign up

  1. sign in to facebook or linkedin
  2. give permissions to share profile information
  3. go to step 4 above

Permissions:

Bluetooth in the background

needs to be asked for even when the foreground bluetooth is broadcasted, so that is why it is asked for up front. however, you can still use bluetooth in the foreground even after disallowing bluetooth in the background

Background location

beacon monitoring, when the app is in the background it starts listening for the beacon. this allows you to be discovered while the app is in the background

it isn't used to get a gps lock any faster, because apple only allows that for driving directions

Notifications

this notifies you of a request to exchange contact info while you're in the background

we don't know if you receive the request when the app is in the background and you have notifications disabled. we think that it works.

Ideas

No background location given?

when editing a location, there should be a my location button, that would ask at least for foreground location

No contact access given?

when a new contact has been met, put a button on the new contact to enable synchronization

Meet a fake user if nobody is nearby

it could be umwho customer support. this way all the permissions come after that.

Proposed onboarding process

  1. same
  2. same
  3. same
  4. same
  5. once your profile is complete, you get to play with the app

Post sign-up onboarding

  1. the hamburger menu is opened
  2. when you tap on Meet screen, it is locked by a message asking you to enable bluetooth.
  • you want to enable bluetooth in the background
    1. system dialog: ok/don't allow bluetooth, either response will unlock the Meet screen
  • you don't want to enable bluetooth in the background
    1. a modal view appears with a longer explanation about why we need it
    2. you tap Okay or dismiss the modal and you are back to the locked Meet screen
  1. you meet someone
  • because there is a real person nearby
  • if not, we put a fake umwho customer service person nearby
  1. after meeting them, you see their contact info. if we don't have a location, you can place a pin manually or tap the current location button in the Google Map view, this would ask to use your location if you haven't allowed it yet.
  2. once their contact info is complete, you can Add to Contacts, which asks for access to your contacts if you haven't allowd it yet.
  • The reason should specify that we will never spam your contacts

What if you don't see anybody?

A button is always available on the Meet screen to help if you don't find who you're looking for.

  • If you tap it and you haven't allowed Background Location yet:
    1. we present a modal explaining why you should Enable Location always
    2. tapping Enable Location Always presents the Background Location permission
    3. tapping Not right now (on the modal) or Allow/Don't Allow (on the alert view) brings you back to the Meet Screen
    4. the meet screen refreshes.
  • If you tap it and you explicitly disabled Bluetooth Sharing in the background or disabled Background Location:
    • we present the old combined-permissions view that will have instructions to re-enable whatever is missing.
  • Otherwise, you get a UIAlertController from the bottom with these options:
    • Search Again (Refresh)
    • Share the app with them
    • Contact Support
    • Nevermind
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment