The UI, User Interface, of an application is all to often the most overlooked aspect of a project; which is odd because it is the most visible aspect of a project and it’s one of those critical “first impression” aspects that can make or break a product’s sale.
The UI, if it’s well engineered, can shine a light on how professional the rest of your team’s efforts have been. Likewise, a badly designed UI can cast a shadow over what might otherwise be a really great application.
But before we learn how to find a good UI professional, it makes sense to understand what UI is and how it fits into a truly professional product.
You can assemble a world class Java / Oracle team who just built the most amazing technology, but if your UI has been an after thought, bad UI can make all that high-end technology look like it was written by a bunch of amateurs.
The days of being able to use your Java or .NET people to build UI are over, actually they were over years ago, but sometimes it takes time for the rest of the development world to catch up to the technical realities.
Today’s UI developers are highly skilled, multi-disciplined specialists trained and experienced to not just add nice graphics and code HTML, but functionally design and improve how the application “interacts” with the end-user.
Professional UI is more than just nice looking graphics.
I recently worked with an IT manager of a major US corporation who told me, “We need to put some serious lipstick on this.” The problem wasn’t really their graphics, it was their workflow that needed a serious update and reworking. No amount of “lipstick” I could come up with was going to fix a blatantly bad design. They had let their Java staff design how the application would behave and it caused some serious confusion for the end users.
The problem is that your users don’t think like programmers, and programmers usually don’t spend a lot of time thinking about, “Now, how can I make this easier for others to use?” No, generally their thought is, “How can I make this easier for me to code.”
It’s this kind of situation that results in a poorly designed amateur UI.
Well designed UI is not always easy to code. It requires that you take the time to really think through the user experience and workflow, always asking the question: “Now, how would our users really like to see this work?” Sometimes a quick DHTML pop-up or slide-down form is what would make the user experience much more smooth; but it takes a bit more time to build these little Web 2.0 gems than it would be to “force” your user to a whole new page or code and ugly pop-up browser window.
The basic problem with using back-end developers to build the front-end part of the application is that typically the back-end people can really only think like back-end developers, not end-users. The Java guy starts the application development process by building a database. That is exactly the wrong way to approach an application.
An application that will exhibit professional UI should always begin with the public interface development first. Whether you prefer to use wireframe documents or just rough-code some HTML pages out of the gate, these initial interfaces will be crucial in determining what functionality fires and when; and what, exactly, needs to ultimately get persisted in the database and in what tables.
Ultimately, building projects this way allows for much better documentation, it saves a lot of time and streamlines the effort for the back-end guys.