Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I'm creating a website for a friend of mine, and the plan is to eventually solicit outside sources to take care of the overall design. So it's got me wondering, how much design should I be covering now?

I'm primarily driven to just code the logic for the website and get everything functional before I care too much about how it actually looks. My thoughts so far have been, I'll try to organize the code and create an effective skeleton to be drawn in.

What's your thoughts? Is usability and functionality my only two concerns, or should I also be playing a preemptive role in the design decisions? How is this work typically split up in the industry?

share|improve this question
    
If an outside source is "[taking] care of the overall design" why are you focused on that. You should be focusing on functional requirements and not concern yourself with the design. I think you answered this question with "the plan is to eventually solicit outside sources to take care of the overall design." –  Chris May 19 '11 at 5:15
    
Well, I guess the real question would then be "Should I be doing any preliminary design work FOR a designer" to which I've already received a "no, not at all" But yea, I see what you mean. Maybe a wasted question, shrug –  joslinm May 19 '11 at 5:19
    
@joslinm: I did not mean it in an offensive way. My point was that if you are a developer and you have intentions on having a designer come in to build the UI, focus on the functional aspects of the site and concern yourself with UI later. Don't bite off more than you are willing to chew today, make something that works and later make it pretty (that is if you decide against a designer). I have been down this road myself and found it overwhelming to focus on both which is why I suggest one step at a time. :-) –  Chris May 19 '11 at 5:23
    
Although regarding your retort of preliminary work: YES there are lots of things you can do strategically to structure your site to make the UI easier to accomodate later. Although frankly I would guess that is not related to programmers.SE and more of UI or web based SE's. It really depends on a lot of factors and your question does not elude much in terms of what you have/don't have or what the project is or isn't today and how far along you are in development so it is hard for me to say much further without knowing more specifics. If interested though I can expand. –  Chris May 19 '11 at 5:26
    
haha oh no, I know you didn't! I was just reflecting. Yea, that's great advice. I often get overambitious and more prone to getting resistant to working on the project. Thanks! –  joslinm May 19 '11 at 5:27
show 3 more comments

4 Answers

up vote 14 down vote accepted

You should stop coding right now. I'm very serious.

If this site is to receive anything more than very simple "design love" such as colors or font sizes, any designer worth hiring is going to want to adjust not just the design, but first and foremost the usability. Great (or even good) user experiences is about more than matching colors and pretty pixels, it's about the complete experience a user has when using the site.

Let's say you code the complete site without any design in place, when the designer comes in and says "there should be no login required for this feature" or "why should use a wiki-like approach instead" or "yeah, this absolutely needs to function offline" or "here we place the facet search-box", you will likely have to start over with some features, possibly even have to start all over if the ideas from the designer completely changes the ideas you had when coding.

If, on the other hand, the designer is invited very early on (before coding has begun) you can all collaborate on the type of experience you should provide and you will be able to craft a solution that is in line with the expected end result. You will be happier, the designer will be happier, the client (your friend) will be happier and most importantly: the user will be happier!

So, to answer the actual question: if you are the programmer and someone else is the designer, you should not do any web-design (this sounds harsher than I really wish, but if these roles are truly split into two people, the programmer should program as the designer designed).

Implementing the requested functionality (in a professional manner) should be your main concern, and it should not be done before you know what is requested (which is unknown before the system/site is designed).

Now stop coding and call that designer for a meeting!

share|improve this answer
    
You point out some great points, alas forgotten in most cases by small teams when working on website/software projects. But do you really answer the question? –  MainMa May 19 '11 at 7:47
1  
Updated answer to really answer the question. –  Pål Brattberg May 19 '11 at 8:30
    
It does depend what is meant by “overall design” though. If it “just” means branding and detailing, I think he’s alright to continue. But if there’s no real design for the interface yet, you’re probably screwed in much deeper ways, as Pål eloquently points out. –  Paul D. Waite May 19 '11 at 10:05
add comment

If you ask how much you should, the answer is not at all. Getting involved in design is more like a need that raises if you lack a dedicated designer.

As you have said, in the front-end part your main concern should be usability. Of course there's also specialist on this, but getting one might become kind of overkill.

At the end, as in most cases, it depends.

share|improve this answer
add comment

This should be specified in your contract, or any other document which lists the competencies of every person participating to the project, and who's in charge of what.

This is very important in all aspects, in order to avoid overlapping over others people work. For example, how you decide what must be done by the database administrator and what by the developer? As a developer, do you write SQL queries? Do you optimize them? Do you have enough knowledge of databases and the SQL database you use to be able to optimize them properly?

The same applies for development versus design. There is no unique answer for every situation. In my company, we had projects where designer had to deliver the templates with final HTML and CSS code. We also have lots of projects where the designer have just to give the Photoshop files to the developer, and it's to the developer to slice them, optimize them and write HTML/CSS.

Since you decide for every project who does what, you may ask yourself how to decide. Here's are some basic states, going from incompetent designer versus developer who knows everything to designer who knows how to write source code versus beginner developer:

  1. Are you familiar with web design more than the designer? If the answer is yes, you should probably explain the situation to the stakeholder (your friend) and ask him to search for a real designer.

  2. Do you know Photoshop well enough to be able to use it? If no, you shouldn't ask the designer to give you the Photoshop files with the final design, but rather the final PNG/JPG sliced files, the overall preview and the specific instructions.

  3. Are you able to choose correctly how to slice the images? How do you choose between PNG and JPG? Do you know what CSS Sprites are? What about your designer? If you feel that the designer is much more competent than you for all those points, let him do the work. If on the other hand you understand very well all those things while the designer starts crying everytime you ask him to explain why he have chosen JPG instead of PNG for a precise image, you should ask him to deliver the Photoshop files and do the remaining work yourself.

  4. Do you have a deep knowledge of HTML and CSS? What about your designer? If he knows those languages better than you, let him write the code. Warning: if the website is Java Script intensive, this may cause some problems. The Java Script developer must always be close to the person who writes HTML/CSS code in order to give advices and not having to rewrite everything later.

  5. Do you have a designer who is familiar with templates? If yes, it would be great to ask him to deliver the final templates, so you would just apply them to your code behind.

  6. Is your developer more familiar than you in server side development? If yes, repeat the point 1: explain the situation to the stakeholder and leave the project.

share|improve this answer
add comment

Small site: Emphasise the server side, and provide the skeleton front end

The designers are going to change almost everything on the front end, but they need a solid set of data feeds to work with so you'll need to provide a solid server side API. Form submission and/or RESTful services will be needed for almost every web application and that's your area of expertise.

However, one of the primary tenets of web application design is the need to degrade gracefully from JavaScript back to plain XHTML. Since you need some kind of front end to demonstrate then you could limit your front end to simple page transitions using pure XHTML.

This keeps your involvement simple and provides an initial prototype for the web developers to apply their polish to.

Large site: Get the designer in before you even start

All your assumptions about what the users want will be wrong. The web designer will be able to provide you with much greater knowledge about the design of your APIs.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.