In the Neolithic period, from the 8th to the 4th millennia BC, farm animals were domesticated and agriculture was introduced. Humans had begun the task of designing stone implements to use in their everyday lives, and society changed. It was a monumental shift in the way humans lived and interacted with their environments. The implements evolved over time as designs were refined to improve usability. In many respects software is in its Neolithic phase of development. After half a century of evolution, we have moved from software which was driven by punch-cards to text-commands to graphical interfaces, and now to haptic interfaces. However many software designers have failed to understand the basic principles of how humans interact with everyday devices, and have hence created software, and indeed devices controlled by said software with little notion of what true design really is. There are many parts to the problem, from a misunderstanding of the user experience, to a misunderstanding of user requirements, a desire to design overly complex systems, and a lack of knowledge of how users will interact with a product.