Updated Google Summer of Code 2015 (markdown)

Dominik Schürmann 2015-03-11 13:58:04 +01:00
parent d0b07acdaf
commit 004c11106e
1 changed files with 3 additions and 2 deletions

@ -51,10 +51,11 @@ Remember: we want you to succeed and we'd like you to stick around.
## Improve keyserver support
**Brief explanation:** OpenKeychain contains basic support for HKP keyservers and keybase.io. Keys can be found by searching for names, emails, etc. easily in-app. Also existing keys can be updated using the key view. Still, keyserver support could be improved vastly.
Modern contact-like applications implement the [Swipe to refresh pattern](http://www.google.com/design/spec/patterns/swipe-to-refresh.html) to update an entire list of contacts. This is also a desired pattern for our main key list, which should be implemented. Possible libraries are [Ultra-Pull-To-Refresh](https://github.com/liaohuqiu/android-Ultra-Pull-To-Refresh), [PullRefreshLayout](https://github.com/baoyongzhang/android-PullRefreshLayout). Other libraries can be found on [Android Arsenal](https://android-arsenal.com/tag/78). The UI should work smoothly and integrate into the current design. More backend work is required to make the keyserver implementation threaded, allowing faster updates of long key lists. It needs to be considered how errors or single unavailable keys are handled properly. A snackbar could be used to display update results. The UI inside the key view needs to be considered seperatly. Swipe to refresh should only be used for lists and is not the right pattern here. The UI inside the preferences also needs an overhaul using a RecyclerView.
An "update all keys" option should be integrated. However, we recently decided against the "swipte to refresh" pattern and consider "update all manually" an advanced feature. Implementing a SyncAdapter is much more important (see below).
More backend work is required to make the keyserver implementation threaded, allowing faster updates of long key lists. It needs to be considered how errors or single unavailable keys are handled properly. A snackbar could be used to display update results. The UI inside the key view needs to be considered seperatly. Swipe to refresh should only be used for lists and is not the right pattern here. The UI inside the preferences also needs an overhaul using a RecyclerView.
A connected task is the periodic sync of keys which should be available as an opt-in preference. In the backend this can be implemented using Android's SyncAdapters (see available SyncAdapter in OpenKeychain that connects keys to Android's contacts).
While working on keyservers, the DNS key discovery should be verified (unit test?).
Because updating all your keys exposeds your social contacts, privacy problemds needs to be investigated. A possible option is to include [proxy support and Tor support](https://github.com/open-keychain/open-keychain/issues/1025) using appropriate libraries.
Because updating all your keys exposeds your social contacts, privacy problemds needs to be investigated. A possible option is to include [proxy support and Tor support](https://github.com/open-keychain/open-keychain/issues/1025) using appropriate libraries. We can adopt design choices of https://gaffer.ptitcanardnoir.org/intrigeri/code/parcimonie/
**Expected results:** Awesome keyserver integration