Apps from Excelano

Odox

Open, edit and save OpenDocument files.

Three small editors for the three OpenDocument formats. Open a document, a spreadsheet or a presentation, see it drawn the way it was written, change what needs changing, and save it back as the document it was. They do not talk to anything. For Linux, macOS and Windows.

Three editors, one for each format

OpenDocument is three formats rather than one, and a person opens a spreadsheet and a presentation through different doors. So Odox is three applications rather than one with three modes, each registered for its own kind of file, each with its own icon, and each small enough to open before you have finished letting go of the mouse.

Odox Text

Text documents, .odt. Draws the page at the width the document asks for, with headings, lists, tables and pictures where the document puts them, and an outline beside it. Click a paragraph to change its text where it sits.

Odox Grid

Spreadsheets, .ods. Draws the sheet at the document’s own column widths and cell styles, one tab per sheet, and shows the formula behind whichever cell you pick. Type into a cell to change it; formulas are kept and not edited.

Odox Deck

Presentations, .odp. Draws each slide at the size the document sets, with the master page’s background and decorations behind it and the shapes drawn from their own geometry. Drag a shape, resize it, or click its text and change it.

They change what is there, and nothing else

Editing means changing what is there, not authoring. You can type and delete text, split a paragraph and join two, enter a value in a cell, move a shape on a slide and resize it, take any of it back, and save. You cannot apply formatting, insert a table or a picture, edit a formula, or find and replace; for that you have an office suite. That is a smaller promise than most applications make, and it is the reason these open as quickly as they do.

Nothing is written until you press Save, and then only the file you opened or the one you named. No temporary file is left beside it and no backup is kept. The one preference the applications keep, whether a document opens ready to edit, goes into a settings file only when you change it; there is no recent-documents list and no cache.

A window opens reading. Edit mode, from the Edit menu or Ctrl+E, turns editing on, so a document you only meant to look at cannot be changed by a stray keystroke.

The whole document, not a summary of it

An editor that keeps only the parts it knows how to draw destroys the rest the first time somebody saves. Odox keeps everything. Every element, attribute and piece of whitespace in a file survives being read, including the ones it has never heard of, and what you did not touch is written back as it was read, element for element. The test that every document in its corpus comes back the same, and that an edit to any paragraph of it changes that paragraph and nothing else, runs on every change.

Before a save, what is about to be written is read back and compared with the document in the window, and a difference refuses the save rather than writing a document that would not come back the same. It is the most consequential decision in the project, and it was taken before anything could save at all.

The drawing is measured the same way. Each slide of a presentation is rendered by Odox and by LibreOffice from the same file and the two are compared colour by colour, because a renderer is the kind of thing that passes every test and still looks wrong.

Privacy

Odox makes no network connection of any kind. There is no server behind it, no account to create, no analytics, no telemetry, no crash reporting and no third-party service. It reads the file you open, writes the file you save, and writes nothing else. On the stores its privacy declaration is “Data Not Collected,” because the developer collects nothing and has nowhere to put it.

The full statement is at excelano.com/legal/#odox, and because Odox is open source, every line of it is verifiable in the source at github.com/excelano/odox.

How to get it

Debian and Ubuntu

Odox is in the Excelano apt repository. One package takes the whole suite:

sudo apt install odox

That installs all three applications and the odox launcher, which takes a file, works out which of the three reads it and becomes that one. The applications can also be installed on their own as xodt, xods and xodp. Setting up the repository is covered in the README.

macOS and Windows

On their way. The store listings are reserved and the packaging is built; what is left is the part that has to happen on each machine. This page will carry the badges when they are live.

From source

Odox is written in Rust and builds with a Rust toolchain alone; nothing in its dependency tree compiles C. The README covers building and the desktop integration.

Behind the tools

OpenDocument is not Excelano’s format. It is an OASIS standard and an ISO one, and the specification is the authority on every question about it; Odox restates none of it and is measured against it. Underneath the three applications is odox-core, a Rust library holding the package reader, the document model, the style resolution and the three bodies, with nothing in it that draws a window. It is a separate crate anyone can build on.

Above it sits one renderer rather than three. A paragraph inside a spreadsheet cell and a paragraph inside a slide are the same elements as a paragraph in a document, so they are drawn by the same code, and a correction to any of them reaches all three applications at once.

I wrote them because opening a file somebody sent you, fixing a line in it and sending it on should not mean launching an office suite and waiting, and because a small editor that keeps the whole document is a useful thing in itself. If documents your systems have to read are work your team is doing, it is the kind of work I am glad to take on.

Get in touch

For technical users

Odox is free and licensed under MIT. It is written in Rust; the library and all three applications forbid unsafe code outright, and the shared interface crate allows it in one named module, where macOS delivers a double-clicked document as an Apple Event. The repository is at github.com/excelano/odox, with its design document in DESIGN.md and its security policy in SECURITY.md. The format is specified by OASIS, and the corpus Odox is checked against is written by LibreOffice rather than by hand, so that what it is tested on is what an office application actually emits.

Support

For questions, bug reports, or feedback, email support@excelano.com. Replies typically arrive within one business day.

Issues and feature requests can also be filed directly in the GitHub repository at github.com/excelano/odox/issues.