00011100 01000100 01100101 01110110 01100101 01101100 01101111 01110000 01100101 01110010 01110011 00100000 01100001 01110010 01100101 00100000 01110100 01101000 01100101 00100000 01100011 01101100 01100101 01110110 01100101 01110010 00100000 01110000 01100101 01101111 01110000 01101100 01100101 00100000 01110111 01101000 01101111 00100000 01110111 01110010 01101001 01110100 01100101 00100000 01110100 01101000 01100101 00100000 01100011 01101111 01101101 01110000 01110101 01110100 01100101 01110010 00100000 01100011 01101111 01100100 01100101 00100000 01110010 01100101 01110001 01110101 01101001 01110010 01100101 01100100 00100000 01110100 01101111 00100000 01110000 01110010 01101111 01100100 01110101 01100011 01100101 00100000 01100001 01101110 00100000 01100001 01110000 01110000 01101100 01101001 01100011 01100001 01110100 01101001 01101111 01101110 00101110 00011101

Did you understand the above? Binary, ones and zeroes, the language of computers. Binary is perfectly logical and yet very few can read it. For this reason a computer translates it into letters, numbers and punctuation for our convenience.

This is what it says:  “Developers are the clever people who write the computer code required to produce an application.”

The point of the above is to show that the binary which is in logical English, still needs translating to be of any use to a developer. In fact there are many levels of translation that go on between the developer and the computer, all done so that the computer can easily communicate with the developer and visa-versa. The computer and the developer talk the Developer Language.

A developer is a human being just like you and me, and so it is not unreasonable to assume that the developer can translate the Developer Language into something the end user of the application is going to understand.  What the end user understands is the User Language.

This can work, but it is not the speciality of the developer. In general, and even with the best intentions, developers speak a broken form of User Language using best guesses and logical assumptions. They specialise in the logical thinking of computers. Users, although logical and often clever people, do not speak the Developer Language and developers are not fluent in the User Language. This can and often does lead the experience of the end user to be jarring, awkward and sometimes even painful. To put it simply, the user experience suffers due to poor communication.

The User Language in this case is meant to convey the purpose, functions and journeys of the application. As you can imagine, it is very important to get this right. The application was after all produced for use by an end user. For this reason specialists are used to translate the application into the User Language. These specialists are the designers. The designer’s job is to be fluent in the User Language. The reason we need specialists is because unlike the Development Language which changes little, the User Language is a strange and wonderful thing, not just made up of words, but also colour, emotion, expectation, sounds, animation, sensation, consideration, time, space and more. It is a living, evolving language influenced by trends, culture, technology, demographics and endless other factors.