Comment by boomskats
What you've built is a work of art, it blew my mind the first time I came across it. I love the completeness of vision (boomboom tss).
I've only just realised that you've opensourced it all so I haven't looked at the code yet, but a couple of Qs:
- is there anything that the old wave your fingers at the screen pose detect model did better the new screenpalm method? I always wondered if you were detecting the angle of motion (pronation?) for each finger to tilt its keywell, and I guess it's maybe harder to do that with the new method.
- have you ever thought about using the measurements for one hand to spot measurement outliers in the other? Would it ever make sense to generate a symmetrical keyboard from the combined measurements of both hands?
- have you thought about collaborating with other keyboard designers to add their designs to the app and give them a cut? For example the Cygnus[0] is a stunning keyboard; I'm not sure if it is parametrically generated, but I do remember thinking that I'd absolutely pay money to get one tailored to my hand geometry, and then wondering whether you could ever pull off building a designer marketplace/ecosystem out of the whole thing, maybe with a little sdk. It's one thing that the aliexpress copycat sellers can't copy.
Also somehow only just realised that you have a blog. I might go read it.
Thanks so much! Answering your great qs:
1) I still have the waving your fingers stage (it's after the screenpalm), but it now walks you through different finger motions so that the results are more consistent than waving your fingers all around. It's detecting then angle of motion, but I'm so far only using this for building the 3D hand model. The old method had better UX and fewer bugs, but the new one will more accurately measure the size of your hand.
2) I've never thought of that! I sometimes generate symmetrical keyboards for myself, simply because it’s easier to edit when both sides are synced. But I ultimately think it’s better to fit each hand independently.
3) The cygnus keyboard is super cool. I’ve made one and modified the STEP file to change the sockets. The fusion 360 files for it are published, so it likely has some parametrization but not anywhere close enough to achieve the flexibility of the Cosmos model.
There’s a tradeoff between customizability and how perfect the keyboard looks and feels. I’ve opted to go all-in on customizability, because to my knowledge no other keyboard design does this. I make as few assumptions about your keyboard as I can, so that Cosmos works with a single key, small mouse-like modules with a trackpad/ball and a few keys, or a proper keyboard shape. The downside is that what I’m doing is akin to teaching a robot to paint, whereas I’d compare designs like the Cygnus that place more constraints on the keyboard shape to a human painting. Until AI becomes sufficiently skilled at 3D design, the human painting will be more creative and skilled than the robot, and I can't bridge both types of design.