In late 2015, we started looking to update our Blink1Control GUI application for blink(1). The app has some strange UI choices, acts oddly on certain systems, and is hard to maintain. We started again looking for a solution to the problem we’ve tried to solve twice before: how to create a single cross-platform application that works well on every platform (including Linux). The app must integrate nicely with hardware and networking, have strong open-source backing, and can be maintained by a small staff (like one person, me).
It turns out there’s not a lot of solutions to this laundry list of desires. But we think Electron (the app framework created by GitHub and behind Atom and Slack) looks like a good choice. So for the last several months, Blink1Control2 has been in development and testing.
Redesigned “Event Sources” UI to more easily manage multiple ways to trigger blink(1)
Greatly improved File/URL/Script support
New “meta-patterns” for on-the-fly creation of color patterns
Redesigned UI that looks great on HighDPI/Retina systems
So many many bugfixes
New bugs we haven’t found yet
Features not yet in Blink1Control2
Battery / CPU / Network level checking
POP email support
Certain API server calls
Blink1Control2 is written in Node.js and Electron. Electron is an amazing open source system created by Github for using web technologies to write desktop apps. Its most famous example is the Atom text editor.
We’re very excited about the new Blink1Control2. One of the design changes was to make the “Event Sources” modular, so new event sources could be added easily. We’re not there yet, but we’re getting very close. If you have an idea of a neat event source we should add, let me know!
Twitter has a great API for searching through tweets. But it can also be a bit daunting if you’ve never interfaced with APIs before. In the Node.js universe, there’s a great package called “twit” that makes it really easy to use the Twitter API. And what better way to show off your Twitter API knowledge than to hook it up to a blink(1) light, which is just what @jbulava did with “twitter-streaming-blink1“. The code is a single well-commented file that needs only a few lines of code to do searches and acting on tweets.
The blink(1) IFTTT channel is full of fun and useful recipes to try out with blink(1). IFTTT has so many channels now that just about anything on the net can be turned into a blink(1) color. Here are some of our favorite IFTTT recipes:
Use IFTTT to make blink(1) flash when UPS packages arrive, or when a meeting is to start, or many other things. Hook blink(1) to your servers to announce their status. Or just make a pretty sunset color pattern to play at night.