Florid

Florid is an F-Droid App client that helps people discover, evaluate, install, and update open‑source Android apps from F-Droid repositories.

Florid is an F-Droid App client that helps people discover, evaluate, install, and update open‑source Android apps from F-Droid repositories.

Challenge

This endeavor started to due my love for open source community. Ever since I was kid, I have been infatuated by the immense hard work that people put to provide free and open software. I suppose I was 17 when I discovered about F-Droid and started experimenting with Android. One thing, everyone loved about F-Droid was its continued curation and consistency of its user interface. It just worked!

However, now that I am older and learnt to understand about user needs, F-Droid doesn't have the polish it needs for someone who is new to this open source community space. There are alternatives such Droid-ify & Neo Stores that have different approach from F-Droid. Nonetheless, these are either cramped with information or devoid of information.

F-Droid requires some UX love like every other open source software, which caters to all kinds of target audience.

Goals

Possible UX Goals:
  • Help users discover apps faster (browse/search/category)

  • Make app details easier to understand (version, change log, permissions, repository source)

  • Reduce friction in install/update flows

  • Improve trust and clarity around repositories and signatures

  • Make updates and installed apps management more transparent

Success metrics
  • Help users discover apps faster (browse/search/category)

  • Make app details easier to understand (version, change log, permissions, repository source)

  • Reduce friction in install/update flows

  • Improve trust and clarity around repositories and signatures

  • Make updates and installed apps management more transparent

Design Process

Key Challenges

How Might We?
  • How might we support both newcomers and power users without clutter?

  • How might we provide a seamless transition from other stores?

  • How might we provide appropriate information to user?

Iterative Design Process

Florid is currently on iterative design cycle. The first priority of this project was to get things working in first place.

  1. The initial phase of this project focuses on working with Flutter to read data from F-Droid's API

  2. Later, basic functionalities where brought to the application, including downloading apps, searching, and updating installed apps.

  3. Shift focus on getting user needs right. Through Github Issues, users requested for certain features. Some of them made into releases, some still in works and some under consideration.

  4. Work on the user interface and micro-interactions. Provide users choice of the style of interface they want to proceed with.

  5. Focus on bug fixes and improvement in performance.

Usability testing

Florid’s usability focus is making an alternative app-store experience feel simple, predictable, and trustworthy, even though the underlying ecosystem can be technical. The design prioritizes fast app discovery, clear decision-making on app detail pages, and low-friction install/update management, so users can confidently complete core tasks without needing deep F-Droid knowledge.

Key usability themes:

  1. Learnability: New users should understand how to find apps and install/update them with minimal explanation.

  2. Efficiency: Returning users should complete repeat actions (search, update all, open installed app) quickly.

  3. Error prevention & recovery: Reduce install/update mistakes and provide clear states when something fails (network, repo sync, incompatible versions).

  4. Trust & transparency: Make it obvious where apps come from and what’s changing when updates happen.

  5. Accessibility: Ensure the UI works well with larger text, screen readers, and high-contrast needs.

Project Timeline