Not sure if this is the right place (or way) to suggest this.
With a few modifications to cncserver, it might be possible to write an extension for the Scratch programming language ( http://scratch.mit.edu ), that could interface to cncserver. This could give the ability to drive the WaterColorBot or EggBot directly from within Scratch, which is a popular graphical programming language that features LOGO-like turtle graphics. (It could be a magnificent addition!)
Scratch extensions are documented here:
http://wiki.scratch.mit.edu/wiki/Scratch_Extension_Protocol_(2.0)
http://wiki.scratch.mit.edu/w/images/ExtensionsDoc.HTTP-9-11.pdf
The extension interface is quite primitive, and (if I understand correctly) allows Scratch to communicate via HTTP GET requests only. It also requires that a "crossdomain.xml" file be returned upon request.
It may (A) be reasonable to add a few equivalent "non-restful" command aliases to the cncserver API, to enable interfaces like Scratch or requests from a web browser address bar to drive the robot. (Personal opinion: that would be really neat.)
Or perhaps (B) it may be better to add those as a separate helper application, or to add those functions within RoboPaint, which then sends the properly formatted command to cncserver.
Note added: A good example of a Scratch extension and interface can be found here:
https://github.com/damellis/A4S
Not sure if this is the right place (or way) to suggest this.
With a few modifications to cncserver, it might be possible to write an extension for the Scratch programming language ( http://scratch.mit.edu ), that could interface to cncserver. This could give the ability to drive the WaterColorBot or EggBot directly from within Scratch, which is a popular graphical programming language that features LOGO-like turtle graphics. (It could be a magnificent addition!)
Scratch extensions are documented here:
http://wiki.scratch.mit.edu/wiki/Scratch_Extension_Protocol_(2.0)
http://wiki.scratch.mit.edu/w/images/ExtensionsDoc.HTTP-9-11.pdf
The extension interface is quite primitive, and (if I understand correctly) allows Scratch to communicate via HTTP GET requests only. It also requires that a "crossdomain.xml" file be returned upon request.
It may (A) be reasonable to add a few equivalent "non-restful" command aliases to the cncserver API, to enable interfaces like Scratch or requests from a web browser address bar to drive the robot. (Personal opinion: that would be really neat.)
Or perhaps (B) it may be better to add those as a separate helper application, or to add those functions within RoboPaint, which then sends the properly formatted command to cncserver.
Note added: A good example of a Scratch extension and interface can be found here:
https://github.com/damellis/A4S