3 ms·
A "application browser" based on p2p technologies like bittorrent. Its based on a (heavily modified) Chrome codebase, and the application sdk its in Swift and
by oscargrouch 7y ago
A "application browser" based on p2p technologies like bittorrent.
Its based on a (heavily modified) Chrome codebase, and the application sdk its in Swift and later also one for C++.
Apart from the application process use to remote render the UI, i have a "instance" process that run for the "apps" that works for handling the RPC messages (which is in gRPC).
The instance process, will expose the RPC interfaces as in a background service, where the RPC is designed by the app developer accordingly to its needs. (For instance it can even control when to launch the app window).
The RPC can be exposed to the outside or only internal, and im using the bittorrent DHT as an update service with a constant address that the app developer can share so others can install and update the apps.
The application is container like, where you can have key-value databases and files already there. So when you launch the instance process (aka. the service process) it can use this persistent layer as its state. Files, databases, assets, applications and the shared module to be loaded by the instance process will be all there already (as in zip, git or docker).
On top of that there will be the common window, the same as browsers, only that its shared by installed applications that was synced through torrent.
The cool thing is that giving theres a instance/daemon process for each app, they can run and handle RPC' s or network in the background and notify you about events, where you can optionally launch the app UI to see them.
(Eg. a messenger can receive messages via RPC, handle them in the instance process, and persist them without any UI, than let you know about it through the common window, where you can launch the new UI)
(Im also planning to let install in "standalone mode" where
it will install and be exposed as a ordinary app in the native OS)
The SDK will have direct access to the web layer, and it will be easy to develop a web browser for instance. The rendering layer is the same used by chrome and blink.
The biggest motivations to this, was not only something i've always wanted to have, but also political, as in civil rigts, giving it will give us more control of our digital lives.
Imagine a search index like Google only being able to index your contents if you allow them, and only what you want. Or the capacity to have your personal list of friends and the social networks will have access to the list if you want and not own them like they do now.
Im about to launch it in about a month, but giving i was already in a bad financial shape (because i have dived all the way for this project), now with the pandemic, i dont know if i can launch something really stable and finale, be it for health or the world economy nosediving (i hope it wont affect me that much and i can do at least this).