I noticed in the recent announcement of Keyboardio Preonic that it will come with QMK instead of Kaleidoscope. Does that signal a change direction for all Keyboardio keyboards firmware?
I am not super into the keyboard scene so I don’t have a strong opinion on which is better. I love my model 100, just like my model 01. I played around with Kaleidoscope and I could certainly do everything I wanted to with it and seemed logically designed. As someone who does some programming, but certainly not embedded or C programming, I could pretty easy follow it and make the changes I wanted, but seems like the rest of the world has sort of standardized on QMK.
I definitely find myself conflicted about firmware. There’s a lot I like better about Kaleidoscope, but QMK has built a much stronger ecosystem and development community. They’ve been working hard to move keyboard definitions to be data rather than code, and have loads more device support than we do. As a small shop, it’d be very appealing to be able to put more of our resources to making and selling keyboards than maintaining basic firmware functionality.
We haven’t done even speculative engineering on this yet and my heart is definitely with Kaleidoscope, but it’s all going to come down to how we can deliver the best keyboards to the most customers.
That said, having talked to Jack about some of what they’re doing to make QMK more modular and maintainable, I do like what I’m hearing.
I have no idea whether these alluded changes to QMK firmware occured since I made my keymap three years ago. Nonetheless my understanding was that Kaleidoscope represented a quantum (excuse the pun) leap over that system. After all QMK already existed and the cited reason for Kalaedoscope was IIRC because it was felt either that the older system could not be adapted to what Keyboardio wanted, or simply that there was the opportunity to design something better.
So surely the perceived problems with QMK still exist today, and one might reasonably ask:
What were the problems with QMK at the time that made it better to build a new system than contribute fixes?
Whatever the claims for subsequent improvement to QMK, would these problems be locked in to retain backward compatibility?
This backward compatibility would surely limit the margin for breakthroughs in QMK. I would not want a keymap that had previously worked to now be broken if I tried to build it on the latest QMK. When one gets a keymap that works, I think most will forget about it for several years, until they need to make a tweak or replace a broken board. For this reason I think that if a fundamentally newer architecture is reqired a newer firmware should replace QMK, not try to drag QMK into the modern age.
Finally, I think the world of keyboards risks stagnation if there is only one firmware. It may not fall on the shoulders of Keyboardio to do that single-handed, but there certainly should be rivalry to ensure continued refinement. Think BSD and Linux. THe keyboard scene is quite boring now in some respects, with almost anyone converged around Cherry compatible switches and QMK. Keyboardio represented a breath of fresh air, with Matius (Alps) switches and Kaleidoscope firmware.
Whilst I have sympathy with having to ditch the problematic Matius switches, if Kaleidoscope is discarded, what then becomes the unique selling point of Keyboardio? Sometimes there are things whose value is not represented on the balance sheet.
QMK is open source, so I don’t see any concern. Also, there are many other “less popular” firmwares out there. So it will never just be QMK. The die-hard community could continue supporting Kaleidoscope on their own, if they wanted.
I stopped using Kaleidoscope on my Keyboardio Atreus pretty soon after I received it. At the time, QMK had many features Kaleidoscope didn’t. And I already used QMK for a couple of years with my Ergodox, so I wanted many of those features in my Atreus too. QMK was my only option.
The other hurdle for me was that Keyboardio software does not run under FreeBSD (my OS of choice for well over a decade). I can compile and upload QMK firmware without problems under FreeBSD.
QMK was a fork of an earlier firmware called TMK to which it added a whole bunch of whistles and bells. I suspect that TMK in turn predates Kaleidoscope, and whose design is unlikely to have anticipated the complexity QMK added. Sometimes it pays to be second!
I am on Haiku (albeit I have linux, mac too) on which the latest Arduino is not yet ported either, so I am in the same boat. Some might say why not just use Linux as a free Unix everyone else is using, but this is similar to your argument that the loss of kaleidoscope may not be so bed.