Quote:
Originally Posted by Ari423
Just wondering, what is the advantage of using a web interface over a Java, LabVIEW, or C++ (or other) NetworkTables dashboard? I have heard of a few teams using a web interface but I have never heard a good reason why.
|
Different skillset - different languages and approach to end-to-end programming. Static/traditional programmers are (usually) bad at designing aesthetically-pleasing displays, whereas web people have to focus on style as part of their layouts. Web programmers are also usually looking for something to do towards the end of build season.
On the flip side, web technologies are pretty finicky when it comes to things like touch, external UIs (HUDs like Oculus Rift, e.g.) or other ways of interacting with the robot (Cheezy Vision, e.g.).
If vision is performed on the display laptop, it's often simpler to simply put the vision output on a display that's directly attached to the process which performs the vision processing. Vision, afaik, has absolutely terrible, rotten performance in web languages (except for perhaps Go) so Java/C++ is preferred.
It would be nice if the robot 'came' with a reliable webserver that had all of this data rather than having to use NetworkTables. That way any programmer, whether they're learning web, mobile or embedded, could do something with the robot data. We could also publish calls to the robot. We had on-field connection issues with our stuff in 2015, but we didn't in 2014.