KiConnect v1.0 Released
After many delays, both external and inadvertently self imposed, I’ve gotten KiConnect to a stable enough to call v1.0.0! Yaaaaay!
FPA Grant Wrap-up⌗
Over ambitions as ever… When I first wrote up the grant, I realized it was a lot, but as I was unemployed at the time, I thought I could manage… Then I got a job.
This was manageable for a while, I was even keeping up with my proposed live streams but as the responsibilities of my new roll grew my time was getting more and more crunched. And then I got involved in starting a local Repair Cafe. Good choices all around.
The Technical Issues⌗
KiCAD API⌗
I’m not a fan of protobufs, the KiCAD API is built on this, and in early development
it caused a lot of problems and really took the wind out of my sails. I got my issues
sorted out and thankfully it appears more stable with newer releases. Additionally,
despite my opinions on protobufs, I do have to admit I was kinda holding it wrong.
KiConnect v2 will abstract away many of these issues.
The documentation is a bit terse as well, I believe it’s generated from the protobuf
source, and it seems to kinda stop at some lower levels. On a protobufs upside,
it is highly consistent so it’s pretty easy to guess and verify in a REPL.
Bad Assumptions⌗
Some assumptions I made in the early stages ended up backing me into corner and I realized this was going to be really difficult to maintain if not addressed. At lot of this was related to trying to do too many things at one time.
Path to Simplification⌗
One of the bigger mistakes I made what the centralized API object, this was intended
to manage and communicate with multiple API connections, but in practice it ended up
being an unnecessary layer that I was fighting against more that it was useful.
Similar story with the Board and BoardSketch relationship. Duties between
the two we ill defined and awkwardly split. In v1.0 a lot of this has been mitigated,
the API object will be removed (it’s already hidden) and board outline will be
further simplified through early v1.x releases.
Next steps⌗
Being available in the Addons now I hope to get some hands on feedback and undoubtedly
bug reports. I’m already tracking many issues/features
and specifically dividing v1.x and v2.0. With v1.x focusing on greater stability
and reintroducing features that got stashed in order to get 1.0 out. I’m actively using
KiConnect in a complex project and I hope this will help determine where to focus efforts.
Look forward to hearing from early testers.