Blogs
Using open source to scaffold knowledge
This came out of a need to develop a KNX monitoring system. KNX is a control and automation protocol that deals with not only the sexy but also the unsexy. It is binary-based protocol and defined as an ISO standard.
Since the effort to support it was significant we looked for a open-source library that supported it and MQTT (a need for future development) and offered a suitable level of abstraction. This in turn led us to knx.js which is a pure javascript library that supports KNX.
This allowed us to prototype the system within a couple of weeks as it not only addressed the protocol but it also provided access to device information in a consistent manner. This in turn was developed in the initial release of the system within two months that used the TICK stack for event management and Grafana for presentation.
Subsequently, we’ve had to develop an understanding of the protocol and in fact, we’ve contributed back to the open-source code base. Where many users are looking at one type of vendor we, by the very nature of the system are monitoring a number of vendors and this highlighted issues in kns.js code. Developing an understanding of the protocol allowed us to move to contributing fixes.
The use of open source has been significant to scaffolding the knowledge of the protocol itself. It allowed us to prototype the system quickly and to deliver a working system with little knowledge of the protocol. It provided the time and affordance to develop the knowledge of the protocol and in doing so allowed us to ‘ratchet up’.
For context see the InfoQ article - Using Emergence and Scaffolding to Address Complexity in Product Development
