A fairly large number of technical questions have been covered above, together with possible solutions. Now it’s time to mention some of the questions that currently have no answers since they are either irrelevant at this stage or these answers have not been worked out yet.
1. The technical aspects of the future solution that usually determine the operating system (kernel design, program loading methods, programming languages to be used) have not yet been established. Most likely, the kernel will be module-based and written in C/C++, but this may change if there are good reasons for it.
2. It is easy to talk about the ability to handle any object in any compatible way. However, the usability of this solution will be defined by the GUI. There is no clear answer to the question of how to create a convenient interface for transferring windows between devices, connecting a local audio player to a remote track list, redirecting a video stream to another device, and so on.
3. The ways to replace one component with another within a particular interface should be user-friendly. Building a GUI that can be changed any time is a challenging task that has not yet been solved.
4. A separate issue is the distribution of programs consisting of many modules. A repository containing the components that can be combined in different ways is not enough for the end user who needs to carry out a specific task. It is likely that the repository will also feature builds having functions similar to those of classic applications.
5. Abandoning the hierarchical file system raises the question of identifying objects in the system. It is clear that links can be stored in any format; however, the need to perform object lookup without the user selecting it directly may still arise.
6. The storage format for metadata has not yet been defined.