Tile-Based Semantic UI - Vision

Status: Aspirational - Core concepts for future UI evolution

Core Concept

Transform entity visualization from nodes as dots to tiles as always-on surfaces - a paradigm shift toward pane-based semantic computing where data is visible without interaction.

Key Principles

1. Tiles as Surfaces, Not Tooltips

Current Pattern: Hover to reveal entity details Vision: Data always visible on tile surface

Tiles are persistent information surfaces displaying contextual data at all zoom levels. No interaction required to see entity state.

2. Semantic Zoom (Progressive Modes)

Progressive detail disclosure through meaning density, not pixel scaling. The true shape will emerge during development - current thinking:

ModeGesture (Mobile)DisplayUse Case
FocusPinch in (max zoom)Single tile fills screen, full detailDeep inspection of one entity
RelationalPinch out slightlyFocused tile + half of connected tiles visibleNavigate relationships, jump between entities
OverviewPinch out fullyFull force-directed graphLandscape view, see all connections

Mobile-First Insight: Relational mode is the key innovation - shows relationship context without losing focus. Drag connected tile to center to navigate.

Desktop: Same three modes, plus potential intermediate levels for specific workflows (will emerge organically).

Philosophy: Each mode serves a distinct cognitive task - focus for depth, relational for exploration, overview for orientation.

3. Pane-Based Computing

Inspired by Smalltalk's pane model - tiles are compositional surfaces that can be:

4. Config-Driven Field Display

Define what data appears at each zoom level:

# tiles/contact.tile.toml
[fields]
zoom_0 = ["⌬"]  # Symbol only
zoom_50 = ["⌬", "name"]
zoom_100 = ["⌬", "name", "org", "role"]
zoom_150 = ["⌬", "name", "org", "role", "last_contact", "status"]
zoom_200 = ["relationships"]  # Embed graph slice

Non-technical users (recruiters, analysts) can customize views by editing TOML configs.

Design Goals

Visual Hierarchy

Layout Flexibility

Always-On Data

Technical Approach

Progressive Enhancement Path

  1. Phase 1: Render entities as rectangles (vs circles) ✅ Implemented
  2. Phase 2: Add multi-line text to tile surface ✅ In Progress
  3. Phase 3: Implement semantic zoom thresholds
  4. Phase 4: Add layout modes (grid, hierarchy)
  5. Phase 5: Config-driven field selection

Implementation Considerations

Symbols at Different Zoom Levels

Core QNTX symbols appear progressively:

Use Cases

Mobile Exploratory Session (30 min)

Scenario: Biology researcher on morning commute, analyzing gene clusters from overnight metagenomic pipeline run

  1. Overview mode: Pinch out - see full gene network, identify novel cluster
  2. Focus mode: Tap target gene tile - see full sequence annotations, expression data
  3. Relational mode: Pinch out slightly - view connected genes (homologs, co-expressed partners)
  4. Navigate: Drag candidate protein-coding gene to center - examine function predictions
  5. Discovery: Pinch to relational mode - see this gene's regulatory network
  6. Backtrack: Swipe back gesture - return to original cluster for comparison

Key insight: Discovers potential novel protein function before arriving at lab - gestural exploration enables hypothesis formation during commute.

Desktop Deep Dive (Zoom levels emerge organically)

Working context: See key fields without interaction Deep inspection: Full metadata for detailed comparison Neighborhood exploration: Embedded relationship graphs

Comparison to Current UI

AspectCurrent (Nodes)Vision (Tiles)
Default stateLabel on hoverKey fields always visible
Zoom behaviorPixel scalingSemantic detail levels
LayoutForce-directed physicsIntentional layouts (grid/tree/timeline)
CustomizationHardcodedConfig-driven per entity type
Information densityLow (interaction required)High (data always on)

Mobile-First Considerations

Deep Exploratory Analysis (30+ min sessions on mobile):

Gesture Mapping:

Key Design Principle: Mobile is not a compromise - it's the primary exploratory interface. Desktop adds power-user features.

Open Questions

  1. Tile sizing: Fixed dimensions vs dynamic based on content?
  2. Transition animations: Smooth zoom interpolation or discrete snapping? Answer: Threshold-based - smooth within, snap between
  3. Relational mode polish: Exactly how much of connected tiles? Answer: Half-tile (symbol, label, 1-2 fields visible)
  4. Performance: Can we render 1000+ tiles without degradation?
  5. Gesture vocabulary: What swipe patterns for shortcuts? (back, forward, star, hide, etc)

Success Criteria

A successful tile-based UI should:

Related Concepts

When to Build This

Prerequisites:

  1. Stable entity model and attestation system
  2. Clear use cases demanding more visible data
  3. User feedback that current graph UI is limiting
  4. Resources for UI/UX iteration

Trigger conditions:

Status

Current: Vision document - concepts not yet implemented

Future: Consider prototype when core attestation system stabilizes and user feedback indicates need for enhanced visualization.

Key Architectural Patterns

Real-Time Updates via WebSocket

Delta update protocol for live tile changes:

Benefits: Efficient bandwidth usage, smooth live updates, maintains user context.

Result Limiting Strategy

Hard cap at 500 tiles per view:

Rationale: Prevent performance degradation, encourage focused views over "show everything."

Fail-Fast Config Validation

System refuses to start with invalid configs:

Philosophy: Runtime reliability over permissive startup. Better to fail immediately than serve broken views.

Per-View Zoom State Persistence

Each view maintains independent zoom level:

Orthogonal Edge Rendering

L-shaped connectors (not straight lines):

Responsive Column Layout

Viewport-aware grid:

Hierarchy respect: Grid arrangement maintains parent-child relationships across column breaks.

Field Visibility Based on Rendered Size

Not just zoom level - actual pixel dimensions:

Caching Strategy

Session cache only:

Trade-off: Slight reload penalty for simpler architecture and no stale data risk.

Related Documentation