design: benchmark the redesign against rival forges and test newcomer comprehension #226

closed cmc opened this on 2026-09-18 02:29 UTC · ux

Discussion

cmc 2026-09-18 02:29 UTC

Review item B08, out of scope for #218. With v1.23.0 deployed, compare representative tasks and visual states (landing, repository overview, a merge request, settings) against Primer/GitHub, SourceHut and one Forgejo instance, and run a newcomer walk: does a first-time visitor understand what gitbay is and complete a first useful action (register, clone, open an issue) without CLI knowledge? Judge by first-action success, clarity and effort, not feature count.

cmc 2026-09-19 01:28 UTC

Benchmark, 2026-09-19, gitbay.org at v1.26.0 against github.com/krazywarez/gitbay (the mirror of this repository, so the overview is like for like), codeberg.org (Forgejo: landing, forgejo/forgejo, its pull request list) and sr.ht (landing, ~sircmpwn/legacy.sr.ht). Desktop, 1280 by 900, dark.

Repository overview. GitHub and Forgejo place the About column (description, topics, licence, contributors, languages) beside the file table; gitbay renders the same facts after the README, which on krz/gitbay is a long scroll down. Identity and health are the first thing a visitor wants and the rivals answer it without scrolling. Filed as a follow-up.

Landing. Codeberg leads with a proposition, three pillars and a visible register button. gitbay's copy is as clear, but the picture is tall enough at 1280 by 900 that the facets and the two routes fall below the fold; a newcomer sees the quickstart and a screenshot before any call to action. Filed as a follow-up.

Merge request list. Forgejo's rows carry labels, check state and comment counts; gitbay's carry title and metadata. A reviewer scanning for what needs attention has less to go on. Filed as a follow-up.

SourceHut. Pages are lists of links with no orientation beyond tabs; gitbay is ahead on polish and structure, and matches its no-JavaScript delivery.

Register and sign in. The rivals ask for email and password; gitbay asks for a public key, and the hint, example and wiki link on /register cover the difference. No gap found.

Rail. The icon-only rail (v1.25.0) trades discoverability for space; every glyph has a tooltip and accessible name, but a first visit shows no words. Worth watching in the newcomer test rather than changing now.

What this does not cover: a real newcomer walking the site. That needs a person who has not seen gitbay; the route to test is landing, explore, a repository, register, and a first clone or issue. Leaving this issue open for that half.

cmc 2026-09-19 04:26 UTC

Newcomer walk, 2026-09-19, gitbay.org at v1.28.0, anonymous, reading each page as someone who has never used a terminal-first forge.

Landing. The proposition, the two routes and the sign-in line are readable on the first screen. A newcomer clicks Explore or Create an account without needing the quickstart. No stall.

Explore. A list with descriptions, topics and licences; the filter and Search button are obvious. No stall.

Repository. Identity in the header, the file table, then the README; the About column names the licence and build state; clone commands are two labelled blocks. A newcomer without git knowledge does not know what to do with them, and the page does not say; that is expected for a forge and the rivals do not solve it either.

Register. Three fields; the key hint says paste the file's contents, gives the example, and links to a page that makes a key in two commands. The linked page told the reader to run =ssh git@ whoami= with a literal placeholder. Stall one, fixed in the MR below.

After registering. The page says a code was mailed and shows an SSH command to activate; the mail says the same. A pending account can in fact sign in with an emailed link and paste the code under Settings, but neither the page nor the mail says so, so a browser-only newcomer believes the terminal is required. Stall two, fixed in the MR below.

First useful action. The Quickstart wiki page opens with =go install=, which assumes a Go toolchain; the Homebrew tap and the browser route (+ New repository, clone, push) are not mentioned. Stall three, fixed in the MR below.

Rail. Icon-only; every glyph has a tooltip and accessible name, but a first visit shows no words. Watch for this in the human test.

Test script for a real newcomer, ten minutes, no help given. Note where they pause, what they say, and whether they finish each step.

  1. Open gitbay.org. Ask: what is this, and what would you do first?
  2. Find a repository that interests you and say what it is for.
  3. Create an account. Making an SSH key counts as part of the step; note whether the linked page was enough.
  4. Verify the account from the mail without using a terminal.
  5. Create a repository from the browser and find the clone command.
  6. Sign out and sign back in. Score each step done, done with a pause, or abandoned; anything abandoned becomes an issue here.

referenced in commit 974a321012 by cmc: wiki: name this instance, lead Quickstart with the browser route

2026-09-19 04:40 UTC

referenced in commit af6988e4c0 by cmc: web, control, e2e: name the web path after registration

2026-09-19 04:40 UTC

referenced in commit 7c4afe2c80 by cmc: docs: clarify dashboard layout breakpoints for 62rem and 80rem

2026-09-19 23:21 UTC

referenced in commit 7c3dab2545 by cmc: docs: notifications is a wide list page in the spec

2026-09-19 23:21 UTC

referenced in commit ad2769cd22 by cmc: e2e: the merge request list's facet column

2026-09-19 23:21 UTC

referenced in commit 3aa67f5b23 by cmc: web: the dashboard's counts and build state in text

2026-09-19 23:21 UTC

referenced in commit e1a9f52605 by cmc: web: sticky columns scroll, and a phone keeps its wrapping

2026-09-19 23:21 UTC

referenced in commit f39a596ecd by cmc: CHANGELOG: the desktop layout

2026-09-19 23:21 UTC

referenced in commit fe7971e6a3 by cmc: web: widen the overview facts column to 20rem

2026-09-19 23:21 UTC

referenced in commit 3019afd16e by cmc: web: wider aside, capped README card, 15rem wiki nav

2026-09-19 23:21 UTC

referenced in commit 258f283ca3 by cmc: web: section columns on settings, account and admin

2026-09-19 23:21 UTC

referenced in commit 2eb4578570 by cmc: web: topic and kind columns on explore and search

2026-09-19 23:21 UTC

referenced in commit 1aafa85cd1 by cmc: httpd: drop the builds page's dead filter-link field

2026-09-19 23:21 UTC

referenced in commit 09bc1d3bb9 by cmc: web: the builds page filters in a side column

2026-09-19 23:21 UTC

referenced in commit c8d6b79a83 by cmc: web: a facet column on the issue and merge request lists

2026-09-19 23:21 UTC

referenced in commit dbe7f67685 by cmc: e2e: cover the edit page's file navigator

2026-09-19 23:21 UTC

referenced in commit 746c5176bc by cmc: web: a file navigator beside blob, blame and edit

2026-09-19 23:21 UTC

referenced in commit 34657cd973 by cmc: httpd: drop the rail's dead pinned-repo loop

2026-09-19 23:21 UTC

referenced in commit 09b21346c2 by cmc: web: the dashboard is three columns

2026-09-19 23:21 UTC

referenced in commit 9807f90f60 by cmc: web: one-line rows on the list pages, at the container width

2026-09-19 23:21 UTC

referenced in commit 86007ab29b by cmc: web: the repository header is two rows

2026-09-19 23:21 UTC

referenced in commit 52243f111a by cmc: web: align the repohead's wrap with main and footer

2026-09-19 23:21 UTC

referenced in commit 9ba992b54c by cmc: web: one centered container for header, main and footer

2026-09-19 23:21 UTC

referenced in commit 1cfdd9630b by cmc: docs: desktop layout plan

2026-09-19 23:21 UTC

referenced in commit a251ca2f07 by cmc: docs: desktop layout spec

2026-09-19 23:21 UTC

referenced in commit 2dd2564d2a by cmc: CHANGELOG: the accessibility fixes

2026-09-20 00:21 UTC

referenced in commit ca136adf25 by cmc: web: name the labels table's actions column

2026-09-20 00:21 UTC

referenced in commit 40960c8f5b by cmc: httpd, web: a chip tone per scheme, and an underline where a link shares its line

2026-09-20 00:21 UTC

referenced in commit 85130480d7 by cmc: web: every pre block takes focus

2026-09-20 00:21 UTC