Skip to content

Development Updates

Eric Dean edited this page Oct 4, 2026 · 5 revisions

Development updates

News about OpenNote, newest first. These entries are written for people who will use the app. The plan behind them is in Roadmap and status. Developers can find the details in Phase 1 spike results.

Oct 3, 2026: Wiki updated for beta 4

The OpenNote wiki is now updated to match beta 4. Every user guide page reflects what is built and tested, and a new Settings and Connectors page explains the six sign-in services that ship with the beta. The Home page points to the test checklist, Getting started notes that new pages have no date line, and Installing and updating clarifies that the beta exe is unsigned and has no self-update. The developer guide mentions the beta branch and shared build folder.

Oct 3, 2026: Beta 4 brings all phases into one Windows build

Beta 4 (version 0.1.0-beta.4) integrates every feature built so far into one test build. Phases 2 through 4 are merged from main, and Phases 5 through 12 have been wired into the app for beta testing. This build carries everything except release signing (Phase 14) and the final hardening pass (Phase 13).

The build includes 142 of 168 planned quality-of-life features, plus 11 smaller lanes and a new Connectors settings page. Only start-up was tested by agents; everything else is for hand testing. A test checklist guides people through each phase's features and known issues.

The three requests from the owner are in this build: new pages now show only the title and a gray "Changed ..." subtitle with no separate date box; text on lined paper sits on the rules with no rules cutting through text boxes; and the page area shrinks and grows with the window without leaving dead space to scroll into.

Beta 4 is available as OpenNote_Windows64.exe (version 0.1.0-beta.4, unsigned). See the test checklist for setup and results. The build is PR #16, not yet merged.

Oct 2, 2026: Phase 3 ships—document model and storage

Phase 3 merged into main today as pull request #9. The app now has a solid foundation for keeping your notes safe. Here's what's inside.

Your notes are plain files in a folder on your computer. One folder holds a notebook, subfolders hold sections, and each page lives in its own folder with a page.json that stores everything, plus a readable page.md copy, and an assets/ folder for images and audio. The specification lives in docs/format/ on GitHub and is complete enough for another program to read your notebooks.

Every save is atomic: the app writes to a temporary file, flushes it to disk, then renames it in place. A crash while saving can't damage a page. If the app stops unexpectedly, a small write-ahead journal records what happened, and the next time you open your notebook, the journal replays your work. The kill-harness test crashed the core 1,000 times while saving—with seeds triggering fails at random moments, just after a save step, and at armed fail points—and never lost or damaged a page.

Undo and redo work across text, ink, and every kind of content. Deleted pages and notebooks go to Trash, where they wait 30 days before being removed. Old versions of each page are kept in history and can be restored whole or by block. External edits are detected: if another program changes a file while your page is open, the app brings those changes in safely. Cloud folders like OneDrive and Dropbox are detected and handled so they can't corrupt a notebook. Scheduled backups run in the background, keeping sets under a retention rule.

The pre-merge review found eight issues, all fixed before the merge. Recovery meets its time gate on a quiet machine and within 97 ms on average. The app passes all property-based, fuzz, and crash-safety tests on the reference architecture.

Next comes Phase 4: the typed notes editor. While that work finishes, the cores for every later phase are being built in parallel—table engines, search indexes, ink rendering, audio recording, math parsing, import tools, and on-device intelligence—so phases can wire together quickly once the wiring layer is in place.

Oct 2, 2026: Phase 2 ships—app shell and navigation

Phase 2 merged into main today as pull request #8. The app now has a responsive three-pane layout (notebook tree, page content, details), light and dark themes that match Windows, a command palette and shortcut reference, first-run setup, the self-updater, and keyboard navigation throughout. All E2E keyboard tests pass, accessibility checks pass, and start-up meets the performance budget.

The pre-merge review found five issues that the team fixed: one prevented people from closing the app when notes couldn't be saved; another was seeding unwanted sample notebooks and claiming unsaved notes were saved; a third fixed deleting the old exe after moving the app; the fourth refused network and device paths for notes folders; and the fifth pinned the updater to GitHub rather than risking third-party hosts.

Phase 3 will bring the note file format, safe saves, crash recovery, undo, Trash restore, and page history. That work is in review and will merge as the next pull request.

Sep 30, 2026: Phases 2 to 14 move forward in parallel

With Phases 0 and 1 done, work on the later phases has started on separate branches, so several parts of the app grow at once. None of it is released yet, and each phase merges into the main branch only when it passes its exit gate.

Early work so far:

Phase Early work
2 The app's front-end skeleton, themes that apply before the window shows, the notebook tree with drag and drop, a Trash view, the command palette, and the update notice
3 The note file format specification, and the test tools for safe saves and crash recovery
4 to 6 The text editor libraries, the pen core (stroke shaping, pressure curves, erasers, and a lasso), and the paper backgrounds and page layout
7 and 8 A table and formula engine, sorting and filters, and a rebuildable search index with saved searches, backlinks, and tags
9 and 10 Recording the microphone and system audio to small files, recovery after a crash, and the math parser and grapher curves
11 and 12 Export to Markdown, HTML, and Word, text in images, handwriting recognition, and a transcription queue, all tested so they can't reach the network
13 and 14 Crash reports that you choose to send, a nightly test workflow, and release checks

A timers core for the planned timer tools is also under way.

Sep 30, 2026: Phase 1 results, the four spikes

Phase 1 ran four throwaway experiments. Each one asked a risky question before real code depended on the answer. All four are now answered and recorded as decisions.

Question The answer in plain words
Is pen ink fast enough in the web engine OpenNote uses? Close. On a fast 120 Hz screen, ink appeared about 14 ms after the pen moved, which is about one frame behind a plain Windows window. The team keeps the plan and will try two fixes in Phase 5. A check with a real Surface Pen and a Wacom tablet, filmed in slow motion, is still to do.
Can typing stay fast on a freeform page with several text boxes, zoom, and ink? Yes, with three rules. Long notes need their paragraphs drawn separately, and ink must be drawn in cached tiles. Drawing a key press takes under 16 ms. The screen adds another 9 to 14 ms before you see it.
Does a PDF match the page on screen? Yes, to within 1 pixel at the screen's own detail, once two layout rules are followed. Ink stays as sharp vector shapes. Long exports run in a hidden window, so typing never stalls.
Can OpenNote record the microphone and system audio together? Yes. The two sounds are kept as separate tracks, lined up by one clock. Three hours of one track takes about 44 MB. Windows sends no system audio during silence, so OpenNote fills those gaps.

Two checks still need a person with real hardware: the pen camera check, and the audio tests with headsets and a three-hour recording. The decision records cover ink latency, text on a freeform page, PDF export, and audio capture.

Sep 30, 2026: Release files get clear names

Pull request 3 settled what a release contains. Each release will carry one exe for each kind of Windows PC, named so that you can pick the right one.

File For
OpenNote_Windows64.exe 64-bit Windows, on most PCs
OpenNote_Windows32.exe 32-bit Windows
OpenNote_WindowsARM64.exe PCs with Arm processors, such as Snapdragon laptops

Each exe has a signature file beside it. The release also holds a small manifest, latest.json, which the app reads to find updates. You never need to download those two by hand. Later macOS and Linux builds will follow the same pattern, as OpenNote_macOS.dmg and OpenNote_Linux.AppImage.

The release workflow builds all three exes and stops if any one fails or is unsigned, so a release never goes out half done. See Installing and updating.

Sep 30, 2026: Phase 0, the foundation, is done

Phase 0 built the base that every later phase relies on. It has no features for note-takers yet.

  • An empty OpenNote window that opens with one command and uses the brand colors and fonts.
  • Automatic checks on every change: formatting, linting, type checks, tests, and a build on Windows.
  • A quality gate called CHECKS that reviews writing, code, and design tokens.
  • A release workflow that builds the Windows exes and publishes them when a maintainer pushes a version tag.
  • Templates for issues and pull requests, a code of conduct, and a record format for big decisions.
  • The license: Apache 2.0, so anyone can use, change, and share OpenNote for free.

Sep 30, 2026: The plan

The first pull request added the planning documents: research on popular note apps, the development plan, the brand and interface guide, the feature specification, wireframes of each screen, and CHECKS. Read them in the repository.

Clone this wiki locally