Thank you for posting! I’m looking. Forward to the new case too!
One thing I’ve wondered for a while: why did you decide to make kaleidoscope instead of qmk? I know you know qmk super well, so I’m really interested to know what you wanted to do differently. :)
Kaleidoscope was started by u/obra, I just happened to contribute... "a bit" here and there. The main reason for not using QMK was that he needed a firmware that works within the Arduino ecosystem, and QMK does not. The architecture of the two is also quite different, and not just because QMK is C, while Kaleidoscope is C++. Kaleidoscope is built around plugins, QMK is more monolithic. In practice this means you can extend Kaleidoscope with a reusable plugin without having to touch the core firmware at all. With QMK, you can have your keymap be separate, and implement a whole lot of things there, but sharing parts of that with others can done by either submitting it upstream, or copying.
In short, target environment (QMK: whole platform; Kaleidoscope: based on Arduino), architecture (QMK: monolithic; Kaleidoscope: plugin-based extensibility), language (QMK: Mostly C; Kaleidoscope: C++) are the chief differences now, but the first one was the reason Kaleidoscope got started.
A contributing factor might have been that at the time Kaleidoscope started, QMK did not have support for per-key LEDs, nor for any keyboard that had similar architecture as the Model01. Adding either of those to QMK would have needed more engineering effort than what was available at the time. Starting from scratch meant there's more wiggle room for experimentation, less pressure to "get things into shape for upstream".
Thank you for posting! I’m looking. Forward to the new case too!
One thing I’ve wondered for a while: why did you decide to make kaleidoscope instead of qmk? I know you know qmk super well, so I’m really interested to know what you wanted to do differently. :)
Kaleidoscope was started by u/obra, I just happened to contribute... "a bit" here and there. The main reason for not using QMK was that he needed a firmware that works within the Arduino ecosystem, and QMK does not. The architecture of the two is also quite different, and not just because QMK is C, while Kaleidoscope is C++. Kaleidoscope is built around plugins, QMK is more monolithic. In practice this means you can extend Kaleidoscope with a reusable plugin without having to touch the core firmware at all. With QMK, you can have your keymap be separate, and implement a whole lot of things there, but sharing parts of that with others can done by either submitting it upstream, or copying.
In short, target environment (QMK: whole platform; Kaleidoscope: based on Arduino), architecture (QMK: monolithic; Kaleidoscope: plugin-based extensibility), language (QMK: Mostly C; Kaleidoscope: C++) are the chief differences now, but the first one was the reason Kaleidoscope got started.
A contributing factor might have been that at the time Kaleidoscope started, QMK did not have support for per-key LEDs, nor for any keyboard that had similar architecture as the Model01. Adding either of those to QMK would have needed more engineering effort than what was available at the time. Starting from scratch meant there's more wiggle room for experimentation, less pressure to "get things into shape for upstream".
Thank you so much for the reply! I really appreciate what you’re putting into this. And I love the keyboards that you all are making!!