“Design is the fundamental soul of a man-made creation that ends up expressing itself in successive outer layers of the product or service.”
—Steve Jobs
Why Use a HAL?
Using a HAL is a great way to develop software that can be easily reused and ported from one application and platform to the next. Why would a developer want to do such a thing? For starters, reinventing the wheel over and over again gets pretty boring. I believe most developers want to be working on cutting-edge development work instead of being stuck in a never-ending Groundhog Day1