Web Design for Programmers, Part 1: Fundamentals
Recently, a client asked me to redesign their Web site. They were dissatisfied with the site that another designer had created for them. This client sells products with a religious theme, and their previous designer had delivered a site that was, in the words of the client, "dark and depressing, almost Gothic."
As a programmer, you may not always need to concern yourself with design. Many of your projects will come to you with a design already decided upon, and you may simply have to write the code that produces the result that was requested. On the other hand, sometimes you may not have the luxury of a client who already knows what they want and how they want it to work. That's when it is an advantage to have some good basic design skills.
Programming is both technical and creative. A programmer must not only understand the technical details of the computing environment, but must also be able to envision something abstract (a program) that does not exist and then make that vision a reality. That is a fundamentally creative pursuit.
Conversely, design is both creative and technical. A designer must realize a vision (that's the creative part), but in order to realize that vision, the designer must also apply technical skills to implement a design that is both aesthetically pleasing and functional.
What Is Design?
Simply put, design is the planning process that you engage in before you start to create something. As a programmer, you are used to thinking about how you will organize your data and code; but your application will also benefit from an analysis of the user experience, and that includes a visual design.
In this series, I will consider the subject of designspecifically as it relates to the Web site. Many of the theories apply just as well to other media, but because my experience over the past five years has been strictly on the Web, that is where I will focus this series of articles.
A Web site design considers how users will perceive your Web site, how the eye will flow across the screen, what elements of the user interface will attract attention, and how users will navigate your site.
The tools that you use to create a site design include graphics, color, layout, and your choice of navigation and interactivity elements (also called widgets).