Fully virtualized x86 operating systems on Autonomi. I’m working on a full Autonomi OS so that you can just log in on any machine and have full access to all your stuff & preferences.
Today I’m currently working on getting an alpine OS live too, that one won’t have a UI, will be more like a server, but you can still do most things with bash etc.
I believe this is a wasm file uploaded to the network and running in the browser.
At the moment, I believe there’s no way for wasm to talk to the network directly.
It could be done using one of the REST APIs though. I doubt that’s suitable for an OS, but you might be able to include Autonomi apps in the OS (as wasm) and they could then run in the browser and use HTTP to talk to the network, so maybe that is what @safemedia has in mind?
Yes the wasm files are stored on the Autonomi network. They are pulled down and instantiated in the browser. When you refresh your browser it will be a fresh instantiation.
While wasm is normally just for browser stuff, there are other things like WASI where people are allowing wasm to run outside of browser environments.
I know the Autonomi team were previously doing some investigation into whether an Autonomi client itself could be run in wasm within the browser. But yeah the most likely way would be to use REST to pull data from Autonomi either locally or via the endpoints.
The OS that I am building is not actually using wasm, and won’t be a virtualized x86 OS, but will be a webapp that looks and feels like an actual OS. This takes away a lot of the restrictions that come with emulation.
in my head I think about it as a browser OS, not affecting your local machine, that opens in a browser window (only in memory), you can log into it and it remember your settings, apps and files. When closing the browser window or exit then there is nothing stored on the local machine or memory.
It would be cool if you could boot into a online OS on start up, don’t know if possible, would be cool if you could have like a 2FA USB key, you choose log into ANT online OS on start up.
A wishlist for an online OS: Libre office, Note pad, media player, encryption tool like Veracrypt, Emulator for old games on Nintendo, Playstation and such, Crypto wallet.
That will then load all your settings etc that are stored on the network, and it will check to see if you have your files downloaded locally. If your settings & files are not already in sync, then it will offer you to sync.
Because I am making it as a webapp, I won’t have native programs but it will have a media player, browser etc. The webapp could also just be ran from a live usb that is running a live linux distribution if you want access to those native apps too They could access your autonomi files via some type of proxy (anttp etc).
Amazing work @safemedia Is this de-googled phones without needing de-googled phones? Instead of trying to convince people to buy expensive Pixel phones and flash LineageOS (which 99% of people will never do), you’re giving them digital sovereignty that runs on ANY device? Or am i missing something?
Mobile OS on the go from anywhere, is truly forward thinking! The power of Autonomi is about to be unleashed. Where will this take us? Great things to come. Cheers
Running different versions of Linux via wasm in the browser client side is pretty well researched territory I think
if done right it would be like a start center with user specific apps and hardware independent user environment
One could even try to offer it as a service on clearnet (and abstracting away all crypto related stuff from the user) => storing/fetching data through an api where the provider pays in AUTONOMI/ETH and charges in fiat on a monthly basis… All infrastructure you need for starting that service is one server with unlimited traffic to serve the os and the api…
… But I guess quite some work to get the software side with Autonomi integration running
Don’t you think similar functionality could be achieved by developing Autonomi FUSE storage drivers? Benefit would be a system running on true hardware, so more responsive and usable, with access to all the hardware?
FUSE support would be very with or without this VM. It would be very cool to use locally too!
EDIT: FWIW, mounting a pointer to an archive would probably get a good way towards this. Then when the archive is updated, the pointer could be updated to the new archive, etc. De-duplication can take care of not uploading existing files again. I say archive in the broad sense too (public, private, tarchive).
Scratchpads can be used to implement a file system with full delete and all. Basically each scratchpad becomes a disk block. For practical purposes it would want to be relative small, and if one wanted a mostly write once then a scratchpad only solution is not the way to go.