Skip to content
7automaton edited this page May 8, 2020 · 1 revision

Notes

  • The Bluetooth Low Energy protocol (BLE) is supported on all platforms.
    • iOS is well supported. Android is also pretty well supported, but that depends more on the device.
      • iOS can't be woken up from the lock screen with UDP multicast. We would have to use BLE to wake up an iOS device, in the event we would like to send a notification from the app saying that it's
      • In the event that BLE is not supported, we would have to fall back to WiFi only transferring.
        • WiFi will be preferred over BLE because it's faster at sending files.
    • macOS should be well supported, especially on newer machines.
  • Desktop computers specifically have BLE center protocol support, but Windows doesn't have BLE peripheral support.
    • Peripherals can connect to centers, but not vice versa. This means that we can get an iOS phone to connect to a Windows machine, if it supports BLE, but not vice versa.
  • UDP muticasting is the most versatile way to find other machines on the network, because not all devices have BLE will support scanning better or worse than others.
  • The client would have to be installed for file transfers to work between devices/platforms, because of the custom software/protocol implementation.

Preferable flows

iOS to Desktop

  1. Use Bluetooth to find mobile devices nearby, off WiFi, with the client installed.
    • On WiFi, you would find devices using UDP multicasting, with the client installed.
  2. The user enters a password they see on the target machine they're sending to, for security between transfers to prevent MitM, and identity verification.
  3. Sending the file over a protocol
    • If the target device is off-wifi, the file starts transferring (albeit, slowly) to the device through BLE, but only if open for transmission off-wifi.
    • If the target and host is on WiFi, and the device is open for transmission, the file will transfer over WiFi using a custom protocol.
Clone this wiki locally