Skip to content

Showcase samples: make the 4 front-page images locate themselves on the globe #130

@rdhyee

Description

@rdhyee

Context

The homepage has a Showcase section with four "charismatic" sample thumbnails:

  • Diamond — IGSN:DIA0000YL (SESAR, Brazil, 2019)
  • Fossil coral — IGSN:IEGIL000C (SESAR, Cayman Islands, ~10,000 BCE)
  • Paracirrhites arcatus fish — ark:65665/337856f1a655e4ad78b1ef10a16dfb6e3 (Smithsonian, French Polynesia, 2006)
  • Red-figure askoi — ark:28722/r2p24/vdm_19600211 (OpenContext, Murlo Italy, late 4th–early 3rd c. BCE)

Currently each thumbnail links to the sample's source record at DOI/ARK. There's no way from the homepage to see where on the globe the sample is, despite the four being chosen in part for geographic spread across four continents.

The hero above them is a pre-rendered animated WebP — a rotating Earth. It's decorative, not interactive.

Goal

Let the showcase act as an entry point into the Interactive Explorer, anchored at the location of the clicked sample. Three candidate designs, in increasing ambition:

Option A — Cheapest: deep-link each thumbnail into the Explorer (~30 min)

The Interactive Explorer already reads a pid URL hash parameter (see `readHash()` and `gs.selectedPid` in tutorials/progressive_globe.qmd). Wrapping each showcase thumbnail in a secondary "View on globe →" link would open the Explorer with that sample pre-selected, its card populated, and the camera flown to its coordinates.

  • Pro: near-zero code; reuses existing deep-link machinery; preserves the current DOI/ARK link for the scholarly source record.
  • Con: leaves the homepage itself still static; adds a second link-target per thumbnail (need to handle UX — click image = source record, click overlay button = globe).

Before shipping, verify all four pids exist as-is in samples_map_lite.parquet (the file the Explorer queries for sample-level data).

Option B — Mid: hover/click morph, stay on homepage (~1 day)

Replace the static "View on globe" link with an inline sample locator. On click, the thumbnail card expands to show a small static map (Leaflet or even just a marker on an equirectangular Natural Earth image) with a pin at the sample's coordinates, plus a "Open in Interactive Explorer" CTA.

  • Pro: gives spatial context without forcing a page jump; homepage becomes slightly interactive.
  • Con: new dependency (Leaflet) or a build-time step to generate the four static maps; doubles the visual language of the homepage.

Option C — Most ambitious: replace the WebP hero with a live mini-globe (~2–3 days)

Retire the pre-rendered animated WebP. Embed a small live Cesium mini-globe on the landing page, configured to:

  • spin at the same cadence as the current WebP,

  • render the four showcase samples as labeled pins,

  • on click: fly to the sample and open its card, or teleport the user into the full Interactive Explorer with that pid.

  • Pro: the homepage becomes the Explorer's teaser, not a separate thing to explain; the thumbnails and globe align in one interaction.

  • Con: adds Cesium (~1.5 MB JS + terrain tiles) to the landing-page critical path; will measurably slow first-paint for every visitor, including ones who never click Explorer; accessibility / no-JS fallback story needed; the animated WebP is cached and immutable today (zero runtime cost).

Recommendation

Start with Option A because it's reversible and cheap — and almost certainly what most users want. It verifies the deep-link flow end-to-end (is the card populated correctly? does fly-to work reliably for all four pids across sources?) before we invest in B or C.

If A lands cleanly and users engage with it, the question for B vs C becomes: is the homepage's job to be the Explorer (C), or to advertise the Explorer (A/B)? Current site architecture treats these as distinct pages (hero in nav leads to Interactive Explorer as a separate destination), which argues for A. If we later want the hero to double as the product's first interactive moment, C.

Implementation notes for Option A

  • Edit index.qmd showcase block. For each of the four thumbnails, either:
    • replace the DOI/ARK link target with /tutorials/progressive_globe.html#pid=<pid>&v=1, OR
    • keep the DOI/ARK link on the image and add a small "📍 locate on globe" caption/button below that links to the Explorer.
  • Confirm each pid resolves in samples_map_lite.parquet:
    SELECT pid, label, source, latitude, longitude
    FROM read_parquet('https://data.isamples.org/isamples_202601_samples_map_lite.parquet')
    WHERE pid IN ('IGSN:DIA0000YL', 'IGSN:IEGIL000C',
                  'ark:65665/337856f1a655e4ad78b1ef10a16dfb6e3',
                  'ark:28722/r2p24/vdm_19600211')
  • Smoke test: visit each constructed URL, confirm camera flies to the sample, card shows, source badge matches.

Open questions

  1. Do we want click-on-image to still go to the scholarly source record (DOI/ARK) or to the Explorer? Default answer: keep image → source record, add secondary CTA for Explorer. Either is defensible.
  2. For Option C: is the existing WebP good enough that we should leave it alone, or is a live globe worth the perf hit?
  3. If we add 4 pins to a future live hero, do we also want sample thumbnails to appear as inset badges on the globe itself, or just stay in the showcase row below?

Metadata

Metadata

Assignees

No one assigned

    Labels

    contentPage content, copy, mediaenhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions