Oberon Object Tiler May 2026

Rob Pike's Acme editor (Plan 9) is directly inspired by Oberon. Acme uses a tiler for text windows. Developers who use Acme swear by the "mouse chording" and tiling workflow. Learning the Oberon Object Tiler is a gateway to Acme.

  • Flow layout (row/column wrap)
  • Packed/rectangular bin packing
  • Staggered/hex tiling
  • Recursive spatial tiling (quadtrees, BSP)
  • Constraint-based tiling
  • In the history of computing, the period between the late 1980s and mid-1990s was a fertile ground for bold, unconventional user interfaces. While Microsoft Windows and the classic Mac OS were solidifying the dominance of the overlapping-window, menu-driven desktop metaphor, a quieter but more radical system emerged from ETH Zurich. The Oberon System, created by Niklaus Wirth and Jürg Gutknecht, proposed a text-based, command-driven, yet highly interactive environment. At the heart of its unique user experience lay a component known as the Object Tiler. Far from a simple window manager, the Object Tiler was a philosophical and technical statement about document-centricity, spatial memory, and the nature of a "living" user interface. Oberon Object Tiler

    To understand the Object Tiler, one must first understand the Oberon philosophy: the distinction between an "application" and a "document" is artificial. In modern operating systems, you open an application to view a document. In Oberon, you open a document, and the tools to manipulate it appear contextually. Rob Pike's Acme editor (Plan 9) is directly

    The display was not a collection of floating windows with title bars and close buttons. Instead, it was a vertical stack of "tracks" (narrow system tracks on the left, wide user tracks on the right) containing a linear sequence of text and graphics. This was the domain of the Object Tiler. Flow layout (row/column wrap)

    The Oberon screen was treated as a single, cohesive "display file" or raster. The Object Tiler is the mechanism responsible for breaking this abstract display file into visual pieces and mapping them onto the physical screen.