Bazaar2 Monthly Report - August 2017

August was mostly about fixing bugs, polishing up, and waiting for feedback from users. The translators finished translating and reviewing, the last piece of the website was made localizable, the design and layout of the tutorials was finished, and Repomaker was packaged as a standalone desktop app.

@Hans and Carrie were at Sneakercon at Columbia University Journalism’s Brown Institute, a conference all about working with very limited internet access, including working offline, using sneakernets, and nearby, local networking. Carrie talked about the process for designing software to work with the limited internet, battery, and storage space common in most of the world. Hans talked about F-Droid's nearby app swapping, offline support, and decentralization. Overall the audience was quite a bit less technical than most events that we attend, so it was interesting to be talking about this in a different setting. For more info:

As part of Sneakercon, we had a prototyping brainstorm session with Saycel to explore how to build a custom app store based on F-Droid. Saycel is a community-run telecom in Nicaragua built with free software like OsmocomBB. Mobile and fixed Internet access is available there, but it is very expensive and only available through two multi-national companies with little interest in rural areas. Saycel is able to provide services on their local network, so it can easily and cheaply run its own F-Droid app store. It turns out that one of the core F-Droid devs, @NicoAlt, has recently arrived for a long term stay in Nicaragua and is looking into furthering this idea.

While in New York, Hans also talked with Google about open-sourcing their Play Services/GMS libraries. These libraries have become very difficult to avoid. The use of these libraries is the only thing keeping a number of key apps from being built from source and included in f-droid.org, including Wire, Firefox, Zom, Signal, Mattermost, and more. There is an internal Google issue tracking the progress on this, and work is proceeding. Google’s approach looks to be moving these libraries to the Firebase name, and open-sourcing those new versions. It sounds like Play Services GMS libs will be folded into Firebase. There is some public evidence here:

The last piece of the localization of the f-droid.org website was completed, and the hired translators completed their work. We just need to get all the pieces integrated and launched. You can see the various working pieces here:

Now that Repomaker is working well, we have shifted to working on making it easy to run and deploy it. This includes turning it into a desktop app for OSX and GNU/Linux. It is now buildable as a regular Debian/Ubuntu package. We also created a "vendorized package" that installs everything needed to run Repomaker. It is available here, please try it out on a Ubuntu or Debian machine: https://grobox.de/tmp/repomaker_0.0.1a_all.deb

The text and screenshots for the new F-Droid tutorials is now complete. You can see the prototype in action in this video: https://youtu.be/u2nl8mxwYo0

We ran our final field UX test in Zimbabwe. We are working through the feedback and are currently working on the final report.

Objective 3 Modern App Store with Built-in Circumvention

Media handling

We fixed a number of bugs related to media support in the 1.0 alphas.

Streamlining circumvention

We have the last piece of the transparent mirror support working in a prototyped form. And F-Droid app/media repo can include a list of official mirrors. The fdroidserver tools already make it easy to automatically publish to mirrors on Amazon S3, GitHub, Gitlab, and any webserver. With this new feature, F-Droid will try to download apps from the next mirror in the list whenever a download fails. This automates the "collatoral freedom" technique of distributing files via various CDNs that are two popular to be blocked.

We are still testing and finalizing what was implemented in June and July. We want to be extra sure that there are not false positives so that users do not learn to ignore this feature. Follow integration progress here:

We demonstrated the F-Droid offline mode of operation to people with experience working in Cuba and other places where very limited internet access is common. This confirmed that our approach will indeed improve the user experience when users can only access an F-Droid app store at limited times, and in limited locations. There is a quick video of how it works here: