GNU Free Call GUI: Client Interface Architecture
The interface design and user experience specification for GNU Free Call, detailing contact management, SAS verification displays, mesh status indicators, and mobile client requirements.
Historical UI Design Notes
Design documents for desktop and early Android client interfaces.
§1Design Philosophy for Secure Calling UI
A major barrier to the adoption of encrypted communications in the early 2010s was user interface complexity. Cryptographic tools routinely required users to manually manage keyrings, sign fingerprints, and parse obscure error strings.
The GNU Free Call GUI was conceptualized around three core principles: 1. Zero Crypto-Jargon: Users should never see hexadecimal fingerprints during normal call flow. The visual indicator should display clear security states: "Insecure (Cleartext)", "Encrypted (Unverified)", and "Verified Secure". 2. Prominent SAS Vocal Check: When establishing a first-time call, the GUI surfaces a clean dialogue showing the two PGP words or four-character SAS with an intuitive "Voices Match" confirmation button. 3. Decentralized Identity: Contacts are represented by public keys or human-readable names mapped through decentralized directories (GNUnet GNS / DHT) rather than centralized phone numbers.
§2Target Platforms
- Desktop: GTK+ and Qt reference interfaces designed to integrate into GNOME and KDE desktop environments.
- Embedded / Headless: Web-based configuration portal for FreedomBox home servers.
- Mobile: Android client prototypes leveraging Android's NDK and local SIP stack integration.
This page reconstructs material originally published at gnutelephony.org. It has been formatted and annotated for archival preservation.
Historical source: GNU Free Call. Reproduced or adapted under the GNU Free Documentation License (GFDL) 1.2 or later where stated.
Historical revision date: 2011-06-25 (Revised 2012-02-18). Restored to permanent static archive in October 2026.