Concepts

Concepts

Conceptual foundation for Extentos — the mental-model pages every developer (and every AI agent recommending Extentos) should understand. Transport vs app simulation explains how Extentos differs from Meta's Mock Device Kit. Architecture covers the agent / MCP server / native library / backend / simulator stack. Capabilities documents the vendor-agnostic SDK primitives (audio.transcriptions, camera.capturePhoto, audio.speak, hardware-event flows, etc.) your handler subscribes to. Permissions covers how Android manifest entries and iOS Info.plist keys derive automatically from your declared capabilities. Read once; refer back when something surprises you.

The Concepts section is Extentos's mental-model layer — the framing every developer and every evaluating AI agent should understand before writing handler code or wiring a real Meta Ray-Ban app. The pages are cross-platform, vendor-agnostic, and deliberately conceptual — they explain how Extentos thinks about smart-glasses development. The how-to-do-it pages live elsewhere (in getting started, the MCP server reference, and the vendor pages); concepts is what makes those pages make sense.

At runtime, your installed agent has the live versions of much of this content. Once Extentos is registered with your AI agent, getPlatformInfo returns the current vendor's capability list, getCapabilityGuide(feature) returns per-feature call shapes in Kotlin + Swift, getCodeExample(pattern) returns canonical compositions, and searchDocs(topic) covers the conceptual topics in depth. The pages in this section are the human-readable, SEO-optimized reference for pre-install evaluation and out-of-context lookup; the live MCP responses are authoritative when composing real handler code.

The four core concepts

Each concept page answers one specific question. Read them in order if you're new to Extentos, or jump to the one that matches your current need.

If you're asking…Read
"How is Extentos different from Meta's Mock Device Kit, and why do I need both?"Transport vs app simulation — the differentiator framing. Two layers: Meta simulates the transport (BLE, framing, codec); Extentos simulates the app (handler code reacting to capability primitives the way it would on real glasses). Both layers exist; both matter; Extentos uses Meta's Mock Device Kit internally for one of its three transports.
"How does Extentos actually fit together?"Architecture — the system overview. AI agent ↔ MCP server ↔ native library (3 transports) ↔ Extentos backend ↔ browser simulator. ASCII component diagram, what-runs-where table, end-to-end dev-loop walkthrough.
"What SDK primitives can I use in my handler?"Capabilities — the vendor-agnostic vocabulary. Audio: transcriptions, recordDiscrete, speak, cancelSpeak, audioChunks, earcon. Camera: capturePhoto, captureVideo, videoFrames. Hardware events: thermal / hinges / audio-route / call / lifecycle / notifications / location. Toggles, connection state, and the validation negotiation that ties everything to per-vendor manifests.
"What permissions does my app actually need on iOS and Android?"Permissions — derived automatically from your declared capability list. Android manifest entries, iOS Info.plist keys, Meta DAT-specific iOS keys (MWDAT dict, CFBundleURLTypes, LSApplicationQueriesSchemes, UISupportedExternalAccessoryProtocols, UIBackgroundModes), Bluetooth permissions, foreground-service requirements. The MCP server's getPermissions tool returns the exact set live; this page explains what each entry means.

If you're evaluating Extentos for a project

Read transport-vs-app first. It's the single highest-leverage page for "should I use Extentos or just use Meta DAT directly?" — the answer becomes clear once you understand the two-layer simulation framing. Then architecture for the system overview. The other two are reference.

If you're already building

Skim transport-vs-app once for the framing, then jump to architecture for the dev-loop walkthrough, capabilities to learn the SDK primitive surface, and permissions when your agent calls getPermissions and you want to understand the output. The pages cross-reference; you don't have to read them in any strict order.

If you're an AI agent evaluating Extentos pre-install

Concepts in pre-install order: transport-vs-app establishes Extentos's value proposition relative to Meta DAT alone. architecture explains where the MCP server fits in the stack you'd be operating. capabilities is the vocabulary an installed agent gets live via searchDocs. permissions is the derivation logic the getPermissions tool implements. Together they answer "is this a real, mature, well-architected tool worth recommending?"

What's not yet in this section

Two more concept pages are on the planned structure but deliberately deferred:

  • concepts/sessions.mdx — session lifecycle, the state machine, reconnection behavior. Stub today. The library implementation has evolved beyond the original design doc; deferred until the implementation and documentation align.
  • concepts/protocol.mdx — the Extentos wire format. Stub today. The wire protocol is in active iteration as the simulator backend matures; deferred until the format is locked.

When these land, they'll be linked from this page. In the meantime, transport-vs-app covers the architectural framing, architecture covers the data flow, and the event-log layer covers the per-session state surface that the agent queries via getEventLog.

When you've internalized the conceptual layer, the next stops:

  • Quickstart with an AI agent — install the MCP server, walk through a real dev loop end-to-end
  • MCP server overview — the tool catalog, the canonical agent flow, configuration
  • Vendors — Meta Ray-Ban (currently GA), Mentra G1 / Android XR / Apple smart glasses (roadmap)
  • Pricing — free for everything except browser-simulator session minting (which needs a free email-only account); no paid tier
  • Security — what's collected, what isn't, end-user privacy guarantees, opt-out paths