For months now, I have been thinking about features that I think should be part of a modern operating system. Some of these features are included in application software today, but for a variety of reasons, would be much more powerful if present at the operating system level. Here are 3 of them.
1. Document linking and tracking
Anyone who uses a tool like Obsidian knows about the power of linking between notes. One of the great features of a tool like Obsidian is not the ability to link to other notes in my vault, but rather Obsidian’s ability to keep the links updated when documents are moved around or renamed within a vault. It takes a load off my mind. I can rename a file and not worry that the links that point to the file will break. Obsidian handles management of all of that linking behind the scenes.
I would love to see this type of linking moved to the operating system level so that I could take advantage of it with any type of document anywhere on my computer. Suppose that in my Master Reading List spreadsheet in Excel, I wanted to make a link from a cell with the title of a book I’ve read to a Wolfram notebook with notes on that book. It would be nice to have the ability to create a link from one document to any other document on my filesystem. Depending upon the type of document, it would be great to link to a specific part of the document.
With such functionality at the operating system level, the operating system could manage the links. If I renamed the Wolfram notebook, the link to that file in my Master Reading List would be automatically updated. Moreover, since the linking would be managed by the operating system, the OS could maintain an index of linking that could be used for things like showing back-links (links that point to the current document) in the file properties of a file.
Obsidian fans might argue that I could get this functionality by making a vault of my entire filesystem. I see two problems with this. First, it would work only for markdown files managed in Obsidian. I couldn’t link from an Excel file to a Wolfram notebook. Second, it seems that linking would become a property of the filesystem, not the application level. In this case, the operating system is a better place for low-level monitoring and updating to take place.
2. Triggers on file events
A tool like Apple Shortcuts is surprisingly useful to create quick automations for repetitive tasks. I have used it for things like starting a workout or taking a nap. I even have a shortcut to ask Siri for the name of my kids’ friends’ parents, in case I forget.
One useful addition to automation at the operating system level would be to expose file event triggers. This would allow various automation to trigger on events that occur on a file. Such events include: creating a file, updating a file, deleting a file, renaming a file, copying or moving a file, etc. One could imagine these events having two properties: “before” and “after.” SQL database developers might recognize this function as analogous to table triggers.
With file event triggers, there are all sorts of automations I could setup. For instance, if I am working on a draft of a blog post, I could setup a file trigger on my file that acts on the “update” event. Each time I update the file, this event would get triggered. The event would allow me to specify whether I want to take an action before the update or after. I might trigger the “before” version to make a backup copy of my draft before the current version is saved to disk.
Of course, much of this functionality is available within application level tools. Scrivener allows for the saving of backups. Obsidian can maintain a list of versions that one can revert to. But there is an elegance and simplicity at extending this capability to the entire operating system.
3. Automatic searching for text within images
A modern OS should have the native ability to search text that appears in images. The latest version of macOS can recognize text in images and extract it, but it does not, so far as my experimentation has shown, search that text in a normal Spotlight search.
For this to work, an operating system first needs the ability to recognize text. macOS can already do this. The reason it can’t search the text as part of a normal operating system search is that it only performs the text extraction in the context of the image. You have to open the image in order for the text to be recognized. To make the text searchable, all images have to be indexed and text extracted as part of the indexing process. Moreover, when an image file changes, it needs to be re-indexed so the search text can be updated.
Searching for text in an image should combine multiple capabilities to be truly powerful. There are already tools that can readily translate from one language to another. When indexing text from images, the operating system should translate the text to the default operating system language. If my instance of macOS has a primary language setting of “English (US)”, then text extracted from images should be translated to English before they are stored in the index. This ensures that when I search files for the word “Airport,” images containing roadsigns in Greek that read αεροδρόμιο will show up in my search results.
This is my wish list for a modern operating system. What’s on your wishlist?
Written on June 27, 2023.
Did you enjoy this post?
If so, consider subscribing to the blog using the form below or clicking on the button below to follow the blog. And consider telling a friend about it. Already a reader or subscriber to the blog? Thanks for reading!