Skip to content

Missions App POC 1 High Level Spec

Tal Ater edited this page Aug 15, 2017 · 7 revisions

General

The app allows users to order drones to come to their location, pick up a package and deliver it to its destination.

The app launches by default in Simulation environment. A switch in settings screen allows switching to Live Environment.

Typical flow through app

  1. User launches app.
  2. Onboarding process is shown. User goes over every screen or closes it.
  3. Main screen is shown.
  4. User can click drones visible on the map to see their details (Drone details screen).
  5. User clicks button to order a package pick up mission.
  6. Order pick up screen shown.
  7. If user is not registered, a registration screen is shown. If they are, skip to next step.
  8. Show Matching with drones screen. Advances automatically to next step.
  9. Bid selection screen is shown where user can choose a drone to complete the mission. User picks a drone.
  10. Contract signing screen is shown.
  11. Main screen during mission screen is shown. The user can follow the status of the mission here.
  12. Drone flies to pickup location, lands, and signals to app that it is ready to pick up.
  13. Drone awaiting pickup screen is shown. Once user has loaded the cargo to the drone and the drone signalled that it can take off, the user can click a button in this screen to confirm.
  14. Drone takes off, flies to dropoff location, and lands.
  15. Once drone signals that delivery was complete, a delivery complete screen is shown to the user.
  16. Once user clicks confirm, the smart contract between them is resolved and mission summary screen is shown.
  17. User goes back to main screen.

Screens

Main Screen

Main screen shows a map showing an area of 2 kilometers around the user's current location. If permission for location was not granted yet, show downtown NYC by default and include a prominent button to center map on user's current location (activating request permission screen).

All known drones will be shown on the map (see details per environment below). Clicking a drone will show Drone details view (separate screen or on top of map).

Buttons:

  • Map controls (zoom in/out, center on user).
  • Open user profile / settings
  • Order pacakage pick up
Simulation Environment

When in simulation environment, the app will receive a list of all nearby simulated drones, and show them on the map.

Live Environment

When in live environment, the app will only get details of drones currently engaged in a mission with the user or that have responded with a bid to a pickup request. This means no drones are shown when the user initially launches the app.

Show text saying: x drones available in viewable area.

Main screen during mission

During missions, the map is shown with only the drone currently engaged in the mission shown on it.

A line shows the path it flew since mission started (before pickup). Indicators show current state (flying to pickup, flying to dropoff, etc.), estimated time to pickup or delivery.

A button can be clicked to show images sent from the drone (drone takes a photo every few seconds during missions), or video (video is taken during landings at pickup or delivery). The button can perhaps be a thumbnail of the photo (similar to street view button in Google Maps).

Before drone pickups up package, a button to cancel mission is shown. Clicking it will show a dialog informing the user they will be charged X for shipment so far.

Order Pick Up screen

  • Set pickup location (Map, and text field). Defaults to current location.
  • Set dropoff location (Map, and text field)
  • User chooses package size from available presets (presets can be visual with familiar items e.g. paper envelope, soda can, etc.) and enters estimated weight from presets (less than 500 grams, less than 1 KG, less than 5 KG, more than 5 KG)
  • Users enters desired pickup time (optional, defaults to immediate)
  • User submits order.

Registration screen

In live environment:

Text:

All contracts on the DAV Network are secured using smart contracts signed between DAV users like yourself, and DAV service providers (drones, autonomous vehicles, charging stations, etc.)

To get started, create your DAV ID, or associate your existing DAV ID with the app.

Buttons:

  • Create a new DAV ID
  • Import existing DAV ID
In simulation environment:

Text:

All contracts on the DAV Network are secured using smart contracts signed between DAV users like yourself, and DAV service providers (drones, autonomous vehicles, charging stations, etc.)

You are currently in a simulated environment and can skip the DAV ID creation process.

Buttons:

  • Skip user registration

Matching with Drones screen

After a user requests a drone, the map screen is shown again (without buttons), with the text "matching you with autonomous vehicles". As new bids from drones come in, show their location on the map. Once a confirmation from the server is received show the bid selection screen. Make it clear to the user that something is happening in the background while waiting for bids to come in.

Include a small button to cancel the search.

Bid selection screen

Once a list of bids has been received, show it as a list.

Show sorting controls to sort bids by:

  • optimal (default. A mix of speed, cost and rating)
  • fastest pickup
  • fastest delivery
  • best rating
  • cost

In optimal sorting mode, the first item in the list will be highlighted as the best choice, and the rest will be just below.

Each list item is one drone and includes:

  • Icon
  • type of drone
  • rating
  • estimated pickup time (e.g "1 minute from now" if user chose immediate pickup, or absolute time if future pickup)
  • estimated drop off time (absolute time like 10:23 pm)
  • cost for delivery (e.g 20 DAV)

Each bid can be clicked to show more details, or to accept the bid (Could be two separate buttons, or it could be one button to start mission, and clicking the drone itself shows details screen).

Contract signing screen

Non-interactive screen showing text:

Initiating DAV transaction.
Signing secure smart contract between:
[CURRENT DAV USER ID]
and
[DRONE USER ID AND ICON]

Screen closes after about 5 seconds.

Drone awaiting pickup screen

Show text:

Drone has arrived at [ADDRESS], and is ready to pickup the package.

Note from drone:

  Please load the package into the yellow compartment on the bottom of the drone, close the door with the latch until you hear a click.

Please load your package, move away from the drone, and click the following button to start the mission.

Show photos/video taken by drone before landing and from ground.

Once the drone signals that the it is ready to lift off (package was loaded/compartment is closed), activate the following button:

[Confirm package loaded and secure - take off immediately]

Show confirmation message when clicked:

Drone will take off immediately.

Are you sure the package is secure, and the area around the drone is clear?

[CONFIRM] [CANCEL]

Delivery complete screen

This screen is shown once a drone has delivered the package, and confirmed that the package was unloaded.

Show text:

Drone has arrived at [ADDRESS], and delivered the package.

[Confirm and see mission summary]

Show photos/video taken by drone before landing and from ground.

The difference between this screen and the mission summary screen is that at this point the contract has not resolved yet, and the transaction wasn't completed. By clicking this button, the user is adding their signature to the contract and advancing to the mission summary screen.

Mission summary screen

Text:

Delivery completed successfully.

Show drone icon. Show flight track on map. Show cost of mission.

Let user browse photos/videos from flight, landing at pickup/dropoff.

Button to close and go back to main screen.

User Profile / Settings screen

  • Current user's icon or generic user icon if not registered.
  • Show current User's DAV ID or a button to open registration screen.
  • Toggle switch to change between simulation and live environments.
  • Help button below or next to toggle switch will show the same onboarding screen that explains the simulation environment.
  • See past missions. Disabled button for now.

Drone details screen

  • Drone icon
  • Drone type
  • Drone DAV ID
  • Optional drone nickname
  • Rating
  • Number of missions completed successfully
  • Number of missions completed in the past 7 days

Onboarding process

An onboarding process with a few help screens is shown every time the app launches - until the user has seen all the screens, or clicked a button to dismiss it (skip/close).

Screens:

  1. Welcome to the DAV mission planning app.

    With this app you can schedule package pickups via drones, robots, and other autonomous vehicles.

  2. On our main screen you will see a map showing all the drones currently available for missions in your area.

  3. Click the Order pickup button to order a drone to pickup a package and deliver it for you.

  4. Pssst...

    Until our official launch, this app launches in simulation mode. In simulation mode there will always be a few simulated drones in your area available for missions. You can play around, order, track, and complete missions without creating a DAV user.

    Simulation mode is a great way for you to get a feel for the app, but more importantly, it is an awesome tool for developers to start building on the DAV Network without needing to invest in any hardware. Every part of the DAV stack is built to support both a simulation/development environment and the live one.

    You can switch to the live environment at any time from the settings screen.

Branding and design

The branding should be:

**Missions**
*by DAV*

All amounts are quoted not in $, but in DAV using the DAV logo next to the number.

Sample DAV ID (for user and vehicle):