jasonwebb / openSipPuff

Simple, low-cost "sip and puff" USB interface for expressive interactions, enabling breath-based control of keypresses, mouse actions and much more using USB HID.
11 stars 4 forks source link

Look into using Electron to build friendly UI for configuration #4

Open jasonwebb opened 7 years ago

jasonwebb commented 7 years ago

I'd like to give non-technical end users the ability to reconfigure their openSip+Puff based on their personal needs. Right now if you want to make a "sip" trigger a mouse click instead of a keypress, you have to go into the Arduino sketch, make some alterations, then compile and upload new code to the Arduino. Not a huge deal for developers, but a UX dealbreaker for general end users.

Therefore I'd like to create a deployable desktop app for users that they can download and get started without any knowledge of coding or toolchain setup. There are many ways to do this, but since I am a UI dev by day I feel most comfortable using web technologies to get this done. I'm currently looking into using Electron to do this.

The biggest hurdle that I see to this approach is baking in serial communication support over USB. Electron is based on Node.js, which has a nifty serialport package that allows for this. However, for some reason that I don't quite understand yet, Electron is unable to make use of it. I've heard of some people have luck with explicitly compiling serialport within Electron, but I've not had the time to get that far yet. Will update this issue when I get there.