Skip to content

Map UX: Pull Extreme Outliers Closer and Replace Initial Block with Centered Loading Indicator #5664

@MarkusNeusinger

Description

@MarkusNeusinger

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?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions