Out of the Cave OS
The allegory of the cave
When I think of Operating Systems I think of Plato’s allegory of the cave. We, the users of operating systems like MAC OS or Windows, have spent our lives chained to the wall of a cave (the operating system). We watch shadows cast from the light of our fire to the opposite wall (the user interface) and we give those shadows names (applications or apps). The shadows (apps) are our (user's) reality.
Now, what would happen if one of those prisoners were freed from the cave? Would they not quickly understand that the shadows on the wall are not reality? Freed from the constraints of their operating system and the limited view of their user interface, they can now perceive the true form of reality rather than the manufactured reality of the shadows on the wall.
Just like Plato’s prisoners, no users of current operating systems even desire to leave their prison, for they know no other way of interacting with a computer (a better life).
In the allegory, the prisoners manage to break their bonds one day and discover that their reality was not what they thought it was. They discover the sun. Should OS users do the same, they will discover a new way of managing information through their digital machines.
How to see the sun
Unfortunately, I am not one of those prisoners who escaped from that prison that has been able to see the sun. But I might have seen a glimpse of it and I will try to explain it to you. There are different types of instruments or methodologies that can help to discover and imagine a different reality.
One of those instruments is one that a German futurologist, Matthias Horx, calls RE-gnosis: 'In contrast to the PRO-gnosis, we do not look “into the future“ with this technique. But from the future BACK to today.' This technique has also been used by Manuel de Landa in 'War in the age of intelligent machines'. And, without any kind of pretensions, also by myself in another blog called 'How a robot historian from the future sees the American revolution'.
Something similar has already been done in a movie from 2013 called 'Her', starring Joaquin Phoenix. The movie depicts a futurist scenario in which operating systems have become so human-like that the main actor falls in love with such a machine.
In this setting, users interact with computers by talking to them instead of clicking and keying. The systems’ level of intelligence has become so advanced that they can take over highly complicated tasks, for instance classifying emails by the importance to the user. This is an imaginable vision but not reachable yet due to technology constraints.
Another option is to reflect on your own or others' experiences with operating systems and eventually come to visions worth testing with the technology we have available today. Changes could be milled through a trial-and-error process to check upon acceptability.
This way of working is often practiced by smaller and independent organizational units that are more flexible, faster, and therefore more prone to experiment with new things.
Experiences and reflections
A recent advertising text from an app called Paprika reminded me of my vision for a new operating system, or at least for possible improvement. The text went like this:
"Who does not know it: You collect recipes from websites and magazines or get them from relatives. At some point, you no longer know whether the recipe you want is hidden in a browser bookmark, an e-mail, or somewhere on a handwritten file card. This is where Paprika Recipe Manager 3 comes into play. The app manages everything to do with cooking in one handy library - including your shopping lists."
I not only have this problem with recipes but with many things in my life. I would love to go through my filing system and reorder any information, regardless of type, by its content. Currently, we can put different types of files within one folder, but not all files, such as notes, or links to websites.
Furthermore, we cannot even interact with that information unless we open the app that allows the user to interact with that file. Going further, opening just one file in the app doesn't mean that we can work on another file that belongs to the same app. You need to open that file as well before being able to deal with its content.
I am writing this blog with an app called Scrivener, which is the only app I know for word processing that allows to group different texts by content and make them accessible and editable with only one click. Another thing this app integrates, just like Paprika, is a built-in web browser, which in turn means that I can group not only texts but also texts and web sites by content.
Two other Apps that group digital pieces of information by content are Evernote and Devonthink. These two apps not only collect and group different types of data sets by assignment to a folder -a hierarchy- but also by tagging.
My vision 1st STEP: Content First
My vision would be to convert a file system like 'Finder', Apple's macOS, into something with similar features as Scrivener, Paprika, Evernote, and Devonthink, i.e. a system in which content and not applications becomes the guiding element. This file system would look like this:
Storing information across data types
We would organize content into folders (with or without a hierarchy) just as we do now, but with additional information, just as when we use Devonthink or Evernote. This means we can add any type of information from any type of app, including notes or bookmarks.
It would also mean that the web browser and the file system are completely integrated. When you find a site that you would like to bookmark you can add it to any folder (or notebook) on the sidebar, which would also contain other types of data like text documents[1] .
There are many other pieces of information that cannot be grouped, for instance, a calendar entry, a reminder, a note. In this 'Content First' vision, any of this information can be grouped. This means you can find a folder named 'Travelling to Galapagos' with 9 calendar entries, 15 notes, 77 web bookmarks (or clippings), 3 reminders and 14 emails, 5 text messages.
Searching for any data anywhere
A very important activity concerning information is searching for it. A 'Content First' vision requires that searching is done independently of the borders offered by apps. This means that when I search for the keyword 'Galapagos' I would find all of the information contained in the notebook 'Travelling to Galapagos' regardless of type. This search function would also render search results for anything related to Galapagos anywhere else on the file system and the internet. It could break down information by internal and external information from the web and by notebooks (or uncategorized).
We are not that far from this vision. The search functionality is already available, only the storing of information needs to extend to file types that cannot yet be stored on current filing systems.
My vision 2nd STEP: Content is king, apps are servants
In the second step, the vision goes a bit further. In this step, we need to establish relationships between the data.
Establishing relationships
Another type of app I like to work with is mind-mapping tools. They allow the user to create very flexible, hierarchical, thought-provoking structures that can be easily reordered. The biggest benefit is the ability to sort things out and have a clearer vision of an issue.
The ability to do the same thing with all the different file types would be very useful. Instead of seeing a folder/notebook and subordinating to it 123 different types of files in a list, one would see the folder/notebook in the center and all the files organized in branches and sub-branches. This way it would be possible to order information again into sub-dimensions.
In the already used example about traveling to Galapagos, we could have one branch that groups all files concerning the travel equipment and another one grouping all files about accommodation, etc. The only difference to a tree with a main folder and subfolders is a better overview of the relationships. Furthermore, a mind-mapping tool allows you to create a connection between two branch nodes, which adds a relational-type database dimension to the structure.
Editing information
So far, any time anyone wants to edit data it is unavoidable to open the corresponding app. Usually, a new window opens, and the user has left the realm of interaction between different formats. The user no longer has an overview of all the other data that belongs to the same issue. And because pieces of data that have different formats have to go through a process of importing or exporting to come together, this means that:
Overview of relationships is eclipsed by the app frame
Time elapsed to open a file and work on content is too long
Different formats by different apps cause an unnecessary integration process when trying to mingle different types of content
But in our new vision 'Content is King and Apps are Servants' any content should be:
Viewable without losing the big picture of the elements and their relationships
Immediately accessible and editable
Integrable despite file type without any loss of comfort
Higher integration or immediate ability to edit
In my vision, all files should be editable to the greatest extent possible right out of the file system window without having to open an app and waiting for all its functionalities to upload.
If we think of an app as a group of functions, we can distinguish between different types:
Redundant functions: present in almost any app - save, open, share, and likely many others that are running in the background
Integration functionalities: necessary to integrate information from one type of format with another, such as import or export
Always-running functionalities: many apps are always up and running. For example, most people always have an email service running
BASIC App-specific functionalities not available anywhere else
ADVANCED App-specific functionalities not available anywhere else
The way operating systems work right now does not allow for files of different formats to be immediately accessible and editable right out of the file-system window. Immediate access would mean that all the apps for the files that are contained in one folder need to be up and running. For this to be possible a huge amount of energy and RAM type of memory needs to be available for every device.
So, for the vision Content is King, it is necessary to integrate more of the functionalities contained in each app into the Operating System. This is especially true for all the:
—> Redundant functionalities
—> Integration functionalities
—> Basic app-specific functionalities
—> Always on functionalities
Furthermore, apps should not be conceived and regarded as a big set of grouped functionalities that are on or off, all at the same time. They should be seen more as the extensions we are currently used to for web browsers or add-ins for office programs, and only on as we need them.
An example
In practice, it would look like this: a user inputs numbers into a table. This action is done right out of the file-system-browser window and on an 'information-input-sheet'. This 'information-input-sheet' is like a blank sheet of paper that combines all shared and basic 'information processing' functionalities of market-standard office programs. In the case of Microsoft: Word, Excel, and PowerPoint. In the case of Apple: Pages, Numbers, and KeyNote. A table and basic calculation, for instance, be it inside a word processor, a spreadsheet program, or a presentation or productivity program, is a functionality that should be offered in all OS and needn't be specific for each program.
More compatibility
Furthermore, different elements with different formats need to work together much more effectively, effortlessly, and in a more user-friendly way. For this goal to become reality, the OS system should:
First, lead in the setting of standards. This means that it provides more instructions and guidelines of what the common standard should be. Apple has been doing this for the hardware part of their products for many years. This company has usually been the first one to:
eliminate obsolete standards (removal of CD-Rom drive for instance)
establish new proprietary standards for the benefit of the user (lightning connector)
push new standards (implementation of USB-C standard)
Second, only allowing, pushing, and integrating into the OS new and innovative standards and formats that include a framework for communication and integration with other standards.
Heavy changes need to be made to a computer regarding hardware and software for this second vision (Content is king, apps are servants) to become reality. This vision is slowly becoming more palpable as digital systems are moving to a more cloud-based environment. Google has made a huge step in that direction with their Chrome-books, that offer highly cooperative and integrative processing functionalities.
It is conceivable that future OSs are only available on the net. Users could be able to choose them and let them have access to their local hardware systems. Right now, an open-source OS could include the standards of different hardware configurations and function from the net but with local access and working off-line setup.
Strangely enough, Apple seems to be going the opposite way in certain respects. Many of their apps offer the possibility to save files in an app repository. For instance, all notes are saved in a notes container without file-system access that allows a note to be grouped with content-related files. Furthermore, for file-system accessible files, some apps offer an app repository: for instance, a keynotes file without any specific content related grouping is automatically saved in a Keynote file folder.
Content, the whole Content, and nothing but Content.
This last step of the vision is the most radical one in that it eliminates anything 'technical'. That is the general flow of change that OSs have been going through since the inception of digital systems and over the last 50 years. OSs have constantly become more user friendly and less and less involving the knowledge of technical aspects for the ability of their operation.
The concept of an app is something technical. A user doesn't have to deal with the concept of an 'App' to create and transform content. For this matter we are going to create new concepts that will help us detach from the already known way of doing things:
content-pieces: this is any type of content anyone can imagine: text, numbers, image, and moving images (video), graphic.
file-browser-system: this is the organizational environment in which the relationship of different pieces of content becomes manifest. Here the user can see which content-pieces belong together by way of tags or groups and how they are hierarchically organized. This file-system-browser is the same as the one described in the first vision.
information-input-canvas: this is the place where the content-pieces are materialized and transformed.
functionalities: these are abilities to transform content-pieces. Most of these functionalities, or at least much more than the ones currently available, are already included in the OS. Anything else needs to be bought.
The following situation could be a working example of how this 3rd vision could materialize.
Creation and transformation of a content-piece
Cris creates a piece of content: a blog about his travel to Galapagos. This content includes text, images, and video, all laid out in a certain format. The whole blog, with formatting and layout, is done right out of the file-browser-system without having to open any other thing called app.
Cris wants to apply a Gaussian blur effect on one of the photos. This ability to transform this piece of content is offered for sale by Adobe and Affinity, amongst others. Cris can buy it right out of the file-system-browser for a small price and apply it immediately.
Before publishing, Cris wants to share it with his best friend Matthew. He selects the sharing button offered by the file-browser-system and out of a list of preferred contacts he selects Matthew. The sharing functionality offers an additional text field in which Cris writes a friendly request asking Matthew for his help revising his blog.
As a user, I am unaware of which apps or technical utilities the OS are using to share my blog draft. Whether it is using email, or messages or link to an online site is and needs to be irrelevant to the user.
Matthew receives a notification on his notification panel (file-browser-panel) about a new message from Cris. Matthew creates a new group called 'Our trip to Ecuador'. Matthew has the option to grab the draft-blog or the whole message. He chooses the whole message and moves it from the notification center into his newly created folder. The notification center stays unchanged.
Once placed in his new folder 'Our trip to Ecuador' he checks the mark: off-line because he wants to be able to read it while on the plane to New York.
Then he checks the reminder box of the copied message by Cris with a date. He creates another piece of content with his ideas about the trip and adds his note to the same group.
Cris has received the revised document by Matthew. He drags the returned file from the notification center on the right side of the file-browser-system and places it on top of his old blog-draft. The system gives Cris two options: Replace, Compare. Cris chooses to compare. He then gets a list of all the changes done by Matthew and accepts all of them one by one.
The blog about Galapagos is now almost ready to be published, it just needs to be translated into Spanish, so that the local friends from Ecuador can also read it. For translation, a new and fantastic functionality is buyable from a company called DeepL.com.
You download and install the DeepL translating extension. You mark the text and a pop-up window informs you about the price for exactly that amount of words with an AI proof-reading and fine-tuning to local expressions from the Spanish spoken in Ecuador. You press accept and pay with the already saved payment information. Within minutes a new content-piece is created, with only the text changed to Spanish.
Cris receives a receipt with the tags 'translation', 'English', 'Spanish', 'DeepL', and 'Date' on the notification center, which is automatically saved to the receipts notebook. Nevertheless, Cris drags the content-piece onto another one called 'Overview costs trip to Ecuador'. The receipt title and the costs are rapidly mapped to the column 'What' and the column 'Price'. The content-piece table adds another row and automatically updates total costs.
Cris changes the name of the content-piece translation received by DeepL.com and adapts the layout to the new language. Now there are two blogs in the Blogs sub-folder within the Galapagos folder.
Cris drags both documents to the corresponding folders for English and Spanish within the group named transoceanic.blog. The FBS gives two options: ALIAS and DUPLICATE. Cris only checks the ALIAS option because he wants to make sure that when he changes something on any file all content-pieces will be updated accordingly.
Whether the system is duplicating the content in the background is irrelevant to you as a user. This group is on the sidebar of the file-system-browser but and is at the same time a published internet site. The blog doesn't change a bit: it has the same layout and content as the revised and proofread blogs.
This last vision could have an iTunes-effect. The product used to be an LP or an album with many songs. iTunes atomized the product scope and its price. This las Nothing-but-Content vision could do the same for functionalities of apps. Instead of selling a fixed group of functionalities (app), we could have a fluid functionalities only market. Right now the market is slowly trying to move into a subscription of apps type of market. In my humble opinion, this type of commercialization of apps hasn't consolidated yet and is far from being accepted by a big majority of consumers.