2026-07-04 — v17 competitor-grounded design research
This entry is intentionally docs-only. The app already has real depth — parse/render, zoom/pan, reverse-complement, trimming, search, metadata, multi-trace workspace, mixed-base calling, annotations, editable bases with undo/redo, FASTQ/QUAL export, a quality track, and a keyboard base inspector — but today that power is spread across a long toolbar and a mostly linear stack. The goal here is to study how serious trace tools package that power, then make concrete layout, interaction, and design-system decisions for the next implementation wave without losing a single existing capability.
Research method and current-product baseline
I used official product pages, vendor help centers, and official tutorials wherever I could.
For older tools with sparse documentation, I used the most direct product or training pages I
could verify. I also cross-checked the current sanger-viewer feature inventory
against the live repository controls, README, and devlog history so the proposal below maps
every current feature into the new information architecture instead of hand-waving about a
redesign.
- Current app baseline: single-page static Vite app, GitHub Pages deployment, client-side only.
- Current UX baseline: one primary toolbar plus stacked canvas, annotation track, quality track, workspace bar, readout, sequence panel, inspector, metadata panel.
- Current risk: strong capability, but high command density and weak grouping make first use harder than it needs to be.
- Design target: retain expert throughput, lower novice friction, preserve Pages/base-path deployment, and keep light/dark + accessibility first-class.
Competitor landscape at a glance
| Tool | Surface | What it gets right | What I would not copy |
|---|---|---|---|
| Chromas | Desktop (Windows) | Fast single-trace focus, obvious edit/export verbs, strong batch conversion story. | Menu-bar heaviness, little progressive disclosure, no modern accessibility/dark-mode story. |
| FinchTV | Desktop (Windows/macOS/Linux distribution) | Very clear chromatogram-first reading experience with quality bars and simple zoom controls. | Single-file mental model, dated density, limited annotation/export ecosystem. |
| SnapGene | Desktop + limited viewer/web sharing story | Excellent contextual layering: trace, info, alignment, metadata, and edit flows feel related. | Feature sprawl can still feel busy; a lot of power lives behind product-specific modes. |
| UGENE | Desktop | Composable suite architecture, non-destructive edit model, integrated annotation tooling. | Heavy MDI-style density; novice cognitive load is high. |
| Geneious Prime | Desktop + cloud workspace adjacencies | Best balance of clean visual hierarchy, bulk workflows, contigs, and edit/review loops. | Large surface area assumes a broad bioinformatics workspace, not a tight focused tool. |
| Benchling | Web | Browser-native collaboration, alignments anchored to sequence records, annotations as first-class objects. | Heavy platform framing can bury the immediate trace-reading task. |
Per-competitor study
Chromas — the classic single-trace workbench
Surface: desktop, Windows only. Technelysium’s official product page describes Chromas as a free trace viewer for simple DNA sequencing projects that do not require assembly of multiple sequences.
- Information architecture & layout: effectively one document window centered on the trace. The product page emphasizes open/save/print/search/edit/export rather than panel choreography, which is a clue: Chromas optimizes for “load a chromatogram and do the obvious next thing.”
- Primary workflows: inspect one trace, trim low-quality/vector sequence, reverse-complement, search, export sequence/image, and batch-convert many files.
- Power vs ease: low abstraction. Power is present, but it is surfaced directly instead of progressively. That makes it fast for experienced users and blunt for everyone else.
- Trace navigation/zoom: print/zoom/fill-page language suggests a presentation-era model: the trace is the center, and navigation exists to inspect or present it rather than orchestrate multiple coordinated panels.
- Base editing: the public Chromas materials emphasize trimming, reverse/complement, and export more than a rich in-place edit workflow. Multi-read editing and assembly are clearly pushed toward ChromasPro.
- Annotations/export/multi-trace: export breadth is strong (plain text, FASTA, FASTQ, EMBL, GenBank, GCG, images, clipboard), but multi-trace assembly is explicitly out-of-scope and pushed to ChromasPro.
- Visual design: old-school utility UI: dense, direct, not shy about exposing commands.
- Accessibility: I found no public accessibility or dark-mode guidance in the official Chromas materials I reviewed.
Takeaway for sanger-viewer: keep the “single trace first” sharpness. Do not force the user into a project shell before they can read peaks. But do not copy the flat, ungrouped command exposure.
Sources: Chromas product page, version history.
FinchTV — trace readability with very little ceremony
Surface: desktop. The current distribution page is on Digital World Biology, which hosts Mac and Windows downloads; other ecosystem references document Linux packaging as well.
- Information architecture & layout: one file at a time, chromatogram first. Training material consistently shows the called sequence on top, quality bars above it, and the four-color trace below.
- Primary workflows: open AB1/SCF, inspect sequence quality, zoom/pan, switch strand, export DNA sequence as FASTA, optionally BLAST elsewhere.
- Power vs ease: FinchTV is easier than heavier suites because it refuses to become one. It keeps almost everything in a single reading surface and relies on a few obvious toggles.
- Trace navigation/zoom: toolbar controls plus sliders for zoom and horizontal movement are repeatedly shown in training resources. “Whole trace at once” is important: it gives orientation before the user zooms in.
- Base editing: modest. FinchTV is primarily a viewer/reviewer, not a broad sequence-assembly workspace.
- Annotations/export/multi-trace: limited annotation story; export is mostly sequence-focused rather than rich document/report generation; multi-trace comparison is not the center of the product.
- Visual design: compact and utilitarian. Quality bars are a strong pattern: confidence is visible without opening another view.
- Accessibility: I did not find public documentation for keyboard accessibility, screen reader support, or dark mode.
Takeaway for sanger-viewer: the quality signal belongs in the main reading flow, not buried in metadata. FinchTV validates the current direction of a dedicated quality track and suggests that “fit overview + focused zoom” should become a first-class navigation pattern.
Sources: FinchTV distribution page, CHG training guide, SBGrid listing.
SnapGene — strong contextual layering around the trace
Surface: desktop software with a free Viewer and documentation around trace viewing/editing/alignment. Official references include the SnapGene product site and support articles for viewing, editing, and aligning Sanger traces.
- Information architecture & layout: the trace is one view among several coordinated document views. SnapGene treats the chromatogram as part of a richer file context: metadata, display settings, alignment context, and downstream construct context all matter.
- Primary workflows: open a trace, inspect base calls and quality bars, flip orientation, switch between standard and auto-scaled trace display, manually correct calls, align the read to a reference, then inspect disagreements.
- Power vs ease: this is the strongest example of progressive disclosure in the set. The first screen is understandable, but more layers appear when the user needs alignment, file info, or edit dialogs.
- Trace navigation/zoom: linear and wrapped views, scrollbars, parameter/info views, richer tooltips, and an updated trace info panel all reduce hunting.
- Base editing: direct but controlled. SnapGene lets users replace calls, including ambiguous IUPAC symbols, and requires saving to a trace-capable format to preserve the edit history.
- Annotations/export/multi-trace: strong. Trace-to-reference alignment is a core workflow, and export/share options are broad because SnapGene is really a document platform, not just a peak reader.
- Visual design: the modernized trace view and info panel matter. SnapGene invests in hierarchy, not just capability. The UI feels designed, not merely assembled.
- Accessibility: official material notes color-vision support options; I did not find broad public documentation of keyboard or screen-reader coverage, but it is the only competitor in this set where explicit color-vision accommodation surfaced in the official material.
Takeaway for sanger-viewer: copy the principle, not the product shape: keep a clean default trace view, but make inspector, metadata, export, and compare surfaces feel like related parts of one document rather than separate afterthoughts.
Sources: SnapGene homepage, View a Sanger Trace File, Edit a Sanger Trace File, Align Sanger Reads to a Reference Sequence.
UGENE — integrated suite power, higher cognitive load
Surface: desktop, cross-platform. The Chromatogram Viewer docs and the Sequence View quick-start are especially useful here.
- Information architecture & layout: the trace lives inside a larger suite shell with Project View, Sequence View, Annotations Editor, Options Panel, Task View, and Log View. That is powerful, but a lot for a user who only wants to answer “is this base real?”
- Primary workflows: open ABIF/SCF, inspect the embedded chromatogram, zoom into detail, toggle trace/quality visibility, create a new edited sequence, and annotate regions.
- Power vs ease: UGENE leans toward breadth. It supports a lot because the platform is broad; discoverability is decent once you know the suite model, but the initial cognitive load is clearly higher than FinchTV or Chromas.
- Trace navigation/zoom: synchronized overview/detail behavior is smart. The panoramic/detail relationship is a good pattern for large traces.
- Base editing: notably non-destructive. Edits are made into a new sequence above the original, with changed symbols bolded. That is a terrific reliability cue.
- Annotations/export/multi-trace: annotations are deeply integrated, export is broad, and there is explicit documentation for viewing two chromatograms simultaneously.
- Visual design: practical, tool-heavy, documentation-forward. It reads like an engineering workbench.
- Accessibility: I did not find public documentation for dark mode or accessibility support in the official UGENE references I reviewed.
Takeaway for sanger-viewer: borrow UGENE’s non-destructive edit framing and overview/detail synchronization, but avoid suite-level clutter. A focused trace tool should not require project/task/log scaffolding on the default screen.
Sources: Chromatogram Viewer, export docs, view two chromatograms simultaneously, Sequence View quick-start.
Geneious Prime — the cleanest “power without panic” reference
Surface: desktop, with a broader workspace and cloud-adjacent data model. Official references include Sanger Sequence Analysis, Assembling Chromatograms, Getting Started, and Import/Export.
- Information architecture & layout: Geneious uses a document browser plus an adaptable sequence viewer. Users can import, organize, open, split the view, show graphs, annotate, and assemble without the UI feeling as busy as UGENE.
- Primary workflows: import ABI traces, review quality, trim ends, align/assemble forward and reverse reads, inspect disagreements, detect heterozygotes, edit calls, and export sequence or image outputs.
- Power vs ease: Geneious is the best example in this set of “broad capability, calm first impression.” It gets there with strong defaults, right-side option panels, visible but not overwhelming tabs, and workflow language that mirrors lab tasks.
- Trace navigation/zoom: zoomed-out quality overview, zoomed-in chromatogram detail, graph toggles, and contig-centric disagreement jumping all improve navigation.
- Base editing: mature. Edits happen inside alignments/assemblies, ambiguity review is explicit, and consensus handling is part of the model rather than a bolt-on dialog.
- Annotations/export/multi-trace: very strong. Geneious treats annotation, alignment, contigs, images, FASTQ/QUAL-like outputs, and downstream analysis as part of one connected workspace.
- Visual design: cleaner typography and hierarchy than the older desktop tools. This matters. It reduces fear before the user learns the deeper features.
- Accessibility: the public materials I reviewed explain workflows clearly but do not publish a substantial accessibility statement. Dark-mode support was not clearly documented in the sources I used.
Takeaway for sanger-viewer: this is the closest model for the redesign: a compact browser-like shell, a central scientific canvas, contextual right-side controls, and progressive reveal of advanced analysis instead of a giant always-on toolbar.
Sources: Sanger Sequence Analysis, Assembling Chromatograms tutorial, Getting Started, Import/Export and supported formats.
Benchling — the browser-native record system
Surface: web. The relevant official references are Benchling’s DNA/RNA sequence overview and alignment workflow docs, both of which explicitly reference sequence record workflows and accepted AB1 alignment input.
- Information architecture & layout: Benchling starts from the sequence record, not the trace file. That shifts the mental model from “open a chromatogram” to “verify or annotate a biological record with trace evidence.”
- Primary workflows: upload/import sequence data, align AB1 reads against a plasmid or sequence record, review mismatches, use annotations and sequence-editing tools in the same environment, and export/share the result.
- Power vs ease: browser-native collaboration is the main ease-of-use win. Benchling benefits from familiar web patterns — navigation, comments, records, shared links — but the trace itself is less singular than in Chromas or FinchTV.
- Trace navigation/zoom: the trace is contextualized inside sequence/alignment views rather than treated as a standalone primary canvas.
- Base editing: editing is integrated with the record model. That is powerful for provenance, especially when several people need to understand why a change happened.
- Annotations/export/multi-trace: annotations are first-class, alignments are first-class, and export options are broad because the tool is fundamentally a collaborative data platform.
- Visual design: modern web-app conventions, cleaner information density than legacy desktop tools, and a strong sense of persistent workspace context.
- Accessibility: public docs make the web nature obvious, but I did not find a detailed public accessibility guide specific to the sequence/trace experience in the sources reviewed.
Takeaway for sanger-viewer: keep the browser-native strengths. The app should feel like a serious web tool, not a desktop app awkwardly transplanted into a canvas. That means strong keyboard coverage, responsive layouts, URL-safe static publishing, and shareable outputs that do not depend on a backend.
Sources: DNA/RNA sequence overview, How to create alignments.
Synthesis: the patterns worth keeping
- Trace-first default: Chromas and FinchTV are right that the first screen must answer the biological question immediately.
- Contextual side panels beat giant toolbars: SnapGene and Geneious make complex state easier to manage by grouping it near the content it affects.
- Overview + detail is not optional: FinchTV and UGENE both reinforce that users need a global read before diving into single bases.
- Non-destructive edits need to feel trustworthy: UGENE’s derivative edit model and SnapGene’s explicit save semantics are great reliability signals.
- Annotations and comparisons should be first-class, not “misc”: Geneious and Benchling both show that trace review becomes more useful when tied to context.
- Design polish changes usability: Geneious and newer SnapGene material simply feel less intimidating because the hierarchy is better.
Concrete proposal for sanger-viewer
(a) Target information architecture and layout
Recommendation: turn the current long, flat command bar into a four-zone workbench: global workspace, trace actions, central analysis canvas, and contextual side rail. The default screen should still let a user load a trace and start reading in seconds.
Desktop / wide layout
┌──────────────────────────────────────────────────────────────────────────────┐
│ Global bar: logo | open | sample | workspace tabs | theme | help │
├──────────────────────────────────────────────────────────────────────────────┤
│ Primary trace bar: Zoom Fit Strand Find Export ▼ Compare ▼ │
│ Secondary mode bar: Review | Edit | Annotate | Compare | Export │
├───────────────────────────────┬──────────────────────────────────────────────┤
│ Context rail (right, 320px) │ Main analysis stage │
│ ─ Inspect tab │ ┌──────────────────────────────────────────┐ │
│ base inspector │ │ Annotation lane │ │
│ exact peaks / quality │ ├──────────────────────────────────────────┤ │
│ ─ Trace tab │ │ Chromatogram canvas │ │
│ trim / mixed-base / strand │ ├──────────────────────────────────────────┤ │
│ ─ Metadata tab │ │ Quality track │ │
│ sample / run / instrument │ ├──────────────────────────────────────────┤ │
│ ─ Export tab │ │ Sequence strip + selection + search hits │ │
│ FASTA PNG SVG FASTQ QUAL │ └──────────────────────────────────────────┘ │
│ │ footer: viewport readout | match count │
├───────────────────────────────┴──────────────────────────────────────────────┤
│ Optional compare drawer: extra traces, align-to-reference, SVG/report tools │
└──────────────────────────────────────────────────────────────────────────────┘
Narrow / tablet layout
┌──────────────────────────────────────────────┐
│ Global bar: open | tabs | more │
├──────────────────────────────────────────────┤
│ Main stage: annotation lane │
│ chromatogram │
│ quality track │
│ sequence strip │
├──────────────────────────────────────────────┤
│ Sticky action row: Zoom Fit Find Export │
├──────────────────────────────────────────────┤
│ Bottom sheet tabs: Inspect | Trace | Meta │
│ (collapsed by default, swipe or keyboard) │
└──────────────────────────────────────────────┘
| Zone | Purpose | Why this is the right move |
|---|---|---|
| Global bar | Loading, workspace tabs, app identity, theme/help | Separates “file/workspace” from “operate on this trace,” reducing command soup. |
| Primary trace bar | High-frequency actions only: zoom, fit, strand, find, export, compare | Matches Chromas/FinchTV speed while staying calmer than the current all-in-one toolbar. |
| Main analysis stage | Annotation lane, chromatogram, quality track, sequence strip, readout | Keeps the core scientific read path vertically stacked and synchronized. |
| Context rail / bottom sheet | Inspector, metadata, edit settings, exports, advanced compare controls | Progressively reveals complexity only when it is relevant. |
| Compare drawer | Multi-trace, alignment, report/export tasks | Prevents complex workflows from crowding the base single-trace experience. |
(b) Interaction and keyboard model
The keyboard model should be opinionated and memorable. The current keyboard support is good in pockets; the redesign should make it systemic.
| Shortcut | Action | Notes |
|---|---|---|
| / | Focus Find | Web-native fast path; Benchling/Geneious-style discoverability win. |
| + / - | Zoom in/out | Always active when the viewer has focus. |
| 0 | Fit whole trace | Critical orientation reset, inspired by FinchTV-style overview needs. |
| Shift + wheel / pinch | Precision zoom | Keep pointer interaction direct for expert users. |
| ← / → | Pan viewport | Small pan step. |
| Shift + ← / → | Jump larger pan step | For long traces. |
| R | Toggle reverse complement | Fast strand flip without mousing through the rail. |
| T | Toggle Full / Trimmed view | Primary trim mode switch. |
| M | Focus mixed-base threshold control | Advanced, but still keyboard reachable. |
| N / Shift + N | Next / previous search hit | Keep search navigation off the pointer path. |
| Enter / Space | Open base inspector on focused base | Preserve today’s inspector behavior. |
| E | Edit focused base | Promote base editing to a clear, teachable action. |
| Esc | Close inspector/sheet/dialog | One close rule everywhere. |
| Ctrl + Z | Undo edit | Preserve current behavior. |
| Ctrl + Shift + Z | Redo edit | Preserve current behavior. |
| ? | Open shortcuts cheat sheet | Important for discoverability and a11y. |
(c) Design-system specification
The repository already has useful token DNA in src/style.css. The next wave
should consolidate those into a named UI system and apply them consistently across the app.
| Token group | Proposal | Decision |
|---|---|---|
| Spacing | 4, 8, 12, 16, 24, 32, 40 px | Keep the existing 4 px grid, but use it intentionally: 8 for inline gaps, 16 for card padding, 24 for section rhythm, 32+ only for page-level separation. |
| Type scale | 12 / 14 / 16 / 18 / 20 / 24 px | Use 14 px for tool chrome, 16 px for body/UI text, 12 px only for metadata labels, and monospace strictly for coordinates/base strings. |
| Radius | 4 / 8 / 12 px | Cards and rails get 12 px, controls 8 px, chips 9999 px only where they read as pills. |
| Elevation | 0 / 1 / 2 | Default app surfaces stay flat; inspector, menus, and sheets get subtle elevation only when layered above the trace. |
| Base colors | A / C / G / T locked and documented | Keep chromatogram channel colors stable across light and dark modes; never recolor semantic bases by theme. |
| Semantic token | Light | Dark | Use |
|---|---|---|---|
--bg-app | #f8fafc | #0f172a | Page background |
--bg-surface | #ffffff | #1e293b | Cards, rails, sheets |
--bg-subtle | #f1f5f9 | #334155 | Track lanes, grouped toolbar areas |
--border-default | #e2e8f0 | #334155 | Panel boundaries |
--text-primary | #0f172a | #f1f5f9 | Core copy |
--text-muted | #64748b | #94a3b8 | Secondary metadata |
--accent | #2563eb | #60a5fa | Focus, active commands, selected states |
--accent-soft | #eff6ff | #1e3a5f | Selection backgrounds |
--warning | #f59e0b | #fbbf24 | Trim/search attention states |
--success | #22c55e | #4ade80 | Healthy quality/export status |
--danger | #ef4444 | #f87171 | Errors, severe quality warnings |
--focus-ring | #2563eb | #60a5fa | 2 px visible keyboard ring everywhere |
Accessibility rule: all color meaning must be doubled by shape, text, or pattern. Quality should never be color-only; edited bases should never be color-only; mixed bases should never be color-only.
(d) Progressive-disclosure strategy
| Tier | Always visible | Reveal trigger | Contents |
|---|---|---|---|
| Tier 1 — default reading | Yes | Initial load | Open/sample, workspace tabs, zoom, fit, strand, find, export shortcut, annotation lane, trace, quality track, sequence strip, viewport readout. |
| Tier 2 — contextual detail | No | Select/focus a base, open metadata, open export menu | Base inspector, exact peak values, metadata panel, full export choices, search summaries, trim summaries. |
| Tier 3 — advanced analysis | No | Switch mode or open compare drawer | Mixed-base threshold tuning, edit history emphasis, multi-trace compare, alignment/reference surfaces, report-oriented SVG/export utilities. |
Key product decision: do not hide capabilities behind a mystery “advanced” toggle. Instead, bind them to the user’s active task. Editing opens edit affordances, comparing opens compare affordances, exporting opens export affordances.
(e) Explicit feature → IA mapping so nothing is lost
| Current feature | New IA home | Visibility rule | Implementation note |
|---|---|---|---|
Parse (.ab1/.scf) | Global bar + empty state | Always visible before load | Keep drag/drop, file picker, sample loader. |
| Render chromatogram | Main analysis stage | Always visible after load | Remains the visual center. |
| Zoom / pan / fit | Primary trace bar + gestures | Always visible | Add keyboard parity and overview reset cues. |
| Reverse complement | Primary trace bar | Always visible | Keep one-click toggle; show orientation state near readout. |
| Trim controls | Context rail → Trace tab | Visible in Review mode; sticky summary in stage footer | Keep Full/Trimmed as primary mode switch. |
| Find / subsequence navigation | Primary trace bar | Always visible | Promote /, next/previous keyboard shortcuts. |
| Metadata | Context rail → Metadata tab | Collapsed by default | Show one-line summary near file name; full detail in rail. |
| Per-base peaks | Inspector tab | On base hover/focus/select | Unify tooltip and inspector language. |
| Multi-trace workspace | Global bar tabs + compare drawer | Tabs always visible when >1 trace is open | Keep fast switching; move compare-heavy tasks out of the main bar. |
| Mixed-base calling | Context rail → Trace tab | Shown in Review/Edit modes | Threshold tuning is advanced, result count is summary-visible. |
| Annotations | Annotation lane + Metadata/Annotate tab | Lane always visible when data exists | Preserve jump-to-feature behavior. |
| Editable bases | Edit mode + Inspector tab | Edit affordances appear on focus/select | Keep in-place editing, but make edit state more explicit. |
| Undo / redo | Primary trace bar + keyboard | Visible when editing is available | Preserve current shortcuts and disabled states. |
| FASTQ / QUAL export | Export tab / menu | Secondary export options | Keep power, reduce primary-bar noise. |
| Quality track | Main analysis stage | Always visible after load | This stays first-class; FinchTV/Geneious validate it. |
| Base inspector | Inspector tab / bottom sheet | On focus, click, Enter, Space | Preserve exact current keyboard path. |
| PNG / SVG / FASTA export | Export menu + Export tab | PNG/FASTA quick actions; SVG in advanced export | Preserve existing outputs while clarifying intent. |
Bottom line: every existing feature survives. What changes is grouping, discoverability, and mode framing — not capability.
(f) Performance, reliability, and consistency checklist
- Render budget: keep first meaningful trace paint under 150 ms for common files and interaction updates under one frame (16 ms target, 50 ms hard ceiling) on modern laptops.
- Large-trace behavior: maintain overview readability and input responsiveness on long/noisy traces; no rail or sheet may trigger full-stage reflow while panning.
- Interaction consistency: the same base selection state must drive tooltip, inspector, search highlight, edit state, metadata readout, and export scope language.
- Cross-feature integrity: reverse-complement, trim mode, mixed-base calling, manual edits, annotations, and search must compose without surprising state loss.
- Non-destructive clarity: edited bases must remain visibly edited after mode changes, and undo/redo state must survive panel toggles.
- Quality trust: quality summaries, trim summaries, and quality-track visuals must always agree numerically.
- Accessibility baseline: full keyboard traversal, visible focus, ARIA labels for mode/panel state, no color-only meaning, and light/dark parity for every new surface.
- Responsive behavior: desktop rail becomes bottom sheet on narrow widths; no horizontal scrolling for command surfaces.
- Export consistency: PNG/SVG/FASTA/FASTQ/QUAL naming, scope, and strand/trim/edit semantics must be documented and identical across every export surface.
- Edge cases: no-quality traces, all-trimmed traces, ambiguous-heavy traces, traces with sparse metadata, multi-trace tab overflow, and failed parse states need explicit UI states, not silent degradation.
Priority order for the implementation wave
- P0 — information architecture: split the current flat toolbar into global bar, primary trace bar, and contextual rail without changing underlying capabilities.
- P0 — main stage cleanup: lock the visual stack to annotation lane → chromatogram → quality track → sequence strip → readout.
- P1 — inspector/metadata/export rail: unify the current inspector + metadata + export affordances into a coherent right-side rail/bottom sheet.
- P1 — keyboard system: add a shortcuts model, cheat sheet, and consistent focus management across modes.
- P1 — design tokens rollout: replace ad-hoc spacing/surface treatments with the documented token system and verify light/dark parity.
- P2 — compare drawer: evolve the existing multi-trace workspace into a clearer compare surface without slowing down single-trace review.
Final recommendation
The redesign should aim for Geneious calm, SnapGene contextuality, FinchTV legibility,
Chromas immediacy, UGENE non-destructive trust, and Benchling web-native discipline.
That combination fits sanger-viewer unusually well: the project is already a
surprisingly capable browser-based trace viewer, so the next win is not raw feature count.
It is making the existing power feel intentional, elegant, and easy to learn.