Bazaar2 Monthly Report - May 2017
May was another busy month for us. Now that we have released the new F-Droid Android client with an entirely new user experience, we shifted development focus to localization of the whole F-Droid suite of tools while fixing bugs as they arose. We also completed all of the usability research and user testing, and published the results.
There was a big focus on localization of all of the pieces of the F-Droid ecosystem. With that, we had an exciting realization: once our translators complete their work, then F-Droid will be the first app store fully available in Tibetan. Google Play and the big Chinese app stores do not support Tibetan on their websites, Android apps, etc. Even iTunes does not support Tibetan, even though iOS provides good support for Tibetan. This also opens the door to many other poorly represented languages, since translation is now the only thing needed to create a complete app store in any language Android supports. We already have active contributors for languages absent from the major app stores, like Arabic, Armenian, Belarusian, Burmese, Hebrew, and Shona.
To gauge interest in F-Droid, we sent a Copperhead/F-Droid device to be passed around a few internet freedom groups in Belarus and Ukraine to get feedback on whether they consider this a usable solution for them. We did a similar test about a year ago, and found that F-Droid was not useful there for high security users because it required Unknown Sources. Psiphon was enough to get around Google Play blocking, and complete internet outages are uncommon. Now with F-Droid built into Copperhead, we have a compelling offering that is not available with Google Play devices: a secure mobile phone that can only install from a small, trusted whitelist of available apps. This can then also be fully localized.
All of this localization work will be polished up and deployed starting in June. To see the development history and follow progress, check the “localization” label in the F-Droid gitlab trackers:
- XDA Developers, the largest Android developer forum, covered the new F-Droid design: https://www.xda-developers.com/f-droids-android-app-finally-gets-a-ux-makeover/
- Hans gave a talk at Linuxwochen Wien (Linux Weeks Vienna) about how to build a sustainable ecosystem around Android and F-Droid now that we have all the pieces needed to make a complete, privacy-respecting, free software mobile platform: https://cfp.linuxwochen.at/de/LWW17/public/events/624
- Michael Poehn represented F-Droid at the Reproducible Build Hackathon in Hamburg
###Meetly Meeting Logs
We have a weekly meeting on IRC mostly focused the developer facing sides of F-Droid. That happens every Thursday at 11.30 UTC on #fdroid-dev on FreeNode. The May 2017 logs can be found here:
When we put together the Bazaar2 project, we thought that one important measure of the success of this project would be if more technically skilled people volunteer their time to improve F-Droid software. On top of the existing active contributors, a number of new contributors gave their time to F-Droid since January 2016, when this project started. Here are some notable new contributors:
- Felix Edelmann https://gitlab.com/fxedel led the initial work of
redesigning and rebuilding the website from scratch
- Michel Le Bihan https://gitlab.com/mimi89999 has been working on
making Zom build reproducibly
- Andrew Patrikalakis https://gitlab.com/anrp contributed to KVM
- Anarcat https://gitlab.com/anarcat contributed testing and detailed
- Dragoon Aethis https://gitlab.com/DragoonAethis contributed fixes to
the new website
- Chirayu Desai https://gitlab.com/cdesai is active in
LineageOS/CyanogenMod and worked on Debian’s Google Summer of Code
- Chris Lamby https://gitlab.com/lamby is the current Debian Project
- Davide Silvetti https://gitlab.com/thez3ro is a contributor to some
free software projects
- Kai-Chung Yan https://gitlab.com/seamlik via Debian’s GSoC
- Michael Poehn https://gitlab.com/uniqx is active in Free Software
- Daniel Martí https://gitlab.com/mvdan
- Dominik Schürmann https://gitlab.com/dschuermann
- Hans-Christoph Steiner https://gitlab.com/eighthave
- Nico Alt: https://gitlab.com/NicoAlt
- Peter Serwylo: https://gitlab.com/pserwylo
- Torsten Grote: https://gitlab.com/grote
###Following Work Related to this Funding
All related work on F-Droid is tagged using the “bazaar” label:
All issues: https://gitlab.com/groups/fdroid/issues?label_name%5B%5D=bazaar&scope=all&state=all
All merge requests: https://gitlab.com/groups/fdroid/merge_requests?label_name%5B%5D=bazaar&scope=all&state=all
All related blog posts are tagged with the “bazaar” tag:
##Objective 1 Simple multi-pronged distribution
In May, we finally completed the longest running merge request in F-Droid:
This allows us to rebuild the entire buildserver from scratch as well as the latest version of every single app in f-droid.org. This all happens on a weekly basis, providing both an amazing continuous integration test on the F-Droid infrastructure as well as a platform doing reproducible builds on a mass scale. This is all running on Debian’s servers for reproducible builds:
##Objective 2 Curation Tools for Organizations
A great amount of progress was made on the UX and UI of the Repomaker tool. By the end of the month, we had designs ready and implemented for the core functionality. The app was prepared for usability studies where we would test how trainers would use it to create collections of apps from other repos to share with a group of trainees. In the month of May, we also created a test plan to use internally for our tests and to share with our partners running field tests. This plan can be viewed here:
Below is a bullet point list of the major areas of design that were completed this month.
UX Design of Repomaker:
- workflow for creating a repo
- workflow for editing metadata
- workflow for adding apps from another repo
- workflow for creating and managing multiple repos
- workflow for accessing the user account and logging out
UI Design of Repomaker:
- empty state for the home view of all repos
- app details view
- edit mode for app details
- browse through other repos view
- repo index view
- repo info view
- repo share view
- repo homepage (public link) on desktop and mobile
- login/signup page
- drag and drop areas
- styling and font selections for the entire app
Videos showing the design progress:
May 11, 2017 https://www.youtube.com/watch?v=dLSiaEddjc8
May 4, 2017 https://www.youtube.com/watch?v=qMN9ZPbMyfE
We also published Repomaker’s source strings to Weblate for the first time, and already received Spanish and Turkish translations.
##Objective 3 Modern App Store with Built-in Circumvention
The biggest item was coming up with a workflow for allowing translations of the various pages on the new website. This includes (in order of priority) the content on the home page, the server documentation, and the news posts.
Due to some technical details about the websites implementation (using Jekyll + polyglot + po4a) the home page is internationalized using a different technique to that of the documentation + news posts. The result of this is that each of these three sections will have their own Weblate project for translators to contribute towards.
There are currently two pending merge requests, one for internationalizing the home page, and the other for the documentation + news posts. These are not earmarked for the launch milestone. However once the launch is done, then this can be tested, merged, and released.
The new website was finalized, the secure, automated deployment procedure is still being setup https://gitlab.com/fdroid/fdroid-website/merge_requests/72 https://gitlab.com/fdroid/fdroid-website/merge_requests/74
We finalized the architecture to support full localization, based on the jekyll polyglot plugin and the setup that Apache HTTPD’s official documentation uses. https://gitlab.com/fdroid/fdroid-website/issues/15#note_29880424 https://gitlab.com/fdroid/fdroid-website/merge_requests/70
In addition to the website translations, there was also a handful of miscellaneous bug fixes for the client in response to the 0.103.1 release. This resulted in a 0.103.2 release which should be more stable, and there are also some more stability fixes which I have completed that will be merged in June to make a 0.103.3 which addresses more stability concerns.
We also completed the final user test of the Android client user experience overhaul as it is currently implemented. The results are available in this report:
The new “collateral freedom” mirroring on Gitlab, GitHub, and Amazon S3 was polished up so it is easy to use. This also now in used in Repomaker.:
##Objective 5 Usability Research on In-country Developers
The final results of this usability research effort are now available in final report written by Seamus Tuohy. Seamus has been part of our weekly meetings, and discussions over this research and findings have contributed directly to our development process. We hope that many other projects can learn from these published reports of our findings. The full report, “Technical Collaboration in a Closing World”, is now published on the Guardian Project website:
Also available as a Google Doc:
The last piece of Objective 5 was usability research for developer tools. Seamus designed and ran user tests of the “fdroidserver” developer tool suite. This test confirms the basic usability of the tools and the documentation, while providing confirmation of the importance of localization. It will also serve as a guide for future work, especially on the documentation but also on the tool itself.
Also available as a Google Doc: