OOLOI.ORG
Menu

OOLOI

An Organism Evolved.

OVERVIEW

DOCUMENTATION

NEWSLETTER

And Only Then

9/1/2026

6 Comments

 
Picture
We have a new year, and it's time to make plans. Ooloi's architecture is now closed, and the work enters a new phase. What follows is a road map, not a schedule – no dates, no promises – but a logical progression.

These stages are different in nature from what has gone before. Conceptually simpler than the deep semantic work (what the music is, how it's represented and manipulated) or the infrastructure (server/client transports and roundtrips, monitoring, certificates). Everything below is comprehensively architectured and implementation-ready. The thinking is done; what remains is execution.

The Preparations

Event-Driven Client Architecture: The nervous system that lets the interface respond without freezing. (ADR-0022, ADR-0031)

Windowing System: Windows, menus, palettes, dialogs, notifications, connection status. The application becomes something you can see and touch. (ADR-0005, ADR-0038)

Multi-Mode Clients: Standalone operation, peer-to-peer connection, shared server connections. (ADR-0036)

Skija / GPU Rendering: The drawing substrate. GPU-accelerated graphics, paintlist caching, lazy fetching. The machinery for putting marks on screen. (ADR-0005, ADR-0038)

Hierarchical Rendering Pipeline: The transformation from musical structure to visual layout. (ADR-0028, ADR-0037)

Plugin System: First-class access from any JVM language. (ADR-0003, ADR-0028)

MusicXML: The first, limited version, implemented as a canonical plugin. Real scores entering the system. (ADR-0030)

And then – and only then – will the first staff line appear.
6 Comments
Roland Gurt
16/1/2026 17:17:58

Dear Peter, you list as the second point: "Windowing System: Windows, menus, palettes, dialogs, notifications, connection status." – does that mean it is yet time to talk about the user interface? Or is this a general implementation of possible UI elements?

I would certainly be interested to eventually hear your plans regarding UI and note input!

As I understand, Igor Engraver had a kind of "unified write and engrave mode" where you could create and edit and move everything in one pass? Is there a video or explanation of this in action? I think a lot of power users would appreciate this kind of flexibility, especially as many other notation programs are currently tending towards holding your hand a bit too much, restricting how fast you can work.

Another thing: I never used Igor Engraver, but I think it had these extensive symbol palettes with tons of very small icons: Am I crazy to think a lot of visual people today might actually like this kind of palette and the overview it gives (of course with a modern high dpi design) – in an age where it feels like every bit of UI (and web-design) indulges in wasting so much space on huge button fields and half-empty panels – perhaps Igor showed that you don't need nested menus or modes hiding most of your UI. Make the palettes user-customizable and this might enable very efficient workflows. A solid custom macro tool could also make it quite easy to create custom workflows, even for operations where other scoring programs have spent years making special functions.

Reply
Peter Bengtson link
17/1/2026 13:33:26

Dear Roland,

You’re correct – this first windowing phase is general UI implementation: windows, menus, palettes, dialogs, connection status indicators. Look at the list again and you’ll see it divides into two phases, with Multi-Mode Clients sitting between them. The sequence is deliberate.

Basic windowing must come first because I need the interface infrastructure to complete the collaborative architecture. Standalone operation, peer-to-peer connection, shared server connections – these deployment modes (ADR-0036) must work *before* music notation starts appearing in earnest.

The windowing phase also exercises an important constraint: Ooloi is substantially plugin-driven, and plugins must be able to define palette icons and dialogs on equal terms with the rest of the system. This means the palette flexibility you’re hoping for is foundational, not optional. Icon sizes, colour schemes, user customisation – the architecture must support these from the beginning because plugins will depend on them.

Regarding visual direction: Ooloi will use JavaFX with [AtlantaFX](https://github.com/mkpaz/atlantafx), specifically its Nord Dark theme. Download the [sampler app](https://downloads.hydraulic.dev/atlantafx/sampler/download.html), select Nord Dark, and you’ll have a reasonable sense of how things might look.

As for input: there is both a [blog post](https://www.ooloi.org/home/ooloi-flow-mode-revelations) and an architecture document ([ADR-0032](https://github.com/PeterBengtson/Ooloi-docs/blob/main/ADRs/0032-Flow-Mode.md)).

One clarification, though: Flow Mode and palettes are separate paradigms. In Flow Mode, palettes disappear entirely. Palettes were never the fastest way to enter music in Igor – they existed for beginners and occasional non-flow operations. Flow Mode was designed so an engraver could touch-type music continuously, without modal switching or visual hunting. Magnus Johansson, who probably knows Flow Mode better than anyone alive at this point, described it as ‘almost like playing a musical instrument’ – and that’s the intention. Staccato stays active until you turn it off; crescendos extend naturally as you continue writing.

As for dense palettes: you’re not wrong. Igor’s palettes were information-dense by design, and that stands in contrast to today’s tendency towards oversized, space-wasting UI. Ooloi won’t enforce a single doctrine here. Palettes will be user-customisable and plugin-defined, so efficient high-density workflows remain possible alongside more guided ones.

I’ll certainly be picking Magnus’s brain on the details when the time comes.

Reply
Roland Gurt
18/1/2026 10:05:29

That's great, thanks as always for your informative response! What you write about Flow Mode and Click Mode in the ADR sounds intriguing indeed. Best of luck for this new phase of development!

Reply
Magnus Johansson
27/1/2026 11:38:35

Will it be possible to run Ooloi with Nord Light instead of Nord Dark?

Reply
Peter Bengtson link
18/1/2026 22:50:10

Oh, it's all very natural. ;)

Reply
Magnus Johansson
27/1/2026 11:32:23

Hello, Roland!

If you want to, you can download, install and try out Igor Engraver Demo from this address: https://ia801503.us.archive.org/view_archive.php?archive=/18/items/igor-engraver-1-7/IgorEngraver1-7Demo.zip. This is the Windows version of Igor Engraver and it runs on 32 bit computers with Windows XP or older Windows versions, or on 64 bit computers with Linux or MacOS with CrossOver installed; see https://www.codeweavers.com/compatibility/crossover/tips/igor-engraver-17/installing-igor-engraver-in-crossover for installation tips.

Reply



Leave a Reply.

    Author

    Peter Bengtson –
    Cloud architect, Clojure advocate, concert organist, opera composer. Craft over commodity. Still windsurfing through parentheses.

    Search

    Archives

    January 2026
    December 2025
    November 2025
    October 2025
    September 2025
    August 2025
    July 2025
    June 2025
    April 2025
    March 2025
    September 2024
    August 2024
    July 2024

    Categories

    All
    Accidentals
    Alfred Korzybski
    Architecture
    Benchmarks
    Clojure
    CLOS
    Common Lisp
    DDD
    Death Of Igor Engraver
    Documentation
    Donald E Knuth
    Dorico
    Dynamic Programming
    Finale
    FrankenScore
    Franz Kafka
    Frontend
    Functional Programming
    Generative AI
    GRPC
    Igor Engraver
    Jacques Derrida
    JVM
    License
    LilyPond
    Lisp
    Localisation
    MIDI
    MPL 2.0
    MuseScore
    MusicXML
    Ooloi
    Ortography
    Pitches
    Playback
    Plugins
    Python
    QuickDraw GX
    Rendering
    Rhythm
    Rich Hickey
    Road Map
    Scheme
    Semiotics
    Sibelius
    Site
    Skia
    Sponsorship
    UI
    Umberto Eco
    Vertigo
    VST/AU
    Wednesday Addams

    RSS Feed

Home
​Overview
Documentation
About
Contact
Newsletter
Ooloi is an open-source desktop music notation system for musicians who need stable, precise engraving and the freedom to notate complex music without workarounds. Scores and parts are handled consistently, remain responsive at scale, and support collaborative work without semantic compromise. They are not tied to proprietary formats or licensing.
​
Ooloi is currently under development. No release date has been announced.


  • Home
  • Overview
    • Background and History
    • Project Goals
    • Introduction for Musicians
    • Introduction for Programmers
    • Technical Comparison
  • Documentation
  • About
  • Contact
  • Home
  • Overview
    • Background and History
    • Project Goals
    • Introduction for Musicians
    • Introduction for Programmers
    • Technical Comparison
  • Documentation
  • About
  • Contact