Most software design is left in the hands of the people writing the software. While that seems logical on the face of it because no-one knows the system better than they, it actually leads to a crucial weakness. Most programmers rarely - if ever - use their systems in the working environment. They are given a specification of what a system has to do at a high level and write something that fulfills that specification to the letter. But what they fail to grasp is the way in which the people operating the machine interact with it. To the developers, an error message can be crystal clear to understand and respond to. The same message might mean literally nothing to the guy charged with operating the machine on the factory floor.

The same is true of the processes themselves. Software designed by developers is primarily concerned with the technical work in the background - not the function that the machine is doing from a business perspective. The things that a user might expect to get feedback on - such as processing delays or errors - are hidden away from them, meaning that sometimes trivial problems can takes hours to resolve as users consult enormous manuals to find out what the problem is.

At Dynamic Motion, we put the requirements of those using the machine first and work from this perspective at all times. The primary needs the interface must serve are those of the business and those of the user. We test our systems even before they are written - asking users what they expect the machine to do, and drawing out paper flowcharts so that the system matches the business needs. At every stage of the process, the screens we design are put in front of users and feedback is sought as to whether they are clear and understandable.

It is this level of thought and detail that sets Dynamic Motion apart.