Skip to content

QR installation and device testing

Scan the QR code or enter the address manually to download Studio's ZIP to the phone. At startup, the App checks the glasses' Flash cache and sends the GMP over Bluetooth only on a cache miss.

Understand the two separate connections#

ConnectionResponsibilityHow long to keep it available
Computer ⇄ phone: LANThe phone downloads the complete ZIP from Studio. The QR code provides the computer's installation-service address. The LAN only carries the transfer; the App still checks the current developer account and application ownership.Until this download finishes. The computer must be online again for subsequent updates by scanning.
Phone ⇄ glasses: BluetoothThe App first matches and validates the glasses cache. On a hit, it starts the cached plugin. On a miss, it transfers the GMP, writes Flash, validates and commits the cache entry, then starts the plugin. Messages and data are exchanged during runtime as needed.Keep connected during installation and runtime. After a disconnection, follow the App's prompts to recover or restart.

Step 1: connect the App to the glasses and prepare the LAN#

  1. Charge the glasses, unfold the temples, put them on, and keep them powered on. Enable Bluetooth on the phone, open MemoMind App, sign in with the developer account that owns the application, connect the glasses, and confirm that the App shows them as connected.
  2. Connect the computer and phone to the same mutually reachable LAN. The phone must not rely solely on cellular data.
  3. Allow Studio through the computer's firewall on the current LAN. If the system requests network permission, allow it according to your network policy.
  4. On iOS, allow local network access if prompted. Scanning also requires camera permission.

Step 2: open Studio and wait for the ZIP and QR code#

  1. Start desktop Studio for your OS: open the EXE on Windows, or launch the installed MemoMind Plugin Studio application on macOS.
  2. Import the complete toolkit workspace first. On Mac, import it each time you reopen the application. Complete prebuilt examples can be selected directly; after source changes, build first, then refresh and check the names on both sides.
  3. When you select plugins, Studio automatically prepares the current combination's ZIP and QR code. Wait for “Packaging…” to finish. If “Packaging failed” appears, check the log first; do not keep using an old QR-code screenshot.
  4. Check the application package path and IP:port beside the QR code. Keep Studio open and prevent the computer from sleeping.

Step 3: scan or enter the address in the App#

  1. Open Settings → Memo Lab → Developer Workspace. On your first visit, confirm the development-testing notice as prompted.
  2. Tap “Scan to open application”, grant camera permission, and scan the QR code. If the camera is unavailable or scanning is inconvenient, enter the IP address and port at the bottom of the page and tap “Connect”. Manual connection does not require camera permission.
  3. Wait while the App checks the signed-in account against application ownership, then downloads and validates the application. Check the downloaded name and review and approve the requested permissions. An account mismatch prevents opening the application.
  4. After saving the application, the App starts it. A complete Flash cache match runs directly; otherwise, the App transfers the GMP to the glasses over Bluetooth, validates and commits it, then starts it. Wait for the final startup result. You can later tap “Start” or “Stop” in the list.
  5. The glasses application should appear on the physical display. Applications with a Web component also open a page on the phone.

Without the camera: reuse or edit the installation address#

  1. For the first manual connection, enter the IPv4 address shown in Studio and a port from 1–65535. You do not need to enter the mmapp+tcp:// prefix.
  2. A scanned address fills the input fields. The most recent address is saved and restored next time. If it is unchanged, tap “Connect” directly; otherwise, edit it before connecting.
  3. The connection downloads the ZIP currently served by Studio, not a fixed plugin from the previous scan. After switching plugins, wait for packaging to finish and check the name of the new download.

Step 4: confirm that it really worked#

  • GMP application: the glasses display and button responses are correct, and the App reports a successful start.
  • Web application: the phone page initializes, and clicking the example button produces the expected change on the glasses. A normal-looking phone page alone is not enough.
  • Paired application: requests and replies arrive, and the protocols and channels match on both sides.
  • Stop and restart successfully. After this initial validation, follow the next section to test operation away from the computer.

Run the saved application again later#

Your situationOperation
The application has already been downloaded by scanning, and you are still signed in to its owning accountOpen Developer Workspace in the App, confirm that the glasses are connected, and tap “Start” on the saved entry. You do not need to scan the computer's QR code again.
Download succeeded but start failedRestore the connection or resolve permission issues first, then start the saved entry. If the entry is missing from the list, return to Studio and scan again.
Running another pluginStop the original application in the App, then start the entry you want to test. Confirm that the list shows the intended application running.
The computer is off, or the phone has left the original Wi-Fi networkSaved applications can be started again from the App. Plugin features that use a server still require the appropriate network connection on the phone.
The glasses have just restartedPut the glasses on again and keep them powered on. Restore the App connection and start the saved application. Restarting does not clear the Flash cache: a cache hit loads and runs directly, while a missing or invalid entry requires retransmission from the phone.
The App has switched developer accountsSaved applications remain associated with their owning account and are not transferred to the new account. Switch back to the original developer account to view and start them.

QR updates: names, files and data#

Studio's current local cache ZIP path includes a content digest, while the scanned download may use a stable application name. Different computer paths and phone filenames do not necessarily indicate different versions. Check both the version and the actual changed behavior.

Applications, saved entries, and their data are bound to a developer account. The current companion App replaces a same-name local entry under the same owning account while preserving that installation's data ownership. Renaming and scanning again may create a new entry. Developers cannot open each other's applications even on the same LAN using the same QR code. Use different names when testing different applications; do not rely on an identical manifest id alone to predict replacement.

Web authorization is tied to package contents, so an update may require permission confirmation again. See the Web SDK data documentation for runtime data retention rules.

See below for glasses image identity, version, and cache rules. An update by scanning starts the package currently supplied by the phone.

After each code change#

  1. Save the source code → rebuild the side you changed.
  2. Update the current selection in Studio: refresh workspace examples, or use “Import application package” to select the latest separately imported GMP / MMPKG. Check the pairing and wait for packaging to finish.
  3. Scan again using the owning account, then check the name and new functionality. The current companion App updates entries by name. If you changed the name or use an older App, confirm that the newly downloaded entry is running.
  4. After validation passes, keep this complete ZIP for future scanning and device retesting.

Reference files in the toolkit#

  • GlassSDK/docs/INSTALLATION.md
  • PhoneSDK/docs/web-plugin/lan-install.md