Oberon Object Tiler (2024)

Users spend less time dragging borders and more time interacting with content.

To help tailor the next steps for your project, please let me know:

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.

While Oberon never conquered the commercial market, the philosophy of the Object Tiler is seeing a massive resurgence today. Oberon Object Tiler

Most graphical user interfaces manage windows as overlapping, resizable frames. The Oberon System [1] rejected overlapping windows in favor of a tiled paradigm, where the screen is partitioned into non-overlapping, resizable rectangles called viewers . Each viewer displays a document or tool. The Object Tiler is the subsystem responsible for creating, destroying, moving, and resizing these viewers while maintaining a complete, gap-free tiling of the display.

During the draw call, the system looks only at the tiles visible within the camera viewport. It ignores all other tiles completely, achieving instantaneous hardware-level culling. Key Advantages for Developers

| Parameter | Description | |-------------------|-----------------------------------------------------------------------------| | layout | Defines the underlying grid/coordinate system | | packing | Tight, spaced, or overlapping placement | | anchor | Corner, center, or edge alignment | | wrap_mode | Clamp, repeat, or mirror when exceeding bounds | | collision_layer | Optional mask to avoid overlapping with existing objects | Users spend less time dragging borders and more

The Object Tiler divides the display into a fixed number of vertical columns (typically two or three depending on screen width). Within each column, viewers are stacked vertically. When a new viewer is opened, the Object Tiler does not allow it to overlap existing content. Instead, it calculates the available space within the target column and executes one of three strategies:

The Oberon Tiler does not just move windows; it executes the object under the mouse. The tiler provides the context , and the command provides the action . This is radically different from dragging and dropping files.

For developers, you can use the OBNC compiler (Oberon-07 to C) to compile a basic tiler stub for Linux. This is purely academic but demonstrates the recursive split logic in 200 lines of code. In Oberon, you open a document, and the

Rob Pike's 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.

This article explores the core concepts, technical architecture, performance benefits, and modern applications of the Oberon Object Tiler. Understanding the Core Philosophy

The Oberon operating system is a seminal piece of software history, created by Swiss computer scientist Niklaus Wirth in the late 1980s. The system was more than just an OS; it was a complete and highly integrated environment that included a modular language, a single-user operating system, and a graphical user interface, all designed in lockstep. The "Oberon Object Tiler" in this context refers to the system's core display manager and its object-oriented architecture, which was designed to manage windows as "tiles" or "viewers."