Swap UX: Phase 2

Added by carriestiens over 2 years ago

I've been looking across 3 of our apps that have some kind of 'nearby' or 'wind' capability -- Chatsecure, Courier and Fdroid. My aim has been to find consistent patterns for how the feature can exist in an app and behave similarly across different applications and use scenarios. Like Google provides a framework of design patterns for Android, my goal is to develop design patterns for the 'nearby' feature that can be applied throughout the open source community. My hope is that consistent patterns of use will develop familiar expectations and behaviors for our users, leading to better usability.

These initial mockups for F-Droid consider some of the main learnings from the Wind event, as well as how 'nearby' could behave in other scenarios. Feedback is more than welcome!

Images are attached. You can access the working prototype at: http://invis.io/U43673T7T

Swap-p2_v01.zip (822 KB)

Replies (2)

RE: Swap UX: Phase 2 - Added by pserwylo over 2 years ago

So far so good, I'm going to have a go at implementing the behind the scenes scanning for peers using different technologies for F-Droid swap/Bazaar. As I'm doing it, I'll keep it as general as possible. If it is possible to have a framework for scanning for "peers" (regardless of what technology they are using) without any knowledge of F-Droid, then it may be able to be published in a library that can be used by other projects. This would make the process of implementing similar UI's easier.

In the process, I'll check out some of the existing swap stuff, e.g. chat secure and courier.

For those curious, I'm going to push the work into the top commits of this branch: https://gitlab.com/pserwylo/fdroidclient/commits/nearby-peers


RE: Swap UX: Phase 2 - Added by n8fr8 over 2 years ago

Thanks, Peter. Sorry for the delay on my side getting this going.

On a related note, one of the Microsoft Thali team has an interesting post on this topic here:

"I had a task to build library which could be used for p2p data exchange in situations where there were no data-networks available. Also the data exchange should if possible be handled automatically as soon as device which is implementing the service is found to be nearby, this all should also happen without any need for user interaction. The implementation should also work with normal devices, with firmware versions generally available and without rooting the devices."