Quote:
Originally Posted by Hitch
The simpler the UI, the more complex the back end. Period.
Hitch
|
That could be true; I don't know. What I do know is that I often write very simple code to get a machine to do something:
- Get a box from there.
- Move jars along this track.
- Push the jars into the box.
- Keep moving and pushing until the box is full.
- Move the box.
- Put a lid on it.
- Move the box onto a pallet machine.
- Done.
- Restart....
Something like that takes me about a day or two days to write, and it works perfectly every time (if the machine itself is OK).
Then I spend 2 months writing all the error handling. What if the box isn't picked up correctly? What if there is no box to pick up? What if the track doesn't move? What if the pusher fails or jams? What if someone stops the machine mid-movement? What if the lid gets put on askew (your pallet will be wacky and unstable)? What if the machine making the pallets is not ready? And so on....
And all of that has to be remedied by two things: An error message, and a button called "Reset" which needs to fix the problem without messing with the rest of the machine.
Writing the actual process is mostly easy. Writing the error handling of all the five million things that can go wrong, and do it in such a way that the entire process doesn't need to be restarted, can be *** hard.