Technology has changed considerably from the tools used by the geeks back in the 70s up to the 80s, in the enterprise in the 90s, and web adoption and development in the 21st century. The main users of technology have shifted from a selected few to majority to everybody.
As such, development of software applications has also evolved to satisfy the needs of its users. When computers were used by the geeks and hobbyists, the interface was mostly command line because that is what computer nerds like to have the barrier of entry. The command line interface was perfect for the computer geeks because they like remembering all the shortcut commands and keystrokes to execute command.
When computers moved to the enterprise in the 90’s, the interface was upgraded to graphical but with tons of form fields. Application development requires domain experts that understand the workflow and form fields. Also, applications are rolled-out with very thick documentation and extensive training programs. Error due to lack of user training is a common finding. WYSIWYG became an instant buzzword and everybody started using computers for documentation, and spreadsheets for formulas.
Now that we are in the age of mobile devices, interfaces have once again shifted from designing applications for specific users to designing for everybody. Nowadays, when an application is not used correctly, its because of poor user design or poor user experience. User manuals are no longer necessary because users should be able to use any application without prior training. As technology shifts to the masses, user design is becoming more important.
The responsibility to come up with an application that is user-friendly does not depend on the web designers alone anymore because this UX design task is now shared by the whole development team. Everybody in the team should be aware that applications must be user-friendly. It is important to start by considering the possible experience the user will get from the product. Everyone must work towards building cohesiveness which will result in marketable commodities. Developers know how their users interact and behave so their products will suit them because it is what they want.
Thus, developers should not focus only on database designs and efficient codes, but also in usability because it determines the performance of an application. New applications should undergo usability tests. This test can be conducted by presenting the product to a possible customer and ask for feedback. For instance, if the application includes many steps, then the processing time is prolonged, and this discourages clients.