Next project musings
Posted by Jeff Disher
Next project musings
Now that Cacophony development has essentially wrapped up, I am trying to figure out what the next project should be.

Maven on IPFS: Years ago, I was working with someone to build a way to publish Maven resources onto IPFS, using the Aion blockchain to communicate the locations. Lately, I have been wondering if I could do something similar in a purely IPFS way. Basically, if I could just define an entire Maven repo, just as a directory structure (since IPFS has a mechanism for that), and then use IPNS to allow updates to the content, then this would probably work quite well. This would also be insanely simple since it would really just be some documentation, examples, and a few utility shell scripts. Might be worth doing, if I want to distribute anything. Still, some experimentation required.

WebRTC signalling server: I am annoyed that all the web communication systems require some kind of intermediary with account management and who knows how much snooping. The browser and internet connection are doing all the heavy-lifting, so why isn't this more like a phone call? I have wondered about building out a simple signalling server to test WebRTC (I could probably just hack up an existing example to test this out) to see if it is feasible to run general WebRTC usage completely without a TURN server. I am not sure how bogus the modern internet's routing is, so I have no idea. While it could be useful, this project isn't actually interesting since it is either front-end or machine configuration.

Cacophony -> static blog tool: It might make Cacophony adoption and easier sell if there were simple tools to allow it to be the authoritative source of other data projections. It seems like it would be relatively simple to make a script which could scrape a Cacophony channel and write it out to a static blog site. This would require some limits (you don't want to host the videos) and design decisions (do replies need a parent context?) but might be an interesting utility.

A public-private key-based IP stack prototype: Looking at how things like IPFS work, it got me wondering if the entire internet could be based on self-assigned public keys, and a purely dynamic routing cache through the entire back-bone. While no tooling would be able to use such a stack, natively, I could probably put together a shim to allow access into it (at least for HTTP).

Generic voxel-based game engine/prototype: I don't have any background in game development but I was wondering if I would be able to build a sort of generalized voxel-based engine, of sorts. This would be a generalization of an idea like what we see in Minecraft, but scaled out in 3-dimensions, allowing multiple "worlds" to exist in the same space and even interact or collide. It would be quite ambitious but potentially interesting.

Cacophony "lite": Cacophony adoption would likely be easier if people didn't have to download the entire reference implementation and run it locally. Instead, it should be possible to run a simplified version (no followee synchronization or video processing) purely in-browser and served from IPFS. That said, I think that some configuration of the daemon is required to allow a page it is serving to access its API server. I would need to do some experimentation to see if this would be convenient or just trading one kind of bootstrapping overhead (download the server) for another (making strange IPFS config changes).

I think I had a few other ideas but they escape me, at the moment. I will see what else comes to mind before getting underway.

Jeff.