Teaching Good Interface Design
We all know just how hard it is to design good interfaces. Conflicting issues of performance, extensibility, readability and abstraction all influence the final design, and poor decisions early on can continue to cause issues long into the future (for example, the Windows API). The importance of finding a suitable balance is often understated, in [...]
Ideal Interfaces
So, last time I discussed a few different approaches to implementing interfaces, though didn’t explicitly state which one is best. (Obviously this is all my opinion. I’m simply saving time and easing the wording by stating everything as fact.) The first and most essential thing to define is the purpose of an interface: an interface [...]
Better Cohesion
One of the issues that I’ve come across multiple times this year is abstracting multi-purpose hardware. When I say multi-purpose here, I’m talking about custom hardware that has multiple, unrelated, functions. A multi-function printer/scanner/copier (multi-function device, hence, MFD) is a good enough example, so I’ll stick with that throughout this post, even though I’ve never [...]
