4 ms·
This would have backfired on one project I worked on. Near the end of the project I was asked to document the working of the DIP switches. I discovered that t
by mark-r 5y ago
This would have backfired on one project I worked on. Near the end of the project I was asked to document the working of the DIP switches. I discovered that the settings were too complex, I couldn't document it in any way that would make sense to a user. But then I realized that they were being interpreted in software, and it was my software - I could make them do anything I wanted! So I wrote the documentation the way I thought made sense, then changed the software to match the documentation. If the switches had been labeled on the PCB it would have been too late for that.
- Youden 5y agoOn the other hand, whoever would have labelled them on the PCB could come to the same conclusion, right?
- mark-r 5y agoNo, because I'm the one they would have been asking for the appropriate labels and they would have accepted them without question. There was a direct correlation between each switch and a board feature originally, so making up labels wouldn't have been hard. The problem was that the features interacted in a way that made it difficult to describe combinations that would deliver the desired outcome, and some combinations were flat out invalid.
- gkhartman 5y agoThat's an interesting situation that I hadn't really thought of, having only been on the user side of the switches. It seems like they would be painful to implement when adding them to a large project where software, hardware, and documentation may be handled by separate teams.
- mark-r 5y agoThat was exactly the case here, I was asked for the switch description so the documentation folks could complete the user manual. It was just lucky that the switches weren't controlling the hardware directly.
- ahartmetz 5y agoIt's a well-known way to create sensible interfaces. If it's hard to document, it is probably a bad idea!