Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
Yanking this back into RC sex toys because damnit this thread is about my project... :3
So https://buttplug.io partially came from some of the idea that spawned the joke that is deldo.
If there's an experience people would very much like personalized, it's sex. So Buttplug is an experiment in "if we allow people to program their own toys, what will they do?"
And the answer is: A lot.
Now I'm still the lowest level of the stack here, my library depends on people know some sort of language. The library itself is Rust, and we have FFIs in C#, WASM, Java, and outside client libraries in Python, Go, Haskell. But none of those are simple enough for the regular user who just wants to make their own interface.
Some developers who can work with my libraries are making things like that though. There's https://xtoys.app, which is a full WebRTC enabled web/mobile app for remote toy control with some simple visual programming capabilities built in.
I'm also working on a dataflow ui system (think Max/MSP, Puredata, etc) for people to easily click/drag stuff together.
The main problem is convincing people that they want to spend ANY time, be it in usual program languages or visual DSLs, working to customize something for themselves for an experience that may be far shorter than the time spent customizing. There are always people who don't mind that, but they're the minority.
So finding a balance between all of this stuff is difficult. But it's fun to try.
One of the worst/best parts of buttplug is that I ended up needed to maintain my own Bluetooth LE library: btleplug (https://github.com/deviceplug/btleplug).
Worst because working with bluetooth is always THE WORST, best because of the submissions and community that've grown around it.
There's 2 types of PRs to btleplug:
- People going "here's a PR but uh, why is the library named btleplWAIT WHAT"
- People going "here is a PR specifically to fix something in Buttplug thank you"