Skip to main content

About Ideal

Modern desktop environments are built around applications. You open your email client to read mail, your calendar app to check events, your file manager to browse files. Each application defines its own world — its own window, its own navigation, its own way of presenting information. If you receive an attachment in an email and want to edit it, you save it somewhere, open the right application, work on it, and then figure out what to do with the result. The user is the glue between disconnected tools.

Ideal reverses this relationship: the user organizes their information however they see fit, and applications adapt to that organization.

The Vision

In Ideal, the desktop is an extensible file explorer that serves as the graphical shell. Everything the user interacts with — a folder, a document, an email, a calendar event — is visible and navigable directly in the desktop. There is no distinction between browsing files and using an application.

Applications still exist and do real work — syncing, rendering, processing — but they integrate into the desktop shell instead of running as isolated programs. When you navigate to your photo library, a gallery application presents it as a grid of albums. When you open a spreadsheet, the appropriate application displays it right there, in context. When you look at a music collection, a player renders it with artists, albums, and playback controls.

The key shift is in how actions work. Applications provide actions that integrate directly into the desktop. A document viewer offers actions like annotate, export, or print. A mail application offers reply, forward, archive. These actions are available wherever the data appears — inside a mail, as a file in a folder, attached to a project. The user doesn't think about which application to open; they see their data, and the relevant actions are there.

Consider a concrete example: you receive an email with a PDF attachment. In a traditional desktop, you download the attachment, find it in your file manager, open it with a PDF viewer, annotate it, save it, go back to your email client, and attach the result to a reply. In Ideal, you navigate the email in the desktop, see the attachment inline, use the annotation action provided by the PDF application right there, and reply — all without leaving context.

Core Principles

  1. The user organizes, applications adapt. The user structures their information however they see fit — folders, projects, collections. Applications adapt to that structure instead of imposing their own.

  2. The explorer is the desktop. There is no distinction between the file manager and the desktop environment. A single extensible file explorer serves as the graphical shell and the entry point for all interaction.

  3. Applications integrate, not isolate. Applications are fully capable programs, but instead of each running in its own world, they integrate into the desktop shell. They provide views and actions that become part of the desktop itself.

  4. Actions over applications. The user doesn't think "I need to open application X to do Y." They see their data, and the available actions — provided by whichever applications are relevant — are right there, in context.

  5. The CLI paradigm, brought to the GUI. In the terminal, the shell is the integration point and tools compose through standard interfaces. Ideal applies the same idea graphically: the explorer is the integration point, and applications compose through shared conventions instead of proprietary protocols.

The Vim/Emacs Analogy

If you're familiar with text editors like Vim or Emacs, you already understand the model. These editors start as a minimal core and become capable of almost anything through extensions. They operate directly on files, support composable actions, and let users build exactly the workflow they need.

Ideal applies the same philosophy at the desktop level. The key difference: where Vim and Emacs work primarily with text, Ideal handles all data types — email, calendars, code, music, images, documents, and anything else the user works with.