You are browsing as a guest. Sign up (or log in) to start making projects!

1h 4m 6s logged

Devlog #6 — WebOS2

Devlog #5 was polish and honesty. This one is the opposite problem: the OS felt finished as a demo, not as a place you hang out. So WebOS2 = more apps, denser desktop energy, still client-side, still no React.

Why another wave

After the polish pass, ZtionixOS looked like itself — but the app list was still “Files, Terminal, Paint, music, a snake.” Fine for a fake OS trailer. Not enough if someone actually sits in it for twenty minutes.

I wanted media that isn’t only audio, something office-shaped, a real game, a Task Manager so End Task feels like an OS bit, and a dock you can rearrange instead of hardcoding pinned: true on every new toy.

Also briefly considered Spotify / Jamendo in ZMusic. Spotify needs Premium + their SDK for full tracks. Jamendo’s public test client id is suspended. Dropped both. Local VFS imports stay.

New apps

ZVideo — same idea as ZMusic: import into the VFS, sidebar library, <video controls>. Double-click .mp4 / .webm routes here.

Writer / Calc / Impress — people ask for LibreOffice. Full LibreOffice does not run in a browser without a remote server. I’m not shipping Collabora. So three thin ZtionixOS apps that cover the same jobs: rich text → .html (plus Export .txt), spreadsheet with a formula bar (=SUM(A1:A5), AVERAGE/MIN/MAX/COUNT, =A1+B2), slides with a Present button → .json. Inspired by the LibreOffice suite, not a fake bookmark to libreoffice.org.

Task Manager — open windows as “processes,” fake CPU jitter that wobbles every second, End Task hits windowManager.close. Double-click focuses. Pure OS parody, actually useful when something’s stuck.

Doom — the real shareware game via doom.wasm (jacobenget, GPL-2), canvas blit + keyboard when focused. The WASM has zero audio imports. First pass: synth beeps. Then extracted doom1.wad out of the same binary and play classic lumps (DSPISTOL, DSITMBK, DSSWTCHN…) on fire / use / menu through Web Audio. Mute button in the window. Still not full engine-synced audio (monsters won’t scream from the WASM), but the samples are the real ones. License note under public/doom/.

Photo Booth — webcam, a few filters, countdown snap, mirrored PNG into /home/user/Photos. Tracks stop on window close so the camera LED dies like a grown-up app.

Scientific Calculator — same Calculator app, Scientific toggle: sin/cos/tan (+ inverses), ln/log, √, xʸ, π, e, factorial, DEG/RAD. 67 secret still works.

Dock that isn’t frozen

Pins live in localStorage (ztionixos-dock-pins). Settings → Dock has checkboxes. Right-click a dock icon → pin/unpin. Drag pinned icons to reorder. Running apps that aren’t pinned still show temporarily so you don’t lose the window. Default pin set is curated on purpose — if every new app marks itself pinned the dock becomes a junk drawer.

How it still plugs in

Same kernel pattern as day one: AppManifest, launch() returns DOM, register in kernel.ts, file opens through getAppForPath. No React. Cursor helped move faster on the new apps and the WAD sound glue; I still review and edit everything so it doesn’t read like a template dump.

Honest limits

  • Big videos / audio can hit IndexedDB quota (same as ZMusic always could).
  • Office apps are intentionally thin — not ODF, not Collabora.
  • Doom SFX are real WAD samples on player actions, not full Chocolate Doom audio.
  • Live Vercel won’t show WebOS2 until redeploy.

npm run build and npm test still pass.

What’s next (maybe)

Nothing locked. If I touch it again it’ll probably be small: more Calc formulas, or accepting that Doom sound will never be 1:1 without a different engine.

(photobooth works its just i dont wanna show my face)

0
4

Comments 0

No comments yet. Be the first!