Aller au contenu
The App Fair Project

Philosophy

Ce contenu n’est pas encore disponible dans votre langue.

The App Fair’s purpose is to create global digital public goods in the form of mobile applications: software that is free of cost, free of advertising and tracking, and built from free and open-source software, in the service of users rather than advertisers.

The Four Cornerstones below operationalise that purpose. They build on the Four Essential Freedoms of Free Software defined by the Free Software Foundation, extending them with the additional characteristics — reach, language, and ability — that make a free application’s freedom meaningful in practice for a global mobile audience.

Every App Fair app is designed around four cornerstones, which build directly on the Four Essential Freedoms of Free Software. Each cornerstone should shape the project from the outset; retrofitting any of them after the fact is significantly more expensive than designing for it from the first commit.

The four cornerstones of an App Fair app: Transparent, Ubiquitous, Global, and Accessible, arranged in a 2×2 grid.

An App Fair app is open to inspection, modification, and redistribution by anyone. Its source code, build configuration, and every direct and transitive dependency are published under free and open-source software licences, so that any user, auditor, or future maintainer can study how the application works, verify what it does, modify it for their own needs, and share the result.

This cornerstone is the foundation the others rest on. The Four Essential Freedoms of Free Software — the freedoms to run, study, modify, and redistribute the software — are what make community translation, community accessibility improvements, and independent verification possible at all. The licensing and dependency rules under Licensing in the Inclusion Criteria are the operational expression of this cornerstone.

An App Fair app strives to be available for every mobile device and operating system. Currently, this entails support for both iOS and Android. In the future, this will include additional emerging platforms as they become more prominent. A user on a current-model iPhone and a user on a budget Android device should receive the same set of features, each refined to feel at home on the respective platform.

SwiftUI source is compiled to a native iOS app and transpiled to a native Jetpack Compose Android app, so the underlying mechanics of cross-platform delivery are handled automatically. The developer’s responsibility is to make platform decisions that include both audiences rather than excluding one of them.

An App Fair app supports the user’s language. Every user-facing string is externalized, the supported locales are kept current, and the store listing is translated alongside the app itself. The catalog aggregates apps across more than a dozen primary locales (Arabic, Chinese, English, French, German, Hindi, Indonesian, Italian, Japanese, Korean, Portuguese, Russian, Spanish, and others). The app must ship with at least English and French translations as a minimum verification baseline (see Localization).

In practice, this requires the use of SwiftUI’s localization infrastructure: primarily an Localizable.xcstrings String Catalog for every visible string. These catalogs are bridged to Android’s string-resource system automatically, so a translation contributed once applies to both platforms.

An App Fair app should be usable by people across the spectrum of abilities. This includes users of VoiceOver and TalkBack, users of Dynamic Type at the largest sizes, users of Switch Control, and users who rely on sufficient colour contrast.

None of this is optional. Building accessibility in from the start is cheap; retrofitting it later isn’t. The same affordances (larger text, better contrast, bigger tap targets) turn out to help most users at some point, not only the users who need them every day.

An initial App Fair submission is not expected to be perfect against each cornerstone: they are aspirational cornerstones, and software is always a work in progress. A clear commitment to each cornerstone is expected, along with an architecture that allows each cornerstone to be improved over time.