I am a regular fan of the TV series Silicon Valley, and while a fictional show, some of the issues that these guys
face are very real. The latest episode is a great example of this, with the application they released being cutting edge
with its technology and functionality. However, they face the same issues all developers do, usability.
Yes many IT firms employ UX and UI specialists, but this is mostly for larger scale applications with budget, and the "everyday" development will often miss out on the critical UI considerations. (Developers you know what I mean here)
Most developers will build with a clear vision of what the application has to do, but we sometimes miss the mark when
it comes to the user understanding the interface. So when the application is released we get usability problems, questions like
"how do I do this?" etc. So while we have created the next killer app (usually ad hoc), we have essentially failed to bring it to full potential.
Here are some ideas that can help when it comes to "developing" the application:
Navigation is key, cater for both Analytical and Graphical users, make sure there is more than one way to do anything (where possible).
Keep it simple, avoid using links and buttons when you can.
If you have the data use it, don't ask again for input, if unsure use population from data already captured.
Get non IT people to use it, in fact the more simplistic the user the better. Do this prior to Beta release so the feedback you get
during Beta testing will give you the small clean up issues and not focus on the bigger issues which are hopefully already fixed.
Easy quick flow with no extra screens or steps.
Allow for change, don't get stuck in thinking one way, be open to ideas from the outside, non developers can often provide some of the best ideas, we just have to be open to them.
Don't use friends as testers, they will want to give you positive feedback rather than offending you.
Studies have shown that more than 10 words in a statement will cause a massive drop off in user attention, so keep
information short and to the point.
Instructions - quite simply get a user to do it that is not a programmer, and if you keep fine tuning the application, the need for instructions should diminish.
Don't be afraid to redesign the UI completely, many developers get so attached to what they do, change is hard. Get used to change,
be prepared to do it again until its right. Multilayered architecture makes this straight forward without the need to change the application or data layers.
Many of the smaller Ad Hoc applications that are built quickly based on need, they are also some of the most important, don't be
afraid to put time into the UI / UX (where you can) as these smaller app's tend to be the critical ones.
While to many of us this will seem to be common sense, I encourage you to look around at some of the applications out there and
view them from a user point of view, as there are still many applications that have these very same issues.