Organizing computer capabilities into applications and products leads to a situation where the user has to use the application as a whole, avoid using it at all, or be torn between using several applications, with each of them doing only part of the job.
Let us go back to the example with the scanner. Let’s imagine the user is faced with a choice between models A and B. Model A supports PDF scanning, but does not support text recognition. Model B supports text recognition, but does not support PDF scanning. The user needs a scanner with both functions. Despite the fact that these features are not connected in any way, the user will either have to buy model A and use third-party software to recognize text in scanned files, or buy model B and use third-party software to combine multiple pages into a single PDF document. Option number three is to buy professional scanning software which supports both scanners and both features, however, it will likely cost more than the scanner itself since it has many features that the user does not even need. In addition to the price, the feature-heaviness will also affect the ease of use, which makes it even more difficult to choose the best option.
When it comes to messengers, the user is forced to either use a certain product with all its advantages and disadvantages or switch to a completely different platform, since most messaging servers support a single client application. Often (for example in a corporate environment or other community with an existing preference), the choice is predetermined by the platform the recipients use, while the convenience of this program for a particular user has little if any significance.
The same problem arises when it comes to almost any type of software. When choosing an application for viewing images, the user has to compromise between format support, interface usability and visual appeal. When choosing a file manager, the usability of the main interface may conflict with the ability to integrate individual features, such as image preview or version control system operations. When selecting a task scheduler, the user may find out that some of them do not support flextime scheduling (e.g. related to the time of sunrises and sunsets) and others cannot bring the computer out of sleep mode. A browser with a user-friendly interface may work slowly or have problems viewing certain sites. Similar problems arise when selecting text or table processors, IDEs, media players and so on.
In Sivelkiria, it is possible to use ‘a fragment of a program’ as part of another solution. For example, one can choose a messenger GUI which is the most usable, and apply it to all messaging channels. PDF scanning software will be compatible with any scanner: once you install a module that supports converting a sequence of images to PDF, any scanning software will start supporting this format. The same applies to text recognition: even if the GUI of the software which was initially provided with a scanner did not feature a text recognition button, the user can use a different GUI that supports text recognition. When configuring the task scheduler, one can use any trigger types, not just those provided by its developer.