Designing a new operating system to be more efficient in information processing

Denis Obrezkov
5 min readSep 8, 2019

--

Goal

To allow users to efficiently work with information on their touchscreen devices.

How

Create an operating system and a working environment that utilizes advantages of touchscreen devices for information manipulation.

Essential information manipulation capabilities

There is a need to create, obtain, copy, store, search, protect, make backup of, visualize, link, remove information.

  1. Create information. A user should be able to create new information (write texts, record audios, shoot photos, copy from another app/place) in the most efficient way. Efficiency might be measured in number of taps needed for starting information creation process (lower is better).
  2. Obtain information. A user should be able not only to create information or copy it from other location but also to obtain information from sources even if they don’t provide it directly. Examples: to copy text from a picture using automatic text recognition, copy a picture by highlighting a region of interest and drag’n’droping it, to record a video from the screen. Also see “Information as a touchable object paradigm”.
  3. Copy information. It should be easy to copy information via smart highlighting with gestures. The system should make a reasonable effort to get the information from a source even if the source doesn’t want to share (see 2.). The efficiency of information movement (measured in number of clicks and in physical comfort of thumb movement, for example) is one of the highest priorities. Also see “Information as a touchable object paradigm”.
  4. Store (and get stored) information. The information should be stored efficiently from the point of view of human cognition. It is also should be easy to acquire the stored information. For example, this might be achieved via combining traditional hierarchical and modern tag-based file-system organizations. In this case, when a user wants to get information and remembers that it is a “photo” with “children” mostly “green” the system should make an effort to find the photo via tags. Tags, like “green”, might be created either by hand or automatically using an AI-assistant plug-in.
  5. Search for information. Information should be efficiently searchable, e.g. using tags.
  6. Efficiently protect information. There should be available mechanisms for protecting the information. It should be also possible to visualize the current level of protection. For example, it is possible to use tag-based security when a user tags files with required level of security, or when a user can cipher a file in 1–2 clicks. The tag-based security can be based on Multi-Category security from SELinux when only apps with a set of tags which is a superset of file’s tags can use this file. Example: App1 with tags “internet”, “good”, “vault” can access File1 with tags “good” and “vault” but can’t access File2 with tags “internet” and “vault2” or File3 with tags “internet”, “good”, “vault” and “money”.
  7. Back up information. It should be easy for users to back up information. “Easy” means that operating system provides user with tools for marking files as requiring backup. OS also promotes user to install some services to make automatic back ups. For example, a user have a touch-screen device with the Operating System followed this design guide and a host machine. The host machine should have the same operating system or the corresponding backup software. After connecting the device to the host machine, a process of making backup of the files marked as “required backup” should start automatically. The marking can be done with the support of tagging.
  8. Visualize information. It should be possible for a user to see all possible characteristics of its data: how much information user has, how well it is protected, from what sources it came, what information is unused, what information is most frequently used, what applications use what information.
  9. Link information. Information should be able to reference other information in the system.
  10. Remove information and services. It should be possible to remove information.

Paradigms for designing a new usable system

“Information as a touchable object” paradigm (1)

Treat information as an object. It should be possible to take “piece of information” — it might be a piece of text, a piece of a picture on the screen, an automatically recognized text from a picture, recorder audio or video. User should be able to highlight information as easy as possible, to move it from one app to another. Native apps should also provide API for drag’n’droping any information. Example: sms app should give either “sms object” (like COM MS objects), or text with all information, or visible text, or visible picture.

“Use intuitive analogies” paradigm (2)

A user should intuitively, based on his previous life experience, understand system tools. New tools is better to introduce via already formed real-world analogies.

Example: a copy-paste buffer, or clipboard, should be a visible analogy. Thus, it might be a place to where user can drag’n’drop some information, where might be several pieces of information lying at one moment, to where user can look and observe the content.

“Utilize your device to the full extent” paradigm (3)

Users own their devices, but those devices use-cases are constrained with operating system possibilities. Sometimes manufactures constrain their devices, so, a user can’t change the pre-installed operating system. The device should allow to install and run any operating systems, even run several of them simultaneously.

Essential apps

There are bunch of apps that are essential:

  • open bootloader and hypervisor — to bring the Paradigm 3 to life;
  • Linux kernel — to implement Security Tags, tag-based file-system, as an existing and stable solution;
  • Qt Framework — for a user interface, as a well-supported solution;
  • D-Bus — as a stable solution to implement paradigm 1;
  • Desktop Environment for touch displays — to implement Paradigms 1 and 2. Should provide devs with an implementation of API for inter-app communication on top of D-Bus;
  • tools for basic information manipulation: file manager with support of tagging, camera app, audio recording app, notes creation, tag-based search engine. The file manager should support all “Essential information manipulation capabilities” (1–10). All other tools should support some of the “Essential information manipulation capabilities” (1, 2, 3, 4, 6, 7, 9, 10);
  • office-suite with plug-ins for Paradigm 1 realization: a note-taking app, a calendar, a mail-client. All apps should support some of the “Essential information manipulation capabilities” (1, 2, 3, 4, 6, 7, 9).

System’s infrastructure

There should be created an infrastructure for improving quality of the feedback from a general user without any computer science skills. Two conditions should be met:

  1. The feedback report button should be available in any app in a consistent location;
  2. There should be a possibility to speed up wish delivery with monetary motivation. For example, if a user wants to have Feature1 in App1 from the developer Dev1, the user should be able to quickly locate the feedback button (due to its expected location) and after making the feedback to raise priority of this wish/feedback/task with donation;
  3. Targeted donations (donations for a specific task, feature, wish) should be endorsed and promoted, in order to improve overall open-source software quality.

Target devices

This should be an open-source solution with the main goal — to be efficient. Thus, though, the designed system should be able to run on low-end devices, the main target device should be powerful to achieve highest efficiency. Also, those devices should have a reasonable amount of sensors of a good quality, like microphone, gyroscope, accelerometer, camera, gps/glonass.

The screen size should be around 5" for a phone and 8"–10" for a tablet.

The device should have a matte display.

The thickness of the phone shouldn’t matter much but probably shouldn’t be thicker than 12–15 mm.

--

--