How many people actually know how to read gcode? Especially now when the price of ready to run machines was brought down to the point when building own thing or tinkering with something like ender 3 became more of a hobby than a way of getting something reliable for a reasonable price. Then again, as mentioned before, binary doesn’t mean lossy, instead of opening it in text editor you just would open it in binary gcode reader and get your raw gcode commands to validate, it’s an extra step which can be automated so it shouldn’t add any complexity for whoever prefer to read gcode. And nobody prevents one from unchecking “binary gcode” checkbox in slicer.
Everyone’s usage may vary, I do upload files over 100MB quite often, that’s my use case. It’s annoying that I need to wait and check the status to make sure it’s still in progress, not that the printer didn’t want to start printing for whatever reason. From usability perspective I just want the file to be sent quickly, immediately hear confirmation from the printer and go about my business. I know comparing to 5, 12 etc hours of printing that’s not long, but those hours are spent by the machine not by me so I don’t think it’s comparable anyway. Sure, it still works when it works slowly, but we are talking about improvements here, so I think it’s valid.
About integrity, just want to reiterate that’s just an idea, something what could be potentially implemented.
I doubt you can always read and validate the whole file, you might be able to spot an error at the beginning but you won’t be able to tell if something went wrong in the middle, it’s just a good measure to validate data you send over the network (or even download form the internet) as well as validate that something what is being executed by a machine is what it is supposed to be. Additionally, from what I’ve seen over the years people often would use crappy cards they got with something else for free, which sometimes would result in failed prints, that’s especially annoying if the print was long, in many cases it could probably be prevented by validating the file before starting to print, so between plastic waste and extra safety checks in software I would certainly choose the later.
I’m sorry, I’m failing to see how CAN bus simplifies anything, it adds extra unnecessary weight to the toolhead (not much but still), it creates an extra point of failure, it also adds cost (not sure about voron, it’s a not very cost effective project overall, but from what I see the wires I needed cost fraction of the price of a board with CAN bus). For the benefit of easily disconnecting it, I would argue that’s a very specialised workflow when you do a lot of tinkering, upgrading etc. Last time I had to disconnect something on mine was about 2 years ago when I decided to change cooling system, though I don’t think CAN bus would’ve helped me there.
Just to point out, I’m not saying CAN bus is bad or anything, I’m saying that from my perspective having faster uploads could be more important for some users and it also would impact 100% of the users while CAN is something what is used by few.