Development Progress

Forums Development Development Progress

This topic contains 25 replies, has 6 voices, and was last updated by  hans 3 months, 2 weeks ago.

Viewing 15 posts - 1 through 15 (of 26 total)
  • Author
    Posts
  • #19244

    pserwylo
    Moderator

    There are a few different people working on various parts of the F-Droid server and client. A lot of this work is through volunteer contributions, and some of this work is funded. This forum post is an optional place for people to keep logs of what they have been working on for the past month if they so choose.

    The goal is to keep our community up to date on what our contributors are working on. It solves a secondary purpose of keeping funders up to date on the progress of various improvements taking place in the F-Droid project.

    #19245

    pserwylo
    Moderator

    March, 2016

    By way of introducing, I plan on spending approximately 1 day per week on F-Droid in 2016. In the month of March, I didn’t spend a whole lot of time though, due to my PhD thesis being due at the start of April. The good news is that that the thesis seems to be on track to be finished in two weeks, freeing up more time for F-Droid.

    With that out of the way, this month I drew up some plans for background downloading of apps. The goal is to allow users to download multiple apps in the background as per Issue #103. There are now two new tasks in the issue tracker, on to do with the user interface of this process (Issue #592), and one for the implementation details (Issue #601). We think we have a pretty good idea of how to proceed with this, so next month I believe @hans and I will start work on this feature.

    #19251

    uvqwbyfz
    Member

    Thanks for the update and continued work!

    #19608

    pserwylo
    Moderator

    April, 2016

    This month I had about half the month to work on F-Droid (after handing in my PhD thesis after 6 years of work and moving house!). The work I did mostly followed on from that of @hans.

    He implemented background downloading of apps so that multiple apps can be downloaded, while users continue to browse F-Droid. Previously, users had to wait on the screen of a single app while it downloaded before navigating away. This is a huge improvement, and I look forward to helping make it even better over the coming weeks.

    The work I did specifically on that was with relation to the notification system. When apps are downloading in the background, Android will show a notification to indicate that this is happening. After working on this, I managed to get the notificaiton to:

    • Show download progress correctly.
    • Indicate the name of the app being downloaded.
    • Disappear when it is supposed to (in some, but not all situations).
    • Navigate back to the app details page in F-Droid when touched.
    • Correctly show progress in app details when returning, e.g., from the lock screen

    In the coming month, I plan on conversing with @paresh and others who are interested in the notification system to make sure it is as good as can be.

    Also, towards the end of April, I started looking into the general performance of F-Droid. Many people have pointed out that our recent change to ensure that low memory devices can use F-Droid has impacted performance in a very negative way. While we were aware of this tradeoff, it seems that it is a little more problematic for users than I had hoped. As such, I am looking into changing the database schema in the hope of improving performance for updating repos, but also general F-Droid performance.

    #19630

    M1ck
    Member

    Thanks @pserwylo and all contributors for your great work!

    #19660

    giscrzzd
    Member

    Great work! If unattended app updates are added I can start recommending F-Droid+CopperheadOS to everyone!

    #19926

    pserwylo
    Moderator

    Thanks for the encouragement @m1ck and @giscrzzd, much appreciated.

    May 2016

    This month was all about getting a stable v0.100 release ready. The big ticket item for this release is the ability to download multiple apps at once. Although started and released in alpha releases in April, this May was when many stability and architectural changes were implemented for this background downloading. We are confident that we have something ready to release as a stable release at the end of May.

    Most fixes were about making sure the background downloading doesn’t do anything surprising, and behaves pretty much as most users would expect. Some of the things which caused consternation and required investigation + fixing before the stable release were:

    • Notifications being able to be cancelled correctly, whether the app is in a queue waiting to be downloaded or actively being downloaded.
    • Proper management of “Tap To Install”. In April, it would put the item back in the queue to wait for all other downloads to complete before directing the user to the screen where they can install. Now it takes you there straight away despite other downloads occurring.
    • Correctly showing progress for all types of downloads, whether for apps or repos, notifications or the “App Details” screen.
    • Ironing out bugs to do with the asynchronous nature of background downloads. For example, dealing with when a repo is disabled in the middle of a download – ensuring that the download will still complete and not crash.

    Some of these things will be improved on even further before the next 0.101 release, when we plan on making some tweaks to how the download notifications work.

    Other things finished this month were significant speed improvements to the “Update Repositories” process. This was causing concern for many of our users, so hopefully this will help alleviate some of those concerns.

    I also worked on some miscellanious bug fixes, and tried to provide as many code reviews of other peoples merge requests as possible. Finally, we had some productive discussions in the weekly meetings about how to architect the InstallerService for the following 0.101 release.

    #20189

    pserwylo
    Moderator

    June 2016

    This month was spent:

    • Moving tests from running in Android to running on the JVM of a development machine.
    • Investigating methods of automated testing for UI
    • Work towards allowing users to filter out apps with anti features.
    • Working towards changing the database structure to better support mupltiple repositories.
    • Meetings about how to move forward with a redesign of the F-Droid app.
    • As usual, I undertook a handful of miscellaneous bugfixes and code reviews undertaken too.

    By running the tests in a JVM rather than Android, it makes them significantly faster and less frail. This should encourage more use of test driven development within F-Droid, and was very helpful later in the month when changing the database structure (as there is already many tests for the database layer, but they took a long time to run in an emulator before).

    With regards to automated testing, I spent a small amount of time in meetings with Hans and Mark discussing Espresso (the Android unit testing framework). The goal was to investigate if we may should make use of it when redesigning the UI later in the month/year. It seems that while it is promising, it is a little too difficult to learn right now due to lack of substantial training resources. In the near future, Android Studio 2.3 will include a “UI Recorder” feature where tests can be recorded by interacting with the app on your device. This will be a good learning tool for understanding how UI tests look and feel. However it is not suggested as the best tool for the job, as it doesn’t encourage writing tests before the UI is implemented, as per the usual test driven development approach.

    The Replicant (and likely other) teams are very interested in providing the ability to filter apps with anti features. In order to support this, there are changes required to the database layer which need implementing. I’ve done some work towards this which has been merged into master, and will return later in the year after more work on the other aspects of the F-Droid UI.

    Finally, we are looking to change the database structure to better support multiple repositories. Issue #511 explains why this is a problem, and what needs to be done to address it. As the first stage of this, I’ve changed the way the “App” and “Apk” tables join to eachother, using an integer primary key rather than the package name, which should improve performance marginally throughout the app. It also means that if more complex queries are required in the future to support multiple repos then the performance penalty will be smaller.

    #20196

    hans
    Moderator

    I’m in remiss in posting our reports to the funders here, so I’m going to post the previous now. I hope that’s not too much info.

    #20197

    hans
    Moderator

    Bazaar2 Monthly Report – January 2016

    January was a month of beginnings. We focused on building our team which now includes core members from F-Droid, Debian, and the Guardian Project, as well as the commons guy, Mark Murphy (who seems responsible for answering half of all Android questions on Stack Overflow!)
    There was of course plenty of ongoing work as well; we are working on getting the next stable F-Droid release out. We finalized an overhaul of the app swapping feature and finished the necessary groundwork to make F-Droid use Unicode everywhere (which means it will support all languages that the Android device can.)
    And more:

    * We created a roadmap for a reproducible Firefox in F-Droid (based on work with Orfox and GNU IceCat)
    * We worked towards a reproducible Orbot release.
    * We worked towards improving the F-Droid translation process (including integration with OTF Localization Lab)
    * We ported fdroidserver to Python3 https://gitlab.com/fdroid/fdroidserver/merge_requests/88
    * We set up a build server and completed builds for every app to test for reproducibility!

    We have also been updating “swap” code from the previous Benetech project to make it more stable. We changed the way devices listen via wifi and bluetooth for nearby devices – this change has been merged into the master but won’t be released until the next major release. We are now well underway with the code that keeps track of device IP addresses so that F-Droid can correctly broadcast itself. This new code also includes tests to ensure that F-Droid is doing this correctly.

    We have also been busy with:
    * Work towards an easy seamless Tor integration.
    * Continued work on getting Android SDK into Debian (as well as)
    * nailing down the technical approach for the Android SDK packaging to get it there.

    At the same time, we have also been busy reaching out to various organizations to hear about their mobile app and distribution needs and issues.
    * We presented at the FOSDEM conference https://fosdem.org/2016/schedule/event/fdroidappstore/
    * We will present at DroidCon Tunisia (March 2016)
    * We will present at IFF (Internet Freedom Festival) (also in March 2016)

    • This reply was modified 10 months, 4 weeks ago by  hans. Reason: formatting
    • This reply was modified 10 months, 4 weeks ago by  hans. Reason: what syntax does this use?
    • This reply was modified 10 months, 4 weeks ago by  hans.
    #20201

    hans
    Moderator

    Bazaar2 Monthly Report – February 2016

    February saw us busy with deadlines and much continued work on the reproducible app build process. We also worked on polishing peer-to-peer app and media swapping, as well as continuing our preliminary developer research. We also worked on preparing presentations for DroidCon Tunisia and the Internet Freedom Festival.

    Mark Murphy (aka commonsguy) who we welcomed last month began work on streamlining Tor support as well as advising on developer outreach strategies. Chris Lamb (aka lamby), a Debian developer and web programmer joined us and is working on integration, both backend and Debian. Seamlik, another Debian developer, contributed to work on packaging Android SDK for Debian. Mark Koschany joined our team as well contributing to work on the reproducible app build process, packaging apktool and others. Dominik Schuermann will join our team in March to work on Android ROM integration and background updating.

    *Objective 1 Simple multi-pronged distribution*

    We met Debian’s deadline for the release freeze of Ubuntu 16.04 LTS (Xenial Xerus)! This means that the F-Droid developer tool suite and a substantial portion of Android SDK got packaged and included in Debian, which also means it will be automatically included in Ubuntu. We are really close to being able to build Android apps exclusively from packages in Debian/Ubuntu. This is really important since Ubuntu LTS releases are by far the most popular GNU/Linux platforms for app developers and as we saw with the recent malware XCodeGhost, tools for developers are now being targeted. Secure development environments need to be easy to setup so that they are used by the many app developers and getting everything packaged in Debian means that it is built only from public sources using Debian’s reproducible build process and is verified 100% free software.
    Getting F-Droid and Android SDK packages included in the release is also important since Ubuntu LTS is the main GNU/Linux release pre-installed on laptops, the default for continuous integration services like Travis-CI and it is the base system for popular user-friendly distros like Linux Mint and elementary OS.

    We also:
    * added Tor support for the F-Droid for Android app (just go to settings and check “Use Tor”)
    * we fixed a number of key bugs in the new swap UX making wifi sharing usable again.
    * we completed the port of F-Droid developer tools to OSX
    * we got the entire test suite to complete successfully on OSX
    * we got the ‘fdroidserver’ included in both MacPorts and Homebrew for super simple installation.

    We have also been working on packaging apktool (used for reverse engineering Android apk files) as well as the android/platform/tools/base for Debian which includes the Android plugin for Gradle and a collection of base tools and libraries for building apps.
    In order to do this work other plugins and patches had to be packaged some of which were broken and needed to be repaired before they could be used. Another hurdle was discovering that part of apktools is not free software and therefore violates Debian’s Free Software Guidelines. Mark Koschany will work on resolving this issue along with Debian.
    More details on the reproducible build work:

    * Packaged gradle-jflex-plugin, intellij-annotations and lombok-patcher (to package apktool and android-platforms-tools-base)
    * Repaired ivyplusplus and lombok packages (needed to package lombok-ast which is needed for the Lint tool.)
    * Updated the proguard, trove3 and jflex Debian packages (for packaging apktool and android-platform-tools-base)
    * Packaged androguard
    * Work on mwclient issue blocking Python 2 to Python 3 migration
    * Continued research and confirmation of Android Observatory and Virustotal Integration options
    * Work on Android Observatory support to fdroidserver
    * Continued monitoring of Debian NEW for other Android related packages

    *Objective 3 Modern App Store with Built-in Circumvention*

    We have also been busy improving F-Droid’s peer-to-peer app and media swapping capabilities. We updated the code in F-Droid that figures out its network IP address. (This will currently be used for swap and then later in other places. ) We also added new unit tests to make sure that the IP address is being discovered correctly and other fixes to make sure that the user interface for the swap process behaves as it should. Other miscellaneous fixes have been merged into the master and included in an alpha release and we have been reviewing code for some of the Bazaar2 merge requests.

    • This reply was modified 10 months, 4 weeks ago by  hans.
    #20203

    hans
    Moderator

    Bazaar2 Monthly Report – March 2016

    We have updated the report format to group content into the five key objectives of the Bazaar2 project, and includes highlights of progress under each objective.

    *Objective 1 Simple multi-pronged distribution

    * Increased build automation and reproducibility of F-Droid repository
    * Progress towards automated publishing of apps to Android Observatory and VirusTotal

    Our work on improving reproducible build tools and processed continued this quarter. At the beginning of March, we were finishing up the automation of the F-Droid build server setup used by F-Droid for building apps. It now runs in a nightly build in Jenkins to keep the process running smoothly. We’re also close to getting the F-Droid setup integrated into https://jenkins.debian.net, which will allow us to run builds to check the reproducibility of the entire F-Droid repository of apps on a regular basis.

    We have been working on supporting uploading releases to Android Observatory as well as VirusTotal. The former is a web interface to a large repository of Android applications which allows users to search or browse through thousands of Android apps and retrieve metadata for those apps. VirusTotal is a free service that analyzes suspicious files and URLs and facilitates the quick detection of viruses, worms, trojans, and all kinds of malware.

    In addition, these additional tasks were completed:
    * Finished architecture work to support F-Droid gradle plugin for seamless integration with standard Android workflows: https://github.com/openintents/gradle-fdroid-plugin
    * Started work with Copperhead on first level of malware protection based on source scanning
    * Finalized Android SDK packages in Ubuntu/xenial 16.04, due to be released this month:
    * apt-get install android-sdk. Work ongoing in Debian/testing for further improvements.
    * Got F-Droid’s make build server running in Guardian Project’s jenkins test server

    *Objective 2 Curation Tools for Organizations*

    No significant progress on this objective in March.

    *Objective 3 Modern App Store with Built-in Circumvention*

    * Improved user experience on installation and upgrade of apps in F-Droid
    * Created and released new circumvention code libraries, samples and developer documentation book chapter

    This month we focused on designing the implementation of background downloading of apps. The goal is to give users a fast, fluid experience for installing and upgrading many apps at a time. Currently, you have to wait for the app to download and install, which causes confusion and many aborted installations. Implementation will begin in April.

    We also worked on re-architecting core parts of the client app to support a flexible, modern user experience by making lots of pieces operate as independent services, while moving the overall communications to be driven by events, for example, “user pressed install”, “download this file”, “download complete”, “install this file”, “install complete”.

    In addition, as part of our work in improving our libraries for circumvention features, and to promote these capabilities more broadly, we began working with Mark Murphy in February, a well known expert and author in the Android development community. In March, Mark completed a new chapter for “The Busy Coder’s Guide to Android Development” on the use of NetCipher. This included integration code to tie NetCipher into OkHttp3 (including using it with Retrofit), HttpURLConnection, Apache’s independent packaging of HttpClient, and Volley.

    You can find the new chapter online here: https://commonsware.com/misc/NetCipher.pdf and a ZIP file containing sample projects and HTTP integration code: https://commonsware.com/misc/HTTPStacks.zip. The chapter and code are licensed under the Creative Commons and Apache 2.0 license respectively.

    Objective 4 Partner Deployments

    Announced new partnership to provide Bazaar2-compatible secure Android OS and devices for easy availability to partners, organizations and individuals

    At the end of March, we were excited to publicly announce and formalize a partnership between Copperhead, F-Droid and Guardian Project. This was done as a lead-up to a crowdfunding event that is being planned to support the work on CopperheadOS and as a mechanism to test the market for selling a device that includes the work supported by the Bazaar2 project, built in by default.

    The goal is to create a solution that can be verifiably trusted from the operating system, through the network and network services, all the way up to the app stores and apps themselves. Through a future planned crowdfunded and commercial offering, the partnership will provide affordable off-the-shelf solutions, including device hardware and self-hosted app and update distribution servers, for any individual and organizations looking for complete mobile stacks they can trust.

    Read more about the partnership and plans here:
    * https://guardianproject.info/2016/03/28/copperhead-guardian-project-and-f-droid-partner-to-build-open-verifiably-secure-mobile-ecosystem/
    * https://copperhead.co/blog/2016/03/29/crowdfunding-partnership-announced

    *Objective 5 Usability Research on In-country Developers*

    We continued work with partners deploying apps for users in Iran and China, to better understand the existing channels and means used to get apps to users safely and effectively. Increased promotion of apps in April and May will result in more useful feedback for our efforts.

    #20204

    hans
    Moderator

    Bazaar2 Monthly Report – April 2016

    *Objective 1 Simple multi-pronged distribution*

    In April we introduced a security check to prevent the root installation of packages that reside in third-party repositories and have the same package name as the F-Droid Privileged Extension. In addition, we started working on an unattended installer based on the “device owner” feature in Android 6. Currently, this is just a proof of concept.

    In addition to the package name, we now compare the “package signature” (it’s more a certificate) with the package signature of the F-Droid app itself, see https://gitlab.com/fdroid/fdroidclient/merge_requests/256
    Proof of Concept for Android 6 Device Owner unattended install, see https://gitlab.com/fdroid/fdroidclient/merge_requests/258

    Our other activities included implementing background downloading of apps so that multiple apps can be downloaded, while users continue to browse F-Droid. Previously, users had to wait on the screen of a single app while it downloaded before navigating away. This is a huge improvement, and we will continue to make it even better over the coming weeks.
    We also worked on the notification system. When apps are downloading in the background, Android will show a notification to indicate that this is happening. Now the notification is able to:

    * Show download progress correctly.
    * Indicate the name of the app being downloaded.
    * Disappear when it is supposed to (in some, but not all situations).
    * Navigate back to the app details page in F-Droid when touched.
    * Correctly show progress in app details when returning, e.g., from the lock screen

    Towards the end of April we started looking into the general performance of F-Droid. Many people have pointed out that our recent change to ensure that low memory devices can use F-Droid has impacted performance in a very negative way. While we were aware of this trade-off, it seems that it is a little more problematic for users than we had hoped. As such,we are looking into changing the database schema in the hope of improving performance for updating repos, but also general F-Droid performance.

    *Objective 2 Curation Tools for Organizations*

    We informally presented our ideas for curation tools to some non-technical organization to start gathering feedback on how the tools should be structured and which kinds of use cases to prioritize.

    *Objective 3 Modern App Store with Built-in Circumvention*

    In April, we focused on re-architecting some of the core parts of the F-Droid client app to make it work more flexibly, to change to an event-based programming style, and to allow parallel background operation. This is mostly finished and included in release 0.100alpha5.
    * Streamlined app updating in F-Droid
    * Rearchitected core to enable parallel and background operations to support upcoming UX overhaul

    For the NetCipher HTTP stack integration (https://github.com/guardianproject/NetCipher/pull/42), we added new code. We will be contributing another chunk of code shortly, as we slowly migrate some standalone implementation into the main NetCipher project.

    *Objective 4 Partner Deployments*

    We discussed distribution strategies with Storymaker and explored ideas to address country-specific challenges to getting Storymaker to people ready to produce their own media. We are waiting for feedback about the technical approach they are taking for distributing “content packs” to help us design the new media handling features in F-Droid.

    *Objective 5 Usability Research on In-country Developers*

    Interviewed potential community manager and discussed how to structure user experience research around the developer user experience.
    In April we gave a talk about F-Droid and Bazaar work at LinuxWochen Austria, https://cfp.linuxwochen.at/de/LWW16/public/schedule

    #20205

    hans
    Moderator

    Bazaar2 Monthly Report – May 2016

    For May, we focused on a major rearchitecting of the F-Droid Android app to allow for flexible, modern user interaction. This work also makes it easier for volunteer contributors to take on smaller chunks of work since the source code and app structure are a lot cleaner and more consistent. We also continued research on usability in places with low internet access.
    Lastly, we kicked off another round of work for getting the Android SDK into Debian with three students working this summer funded by Google’s Summer of Code.

    For an overview about how we are currently thinking about this work, see the latest blog post:
    https://guardianproject.info/2016/06/02/building-the-most-private-app-store/

    *Objective 1 Simple multi-pronged distribution*

    We are always happy to see others build upon our work and so we are excited to see the Android Tamer project using our Debian packages of the Android SDK and related tools. Android Tamer is a pre-built system for malware analysis, penetration testing, and reverse engineering of Android apps, shipped in the form of a “Live CD” and virtual machine image. We are also kicking off a continuation of that effort as part of Debian’s participation in Google Summer of Code. Three students from India, Taiwan, and France are joining us as part of the Debian Android Tools team to get the whole Android SDK included in Debian via a reproducible build process.

    *Objective 2 Curation Tools for Organizations*

    We researched ownCloud, a free software cloud services platform, as a potential platform for curation tools. It provides lots of useful, web-based tools like file sync, music and media handling, authentication, and more. The big downside is that it has a history of relatively poor security practices, and it could be difficult to create a reasonably secure pipeline for working with Android apps within the way ownCloud works. However, it is still promising as a place for curating media collections and publishing them to F-Droid.

    *Objective 3 Modern App Store with Built-in Circumvention*

    This month we focused on a major re-architecting of the core of the Android app to provide a solid platform to build an extended and improved user experience, covering:

    * Media handling
    * Parallel, background operation
    * A less linear and more intuitive swap user experience
    * Seamless integration into Android ROMs like Copperhead, Replicant, etc.
    * Multi-tasking

    The big ticket item already included in the 0.100 release of F-Droid is the ability to download multiple apps at once. Although we started and released this feature in alpha releases in April, many of the stability and architectural changes were implemented in May. Another big round of core changes is going into 0.101, preparing us for the big user experience overhaul (UX overhaul) starting in mid-June. While these core changes are improving the existing user experience, they will leave some things in an odd state until the UX overhaul is complete.

    * Notifications being able to be cancelled correctly, whether the app is in a queue waiting to be downloaded or actively being downloaded.
    * Proper management of “Tap To Install”. Previously (back in April) it would put the item back in the queue to wait for all other downloads to complete before directing the user to the screen where they can install. Now it takes you there straight away despite other downloads occurring.
    * Correctly showing progress for all types of downloads, whether for apps or repos, notifications or the “App Details” screen.

    We also nailed down the architecture for a fully privileged F-Droid that has the same abilities as Google Play in terms of being able to securely and transparently install and update apps (i.e. operate without “Unknown Sources”). This functionality can be included by ROMs, flashed onto phones, or installed via root access. We worked with Copperhead and Fairphone to design the F-Droid integration with ROMs to be both secure and flexible.

    We discovered a bug in the app installation process of the upcoming Android release, codenamed “N”, as well as a different issue related to the handling of file/content URIs. We reported the bugs to Google and both should be fixed in the upcoming Android “N preview 4”.

    In order to improve the Tor integration in F-Droid, we are working on the NetCipher library to make it very easy for apps to integrate with Orbot, including automatically starting Tor when needed, and providing apps feedback on the status of Tor. NetCipher is then used in F-Droid, and is freely available to any Android project that wants to include simple Tor support. To that end, we are expanding the number of networking libraries that NetCipher integrates with, it now works with:

    * the built-in URLConnection API
    * Square OkHTTP
    * Google Volley
    * Apache HttpClient for Android
    * ch.boye HttpClient

    *Objective 4 Partner Deployments*

    No notable activity here, we are waiting to finish some of the core improvements before proceeding further with partners.

    *Objective 5 Usability Research on In-country Developers*

    We discussed strategies for reaching in-country developers with a potential UX research lead.

    We are starting to work with researchers in Afghanistan on user research in areas where internet access is very limited, both for people looking to get apps and media, as well as people distributing them.

    #20246

    hans
    Moderator

    Bazaar2 Monthly Report – June 2016

    In June, there was two main pushes in the work:

    1. Re-architecting the client app while starting the UX redesign discussions
    2. Reworking the f-droid.org build tools to be flexible tools for general use

    *Objective 1 Simple multi-pronged distribution*

    -Improved Malware Resistance
    Copperhead started working on integrating dynamic malware scanning tools into the F-Droid build infrastructure, based on tools like drozer.

    -Updated Build Server
    The build server setup tools got some much needed attention. They have served well for running the f-droid.org infrastructure over the years, now we’re working to make them into a general purpose tool so that people and organizations can easily run their own F-Droid infrastructure, including a “verification server” to make sure that the apps that they use match exactly what’s generated from the source code. Our biggest blocker here is getting things to run in a virtualized environment, since the build server itself is a virtual machine. VirtualBox on top of KVM seems almost impossible, so we are trying KVM on top of KVM.

    -Officially Debian
    The Debian Android Tools team now has basic working builds using Android SDK components built entirely from source and included as official Debian packages

    *Objective 2 Curation Tools for Organizations*

    We have been exploring some use cases and app ideas for how best to handle the curation. For example, would a simple Android app be more useful than full featured desktop app? There are lots of ideas for making easy to use curation tools, but it is quite difficult then to provide the same level of security with, say, a dead simple web app for curation. We’re looking for feedback on how much the curation tools should prioritize security vs. ease of use. On one extreme, if the curation tools are really easy, and end up just being used as a malware-ridden piracy enabler, then we’ve clearly failed. On the other extreme, if the perfectly secure tool is so difficult to understand that it requires a training to understand, then its usefulness is severely curtailed. Based on current feedback, it seems that we should aim more for the secure side of things, but it is still an open question.

    *Objective 3 Modern App Store with Built-in Circumvention*

    We have started weekly brainstorming sessions for discussing how we can redesign the F-Droid client app’s user experience in a both efficient yet effective way. As compared to “corporate” budgets for app UX overhauls, we are operating on a much smaller level. We make up for that with creativity and community contributions. We have currently surveyed a number of app stores, including two of the larger Chinese stores, for ideas about what users are used to and how to represent things in an intuitive and familiar way:
    https://gitlab.com/fdroid/fdroidclient/issues/705

    It turns out that F-Droid current UX is closer to lots of Chinese app stores than it is to Google Play, especially with the use of tabs and app lists. We’re looking for all sorts of feedback and ideas about what an app store experience should look like. Join the conversations! The discussion items here:
    https://gitlab.com/fdroid/fdroidclient/issues?milestone_title=UX+Overhaul

    The new plumbing for this work is performing well: the latest stable release of the Android client, v0.100.1, includes lots of our recent big changes, is fully deployed and in wide use. We also have 0.101-alpha1 out with lots more changes, and we are already receiving a lot of feedback.

    *Objective 4 Partner Deployments*

    We have been discussing with Storymaker how to best structure their “content packs” to make it easy to distribute them in F-Droid, Google Play, CafeBazaar, and other app stores. We have implemented support for “APK Extension” OBB files, which are Google’s standard way of distributing large media collections aka content packs for apps, games, etc.

    *Objective 5 Usability Research on In-country Developers*

    We have almost hired someone to lead these research efforts. We aim to start a sprint on UX Research in August.

Viewing 15 posts - 1 through 15 (of 26 total)

The forum ‘Development’ is closed to new topics and replies.

Posted in