A couple of weeks ago I was disturbed by a colleague while debugging an amateur 15-year old document parser, equipped with a badly buggy debugger. I was very displeased, but I realized I couldn't blame my colleague; I rather realized that now that I work in an open office, I need a way to indicate to colleagues when they shouldn't disturb me.
So I searched for devices which would allow me to turn on some red light when I need extreme focus. I quickly found Plenom's kuando Busylights. The hardware seemed great, and the price was right. I was about to buy when I realized the lights had a single year of warranty. Which made me question durability. I can afford shopping and setting up a device once, but I can't do that every third year.
I saw that Plenom offers a manual color control application for Microsoft Windows and "Mac / OSX". But I realized there was nothing for GNU/Linux. In addition, the source for the application wasn't provided. At the bottom of the download page was a reference to an interface specification:
At that point, I was disappointed to see that Plenom didn't offer any code nor support for GNU/Linux, but thought that with its SDK and interface specification, Plenom was close to an acceptable level, and figured that if Plenom was OK with it, I could patch this small flaw by publishing the specification on this website. So I sent the following message to Plenom:
I am interested in obtaining an availability device such as Busylight, but will not buy a product for which documentation is confidential. If you commit to offering a Manual changer for GNU/Linux or if you licence the USB API documentation as freely redistributable, please let me know.
Plenom courteously sent the following reply:
Thanks for your interest in Busylight.
I have attached the USB API documentation, as well as our SDK License Agreement.
While it isn't mentioned in the agreement, we consider the same terms and conditions to apply for the API documentation. That is, you're welcome to redistribute software made with the SDK or API as long as it's for use with the Kuando Busylight units.
If you ask for the API and I send it to you, you are welcome to share it with a friend. The reason we want people to write in first, is so that we can be kept up to date on which Busylight developments are taking place. This way, we can market our products to users of applications we haven't developed for, but third parties have developed for themselves.
Feel free to contact us.
Rasmus Sørensen, The Busylight Team
(The mail included documentation, but I cannot provide it here.)
I was disappointed that Plenom didn't offer redistributing, but found Plenom's concern justifiable, and its reply very courteous, so I tried finding a compromise with the following reply:
I understand your concern.
My concern is to invest in a product, to have Plenom go bankrupt or otherwise abandoning Busylight, and to eventually end up with no controlling application supporting the system I will be using, and being unable to provide the necessary documentation to developers who would be willing to invest in the development of a new application, forcing me to write a new application myself.
Would you agree to making the API documentation freely redistributable, but with a usage requirement to inform Plenom of the development project before using the documentation, so that both of our concerns are addressed?
To my surprise, the next thing I heard from Plenom was a message in my voice mailbox (even though I hadn't provided my phone number), from Mitch Friend, president of Plenom Americas, who said he wanted to talk about my development project. Duh
I called back anyway and started by basically repeating my last message to M. Friend, explaining that I didn't work in a call center and would be paying from my own pocket. The funny part came when M. Friend reassured me that his company was in great health, so there was no reason to fear bankruptcy. He claimed I was the only one who had asked about this so far, visibly trying to convince me I was at the faulty end of the conversation. Then came the worst part. M. Friend asked if I would do the same with Microsoft and ask them to change their policies. I was caught off-guards and failed to point out that I wasn't asking Plenom to change its policies, or that most of Microsoft's hardware implements the HID protocol, or even that Microsoft had interest in keeping the cross-platform support of devices as low as possible.
The conversation certainly didn't help convincing me to get a kuando Busylight, but it had a bit of constructiveness when M. Friend mentioned there was some Busylight-related code available on GitHub.
Ultimately I didn't get any permission to redistribute the documentation, nor any further explanation of Plenom's apparent unwillingness to help itself. I even realized after that Plenom requests personal information just to let you download their end-user software. At that point, it seems safe to conclude that Plenom won't offer either redistributable source code or interface specification for kuando Busylight anytime soon.
After giving up on kuando Busylight, I searched a little for alternatives. I found a couple:
The first is not USB and apparently in a very different category, specific to phones, so not an option for me. As for Blynclight, it seems worse than kuando Busylight. There is visibly no support for GNU/Linux, no source for any controlling application offered, nor even any specification
So, if you're aware of a well-working and reliable availability display device, please let me know. (Meanwhile, if you see me stepping through a stack tens of levels deep, feel free to find someone else to discuss your backyard.)