Isolation of programs: division of features

It isn’t rare for a user to be forced to use different applications to perform quite similar actions just because the infrastructure involved differs.

For example, the user may have quite a number of messengers installed on their smartphone, such as SMS, Skype, vKontakte, Viber, WhatsApp, Discord and others. All of them perform the same function of exchanging messages; however, the user has to remember which messenger should be used to message a specific recipient. This is system-level information rather than an application-level one. In the ideal world, the user should not be distracted by having to remember which application should be launched in order to be connected with a particular person: considering that each person is usually contacted via the same channel, the name of the contact is enough to start a conversation. Instead, the user has to perform two actions: open the messenger and select the contact. Sometimes, three steps are required. For example, vKontakte requires the user to open the application, switch to messenger mode and then select the contact. If there is more than one channel to contact a specific recipient, things get even more complicated. If the user needs to find important information (address, URL, flight no, etc.), they have to scan the message history in more than one messenger application, while trying to remember all the nicknames the recipient has and the dialogues in which the recipient is included.

Here is another example. When playing music on their computer, the user may need to stop it or go to the next track. Obviously, these actions have exactly the same meaning for music played from a file, CD, online music library, social network or video hosting service. However, there are different ways of doing it depending on the ways used to access the music: to stop a local player, clicking on a button in the notification area or on the floating panel can be enough, however, to stop music being played from the internet, one might need to go to the browser window, find a specific tab and click on a button on a web page. Some keyboards feature special keys for playback control, however, the pressing of these buttons is usually handled by the dedicated application. For example, if you have a player running on your computer that is in standby mode and you are playing music from the browser, then pressing the Next Track button on your keyboard will cause the player to start playing the next track and the music will continue playing in the browser.

To access files located on a local computer, on an FTP server, on a phone connected to your home Wi-Fi or on the Internet, you often need to use different applications, even though the operations performed are exactly the same.

When purchasing a budget-level scanner, the user often does not control what software features will be provided with it. Some scanners support saving a multi-page document to PDF, but other models only allow you to save each page as a separate image file. The same applies to the DJVU format support or text recognition. If the user has an old scanner that supports text recognition, but later replaces it with a new model that does not have such software included, it becomes impossible to perform text recognition despite the fact that the software featuring it is installed on the user’s computer.

In Sivelkiria, modules resolve application-level tasks and can be combined. For example, all dialogues can be securely accessed from a single interface without the need to use different messengers. Scanning all chats with a specific person in all messengers can also be done in a single window. Common interface (a playlist window or multimedia keyboard) can be used to control the active player. There is no need to remember the location of every track since all playlists are accessible from the same location. Any file manager would support file operations regardless of their location, even in situations that were not predicted by its developers. Text recognition software will work with any scanner or other source of scanned data.