Skip to content

MVP specification

This document outlines the specification for the product's MVP iteration, as well as recognized points of improvement.

Device Wizard

Whitebox hardware modules

User should be able to see the status of hardware modules that may or may not be connected to Whitebox.

  • Open Device Wizard

  • Depending on whether the GPS device is connected or not, interface should display the appropriate state - disconnected, connected, service status

  • Depending on whether the SDR devices are connected or not, interface should display the number of connected SDR devices

  • Connecting/disconnecting the hardware devices while the user is on the interface should be reflected in real time, allowing the user to be aware of whether the system is functional or not

Points of improvement

  • If no SDR devices are connected, SDR is not mentioned in any way. Instead of just listing them one by one, we should probably, in the same manner as GPS, render it as SDR - Disconnected / Connected (X devices)

External device connections

User should be able to add an external device that's supported by the device-providing plugins, and then see its connection status

  • Open Device Wizard

  • Follow the wizard flow to browse for a device that's compatible and available to connect

  • Add connection details for the device ready to connect and save it

  • Device should now be listed in Installed Devices section, with its connection status updated in real time

Points of improvement

  • User should be able to do some kind of Connection test before saving the device - whether enforced as part of a normal flow before saving it to database, or just allowing them to do it voluntarily (similar to how DB connections are usually created in IDEs)

  • Former is likely preferred, as it would be a better flow to show the user Could not connect to device rather than require them to troubleshoot and need to edit credentials/delete device


Dashboard

Map

User should be able to see the map properly rendering the area that offline maps are downloaded for. When GPS/SDR devices are connected, user should be able to see their own location and the surrounding traffic detected by ADS-B.

  • Go to dashboard screen

  • Navigate around the map which should, for the area that's downloaded, display tiles properly and without blur on all zoom levels

  • Airplane icons should be displayed for both Whitebox's location and surrounding traffic, with surrounding traffic also having their callsigns

Points of improvement

  • Multiple areas should be supported, with them seamlessly working together as long as they are installed

  • World map should be available on minimum zoom levels, even for areas that are not downloaded

    • Upon zooming in to an area for which the tiles were not downloaded, user should maybe be prompted to download them (or schedule it for next time Whitebox connects to the internet)
  • Traffic details should be changed to be displayed on hover/active, so that the map is not cluttered with overlays that are not needed all the time

Flight control

User should be able to start and stop a flight session, along with setting their planned route for the better overview of planned/realized flight trajectory for later evaluation.

  • Click on Start Flight in the top right corner, Start Flight Wizard should open

    • On step 1, user can see what devices are installed

    • On step 2, in the future, user will be able to see the preview of the connected devices, or an indicator that an installed device is not connected at that point

    • On step 3, user can set expected departure/arrival waypoints, as well as any intermediary waypoints that they intend to fly by during their flight

  • Once the flight is started, user will be able to see the relevant data obtained from connected devices

  • Click on End Flight, flight should be ended and Whitebox ready to both replay the saved flight, or start a new one

Points of improvement

  • Start Flight Wizard should be adjusted to work well on portrait mode on tablets

In-Flight

User should be able to see every behavior synchronized to all devices that have Whitebox open in real time. When Whitebox is connected to registered camera devices, during flight, devices' live streams should be displayed in the Connected Devices area. Whitebox's, as well as traffics' markers should have their flight paths marked on the map as the markers move.

Points of improvement

  • Connection interruptions should be handled properly

    • User should be notified when a connection is interrupted

    • App should attempt to reconnect and synchronize missing state

My Flights

User should be able to see all the recorded flights in My Flights overlay, along with their date, duration and # of key moments saved.

  • Stop the flight is any is active

  • Click on My Flights in the top right corner

    • Flights should be listed

Points of improvement

  • My Flights modal is currently rendered at the location of the parent-invoking component. A modal manager concept should be introduced to actually handle modals from anywhere in the app, properly keeping it on top at all times and providing a unified user & developer experience.

Key Moments

During the flight, user should be able to record a key moments, which will be visible for the duration of the flight, and later in playbacks. Once started/recorded, user is able to delete key moments.

  • During flight, hit Record Key Moment in the top right corner

    • Recording status should be indicated with the clock ticking

    • Key moment should be displayed at the bottom overlay, with timestamps indicating when it was started into the flight

  • Hit Stop Recording

    • End time should now be displayed on the displayed key moment
  • On the displayed key moment, click the trash icon to delete it

  • On the displayed key moment, click on its name to change its name

During playback, similarly to the in-flight behavior, user should be able to preview key moments on the bottom overlay, similar to in-flight, as well as rename them and delete them.

Points of improvement

  • Key moments should provide a method to quickly navigate to their timestamp during playback for playback convenience.

Annotations

During the flight, user should be able to record an annotation, which will be visible for the duration of the flight, and later in playbacks. Annotations will have their timestamps recorded, relative to the flight, for later reference.

  • Start the flight

    • Annotations overlay will appear on the right
  • Type a comment into the textbox and send it

    • Comment should appear, along with it's flight-session-relative timestamp

Points of improvement

  • Different users should be able to somehow register/differentiate themselves in the system, so that their names can be separately indicated for future reference
  • Annotations should be editable (and deletable), to ensure that any mis-types do not immutable clutter.

Flight Playback

During flight playbacks, user should be able to see all the information that Whitebox has collected during the flight, such as location data and video data. User should be able to have a player-like interaction with the app, supporting features like play, pause, stop, seek. Playback time should reflect the actual state that was recorded during the flight, and accurately present everything rendered in a way that makes it obvious to see what happened and when.

  • Start a flight playback from My Flights

    • Bottom overlay should render playback controls and a seek bar
  • Click on the play, pause, reset buttons, or anywhere on the seek bar

    • Playback time should be adjusted

    • Video playback, location/traffic markers and their flight paths should be synchronized with the playback time, in accordance to when the actual recording took place during the flight

Points of improvement

  • Traffic history should also be recorded and displayed, along with their flight paths, on flight playback