Future Vision of WebControl

Hi all,

So the recently-formed WebControl developer team has been discussing possibilities for the future of WebControl. It’s been asked that we don’t have this conversation in private so users can also chime in (and I agree), so here are the main points that were discussed:

  • @madgrizzle sees WebControl as an entry-level gcode sender intended to make things easy for someone new to pickup relatively quickly. Many of the other gcode senders available are complex, so his position is that we should strive to keep it (WebControl) as such. As much assistance we can give the novice in getting started, the better.
  • WebControl right now is tied to the MaslowCNC, but it’d be nice to be able to use it with other CNC machines.
  • With the MakerMade M2 on the horizon; WebControl should have some basic GRBL compatibility in order to support it.
  • We were asking ourselves whether this support can happen directly in WebControl as it is right now, or is it a larger undertaking ala “WebControl 2.0”.
  • We’ve started looking into adding Maslow support into CNC.js instead. There was some discussion around building “WebControl 2.0” as a specific configuration of CNC.js.
    • I personally really like this approach, and I devised a potential roadmap:
      1. Basic Maslow support in CNC.js (ability to jog & send G-code to an already-calibrated machine)
      2. Add support for Maslow-specific functionality (like calibration & chain measurement) in a widget, similar to the one that already exists for GRBL
      3. Create a more beginner-friendly UI using the “pendant” concept for CNC.js. This would probably look a lot like the current WebControl & GroundControl interfaces.
      4. Wrap this all up in an easy-to-install “distribution”, so new users can get started very easily. This would probably look like a RPi image and Electron apps for all 3 desktop platforms.
    • I actually started to work on this a little, I’d say I’m about 40% done with item 1. Contributions welcome.
  • The discussion then diverged on how we can improve the “new user” experience; thus the renewed activity around documentation.

As I was an advocate for exploring CNCjs, I’d like to briefly recapitulate the argument:

Combining efforts with other open-source projects allows the community to focus on the Maslow-specific implementations, while benefitting from the UX/UI implementations of a larger team. For example, CNCjs is translated into many languages.

And thank you, @emilecantin for championing this prototype.

I think this is very insightful and important. It’s tempting to always make things more complex, but keeping it simple is the most important thing for making the project accessible to more people.


I would vote for keeping WebControl Maslow specific. Let the folks behind the MakerMade M2 worry about their own software. The more plug and play you can make it for the Maslow the better. I think it is good to have a tool that is married to the device is a good thing for people just getting started. If you want to expand on it, fork it and call the fork something else to avoid confusion. I really think focusing on the Maslow and letting other hardware projects fend for themselves is the best approach.