Hi Jason Kridner,
I am Ky, a grad student from UBC Canada. I am looking for a project proposal for this year GSOC and found that the Beagle Boards really interest me because of its rich I/O interfaces. I would love to work on the node-webkit starter application since I have both experiences on NodeJS and JavaScript. I made a CoAP proxy in NodeJS and CoAP client in JavaScript in my MS thesis (CoAP: Constrained Application Protocol for the Internet of Things).
I’d like to add a few thoughts regarding the idea. I have had a look on node-webkit app development and your getting-started app in node-webkit. I saw that in your app you still leave the address bar and some webkit controls (the back/forward/menu buttons). However, even if you remove these elements completely, it still does not look descend to me because it makes users feel they are working in a browser-with-limited-function application.
If you want a cross-platform solution, then I think Java + a web browser should be the best candidate. My suggestion would be you develop a background service/application that do all the device-level tasks such as mDNS, USB detect or SD programming. And such service/application opens a web service on local loopback interface such as localhost:8888 so that your web app from web browser can communicate to get the data and send control messages. I think Ajax messaging should work very seamlessly on even the oldest web browsers. This solution is even reusable in the Android/iPhone case that you develop your background service and use the same techniques.
Thus, end users just open your application, then their favorite web browser come up with something like localhost:8888 while the service/application run on the background.
However, if you still opt for the node-webkit solution, I am still capable, and I also have another idea that I think would make your application looks better. I would create the app follow a wizard-like style. Yes, users open the app, it tells what the users want, then depends on their selection, it continues with the corresponding instructions. That is much better than putting everything in one page and let users scroll from the top to the bottom with a bunch of texts. For instance: page 1 says “Please plug in your board into your PC/Laptop”, with some pictures; then once the board is detected, move to page 2: do this, do that, etc…
Well that’s my two cents. I hope you could find something interested in discussion. Please let me know your thoughts.
Thank you very much.