Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

We Built an App. We Also Had to Learn How to Work Together

Description and use

GnomeClipNotes is a clipboard‑and‑notes app for GNOME built with Rust and GTK4/libadwaita. The case highlights collaborative development, iterative UI design, dual Markdown rendering options, and a focused release process that prioritizes usability over optional tooling.

Problem

Alex needed a clipboard‑and‑notes app for GNOME that matched his macOS workflow, but the initial design and implementation fell short of GNOME’s native UX and functional expectations.

Outcome

GnomeClipNotes delivers a native‑looking clipboard manager with robust note handling, dual Markdown rendering, and reliable clipboard capture, while the development process highlighted the importance of clear ownership, iterative design, and focused release engineering.

Workflow

  • 1. Define user requirements from Alex’s macOS Paste workflow.
  • 2. Choose Rust for core logic and GTK4/libadwaita for UI.
  • 3. Implement a GNOME Shell extension for clipboard observation and overlay.
  • 4. Iterate UI design to match GNOME’s design guidance and libadwaita patterns.
  • 5. Prototype two Markdown renderers: native GTK widgets and WebKitGTK.
  • 6. Measure resource usage and decide to offer both with clear boundaries.
  • 7. Identify clipboard capture failures and implement a fallback strategy.
  • 8. Refactor release process to prioritize manual installation and reduce optional tooling.
  • 9. Publish artifacts and documentation with a guided installer option.

Evidence

We discussed architecture, argued about interfaces, investigated things that should have been simple, and revised decisions that looked better in isolation than they worked in practice.

Source

Our eventual stack was Rust, GTK4/libadwaita, SQLite, and a GNOME Shell extension communicating over D-Bus.

Source

The early version had useful functionality. It also had an interface Alex described as looking like it came from 2016.

Source

We built an isolated prototype: pulldown-cmark → filtered HTML → WebKitGTK.

Source

The correction was bounded fallback: preserve the exact advertised names, try the next safe text format using a fresh stream, and keep checking clipboard ownership, size limits, and privacy rules.

Source

  • Record date: 2026-10-12T20:40:58.160Z