#CrazyIdea: an operating system that separates interface, computing and data into three different domains (Kinda like a Model-View-Controller framework, but as an operating system).
Data would be a familiar filesystem, possibly with databases added as first class citizens (i.e. a database would have a location in the filesystem and a basic query interface with optional advanced interface).
"Computing" would take care of the business logic of today's applications, and a computing module would make a list of actions available to the system, that would handle data/files/databases.
This is somewhat related to unix's CLI utilities, but with typed commands (actions) meant for other software rather than text commands meant for people.
"Interface" would be generic widgets or specialized apps that use the actions of computing modules to help people achieve their tasks.
@zatnosk So basically, in the Computing domain, expose a general API that includes utility/convenience functions on top of a basic SDK that take care of basic OS tasks?
@arturovm basically. It doesn't have to be a generic API, just that at least a subset of it is available from generic UI widgets, so you can have basic interaction. Bundling specialized widgets with a Computing module is fine, so long as the API they use to communicate is sufficiently open that other widgets or computing modules could be built as drop-in replacements.
The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!