My work on FDroid P2P Swap Bluetooth support
I am contributing to the latest work on FDroid/Bazaar this month, particularly focused on extending the P2P "App Swap" feature to support Bluetooth. You can see more of the discussion on swap workflow here: https://dev.guardianproject.info/projects/bazaar/boards
Here is what I've been doing in the last few weeks:
- Getting bootstrapped into latest FDroid code repository and Android Studio/Gradle based development progress
- Reviewed existing Bluetooth prototype code for P2P swap functionality available here: https://gitlab.com/fdroid/fdroidclient/tree/bluetooth-swap
- Considered how to improve usability and effectiveness of Bluetooth discovery process, based on experiences and testing from Wind Farm, Courier app, and other implementations of Bluetooth. In short, we are trying to avoid showing the user a long list of randomly named Bluetooth device names from which they have to figure out how to select to connect to.
- I began working to tag Bluetooth device names with FDroid app repository name, and then filtering the list of devices based on detecting FDroid related tag or text in the device name.
- Considering threat modeling to decide whether we should promote secure RFComm sockets, insecure RFComm sockets and/or to require pairing. This needs to be balanced with easy of use, onboarding, etc, but there are a few different types of users, scenarios that I will be documented, that we should be able to support.
My next update here will include more links to specific code commits and write-ups of some the pieces above, but I am behind on pushing those up.