I talked last week about JomSocial, which was a pain to style because of all the unnecessary layout HTML and inline styling in the code. It’s far from the only application to suffer from this drawback. There’s a divide between the way developers and designers work, and it’s a gap that needs to be closed. If developers learned a few more of the principles of website design, and designers learned some development principles, everyone would benefit.

It used to be that “web designer” was a catch all description that applied to anyone who could create web applications, functionality as well as put together a page. Probably the least accurate part of the description was “designer”. As the technical capabilities of the web have advanced, there’s been a slowly accepted division of the roles of developer and designer. This is a good thing in general, but the two have become too separate.
Develop To Design
It really sucks as a designer when you get a new application that looks great, but the code is so screwed up in layout terms that you have to rip it to pieces to re-skin it. Content management systems, plug-ins, components, they’re all easier to design when developers know to leave appearance related code as simple as possible. It’s probably why the likes of WordPress and Expression Engine are so popular as content management systems. They make it easy to implement their functionality into a blank slate, ready for a designer to work with.
Life would be a lot easier if developers learned some basic principles of web design. Really basic stuff; don’t use inline styling in your HTML, don’t use tables for layout. I’m amazed at advanced developers who clearly have great coding skills, yet are still using obsolete HTML tags like bold or font size. If developers understood design principles they would probably make applications that were easier to design for. That would mean more templates, more design options for their application. And that would probably mean more people using it. Everyone wins.
Design To Develop
The opposite also holds true. Designers need to pick up a basic understanding of coding and development. They can understand what’s technically possible within a certain timescale and a certain budget, rather than creating a wonderful creative design that’s just impractical to implement.
A few coding skills make working on design much easier as well. That I know a reasonable amount of PHP means that I’m comfortable making tweaks to application code. That can be invaluable if I want to remove an unnecessary parameter, or perhaps add an ID or class to PHP created content. If I didn’t know any PHP code then my design work would be limited. I’d have to go back to a developer if I wanted even a minor tweak made, and particularly with “off the rack” applications that’s simply not an option.
Pick up the basics, or you’re going to make your life much more difficult. I’d find designing without a working knowledge of PHP really frustrating. That capability to make minor tweaks to function that help my design is invaluable.
Understanding Makes Communication Easier
Over the past several months I’ve been working closely with @akpoff on a long term freelance project. It’s been a great working experience. Not only is he a highly skilled developer, he has some understanding of design principles and web design practicalities. Hopefully I’m not sounding like a total novice myself when I talk to him about coding!
Knowing a little more about each other’s main focus means that we can cooperate far more effectively. Neither of us have to explain the absolute basics of what we’re doing, and how it impacts the other’s work. Not only does it really help us in our work on the project, we’re better placed to learn new skills from each other because we’re working from a decent foundation in both disciplines.
Be Both Ends Of The Cow!
It’s good that there’s a distinction between web design and web development, but art and function need to complement each other. Learning a few skills of the “other” discipline makes you better to work with and opens up more options to be a flexible sole freelancer. It’ll make the web a better place. So don’t be ignorant!
