keyboardio / Chrysalis

Graphical configurator for Kaleidoscope-powered keyboards
https://github.com/keyboardio/Chrysalis#chrysalis
GNU General Public License v3.0
496 stars 64 forks source link

Consider dropping some of the devices we "support" #798

Closed algernon closed 2 years ago

algernon commented 2 years ago

We currently support - to varying degrees - the following devices:

The level of support can wildly vary. The Keyboardio devices are obviously well supported, so lets explore the state of the others.

Generic Teensy

This, I feel, is an almost completely useless device to support. The single reason its there is to allow us to flash firmware onto a Teensy-based device that isn't already running Kaleidoscope. That'd be the original Atreus, the ErgoDox EZ, and the OLKB Planck. We ship Kaleidoscope firmware for the former two, not for the last one. However, we can't easily select those shipped firmware from a workflow started from Generic Teensy.

That makes this "device" rather pointless. Maintenance of it isn't bad, we generally don't touch it at all. But it's still extra code we carry, and it feels a bit wrong to call it "supported". I'd propose we remove it.

OLKB Planck

This is another device we don't support well: we don't even ship firmware files for it. On top of that, Kaleidoscope only supports OLKB Plancks with an AVR MCU, a variant that has been obsolete for quite a while now. And if that's not enough, we do not provide a flashing method for OLKB Planck.

So to use this, one would need to own an AVR Planck, flash Kaleidoscope on it, and then use Chrysalis. Kaleidoscope's Planck support is pretty weak too: no LEDs, no audio, just the keys. As such, QMK is a more featureful firmware for Plancks.

Maintenance cost is little to none, but we don't really support this board in Chrysalis to begin with, so I propose we remove support for it.

KBDFans KBD4x

This is a keyboard that I bought some years ago because it had Underglow, and I wanted to use it as a testbed to improve our LED support, to handle underglow and other kinds of LED stuff that aren't per-key like on the Model 01 and Model 100. Nothing tangible ever came out of that, and the board is no longer sold, and it wasn't exactly popular, ever.

Like the Planck, we do not ship default firmware for it, and while the Kaleidoscope support for it is better than for the Planck, it's still a device no longer being sold, one that was never popular either. The Chrysalis support does not include support for the LEDs, so it doesn't even serve as a proper testbed at this time.

While maintenance costs are little, considering all of the above, I propose we remove support for it from Chrysalis.

SOFT/HRUF Splitography

This is a relatively simple, but also quite niche board, that is still being made. Unlike the Planck, we support everything on it that QMK does, and we also ship default firmware for it.

Unlike the devices listed above, we do have full support for this board. As the maintenance costs are little, I propose we keep it.

Dygma Raise

We never quite got to the stage where our support for it was on par with Bazecor (their fork of Chrysalis, taken into a very different direction). As far as I can tell, our support for the Raise bitrotted to the point of not being able to work with the actual product anymore. Our flashing story is certainly inadequate.

Seeing as Dygma Raise users are more likely to use Bazecor and their fork of Kaleidoscope, and we don't do a very good job of keeping our sides up to date, nor do we ship firmware files for the board either, I propose we drop support for it for the time being.

ErgoDox EZ

The ErgoDox is a popular board, and we have decent support for it in Kaleidoscope too. We do not support the LEDs in the more recent ErgoDox EZ Shines, but we do work fine with everything else. Our ErgoDox also supports any other device that is wired like the EZ: a lot of the original ErgoDoxen, and a number of Dactyls aswell.

While we do not support all features of the most recent EZs, we do a good enough job, and we ship default firmware for it, too, so I propose we keep it.

Original Atreus

Another popular board, and our support for it - both Kaleidoscope and Chrysalis side - are in a good shape, and we ship firmware files for it. We do have a bit of an issue with them: there are variants of the original Atreus that use HalfKay as a bootloader and a Teensy as an MCU, other variants use Caterina and a non-teensy ATmega23U4 MCU. While Kaleidoscope supports both, Chrysalis only supports the Teensy variant.

Nevertheless, as our support is reasonably good, and maintenance cost is little, I propose we keep it.

Summary

In summary, to reduce the code we carry around but don't test or maintain properly, I propose we remove support for Generic Teensy, OLKB Planck, KBDFans KBD4x, and Dygma Raise, but keep the rest.

obra commented 2 years ago

I'm good with that.