Exploration: Case Studies — Does App Architecture Capture What Applications Actually Do?

Status: Exploration. Testing whether {Ct, Sh, Ac, Mt, Pg, Ch, Bn, Au, Hs} captures the structural concerns of major real-world applications, or whether it's biased toward backend/data-management architecture. Question: What about social media, video games, entertainment, YouTube? Does the app architecture miss human-facing dimensions?


1. Case studies — mapping major applications

1.1 Instagram / TikTok (social media)

What Instagram IS to users: visual content sharing with social graph, algorithmic feed, engagement mechanics (likes, comments, shares, follows).

App arch primitiveHow Instagram uses itLevel
Content (Ct)Posts, stories, reels, messages, profiles, commentsFull — rich typed content
Shape (Sh)Post types (image, video, carousel), user profiles, comment threads3-4 — complex nested schemas
Access (Ac)Feed algorithm, search, explore, hashtags, user lookup, recommendationsFull — algorithmic access is the CORE VALUE
Mutation (Mt)Post, like, comment, follow, edit profile, delete3 — typed operations
Propagation (Pg)Notifications, feed updates, live activity indicators, story viewersFull — real-time is essential
Coherence (Ch)Like counts, follower counts, comment ordering across replicas3-4 — eventual consistency at scale
Boundary (Bn)Client ↔ API ↔ services ↔ CDN ↔ ML pipelineFull — complex distributed system
Authority (Au)Accounts, private profiles, block/mute, age restrictions3 — identity + role-based
History (Hs)Archive, data download, edit history (limited)1-2 — minimal history

What the 9 primitives CAPTURE: The entire backend architecture. Every structural concern is addressed.

What they MISS: The feed algorithm is the product's core value — and it maps to Access (Ac) at high levels, which is correct but doesn't distinguish "find data for the system" from "curate content for the human." The PRESENTATION to the user (visual feed, stories UI, reels player) isn't a separate primitive — it's not captured.

1.2 Fortnite / Minecraft (multiplayer game)

What a multiplayer game IS: a shared interactive world with real-time physics, player actions, visual rendering, and social dynamics.

App arch primitiveHow a game uses itLevel
Content (Ct)World state (terrain, entities, items, players), game rules, assetsFull — complex typed content
Shape (Sh)Entity-component system, physics rules, item properties, world formatFull — rigid structural constraints
Access (Ac)Spatial queries (what's near me?), inventory lookup, player search3-4 — spatial + attribute-based
Mutation (Mt)Player actions (move, shoot, build), physics updates, AI behaviorFull — continuous mutation
Propagation (Pg)Real-time state sync to all players, particle effects, sound eventsFull — this IS multiplayer
Coherence (Ch)Who shot first? Block placement conflicts. Server-authoritative state.3-4 — critical for fairness
Boundary (Bn)Client ↔ game server ↔ matchmaking ↔ account services3-4 — network boundary
Authority (Au)Anti-cheat, admin/mod powers, account permissions3 — server authority
History (Hs)Replays, save files, match history2-3 — partial history

What the 9 primitives CAPTURE: Server architecture, state management, networking, consistency.

What they MISS: RENDERING — the 3D visual output that IS the game experience. Also: real-time INPUT processing (controller/keyboard/mouse → game actions), PHYSICS simulation, and SPATIAL structure (the world as a navigable 3D space). These are continuous real-time processing concerns, not data management concerns.

1.3 YouTube / Netflix (streaming entertainment)

App arch primitiveHow YouTube uses itLevel
Content (Ct)Videos, metadata, comments, channels, playlistsFull
Shape (Sh)Video formats, metadata schemas, channel structure3
Access (Ac)Search, recommendations, browse, subscriptionsFull — recommendation IS the product
Mutation (Mt)Upload, comment, like, subscribe, create playlist3
Propagation (Pg)New video notifications, live chat, subscription updates3-4
Coherence (Ch)View counts, like counts, comment ordering3
Boundary (Bn)Client ↔ CDN ↔ API ↔ transcoding ↔ ML pipelineFull
Authority (Au)Accounts, age gates, content creator permissions, copyright3
History (Hs)Watch history, recommendations based on history3

What they MISS: VIDEO PLAYBACK — adaptive bitrate streaming, codec selection, buffering, seek. This is a continuous media delivery concern. Also: the RECOMMENDATION ALGORITHM maps to Access but is really a separate ML-driven concern.

1.4 Photoshop / Figma (creative tool)

App arch primitiveHow it uses itLevel
Content (Ct)Canvas, layers, objects, effects, stylesFull
Shape (Sh)Layer types, object properties, effect parametersFull
Access (Ac)Layer panel, object selection, search, property inspector3
Mutation (Mt)Draw, transform, apply effect, create layerFull
Propagation (Pg)Live preview, collaborative cursors (Figma)3-4
Coherence (Ch)Collaborative editing conflict resolution (Figma)3-4 (Figma), 0 (Photoshop)
Boundary (Bn)Plugin host ↔ renderer ↔ file system ↔ cloud (Figma)2-3
Authority (Au)File permissions, sharing (Figma), licensing2
History (Hs)Undo/redo — CRITICALFull

What they MISS: RENDERING again — the visual canvas, real-time brush strokes, GPU-accelerated compositing. Also: direct manipulation INPUT — how the user's mouse/pen translates into content mutations.


2. What's consistently missing?

Across all four case studies, the same gaps appear:

2.1 Presentation / Rendering

How the application shows its content to users. Visual display, audio playback, 3D rendering, document layout, video streaming. This is the OUTPUT CHANNEL to the human.

Every interactive application has it. Non-interactive applications (APIs, background services, data pipelines) don't.

Is this a missing primitive or a domain-specific concern?

Arguments for primitive:

Arguments against:

Assessment: Presentation is CONDITIONAL — like History. Present in interactive applications (most consumer-facing systems), absent in non-interactive applications (APIs, pipelines, services). It COULD be a conditional primitive alongside History.

2.2 Interaction / Input

How the user tells the application what to do. Click, tap, type, gesture, voice, controller input. The INPUT CHANNEL from the human.

Every interactive application needs it. Non-interactive applications don't.

Assessment: Interaction is the other side of Presentation — they're the input/output pair for human-facing applications. If Presentation is conditional, Interaction is too.

2.3 Are Presentation and Interaction one primitive or two?

In organism architecture: Sensing (Sn) = perceiving the environment. Response (Rs) = acting on the environment. These ARE two separate primitives.

In the abstract surface: Perception (Pr) and Action (Ac) are separate, and they form the Pr→Ac dependency (action depends on perception).

By analogy: Interaction (input from user) maps to the surface Perception role. Presentation (output to user) maps to... the surface Exchange role? Or is Presentation an Action (the system acting toward the user)?

Actually, the abstract surface has:

So Interaction → Pr and Presentation → Ac. Both are already in the abstract surface. The question is whether they're separate primitives at the app architecture level.

In the current 9 primitives:

But Access/Mutation are about the system's relationship to its DATA. Interaction/Presentation are about the system's relationship to its USER. These are different relationships.

2.4 The two-audience problem

The current 9 primitives describe the application's relationship to its OWN DATA:

Missing: the application's relationship to its USERS:

This is a real structural gap, not a domain-specific concern. The application architecture as currently stated describes the DATA MANAGEMENT surface but not the USER INTERFACE surface.

2.5 Why this happened

The v1 analysis derived app architecture from entity system extensions. The entity system's extensions are about DATA MANAGEMENT — Sync, Compute, Subscription, History, Content, etc. The entity system doesn't have a "render to screen" extension or a "process user input" extension because those are client-side concerns, not protocol-level concerns.

The fresh analysis surveyed what applications need but focused on STRUCTURAL concerns — what you deal with regardless of technology choice. Presentation/interaction seemed technology-specific (web vs native vs game engine vs CLI) rather than universal. But that's like saying "metabolism is chemistry-specific" — the mechanism varies but the CONCERN is universal for interactive systems.


3. Revised assessment

3.1 Option A: Keep 9, presentation/interaction are domain-specific

The 9 primitives capture application ARCHITECTURE — the structural concerns of building any data-processing system. Presentation and interaction are handled by a separate domain (UI architecture, which was already analyzed as {E, S, V, L, C, Σ} in the v1 analysis).

Application architecture + UI architecture = complete picture. They're separate domains connected by edges.

Problem: This makes "application architecture" = "backend architecture." The surface should capture what the WHOLE application does, not just the backend.

3.2 Option B: Add 2 conditional primitives (11 total: 8 universal + 3 conditional)

Add:

This parallels the abstract surface's 7+2 pattern. App architecture would have 8 universal + 3 conditional (History, Presentation, Interaction).

Problem: 11 primitives is more than any other surface (all have 9). The abstract surface has 7+2=9. This would be 8+3=11.

3.3 Option C: Presentation+Interaction as ONE conditional primitive

Interface (If) — the bidirectional channel between the application and its users. How the application presents to and receives input from humans. Encompasses rendering, display, input processing, direct manipulation.

This would give 8 universal + 2 conditional = 10. Still higher than other surfaces (9) but closer.

3.4 Option D: Reframe Boundary to include user boundary

Currently Boundary (Bn) captures component-to-component separation. But the application-to-user boundary is ALSO a boundary — the most important one for consumer-facing applications.

If we expand Boundary to include the user-facing boundary, then Presentation and Interaction become ASPECTS of Boundary at specific partial levels:

Problem: This overloads Boundary. The user-facing boundary is structurally DIFFERENT from component boundaries — it involves perception, rendering, input processing, which are qualitatively different from API calls and network protocols.

3.5 Assessment

Option A (separate domains) seems most consistent with the methodology. Application architecture IS the data management surface. UI/presentation is a different domain that connects to it. The entity system's arrangement might have:

Entity system substrate → App architecture (data management surface) → Digital ecosystem
                        ↘ UI/Presentation architecture (user-facing surface)?

But this makes app architecture NOT the full surface — it's a partial surface. In biology, organism architecture captures BOTH internal function (metabolism, homeostasis) AND external interface (sensing, response, communication). The organism surface isn't split into "internal architecture" and "external interface."

The biology parallel suggests the app architecture SHOULD include the user-facing dimension. Otherwise it's like having organism architecture without Sensing and Response — architecturally valid but missing the external interface that makes organisms functional IN THEIR ENVIRONMENT.


4. What this means

4.1 The app architecture may be incomplete as a surface

If we compare to the abstract surface:

The abstract surface roles Perception and Action are partially filled (data-facing) but missing their user-facing aspects. Exchange is unfilled.

4.2 What this means practically

For the entity system papers and the immediate analysis, the 9 data-management primitives are sufficient — they capture what the entity system's extensions address. The user-facing dimension is real but comes from the CLIENT SIDE, which the entity system doesn't specify (it's protocol-level, not UI-level).

For a COMPLETE application architecture domain analysis, the user-facing dimension should be accounted for — either as additional conditional primitives or as a separate connected domain.

4.3 For now

Keep the 9-primitive app architecture as the DATA MANAGEMENT surface. Note that the user-facing dimension (presentation, interaction) is a known gap that maps to the abstract surface's Perception, Action, and Exchange roles. Whether to add it as conditional primitives or treat it as a separate domain is an open design decision.

The digital ecosystem analysis may shed light on this — ecosystems care about what applications DO for users (their ecological role), not just how they're built.


5. The real applications positioned — what the lattice reveals

Despite the presentation gap, the lattice DOES differentiate major application types by their data architecture:

Application typeDistinctive positionWhat makes it structurally distinct
Social mediaAc-Full (algorithmic), Pg-Full (real-time), Ch3-4 (eventual)ACCESS is the product — the recommendation algorithm
Multiplayer gameMt-Full (continuous), Pg-Full (real-time), Ch3-4 (authoritative)MUTATION is continuous — the world changes constantly
Streaming mediaCt-Full (rich media), Ac-Full (recommendations), Pg3-4 (adaptive delivery)CONTENT delivery dominates — CDN/codec optimization
Creative toolMt-Full (direct manipulation), Hs-Full (undo critical)MUTATION + HISTORY are core — edit and undo
Enterprise SaaSSh-Full (complex schema), Au-Full (RBAC), Bn-Full (multi-tenant)SHAPE + AUTHORITY + BOUNDARY — governance
IoT/EdgeMt2 (sensor writes), Pg3 (telemetry), Bn3 (device↔cloud)Lightweight everything — resource constrained

The lattice positions are distinctive and informative even without the presentation dimension. The data architecture IS structurally differentiating — social media's "Access-as-product" is genuinely different from creative tools' "Mutation+History-as-product."

The presentation layer would ADD information (how the data architecture surfaces to users) but doesn't REPLACE it.