Whoa... I just thought of a paradigm shifting development for computing.

One-time, periodical, on-demand, and real-time data sharing between applications using user-definable data pipes, achieving a secure, memory safe, and more streamlined alternative to repeat clipboard operations. This would pair with a window manager so that very simple applications could be written and plugged into one another in wrappers to compose new applications.

Imagine ...

1. Two-way piping a Nostr app window into a signer app so the Nostr app needs no signature method, just a signature request/receive pipe fitting.

2. Maybe pipe in a Bitcoin signer with the invoice and CRM app to send payment requests to customers without needing to trust the CRM dev with your key, and that's plugged into an email app from a completely different developer.

3. A game app could have a renderer, but some raw data could be piped through another app and streamed via the internet as non-video data. The viewers would open the same renderer app and pipe in the streamer's data, maybe have their own setting and characters, rendered at far higher framerates and resolutions without increasing network load.

4. Do you like one app's interface but another's processing performance? Pipe between the two! Maybe pause one app to save resources, isolating performance on the one you're more interested in, and restart the processing app when you're ready.

5. Automated, custom data processing flow: Email app → filter app → CRM → Invoicer → Signer app → Invoicer → CRM → email app

6. Plumb a pipe to an AI processor and back to automate your workflow. Like a 3D modeler, to an image AI, to your image manipulator, and only then go to disk or email, not having to save-upload-download-open in-between.

Automate rather than copy-pasting, saving from one and opening in another, and do it in real time!

Yes, some of these can be automated using other services like zapier, so maybe it won't catch on immediately, but the power users might, and their higher performance due to it.

Reply to this note

Please Login to reply.

Discussion

The main paradigm shift is exposing interfaces to the user other than keyboard and mouse actions in-app, and anything more would be near exclusively a per application-pair basis. With this, the user can plug anything into any other thing with a similar data structure!

My idea is to build a wasm based VM with a distributed filesystem. Then over time add distributed io and compute. Imagine having your code editor available and running on all your devices without having to sync your code. Just move from laptop to desktop and pick up where you left off. The VM even moves the running code to the most effective core across all your machines.

That way compiling from your phone would automatically use your desktop etc.

It gets even more powerful if you have trusted contacts with mutual resource sharing agreements. They can act as an off-site back up as well as giving everyone with enough friends access to supercomputer like performance for highly parallel (and not too sensitive) workloads. Blender rendering for the masses!

This was *literally* my next idea! You have a few more things thought out, but the idea is to pipe data from machine to machine, so as to treat lower end devices as thin clients of the more powerful device by piping in data, so the compiler runs on the faster machine, and the editor itself runs on your portable laptop.

I really like the idea of baking in cluster management. Hot-swappable compute management could allow an office to scale compute without needing a server room. Your desks *are* the server room! Flippin' sweet.

Absolutely yes. If you need more storage or compute for your enterprise you can put a beefy machine on your network and just add it to the company pool.

It will be important to be able to make some tweaks to the company wide VM like making sure N copies of the Data exist.