Problem
The map view currently has two UX issues that confuse users — especially non-technical ones:
1. Extreme outliers fly far off-screen
Some points end up extremely far from the main cluster, which:
- wastes most of the visible area on empty space
- forces users to zoom/pan a lot before they see anything meaningful
- makes the layout feel "broken" on first load
2. The initial lock/block is not understandable
At the very beginning, the map appears to "freeze" / be unresponsive while it computes the layout. From the user's perspective there is no signal that something is happening — it just looks broken or stuck. Many users (especially non-coders) don't realize this is a loading/computation phase.
Proposal
A) Pull extreme outliers closer
Reduce the visual spread of far-away points so the layout stays readable. Options to consider:
- soft clamping of coordinates (e.g. log-scale or sigmoid squashing of distances beyond a threshold)
- attractive force toward the centroid for points that exceed a distance percentile (e.g. > 95th)
- post-layout normalization that fits all points into a bounded viewport while preserving relative neighborhoods
- cap maximum edge length in the force simulation
Goal: outliers should still be visibly separate, but not so far that the main cluster collapses into a dot.
B) Replace the silent block with a visible "computing" state
Instead of just disabling interaction, show a centered loading indicator while the layout is being calculated / rearranged:
- centered spinner or progress animation in the middle of the map area
- short label, e.g. "Arranging map…" / "Computing layout…"
- optional: subtle progress hint (e.g. iteration count or % if available)
- keep the rest of the UI dimmed but visible, so users understand the map is loading, not the whole app
- once done, fade the indicator out and enable interaction
This makes it obvious that the app is working, not broken.
Why this matters
- non-coders interpret "frozen UI" as a bug and may leave
- a centered loading state communicates intent in a universally understood way
- bringing outliers closer removes the "where is everything?" first-impression problem
- both changes together make the map feel calmer and more trustworthy on first load
Out of scope (for this issue)
- changing the underlying layout algorithm itself
- adding filtering / search on the map
- mobile-specific gestures
Open questions
- Which strategy for outlier handling fits best with the current layout algorithm (clamping vs. extra force vs. post-normalization)?
- Should the loading indicator block interaction entirely, or allow zoom/pan on whatever is already laid out?
- Do we want to expose the outlier-squashing as a user toggle, or always-on?
Problem
The map view currently has two UX issues that confuse users — especially non-technical ones:
1. Extreme outliers fly far off-screen
Some points end up extremely far from the main cluster, which:
2. The initial lock/block is not understandable
At the very beginning, the map appears to "freeze" / be unresponsive while it computes the layout. From the user's perspective there is no signal that something is happening — it just looks broken or stuck. Many users (especially non-coders) don't realize this is a loading/computation phase.
Proposal
A) Pull extreme outliers closer
Reduce the visual spread of far-away points so the layout stays readable. Options to consider:
Goal: outliers should still be visibly separate, but not so far that the main cluster collapses into a dot.
B) Replace the silent block with a visible "computing" state
Instead of just disabling interaction, show a centered loading indicator while the layout is being calculated / rearranged:
This makes it obvious that the app is working, not broken.
Why this matters
Out of scope (for this issue)
Open questions