Ambulando
studio.otherstuff.ambulando.android
Pete Winn pw@primal.net A workspace for your agents and your team
Ambulando is the workspace for your agents and your team. It uses an NStack (Nostr Stack) backend so that you can control your own data. It provides controls through Chat, Tasks, Docs, Infinite Canvases and extensible Napplets. Enjoy and get in touch with feedback!
First release: Nov 12, 2026, 7 total releases.
Most recent release: Nov 12, 2026.
Appears in 0 app stacks.
0 sats / 0 zaps received in the past year.
Sats Received
Underlying data available via MCP: app_zaps, app_releases.
Zap Count
Underlying data available via MCP: app_zaps, app_releases.
Releases
- Nov 12, 2026 0.9.10Adds Ambulando Voice watch control: after one-time destination and Android permission setup, Record on the watch requests automatic Bluetooth-headset recording; Stop sends once to the saved conversation. A persistent connected-device listener keeps phone replies responsive in the background. Settings now has a compact status view, separate setup and an editable default prompt pinned to each recording. Retained audio, prompt and destination survive offline retry. Validated with native Android permission/setup and automatic recorder launch tests, background listener delivery, stale/forged request rejection, pinned-prompt retry, optimized Garmin SDK IPC and signed upgrade retention. Physical Garmin/GrapheneOS/AirPods locked-phone acceptance remains pending.
- Nov 12, 2026 0.9.9Fixes the Garmin recorder phone-confirmation flow. Open Ambulando after Start on the watch, choose Open recorder, then Start headset recording. The empty Bluetooth device chooser is removed; no additional association is required. Permission denial keeps the request recoverable, and the phone shows the saved request and outgoing reply state. Existing valid associations, account, destination and retained audio are preserved. Validated with native Android permission denial/retry, visible focused microphone start and missing-headset handling, retained audio and exactly-once retry, and optimized Garmin SDK IPC checks. Physical Garmin, GrapheneOS and Bluetooth headset recording still need device validation.
- Nov 12, 2026 0.9.8Fixes saving a paired Garmin watch when its cached connection status is unknown. Setup keeps paired watches available while disconnected and gives clear messages when a selected watch or channel disappears. Reconnect renews the Garmin listener; connection timeouts and failed watch acknowledgements are shown on the phone. Existing accounts, watch bindings and retained voice drafts are preserved. Also adds private Tower discovery across compatible NStack apps: choose a Tower and explicitly enable its accessible workspaces. Manual entry and workspace retry remain available, with corrected manual connection navigation. Validated with focused lifecycle and selection regressions and the production Garmin SDK IPC fixture. Physical Garmin, GrapheneOS and Bluetooth headset recording still require testing on the actual devices.
- Nov 12, 2026 0.9.6Fixes the Garmin incoming-message crash in optimized releases and normalizes Garmin app IDs so valid watch commands are accepted. Watch recorder setup now lives in Settings with a saved workspace, channel and watch selection, permission controls, change and disable. The chat composer no longer contains watch setup. Existing accounts, saved bindings and retained voice drafts are preserved by the normal signed update. Validated against canonical Garmin SDK Parcelables sent from a separate process, including reproduction of the original release crash and an in-place upgrade. Physical Garmin, GrapheneOS and Bluetooth headset recording still require testing on the actual devices.
- Nov 12, 2026 0.9.5Adds the Android companion for the Ambulando Garmin recorder remote: explicit watch/conversation binding, Bluetooth microphone verification, persistent session replay protection, automatic Finish upload through the existing authenticated outbox, and server-confirmed status. Start uses phone confirmation, or an optional companion association that opens a visible recording screen. This does not bypass Android microphone permissions. Reopen Ambulando if Android closes its process. Physical Vivoactive 6, GrapheneOS and headset compatibility has not yet been verified. The repository includes Monkey C source, protocol/setup documentation and build scripts. The watch source passes generic compiler/type checks, but the installable Vivoactive 6 PRG and store IQ package still require the developer to sign into Garmin SDK Manager and install its device profile. No Garmin Store submission or watch installation is claimed. Validation: core/app unit tests, lint, Android builds and editor preservation tests passed. Dedicated emulator tests cover synthetic companion launch, real Android missing-headset failure, offline draft retention and exactly one acknowledged send to the original destination. The existing screen-off voice test passed isolated; a combined suite run exposed one retained UI-state ordering failure. Emulator/synthetic results do not establish a working physical Bluetooth recording.
- Nov 12, 2026 0.9.4Paste screenshots and images from your keyboard clipboard or 2clip directly into the chat composer. Images use the existing attachment staging and upload flow; ordinary text paste remains available. Edit a message in the main composer, with tagging, mentions and attachment controls. Save and Cancel return you to your reply draft. Failed or conflicted saved edits expose recovery controls. This updates the existing Android installation using the same application ID and signing certificate.
- Nov 12, 2026 0.9.3- Send voice recordings directly as private message attachments, avoiding a conflicting File registration. - Retain audio until acknowledgement and recover saved new-thread sends with an explicit Retry. - Recover prior rejected audio through its verified original channel File, preserving signature and request identity. - Show sanitized message endpoint, HTTP status and error code for rejected sends. Publisher updated to Pete Winn. Existing Android APK unchanged.