Skip to content

Last updated: 2026-10-09

Quick lookup when a term in the docs doesn't ring a bell. Linked entries point to the deep-dive page.

Hardware ​

TermDefinition
Even G2The smart glasses themselves - dual 576×288 monochrome green micro-LED displays, temple touchpads, four-mic array, Bluetooth 5.2. Canonical name; "G2" alone is acceptable in code/UI but spell it out in docs.
Even R1Optional input ring - same touchpad gestures as the Even G2 temples (tap, double-tap, swipe up/down, long press). Delivered as ring input events alongside temple events.
Temple touchpadThe touch surface on each arm of the Even G2. Source of CLICK_EVENT, DOUBLE_CLICK_EVENT, SCROLL_TOP_EVENT, SCROLL_BOTTOM_EVENT, and LONG_PRESS_EVENT / LONG_PRESS_RELEASE_EVENT (SDK 0.0.14+).
Long pressA sustained press on an Even G2 temple or Even R1 touchpad. Reaches your app as LONG_PRESS_EVENT then LONG_PRESS_RELEASE_EVENT (SDK 0.0.14+, Even App 2.2.9+) whenever the OS does not claim the press for its own menu. See Device APIs → Long press.
Tap then long pressThe tap-followed-by-sustained-press that raises the contextual menu. Write it out in full whenever the menu is what is meant - not "tap and hold" or "press and hold" - and reserve plain "long press" for the SDK event pair.
Charging caseStores and charges the Even G2. The status light (white when ready, orange briefly on insertion) is the indicator for shipping mode.
Shipping modeLow-power state new Even G2s ship in to prevent battery drain in transit. Exit by dropping both arms into the plugged-in charging case until the case light comes on.

Software platform ​

TermDefinition
Even HubThe plugin platform inside the Even Realities phone app. Hosts third-party apps in a WebView and bridges them to the glasses.
Even Hub SDKThe npm package @evenrealities/even_hub_sdk - typed methods + event model for talking to the glasses from inside the WebView.
Even Realities AppThe Flutter phone app that hosts your plugin's WebView and relays SDK calls to the glasses over Bluetooth.
Developer portalhub.evenrealities.com - where you sign up, upload .ehpk builds, manage your app's tester list, and submit for review.
Developer ModeThe Even Realities App state where developer features (Scan QR, Private/Beta install screens) are visible. There's no toggle - sign in to hub.evenrealities.com/login with the same account, restart the phone app, and the developer section appears in the top-right of the Even Hub tab. See Enable Developer Mode.
BridgeThe JavaScript-to-native interface EvenAppBridge injected into the WebView by the SDK. Routes method calls to the phone app and events back.

Package format ​

TermDefinition
.ehpkThe Even Hub package format - a zip of your built web assets plus the manifest. Produced by evenhub pack. The current and canonical extension; older docs/Figma may show .ehp or .evenpkg (both deprecated).
app.jsonThe manifest at the root of every Even Hub project. Declares package_id, version, permissions, network whitelist, supported_languages, and more. See Packaging.
editionThe platform-contract version your app targets. Currently "202601". Bumps when the bridge or manifest schema makes a breaking change.
package_idGlobally unique reverse-DNS identifier for your app, e.g. com.exampleco.exampleapp. Lowercase letters and numbers only - no hyphens, no underscores, no uppercase. Permanent - once published, you cannot change it.
min_sdk_versionThe minimum SDK version your app supports. Declared in the manifest; required field.
min_app_versionThe minimum Even Realities App version your build runs on. Optional in the manifest - the CLI derives it from your SDK version at pack time and stamps it into the .ehpk. A plugin whose min_app_version exceeds the user's app version is blocked at open with an update prompt. See Auto-deriving min_app_version.

Runtime concepts ​

TermDefinition
Page containerA rectangular region on the glasses display that can show text, lists, or images. Apps render content by creating, updating, and destroying containers. See Page Lifecycle.
createStartUpPageContainerThe SDK call that produces your app's initial screen. Runs exactly once at boot.
textContainerUpgradeFlicker-free text update for an existing container. Use this for any in-place text refresh.
rebuildPageContainerFull screen redraw - flickers on hardware. Reserve for layout changes (adding/removing containers).
shutDownPageContainer(mode)Exit the app. Mode 0 = immediate; mode 1 = show the system exit-confirmation dialog (required for review).
zOrderIndexOptional stacking index on list/text/image containers (SDK 0.0.12+). Larger renders in front. All-or-nothing per page, values unique. See Display & UI System.
textColorOptional text-container brightness, levels 0-4 (SDK 0.0.14+). Not a color - the display is monochrome green. Omitted on create/rebuild means device default 4; omitted on textContainerUpgrade means unchanged. Distinct from borderColor, which is still 0-15. See Display & UI System.
Contextual menuThe overlay the glasses OS raises on tap then long press. Holds permanent system slots - Display off, Brightness, Close - plus up to 10 action items your app declares (SDK 0.0.14+, Even App 2.2.9+). See Contextual Menu.
menuObjectThe contextual-menu declaration attached to createStartUpPageContainer / rebuildPageContainer. Replaced wholesale, never merged; omitting it on a rebuild clears the menu.
menuItemClickEventThe event fired when the user selects one of your menu items. Carries the itemID you assigned and nothing else. Arrives on onEvenHubEvent regardless of which container has isEventCapture: 1.

Testing & shipping ​

TermDefinition
SimulatorDesktop window that renders the glasses canvas without hardware. See Simulator.
QR sideloadRun your dev server, generate a QR via the CLI, scan it with the phone app. Hot reload, but dies when the WebView backgrounds. See Local Testing.
Private build.ehpk you install to your own glasses for pre-submission smoke, launched from the phone app. See Private Testing.
Beta buildA private build promoted to the app's one beta slot. Installable by every Active tester on the app's tester list, appears on the glasses menu, and mirrors production lifecycle. Required for clearing review. See Beta Testing.
Testing groupThe name of the dev portal tab holding one app's tester list. It is a single flat list per app - testers cannot be split into named or separate groups. Addresses are invited by email and become Active once they accept; Active testers can install the beta build from their phone app's Beta tester screen.
PromoteChanging a build's tag by clicking it in the Builds tab: Private → Beta distributes it to the app's tester list, Beta → Public submits it for review.
Build tagPrivate, Beta, or Public - where a build sits in the Builds tab, and the control you click to move it. See Submission Flow.
Review statusWhat a build's tag turns into once it is submitted: In Review, then Approved, Rejected, or Published. The tag locks while a review is open. See Submission Flow.
Fix-forwardThe rule that published versions cannot be edited or rolled back - only superseded by a higher version.

Networking ​

TermDefinition
Network whitelistThe network array in app.json. An Even-side permission check that allows your app to fetch() listed domains. Does not bypass CORS.
CORSBrowser-enforced. Your WebView still needs Access-Control-Allow-Origin headers from any remote API - the whitelist is necessary but not sufficient.
AP isolationA Wi-Fi router feature that blocks device-to-device traffic on the same SSID. Common on corporate / guest networks. Breaks QR sideload silently. See Network & Firewall Setup.

Tooling ​

TermDefinition
evenhub (CLI)The npm package @evenrealities/evenhub-cli, also installed as eh. Covers the development loop: login, logout, self-check, init, pack, qr, create, upload, update, ls, promote, delist, testers, rm, download. Review and publishing stay in the portal. See CLI.
evenhub-simulatorThe npm package @evenrealities/evenhub-simulator. Standalone desktop simulator.
TemplatePre-wired starter pulled from evenhub-templates - minimal, text-heavy, asr, image. See Templates.