Edwin writes:
One thing that bothers me often, is the design of the user interface. I’m a web developer, using Rails and capable of producing valid HTML, CSS and JavaScript. So, I should be able to build a simple interface. But, if you want a more “stylish” interface, you probably also want to play with graphic programs and create neat icons and logos. Hiring a designer is often expensive and can cause the developer to loose sight of the epicentric design decisions.
How does 37signals solve this problem? Do you have a full-time designer working on a website or do the CSS-freakz create the website interface?
Thinking of designers as someone who paints the application pretty in Photoshop is a common but unfortunate misconception. We certainly don’t have any designers like that. Instead, our designers apply their talents to the native materials of the web by working directly with HTML, CSS, and occasionally Ruby code or JavaScript.
That’s a slightly odd notion to a lot of web programmers. They consider HTML, CSS, and especially JavaScript and Ruby code to be their domain. If designers work with exactly the same materials, how are they different?
Think of it like paper and pencil. A programmer can use those tools to create a technical diagram of databases and objects. A designer can use those same tools to create a compelling layout with a flow that’s just right.
When designers and programmers work with the same materials, they speak the same language. That’s an incredibly helpful way to work together (contrast with artists speaking in Photoshop and “HTML cutters” trying to adapt that to the web).
Designers decide and design the flow, the copy, the structure of the page, the programmers make all of it come to life by plugging it into the backend. All along both parties trade concessions on how to get the feature done as fast possible by grabbing the easiest value.
So stop thinking about designers as artists who work in a different universe of neat graphics and start thinking of them as someone who decides what goes where, which form elements to use, how to split features between screens, what words to use, and how everything fits together in a coherent experience.
Tim
on 09 Oct 07Interesting post. Good to hear that 37signals designer “paint” in HTML/CSS.
However, the question of…
What’s the answer?
DHH
on 09 Oct 07The answer is that it’s the wrong question ;). Good application design is not about “pretty” and defining your quest for a designer in those terms is counter productive.
stephen
on 09 Oct 07‘However, the question of… “Do I need a designer to make pretty?” What’s the answer?’
Um, YES! (full disclosure: I’m a designer). But seriously, it’s like asking, “Do I need a programmer to build pretty?” YES!
Joshua Blankenship
on 09 Oct 07Our friend Dictionary.com says a designer is “a person who devises or executes designs, esp. one who creates forms, structures, and patterns, as for works of art or machines.”
“Pretty” is about style, decoration, illustration, decor – and while well-designed applications (or brochures, or video games, or homes) can be beautiful and pretty to those who appreciate the craftsmanship of them, graphic design is not about pretty or Photoshop.
Graphic design is about solving problems by communicating visually, and in web world that includes (HAS to include) programming, workflow, user interface, and 100 other things that can be accomplished quite easily without ever opening Photoshop.
Noah
on 09 Oct 07Yes, “pretty” is merely one aspect of design. What was originally described is not a designer, but a stylist.
Scott deVries
on 09 Oct 07As a web designer, I would agree with this post. There is so much more to my job than just adding bevels and icons to everything. Basically, we’re in charge of balance, form, and function for a website or web app.
Obviously you need a web designer to make pretty, but on average, most of the web designer’s time is spent in wireframes and CSS/HTML.
Eric
on 09 Oct 07The problem is that the word “pretty” implies the way it looks and adding a layer of visual eye candy.
gabe friedman
on 09 Oct 07Also, The meaning of “pretty” these days is becoming less a matter of nice buttons and drop shadows and more about beautifully specced (css/sifr) type, aligning to a (css) grid, and manipulating background images (in css) to get maximum bang for the byte.
Obviously one still needs good aesthetic judgement to think up and create beautiful designs, but the “how’ of coding it is taking up more and more of the mental space that used to be occupied by photoshop. In my head, at least.
Melanie
on 09 Oct 07As a developer, I am always being asked to do design as well as programming because places don’t want to pay extra for a designer. It’s frustrating because I look at our finished projects and I know they would look so much better if a designer had been involved.
Daniel Bushman
on 09 Oct 07This is so true. I’ve been a graphic/interface designer for over a decade. I wont work with a company if they think my job is clean-up. You must figure out what brand and activities you are actually trying to facilitate before you can know what software to build, or what integration is necessary.
Since true Da Vincis are hard to come by, a larger team with a more specialized approach might look something like:
Marketing works with a graphic designer to establish the brand. The graphic designer works with an interaction designer to maintain the brand and establish the user experience. The interaction designer works with a front-end engineer to make sure the best user experience can also be handled efficiently by the browser. The front-end engineer works with a software developer to integrate the interface with the application.
But still, graphic design and interaction design should come before software development, not just used to spruce-up what the developers have created. And at each level, the hand-off is in a language shared by both parties (some have speculated that speaking the same language can often be useful for effective communication).
Many developers and executives need to realize that the data is the cart and the interface is the horse. Putting the cart before the horse leads to a painful and ineffective experience.
Anonymous Coward
on 09 Oct 07When a designer says “I’m in charge of function, and the programmers write up the back end”, this worries me a bit. Probably how you feel when a programmer saying “I’m in charge of function, and the designer will pretty it up at the end.” In other words, I get worried that my role as a programmer will be minimized.
Often, this is often OK by me. I’ve worked on projects (as a programmer) where long, intense sessions about the web UI took place, and there really wasn’t going to be much innovation on the back end. But I’ve also worked on mathematically and algorithmically intense applications that need a great deal of “design” long before the UI is a big factor.
All in all, I appreciate that you want a design role that’s deeper than making it pretty – and I think that better software will result when you do. But as a programmer, there’s no way that I would concede that designers are “in charge of function” as a general rule. This one scares me as much you’re scared of being relegated to the “pretty it up” role.
Terry Sutton
on 09 Oct 07No offence meant here – as I read your blog every morning – but I really find it hard to believe that someone like Jason Santa Maria couldn’t do some wizardry to world of 37signals. Necessary? No. Nice? Yes.
This question (and certainly its answer) are ultra theoretical. Do you guys ever work, or do you spend all day theorizing over who should be doing the work?
Cameron Watters
on 09 Oct 07I think this perspective works when you’re talking about working with someone who gives a crap about interaction design. Far too often I’ve worked with “web designers” who think that all web stuffs, including apps, are a canvas for their art—usability be damned.
In that sense, I think there are multiple types of designers and that the distinction between programmer/designer isn’t as clear-cut as some people would like to make it.
Matt B.
on 09 Oct 07Edwin could of probably chosen his words more wisely (“play with graphics” and “neat icons”) knowing that designers would get offended. Maybe what he was shooting for with his question and something “I” always wondered, is if, the few guys that makeup 37Signals, who preach keeping the team small, actually hired a designer to handle the overall look/consistency/branding of their websites or did David and the other hardcore programmers who built the applications ALSO handle the styling.
Ryan Price
on 09 Oct 07A designer’s job is to create effective communication. In web design, this means that we make forms, content, etc. understandable. Making the work ‘pretty’ is part of communicating the same way that eloquent writing helps literary communication.
Graphics are merely a part of creating the organization and laying out the important information in a clear and concise manner.
When I work with my developers I often spend more time assessing the hierarchy of content and the order of fields in forms than I do creating the design mockups for the GUI.
Tony
on 09 Oct 07So who did your cool little product icons then?
Nate Walton
on 09 Oct 07I like the idea of designers and programmers working with the same materials. I’ve often thought that visual designers should be some of the top experts in CSS and probably javascript as well, since these are the primary visual tools of the web. They ought to understand how to work directly in the medium where their designs are applied. In addition, the more they know about servers, databases, programming, and that stuff, the better they are able to design interfaces that fit the context of the applications they’re used for.
I agree that designers can be expensive, but I also think that a designer who can understand the programming will be able to promote, rather than obscure, the “epicentric design decisions.” And this kind of collaboration is usually well worth the expense.
(I’m a designer who believes that well-written code is every bit as beautiful as a well-executed layout).
Mrad
on 09 Oct 07Web designers should at least be able to work with HTML & CSS. The fact that seemly so few can disturbs me, and helps perpetuate this narrow view.
They should also be able to communicate with a programmer to collaborate effectively and easily. It seems too many designers think they work in a vacuum and refuse to embrace the limitations of the web.
Andrew
on 09 Oct 07Amen, amen, amen. It’s absolutely no fun to design something without coding it out and vice-versa. That’s why terms like “Front End Developer” have small followings. I’m not just “making it pretty”, I’m figuring out functionality, which is both the aesthetic and the practical. My domain is XHTML/CSS/JavaScript/Photoshop/Illustrator, I need those awesome programmers to plug everything into the backend, assist with complex JS, and create functionality where I cannot.
Nate and I agree (along with many other “web designers”), a valid, standardized, modern, indented, CSS XHTML webpage needs to be both beautiful on the surface and under the hood :)
Dan
on 09 Oct 07I as well feel it’s unfortunate that designers are looked upon as only window dressing on the app/website nowadays. But I think the image has been perpetuated by designers who don’t know their medium well enough… those who only do the window dressing. They design the site or application in their favorite image editing app, then use Dreamweaver or the like to slice and code it up, never looking under the hood to truly understand the underlying workings of a website or web-based application.
At my company where there are only two designers (me and Matt Radel who posts here often) we handle many more tasks than what we find is typical for designers in the industry today: writing up information architecture, working through user flows and interaction, interface design, and actually coding the HTML, CSS and script necessary.
We wish more designers took up these tasks, not to take away from the developer’s responsibilities, but for improved understanding of the medium, better communication between dev team members, and a better product in the end.
Nathan
on 09 Oct 07David – I think were you guys draw the line as great and probably works well for you. How do you handle iterative projects? Say you want to do a pretty thorough revamp of an existing project where about half the work will be back-end and the other half will be UI. Would the designer still be working in HTML/CSS at this point or would they be in the code-base working on .rhtml files? Whenever we do big overhauls like this the new html always seems to break a ton of tests that do select looking for specific items in the dom.
Thanks for the info.
vcent
on 09 Oct 07I guess he meant an illustrator, not a designer. Someone making those pretty icons, backgrounds and stuff.
Who drew the icons for your projects?
Tim Case
on 09 Oct 07The problem is that there is still a lot of ambiguity about what designer, developer, and programmer exactly means. This article poses the problem from the programmer viewing the designer as just making things look cool. It could also have been framed as a designer writing in asking why the programmers keep getting in the way while they are trying to make things cool. I’ve met more than a few designers who consider their job to be cosmetics only and how dare I as a programmer expect more from them. Personally, I end up teaching myself design, and I haven’t met any designers who are interested in learning programming.
David Martinez
on 09 Oct 07I agree with the comments that state the designer take on a real UI role, both in the sense of wire-framing / interaction design / as well as flushing out serious xhtml and css. Here are two things I have done recently for a client – a wireframe and css/xhtml template I am working on now (links not working but I got the wireframe and template approved to continue):
html / css mock-up
sitemap
I think companies should choose who does the interaction design up front so processes can be simpler for the end user. It’s all about the end user experience – not who get’s to design the function!
matt m
on 09 Oct 07The key is that the point where developers skills tend to get weaker to the point of not being able to do anything is in the areas graphics and icon creation. There is overlap between interaction design and graphic design, but most developers can do interaction design. Many fewer can do graphic design or create attractive icons. Same thing applies in reverse, where many people capable of doing nice graphics can also have some good insight into interaction design.
I think the question deserves an answer, because the implication is that you need a way to balance the input of the graphics people with the input of the software people.
Melanie
on 09 Oct 07Thanks Matt, that’s exactly what I mean. I’m a programmer, so that is where my strengths lie. I can to do basic layouts with gradients or css tricks, but I suck at making icons and logos. Bosses/clients say “Oh, what you do is good enough” and it pains me, because I know a good graphic designer could do a much better job.
Anonymous Coward
on 09 Oct 07I think you are boring… You’re product launches are a regurgitation of the same ole interface, on the same ole platform, on the exciting world project and contact management…. dull dull dull. -Once a web design firm, now doing project management software, how predictable.
I look forward to Apples launches cause there is an artistic level of communication that is exciting and forward facing, their website has a much simpler pallet that is clean and beautiful, always something new, the graphics on the iphone and OSX are outstanding with a level of quality that that makes me want to buy them.
When you launch a new product it is completly predictable: snowglobe, yellow band, blue fade at the top, and it will be some sort of organizing software…. boring
DHH
on 09 Oct 07“most developers can do interaction design”, I think this is as big a fallacy as “designers paint pretty”. Most developers are horrible at interaction design. They make terrible decisions regarding flow, write lousy copy, and do a shoddy job at thinking about the user.
It’s just that it’s less apparent to notice at a glance by people who couldn’t care less than see that there’s a lack of sparkly buttons.
Dallas R
on 09 Oct 07Let’s say a programmer creates the structural foundation providing a solid base on which the application will run. Now, I could live on a solid slab of concrete but it doesn’t really meet any of my needs. So, the programmer and designer together build a scaffolding; the skeleton—the backbone, if you will—providing much more depth and structure to our application. Still, it lacks certain qualities that everyone would seek in a structure: walls, roof, windows, doors, et-cetera. It’s there, but it’s fairly bland. This is the point when the designer can break off from the developer and use their knowledge of aesthetics, usability and image design to create all of the things that make a well-formed structure into an eye-pleasing, user-friendly environment.
I am, by education, a designer. However, there are times when I complete an entire RoR project on my own. From sketches, to Photoshop comps, to “script/generate controller,” to “:class => ‘foobar’,”and every step inbetween.
DHH
on 09 Oct 07Actually, I should qualify that. Most developers are horrible at interaction design when they’re also wearing their programmer hat. I believe The Inmates Running The Asylum by Alan Cooper has more on this line of thinking.
DHH
on 09 Oct 07Dallas, allowing the programmer to start building “structural foundations” before the designer has been involved with deciding which structure is actually desired is in my opinion another really bad idea. We work interface-first instead.
Dallas R
on 09 Oct 07Right, sorry. I sort of meant to imply that. Form should always follow function, but it shouldn’t be so far behind function that it has no idea what it’s doing. I suppose I should have began my analogy with the creation of blueprints. For the foundation to have any merit, it would need to both support and conform to an already-agreed-upon project design.
Thank you for helping me to clarify.
beto
on 09 Oct 07I like to think that having started as a web designer at a time where you had to know your code to do anything meaningful, or else (about 12 years ago) helped me build an overall approach to design that gives me the big picture instead of conceiving it only as “a bunch of pretty stuff.” It probably even saved my butt from unemployment for many years.
These days, I’m more focused on UX/strategy tasks, but having had hands-on experience through all the phases of development is such a valuable asset because it allows you to look at the whole forest instead of just a bunch of trees, so to speak. Which is paramount if you’re involved on any development team.
JF
on 09 Oct 07I always wondered, is if, the few guys that makeup 37Signals, who preach keeping the team small, actually hired a designer to handle the overall look/consistency/branding of their websites or did David and the other hardcore programmers who built the applications ALSO handle the styling.
Ryan and I are are the main designers. We handle the design/identity for our products and marketing sites.
We put the pixels in the right place, try to figure out what makes more sense from a customer experience standpoint, and deliver HTML templates to the programmers so they can make them work. Then we start using the products as we’re building them and continue to adjust both the UI and the back-end along the way.
Who designed the logos?
Ryan and I sketch the ideas on paper and then Ryan does his magic and makes ‘em look great in pixels.
Troy Thompson
on 09 Oct 07IMO, it’s important that designers can discuss general back-end requirements/structure with developers. Likewise, I think developers need to have at least some understanding of CSS/XHTML and other tools of the designer’s domain. Most of the projects I’ve worked on have forced me to know something about design, development, backend, etc.
There’s a danger in becoming a “jack-of-all-trades” (mediocre at everything, good at nothing) but I think it’s about recognizing your limitations. The lines between designer and developer are blurring- designers need to know code, developers need to understand basic design principles. If it requires specialized knowledge, that’s where developers and designers can separate themselves.
Having knowledge of all phases of development is definitely a valuable asset (thanks, beto!).
RS
on 09 Oct 07Actually every feature idea, piece of code, markup, or image includes these two roles we like to put in the boxing ring. First you decide what to build, and that’s design. Then you decide how to go about building that, and that’s development. It’s useful to keep in mind that UIers and programmers both do design in this sense.
The thing is, each person’s decisions about design set the stage and limit the options for future decisions the others can make. So we have to decide which parts are designed first and how the precedence goes. At 37 we decide the interface gets precedence, so we start there. If you’re building algorithms or infrastructure, clearly your design might be centered in the code rather than the human interface.
Either way, front and back don’t need to be in conflict. You can’t have software without both, they are two sides of one coin. You should just decide for yourself which side has the greatest impact for your audience.
Marc Love
on 09 Oct 07Thank you so much for this post David. Nothing drives me more nuts than someone who calls themselves a “web designer” that isn’t an expert with XHTML/CSS and who isn’t familiar with proper UI design. That person isn’t a “web designer”, they’re just somebody who knows how to use Photoshop.
If you’re building a web application and you aren’t involving a real web designer from the very beginning of building your application, then your sites probably going to have problems.
First figure out the purpose of your application, then hire a designer who has a demonstated ability to build a good UI to design your interface. Once they’ve produced the first drafts of your interface in XHMTL/CSS format, then you can start writing the application code to fit your interface. Now you can tweak your code and design as you iterate through the development process.
If you build the application code first and then “paint” on the design later, your application will likely end up looking like a pretty interface for a database. In other words, your interface & design should dictate how your application is built, not the other way around.
Edwin... read 37signals’ Book “Getting Real”. It answers this and many other best practices type questions.
Anonymous Coward
on 09 Oct 07while the idea of designers working in css/xhtml is a nice one at first, I think i) that works best with purely functional apps, and not everything on the web is a purely functional app, and ii) the kind of person who has a real flare and talent for visual design is, in my experience, extremely unlikely to also have the kind of brain that excels at the kind of technical abstraction that is required in CSS/XHTML coding.
So before you fluff-off the notion of photoshop-based designers passing off to ‘HTML cutters’ as being somehow anachronistic of systemic of confusing ‘pretty pictures’ with design, consider that visual designers will work with the tools that lead them to the best outcome, and will focus on the skills they pick up and understand intuitively. While there seems to be a growing force of CSS/XHTML-based designers… in my experience, it’s much easier to find a fantastic illustrator-/photoshop-based designer than a really good (visually) CSS/XHTML-based designer. There are exceptions, but by-and-large, coders prefering code-based designers is geeks feeling more comfortable working with other geeks (who are average/bad/posing-as designers)
Jeff Croft
on 09 Oct 07While I completely agree with this post and am glad David said it, I think it’s also a mistake to act like style is unimportant.
I wouldn’t say style and design are two different things. Rather, I would say style is a subset of design. It’s one of many aspects that go into great design—be it graphic design, industrial design, fashion design, or interior design. In all of these cases, style is important. The most comfortable piece of clothing ever made won’t sell for crap if it’s ugly as sin. Likewise, a living room might have been thoughtfully designed to have perfect flow, lighting, storage, seating, and viewing angles to the TV, but no one is going to enjoy being in the room if it isn’t stylish.
It’s definitely true, though, that the generic public - and even many web developers - tends to think of “designers” as people who make things pretty, rather than people who help develop solutions to problems, techniques to meet goals, and ways to communicate messages. So while we encourage people to use designers for their problem-solving and communication skills, let’s also not take anything away from their skills as stylists.
Chris Griffin
on 09 Oct 07It seems the developers commenting here against the notion that designers shouldn’t be involved in nothing more of the application aesthetics is suffering from ego-itis. In medical terms, the inflammation of the ego swelling to gigantic proportions with ignorance & self-importance.
Best analogy for how the designer/developer relationship should work is:
The Designer is the Architect The Developer is the General ContractorWhile there is a feedback loop between the two, the designer should dictate UI & flow of the application, and create a “blueprint” (whether it be in HTML/CSS or a design software application) as to how the application works.
The developer figures out the means to get the application functional and makes decisions as to how things should work and whether or not it’s feasible. This is where the design & developer feedback loop comes into effect.
In good web application design & development cycle, the designer and developer are equally important. Anybody who disagrees and says it can’t work this way is either:
A) part of a team of designers and developers where each individual is talented in both design and development (very rare).
B) Ignorant to best practices of application design and development.
and “making things pretty”—this is just one small skill of many other skills that a designer has in their toolbox, and probably the least important. Good designers do a lot more than making things pretty.
Chris Griffin
on 09 Oct 07Ugh, the list was stripped from my comment, suppose to read like this:
-Designers are the Architect
-Developers are the General Contractor
Lukas Dryja
on 10 Oct 07Design is the means to solve a problem using an appropriate solution.
Designers use their education and experience to analyze facets about projects that Developers sometimes overlook. It allows the development process to flow with constant communication between the Developer and Designer while complementing each others skills.
If you are developing an application and your looking to apply a “distinct look” to your project at the very end of the process, then you are looking for a “Decorator”. The “Decorator” approach can be compared to painting an old door and hoping that it results in a lasting solution.
Gary R Boodhoo
on 10 Oct 07How is a designer to figure out the UI & flow of an application without some form of the application actually running (a prototype, an interim build, etc…) ?
Certainly, there are static visual elements whose arrangement & “styling” make sense in PS, but how can anyone reasonably assert they know how the interactions between elements in various states will work out until a project is actually running in some form? Something as fundamental as mouseovers often lead to surprises once implemented. Large scale navigation eve more so.
Photoshop comps are barely a starting point. By themselves they’re worth nothing as they provide a misleading but convincing impression of how something will work.
If a designer is to be responsible for UI design and overall flow, then the only way to work responsibly is to work in the medium being authored
Sean McBride
on 10 Oct 07Amen! Bring in the designers at the beginning when you’re figuring out what your application should do, and keep them working beside you all the way through the project. Don’t bring them in at the end and tell them to “make pretty.”
Anonymous Coward
on 10 Oct 07When it comes to the interface, companies like Apple, eBay, Yahoo!, Google, Orbitz, and other recognize the interface has two design disciplines: interaction design & visual design. The interaction designer is working on “interaction models, workflows, wireframes, information architectures, and user interfaces sketches” and visual designers focus “screen layouts (visual hierarchy etc.), page level usability, color palettes, typography, user interface elements, and prototypes”. The two disciplines are quite different. Moreover you see the collaboration of the disciplines create sites like Apple, Yahoo, and Orbitz.
To their praise – Ryan & Jason are from the few that are able to join between the two disciplines. Wanted to mention it since I didn’t see that distinction made here yet.
riki
on 10 Oct 07If you’re a web designer do you really need to hire a developer to build you application?
Personally I think you need more than just a developer and a designer.
Edwin
on 10 Oct 07Thanks for the answer to my question David and many thanks to the interesting discussion that followed.
First of all, I read Getting Real and I know how important a good interface is in web applications. That’s part of the reason why I asked this question to 37signals.
The team I’m working in consists purely of software developers. We all know something about interaction and visual design, but we are still developers. I think developers can have some kind of barrier that don’t make them good designers. Once I’m discussing about the interface with my colleagues, I’m always thinking about the ‘How’ part: How would I implement that, How would that fit in my data structure, How…. This isn’t a good thing in a creative process. A interaction and visual designer should be able to look at a distance to the project and should always think about the end-user: How would the user experience that, How can I make things easier, How can I change these colors to support the content.
In the past I’ve worked with several designers, most of the time freelances or we hired a design company. Most of them where Photoshop masters and I was the HTML cutter. It never felt right. Therefore we decided not to work with a designer in our new project. This is working very well: we discuss a lot about the interfaces and it looks great. But still it misses “it”. After reading this discussion, I think it would just need a designer that works with us in our team. We’ll give it a try :-)
Rather not say
on 10 Oct 07Thinking of designers as someone who paints the application pretty in Photoshop is a common but unfortunate misconception.
—
The place I am contracting at thinks like this and then they do design reviews at the end of the project and moan when the CMS generated content is not inline with the design!!! The as I see it is that in most places the designer gets it before the developer has even looked at the specs…
Samo
on 10 Oct 07That sounds like someone who first builds the web app and then hires a designer to “fix it pretty”. Also, unless it’s a personal project, hiring a (good) designer is never expensive. It’s just more upfront cost, that you well save in the long run.
Al
on 10 Oct 07To the developers:
I understand how you can come to think of designers as “make it pretty” people. As a designer, I to have met many designers who don’t know how to use html,css, javascript, ruby, etc. Many of those designers know photoshop and thats about it.
Having said that, I as a designer get often frustrated with developers who will automatically think that I am a photoshop monkey. I am designer who can make things pretty, but also have very strong abilities in html, css, javascript, ruby, php, java, and a few other but less used languages. Yes… I am not a common type of designer, but not all that rare. Even knowing many of those languages, I don’t feel that a developer is un necessary, nor should I ever attempt to do the developers job for them. Having my familiarity with those languages simply aids me in designing pages that work with the dom smoothly.
When designing a project I always work very closely with the developers ensuring that the experience is maintained, the html and css is valid and proper, and that my html and css scales and works properly with what the developers are trying to output on the page. A designer who does poor markup just makes your job harder so I sympathize with those developers who have worked with “designers” who are not familiar with their medium.
Having said all that, the developers I do meet who understand this balance between designer and developer when each have the appropriate skillset are some of the most talented developers I have met.
Cameron Watters
on 10 Oct 07I think a big part of the problem that people run into with “bad” designers and bad designer/programmer interaction has to do with designers who don’t fully grok the medium. Many designers that I’ve worked with who have most of their experience wrapped up in print tend to view the Web as a static, print-like medium.
Regardless of their visual talents, if the designer fails to invest in understanding the nuances of the Web as a medium, the design is likely to be a failure.
Geoff B
on 10 Oct 07Chris Griffen wrote: designers are the architect, developers are the general contractor.
Well, as a developer, I’d reject this role, and look for something where my skills would be more central to the architecture.
Keep in mind, this is much like a developer turning to a designer and saying “in software, developers are the architect, designers are the interior decorators.”
Uh, excuse me? Nice try, but no deal. As a developer, I am not just here to execute your grand plan. I have ideas of my own, thankyouverymuch.
Truly, it’s case dependent. There have been projects where I quite happily said: “this is all about the UI – I’ll be able to code this in ROR in a couple of days, or in Java/Hibernate/Spring in a week and a half. Have at it, and get back to me when you’re ready.” But there have been other projects were there is no way I’d let a UI designer without knowledge of algorithms or math meet the client first and hash out what needs to be done – they just don’t have the knowledge.
BigD
on 10 Oct 07To me there is a very clear difference in what a designer does and what a programmer does. Both are a craft in themselves for one thing. Next is, can a developer sit down and create a good layout or design something on the level of what is considered good design? MY experience is not just no BUT hello no. So why should a web designer be expected to write code. A good developer understands enough about layout/design to work with a designer just as a good designer understands enough about programming to work with a developer. But regardless of what the landscape or current trend is of the day, to me a designer has one eye and tool set of abilities and a developer has another. To say that a designer needs to be able to write code along with being a kick butt designer is insanity to me. However the blend between working with a designer who understands the web and what runs it enough to work with a programmer and vice versa for a developer…to me that is the most productive relationship.
Kandace
on 10 Oct 07I just had to write about the difference between this post and Seth Godin’s ideas about how to create a good enough website, which includes practically finishing all photoshop mockups before brining in programmers.
Neil Wilson
on 10 Oct 07The problem is the terminology. There is no designer or developer. If you are making a computer do something, then you are programming it. How deep, how wide you go and where you focus depends upon your apptitudes. Those with a more visual bent may focus further towards the UI end. Those like myself with less of a visual bent work more effectively in the middle.
Again it is teamwork that matters, and knowing where each others strengths lie so that you can cover the entire stack top to bottom and left to right.
Personally I’d just love to work in a team with people who find the visual level easier to work in than I do. Then I can focus on the stuff I know I’m good at.
James
on 10 Oct 07In my experience things go the other way. It is generally the designer who thinks they are in-charge and the programmer who is mindless and is supposed to just make their great creation work.
The best situations I have been in have 3 people collaborating on development 1: Creative visual 2: Usability/Interaction 3: Technical. Each get an equal vote and there are no ties. This works well – someone focuses on each important area. Add 4: Producer/Account Manager (final say dictator) 5: Project manager /Planner and you have a great client face for your team.
Robby Russell
on 11 Oct 07As a developer who has worked with many developers, I’m willing to bite the bullet and say, “we think too highly of ourselves.”
There. I said it.
I also think that design is, unfortunately, an overused (and abused) word. Our team has two roles of designers that are focusing on different aspects to the web applications that we design and development, but definitely not in isolation. These two roles are: Interaction and User Interface. To the untrained eye... this might look like the same person, but I assure you… it’s not.
We have Interaction Designers that are focused on understanding how people (not users) get to the site and be extremely thoughtful in how they design the experience of using the application, from an interactive-perspective. How it all works in the backend, is magic and it’s assumed that developers can build just about anything. However, we also know that why we (the developers) can build just about anything, we also make sure that there is an exchange of ideas between designers and developers before making a final decision on anything as there are many constraints at play here, such as time, budget, and resources. The Interaction Designer will focus on collecting high-level requirements and produce various artifacts from use cases, sketches, to wireframes. They tend to drive the project and make sure that the application is meeting the goals of the people using the application in the most respectful and painless way possible (within our previously mentioned constraints).
The other designer role in our projects is a User Interface Designer, who is responsible for taking wireframes and moving them into HTML/CSS and begins laying a lot of groundwork in the applications interface before the developers start to come through. This role is responsible for the visual and aesthetics of the application, as the Interaction Designer was focused on how people would use it, the User Interface takes the design to the next level with colors, visuals, graphics, and making sure everything is working across browsers.
The developers make the engine go vroom and together (at PLANET ARGON)... we craft experiences.
Robby Russell
on 11 Oct 07Side note: Don’t forget Hug Your Designer Day. ;-)
Edwin
on 11 Oct 07Does any designer have suggestions about books to read to get more in touch with design? A lot of books about webdesign are about HTML, CSS and JavaScript: thinks I know already. I would like to know more about creating a good user experience and the ideas behind interaction and UI design.
Books I found are: The Principles of Beautiful Web Design and Designing Web Navigation. Does anyone know these books?
Emily Chang
on 13 Oct 07Great post. This is how we work at Ideacodes as well. Dare to live outside your title and role, become a hybrid, and you’ll find a cohesive and collaborative process. “Work with the same materials,... speak the same language.”
Doddge Ridge
on 13 Oct 07I say that a designer is really needed. In some organizations, a UI dictator is needed.
Kula bácsi
on 13 Oct 07“The other designer role in our projects is a User Interface Designer, who is responsible for taking wireframes and moving them into HTML /CSS and begins laying a lot of groundwork in the applications interface before the developers start to come through.”
This is not UI design but front-end or UI development.
This discussion is closed.