The UI developer has primarily two goals: 1) To make user interaction with the product the most pleasurable, intuitive and functionally streamlined as it can possibly be; and 2) to deliver a product that is flexible and extensible, and even portable across multiple front-end platforms.
Frankly, the UI person doesn’t really care and shouldn’t really care what the back-end technology being used to persist data is. That’s part of the reason why web services like SOAP, REST and plain XML, along with XSLT and MVC, are now becoming the defacto standard in engineering N-tier architectures.
The typical professional UI developer has mastered a number of different skills that all play a vital role in building exceptional UI. If your UI person or team doesn’t have mastery of the following, it’s probably a good idea to hire someone who embodies them:
First-class Graphic Design
One of the more important marks of a really good UI developer is graphic design talent. Anyone can learn how to use an image editor?that’s not what I’m talking about here. What separates the men from the boys, so to speak, is how well do they understand and implement the elements of artistry and good graphic design. Most UI developers will have a portfolio of sites they’ve designed and they will look very appealing to the eye.
Never dumb-down the visual appeal of your application’s UI because you’re just building a back-end control panel that will only be used by “trained” employees. All you’ll end up with is an ugly application that is a pain to use. Anytime a human being is going to touch your application via an interface you should always have a skilled UI person designing those interfaces. That back-end control panel is still part of whatever product and it should look just as professional as it functions.
Fluent in Markup Languages
Most back-end developers have an aversion to CSS. They’re still coding HTML layouts using table and font tags. I have a good friend who is a highly paid software engineer working for IBM. His experience is in enterprise-class software architecture. Yet, in one of his latest projects he was still using table layouts! Don’t allow your team to write code using deprecated technology! It will make you a laughing stock within the development community.
Professional UI people understand modern DTD’s, xHTML and CSS for both layout (CSS-P) and display (CSS-D). They understand cross-browser support issues and they know how to make your pages look and function the same within Internet Explorer as they do in Firefox, Safari and even Opera.
I’ve encountered websites where some programmers have actually prohibited people from logging into their “secure portal” unless they were using Internet Explorer! Not only is this unprofessional, it’s asinine and frankly the mark of a lazy and/or inexperienced programmer. It makes your business look like you hired a doofus coding team and that you really don’t know what you’re doing.
JavaScript Frameworks
Professional DHTML these days is achieved via any number of open-source JavaScript frameworks, such as YUI, Dojo or Ext JS.
Make sure your team knows the difference between a JavaScript framework and a JavaScript library. The most popular of the JavaScript libraries by far is jQuery. It has the most rabid development community and more plugins than you can ever imagine needing.
However, I personally prefer using a full-stack framework, such as YUI, the YAHOO! User Interface library. YUI is not as easy to learn as jQuery, but it is much more flexible and “programmable” than jQuery.
Here’s a caution: Be careful to grill any UI professional about their JavaScript knowledge if they list jQuery on their resume. In recent years I’ve worked with a number of guys who said they knew JavaScript but all they really knew was jQuery and they had no idea about what was really going on under the hood, so to speak, within the browser.
Using jQuery is fast and it’s got some really cool features, but it is not the same as having the knowledge of coding real-life object-oriented JavaScript. Conversely, if someone is listing YUI or Dojo on their resume, then you can be almost certain that this person really knows their JavaScript.
Understands Object-oriented Programming
Every good UI professional will have one or more server-side scripting languages they are absolutely fluent in. PHP is by far the most popular of the “front-end” languages out there. However, PHP coders will come in two flavors, those who just do “procedural scripting” in PHP and those who code PHP using “object-oriented programming”. You will want to find people proficient in the latter.
UI professionals who list experience with any of the various MVC (model-view-controller) frameworks are the ones you want on your team. These people can generally build you a UI that is both flexible for your needs now and quickly extensible for needs that arise later.
Among your back-end coding staff, the generally unspoken truth is that the UI people do the job nobody else wants to do. Nobody wants to do it because they know that they don’t have the skills to really do the job efficiently or effectively. Sure your .NET people can write HTML and maybe some CSS and JavaScript, just don’t ask them to pop open a copy of Photoshop and pull together the necessary blends and subtle shadowing that will make the navigation bar “pop” instead of wash-out.
A professional UI person can be worth their weight in gold. By taking on the difficult tasks of design, interaction, workflow and compatibility, the UI developer frees your back-end staff to do what they do well.
Professional UI is not expensive. A good UI developer costs about the same as a good Java or .NET developer. At the end of the project, you will have a product that not only looks professional, but it will be an application that your customers and clients will find a pleasure to use as well.
____________________________
K. Beau Beauchamp is a professional UI developer with over 15 year’s experience in graphic design, marketing communications and object-oriented UI programming. Beau can be contacted via email here.