Skip to content

Repository files navigation

Set Rest Timer

Rest between sets without picking up your phone.

A rest timer for Even Realities G2 smart glasses. Finish a set, tap once, and the countdown runs in your field of view. When the rest is over the display lights up in front of you — no unlocking a phone, no looking for somewhere to put it down between machines.

Package id com.howard.evenlift
Version 0.4.0
Permissions none"permissions": [] in app.json
Network none; works in airplane mode
Languages English, Traditional Chinese
Licence MIT
Privacy & terms https://h2ocloud.github.io/set-rest-timer/

Status

In Review on the Even Hub. Not yet published to the public store. It runs today by sideloading the build onto your own glasses (see Build). Version numbers, screens and the privacy page here describe the build that was submitted.

What it runs on

This is not a native app. An Even Realities G2 application is a web page that runs inside a WebView in the Even companion app on your phone; the phone drives the glasses over Bluetooth. So the project is plain TypeScript + Vite, and it produces two surfaces from one codebase:

  • The glasses display — 576 × 288, 4-bit greyscale (16 levels), monochrome green waveguide. No speaker and no camera on G2, so every cue has to be visual. Input is limited to a touch bar on the temple: single tap, double tap (system-level exit), and swipes.
  • The phone page — the settings surface, shown inside the Even app.

Because the display is small and the glasses cannot beep, the timer uses a three-stage visual cue instead of a sound, and the last ten seconds flash so you can get back into position.

Screens

Glasses display, 576 × 288, captured from the official simulator.

Idle — tap to start Rest running
Idle Rest running
Final ten seconds (flashing) Time is up
Final seconds Alert

Build

Requires Node 18+. The Even Realities SDK, CLI and simulator come from npm as normal dependencies.

npm install
npm run dev        # Vite dev server on :5176
npm run check      # tsc + layout assertions (12 screens × 2 languages, pixel-measured)
npm run build      # tsc --noEmit && vite build  -> dist/
npx evenhub pack app.json dist -o SetRestTimer.ehpk

Run it in the official simulator (?lang= forces a language; the phone-page buttons are not clickable in the simulator):

npx evenhub-simulator "http://localhost:5176/?lang=en" --automation-port 9803

To try it on real glasses, serve the dev build on your LAN and pair over QR:

npx evenhub qr --url http://<your-lan-ip>:5176

then scan the QR code with the Even app on your phone.

.ehpk packages are build artifacts and are not committed to this repository.

Controls

One gesture on the glasses: tap always moves to the next stage — from ready it starts the rest countdown, during a rest it ends the rest early, and on the alert it dismisses it and returns to ready. So one set costs exactly one tap. Double tap is the system-level exit. The rest interval is set once on the phone page. There are no routines, no stats and no training log — deliberately; the design notes in docs/NOTES-zh.md explain what was removed and why.

Privacy

The application makes no network connections and collects nothing. The only value it stores is your chosen rest interval, kept in the app's own storage on your phone and removed when you uninstall it. Full text: https://h2ocloud.github.io/set-rest-timer/

Documentation

The design documents are written in Traditional Chinese and kept as they were during development, including the parts that record mistakes.

File Contents
docs/SA.md Requirements, scope decisions, what was cut and why
docs/SD.md Architecture, state machine, geometry, timing
docs/UIUX.md Layout, legibility measurements on the G2 font
docs/QA.md Test cases, screenshots, defects, and what was not verified
docs/NOTES-zh.md The original development README / version history

Licence

MIT — see LICENSE.

Not affiliated with or endorsed by Even Realities. "Even Realities" and "G2" are the trademarks of their respective owner and are used here only to say what hardware this runs on.


繁體中文

組間休息不用再掏手機。

跑在 Even Realities G2 智慧眼鏡上的組間休息計時器。做完一組 輕點一下就開始倒數,時間到畫面直接在眼前亮起來提醒你——不必解鎖手機,也不必在器材之間找地方 放手機。最後十秒會閃動,讓你有時間回到定位。

這不是原生 app。 G2 的應用程式是一個網頁,跑在手機 Even app 的 WebView 裡,由手機透過藍牙 驅動眼鏡顯示。所以整個專案就是 TypeScript + Vite,同一份程式碼產出兩個介面:眼鏡畫面 (576×288、4-bit 灰階、單色綠波導)與手機設定頁。G2 沒有喇叭也沒有相機,所以提示只能是視覺的, 這也是三階段視覺提示與最後十秒閃動的由來。

  • 狀態:目前在 Even Hub 審查中(In Review),尚未在公開商店上架。想用的話請自行建置後 側載到自己的眼鏡上。
  • 權限app.jsonpermissions: [],完全不連網,飛航模式下功能相同。設定只存在手機本機, 移除 app 即刪除。
  • 操作:眼鏡上只有一個主動線手勢——tap 開始休息倒數、再 tap 提早結束;double-tap 是系統級離開。 休息秒數在手機頁設定一次即可。沒有課表、沒有統計、沒有訓練紀錄,刪掉的理由寫在 docs/NOTES-zh.md
  • 建置npm installnpm run buildnpx evenhub pack app.json dist -o SetRestTimer.ehpk。 模擬器 npx evenhub-simulator "http://localhost:5176/?lang=zh" --automation-port 9803
  • 隱私政策與使用條款https://h2ocloud.github.io/set-rest-timer/
  • 授權:MIT。與 Even Realities 無隸屬關係,亦未獲其背書。

設計文件(docs/ 底下的 SA/SD/UIUX/QA)全部是中文,維持開發當時的原貌,包含記錄失誤的段落。

About

Rest between sets without picking up your phone

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages