![]() | ![]() |
| Programming and Design
"East is east and west is west and n'er the twain shall meet" - according to Kipling. When it comes to programming and visual design a truer word was never spoken. They are diametric opposites. Programming is logical and objective. Design is artistic and subjective. Programmers on the whole (according to most I have spoken with) cannot design their way out of a wet paper bag in torrential downpour. Therein lies a problem when it comes to programming a system which is seen by the user.
When you are in the middle of coding out your program, most of the time you will opt for the basic minimal display. There are times you will create output so tight that, while the results are exactly what you want, there is no room for anything but the results. Then, when it’s all done and dusted, you turn it over to a designer. It won’t be long before you get a phone call or email saying it looks awful and the deadline is approaching - fast. What to do? Answer, come in over budget and late.
So what should have been done? Let’s look at a common scenario. You are a freelance programmer. Your office is in that small room tucked away in a corner of your house. The phone rings and on the other end is a company who’s heard you "do databases". They want a database driven website and with the word “database” in mind - picked you. Not a clue about web sites or databases, the prospective client has lumped it altogether into one bundle. You have bills to pay and set about getting the whole thing written. The result will work very well, fulfil all the client’s objectives and probably look like crap.
Instead, the first thing you do is inform the punter that you can indeed put the whole thing together and set up a meet. To that meeting you bring someone else. A web designer, who probably hasn’t a clue what a regular expression or “while” loop is, but can create stunning visual layouts and is conversant in corporate design elements and themes. It’s best you already have a good, working relationship with the artist as we tend to be a bit on the excitable side and go off in strangely mutated directions at the mention of certain words.
Nearly all businesses have some sort of visual identity. Whether it’s something the local printer whacked out on the spur of the moment or a multi-volume corporate design manual with everything listed down to the size and color of the paper clips. There will be something for the designer to work with. You do not want, some kid, from down the street, who has gone out and bought WYSIWYG web design software so he can call himself a web designer.
In the same meeting you obtain all the information required that you need to finish the program and overstate the time it will take by 30-50% (this gives you some room to play with). Then the two of you go off and start work. You, the programmer, have a break. You don’t even touch your computer. Let the designer sort out what those people are going to see on their monitor. This could take a while.
Once the design, layout and browser functionality is settled and approved, then you start the first line of code. The designer is on tap so any questions can be answered - plus the code that the designer has given you to insert the program code into. Some things might happen here (not always, but they do). Usually, it’s the client who contacts you with an, “Oh, I forgot to mention.....”.
Then the designer will apply hands to head and mutter various expletives about how that has totally wrecked the design and it will have to all be done again. So you have to wait a bit while the poor artist comes back to earth from the depths of depression and anxiety so the layout can be altered and the coloring shifted and a new image to replace the one that had taken 5 hours to come up with, is all done. Once that’s all out of the way, it’s back to your coding. Oh you are happy, you are finally getting on with what you do best. Until about half-way through, the output shifts the design a little and you’re back into those expletives again. Believe or not this a bunch easier than trying to design into an already written piece of software and the subsequent additional coding, late nights and unfed cat (who knows that if it walks over your keyboard while you're working, it will get some attention - fast).
A good designer will have coding where stuff like coloring and positioning can be altered easily, without affecting the program - because it is already written in. Today’s web design is much more flexible than it was 10 years ago. We now have decent cascading stylesheets where a simple class or ID can be defined and the stylesheet changed, not the program. A good designer will not start using the so called latest styles and stuff that the magazines are pushing so they can get rich at your expense. That designer knows tables allow much more flexibility with accuracy than complex div tags and that all databases use those same said table configurations.
If you find a designer you can work with, keep ‘em. They’ll more than likely be on the phone with a new client and you’re off coding another back end. This also applies to intra and extranet applications. Small to medium sized businesses are one thing. Large corporations are another.
If you have been approached by a design agency or software company for a project, you will be part of large team with several other programmers, web designers, advertising design artists, TV, movie and radio stuff. All this has to fit together into a cohesive whole, yet at the same time you may not see a lot of it. If you are a Perl programmer especially, then you may have to alter how you write code to fit into the way the other programmers are writing or the head programmer has set out. In a sense it’s easier as you are not having to spend hours with the client over minor details. You just have the part you are given and usually are dealing with professionals who have done this all before and things should go a little smoother (famous last words). |
January, 2009
© Simian Circles, 2009
|

