Bazaar2 Monthly Report - May 2017

Added by hans 7 months ago

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:

In other news:

###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:

###New contributors

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:

We also managed bring some new people who were already contributors to other free software projects: Last but not least, the Bazaar2 project brought in a number of existing community contributors, allowing them to spend solid chunks of focused time working on software that they were originally drawn to by their own perception of the importance of the problems and the interesting opportunities for solving them:

###Following Work Related to this Funding

All related work on F-Droid is tagged using the “bazaar” label:
All issues:

All merge requests:

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 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
May 4, 2017

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

We finalized the architecture to support full localization, based on the jekyll polyglot plugin and the setup that Apache HTTPD’s official documentation uses.

###UX Overhaul

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:

###Streamlining Circumvention

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: