Development Is Design
I recently received this email from a startup:
We’re a startup in San Francisco looking to launch a 5-page website this October. We would deliver all wireframes, web content, and design PSDs. We just need a front-end pro to develop the site. While the site is straightforward, we do have high dev requirements:
- lightweight site that loads quickly
- use HTML+CSS, only use JS when absolutely needed
- entire site to be coded using Bootstrap3
- HTML5
- CSS using LESS
- sprite images
- responsive on desktop (Safari, Chrome, Firefox, IE8+), tablet, mobile (portrait+landscape view)
- final deliverables: HTML, CSS, JS files
Is this something you can help us with?
I quipped about how I wished to stop getting e-mails like this. Not because I’m ungrateful for potential project opportunities, but rather because the startup is treating front-end development as something entirely separate from the design process. (Also, for a startup that doesn’t have a developer on staff, they sure have a lot of specific development requirements).
The unfortunate reality is that this startup is not alone in thinking that front-end development is something completely detached from the design process. That you can design everything in isolation then just throw things over the fence to get built.
The Development Identity Crisis
Even when my title was “Web Developer” or “Open Standards Developer”, I used to call myself a “front-end designer”. Now I call myself a “web designer”. A lot of times I go even broader and just say “I make websites” and leave it at that.
I specifically avoid calling myself a developer because people end up assuming that I can whip up some Ruby gems or normalize some databases. I’ve never had a computer science class. My first line of programming was stop();
in ActionScript. I learned if/else statements, loops, variables, and more through jQuery (Gasp! Horror!). Almost all of the programming I’ve done is to manipulate something on a screen. While I’m slowly learning the fundamentals of programming, I wouldn’t dare call myself a programmer.
HTML is not programming. CSS is not programming. But because they’re still code, front-end developers are often put in the same bucket as Python, Java, PHP, Ruby, C#, C++, Objective C, etc, etc developers, rather than with the rest of the design team. This is a big problem.
Development Is Design
HTML and CSS development is design. The most frustrating projects I’ve ever worked on were with people that didn’t understand why front-end development needed to involved in the design process. The most rewarding projects I’ve ever worked on were projects that included front-end development at the very beginning.
As the Web landscape grows increasingly complex, it’s increasingly important to demonstrate the myriad ways a Web experience can be interacted with. It’s impossible for designers working in static environments to realistically articulate every device, user setting, and variable that effects how a design is realized. Because of this, front-end developers need to work closely with other designers to ensure what’s being created is realistic and feasible. This requires rolling front-end development into the design workflow, rethinking our deliverables, and working together in order to create experiences that look and function beautifully on a whole host of screen sizes, form factors, and environments.
In order to effectively design for today and tomorrow’s Web, we must replace outdated design artifacts with real collaboration and communication.
For a lot of people, this is scary as shit.
A Fundamental Problem
A lot of brands, agencies, and organizations have their “creatives” (they call them that) in one department and “IT partners” (they call them that) in another department. Sometimes the developers are on another floor. Sometimes they’re in another building. Sometimes they’re in another city. Sometimes they’re in India. Or Romania. Or Buenos Aires.
This divide between design and development is often so ingrained in a company’s culture, it can seem impossible to make the case for including HTML and CSS in the design process. I’ve rassled with lots of clients’ IT departments who fought tooth and nail to own any and all code. I’ve also rassled with lots of design teams who didn’t see any point in including front-end development in the design process. But one thing everyone could agree on: it’s annoying for some know-it-all front-end developer to come in and tell everybody they’re doing it wrong.
The Web landscape gets crazier every day, and the issues with the design/development divide will only grow more and more apparent. Front-end developers often exist in a weird purgatory, somewhere between the design world and the ultra-geek programming world. We serve as translators between these two worlds, and I feel it’s our responsibility to bridge this chasm between design and development.
Tear Down This Wall
As multi-device Web design quickly becomes the norm, the throw-it-over-the-fence style of creating websites is going to be increasingly difficult. The modern Web design process requires intense collaboration between designers and front-end developers. Real collaboration and communication are difficult, but we must get over that awkwardness in order to overcome the design/development divide.
Comments/stories welcome.
73 Comments
Robin
You’re so, so right! This really struck a chord with me, and the issues I’m currently having at work
Jordan
Great article, Brad. I totally agree with everything you brought up. I’d also mention how important it is for visual designers to learn HTML and CSS. Even having a basic understanding of CSS layout will help avoid unnecessary revisions in a project.
Dennis Gaebel
…“it’s annoying for some know-it-all front-end developer to come in and tell everybody they’re doing it wrong.”
Been there done that. I was that guy and it’s not effective. You have to create a gradual transition which is my approach right now. This gradual approach seems to be working better than firing off the door handle with a shotgun and yelling at everyone like a mercenary.
When groups have their ways of doing things its difficult to break the streams on workflows. Sharing is caring and when you can share the points of reference where the workflow can improve that’s where you’ll find others being more receptive -or so it seems ATM.
Alvin Crespo
+1 Thanks for sharing this!
wendee
amen. as many places also shift to a more agile workflow, development as design is even more important. as front-end engineers we do our best to be flexible but it is difficult when you receive hi-fi designs that have already been signed-off by the client. Sometimes I am surprised I have hair.
Jennifer Showe
Great post. It’s frequently difficult to get folks to see that collaborating with another discipline on solving a problem (all design problems) is not giving up editorial control, but helping make a solution more comprehensive.
I am sad that you seemed to draw the line at “ultra” development. Just as designers may have trouble keeping tabs on UI patterns for emerging devices, so will front-end developers have trouble keeping tabs on what the “ultra geeks” can do. Especially if you’re concerned about application performance, collaborating – even minimally – with this set during design may help make for a smoother development process and more comprehensive design in the end.
Jim Ryan
Great read! I’ve been apart of too many projects where I was just told “Here’s the mock up, make it happen” and they didn’t want any input from the Front-End. Which just resulted in much more back-n-forth on why certain things shouldn’t be handled as the PSD proclaimed.
Ramon
Totally right, and I think the ball is in our hands at this point.
I recently attended CSS Conf EU and Harry Roberts mentioned in his talk (Now posted on JSConf Youtube channel) that “Front end development is much more than replicating pixels from a PSD”, and goes about enhancing communication between the two.
I’m lucky to be in a place where we have this conversation for every project, and it sure is a great way to work faster and deliver better quality products.
PS: “I make websites” has been my website homepage title for years 🙂
Jon Ligi
HTML and CSS are totally design! This is what I’ve always believed. I have been asked by mangers if I what to continue developing or design. I was confused by this because I was never a developer just a good designer who can write html and css and love doing it.
Karissa Wingate
As someone who has been to school for design, and works at a software development consulting company, I have found myself pulled back and forth across the designer-developer line many times. I have a difficult time labeling myself as either, but I am always being pushed into doing so.
I have found the most success on projects when both the design and front end development are taken into account from the very beginning.
The biggest failures I have found in projects are those in which the designers and developers do not talk and just throw things over the wall at each other. Things can get very messy in a hurry, and it never ceases to amaze me how badly written front-end is so often overlooked. The biggest failures I’ve seen usually involve what Jason Steele called out in his Lean Prototyping talk @ UXPA Boston: “Developer Disconnect (major mis-understanding of how a design should work)” and “Art (is a design that cannot be built)” Both are products of poor planning and a lack of communication.
I compare it to a retail company with a huge store and great advertising, but with no customer service to speak of. Sure, you might be able to shop and buy things, but if you have any sort of needs or expectations anywhere just outside of the norm, its not going to be a pleasant experience. Just because something is relatively functional doesn’t mean its a success.
I wish more companies would put their money where their mouth is. If you can afford a designer, if you can afford a development team, you can afford to do both of those things properly by getting the front end development right. Otherwise, what is the point? It can be the best looking website in the world, with the most powerful business logic written, but if your users can’t get a damn thing done, what is the point?
You cannot separate the design from the development anymore than you could ignore the printing process when trying to publish a magazine. Why design and development are so often separated, I have no idea.
Of course, Brad’s worded everything much more eloquently in this article, which I will be sharing like mad.
TJ Fogarty
I’m lucky where I am, as we have an awesome designer who’s aware of some of the limitations on the front end, and how things might translate from design.
The issue we usually face is budget. Be it time or money. So a lot of it is “thrown over the fence” for smaller screens or different devices. I end up designing it in the browser then we sit down together to tweak it.
Great article, though, plenty to relate to.
John Pencola
Wow. You clearly presented the problem(s) I’ve been struggling to communicate to teams beautifully here. Thank you! Looking back, it’s clear to see how many “band-aid” solutions we’ve all tried. But this gets down at the root.
I have to admit, as I was reading, I kept thinking “I can’t wait to get to the section on his proposed solutions.” 🙂 But as you said it’s a challenge we must think about and address. I’m looking forward to breaking the mold!
Mike
It’s very true. Easier diagnosed than solved, unfortunately — I’m working on this issue right now. I’ve never had to deal with it on this level, having been at small companies and startups since the web exploded, taking on both sides of the equation. It always seemed natural. But how to scale that, in terms of design teams working together with dev/engineering teams.
Unfortunately, in large companies (I only have a couple to compare against but anecdotal stories from other people kinda confirm) it does seem like both sides have a passable skill set in HTML/CSS but neither team is awash in either experts or folks who are passionate about that side. It’s the proverbial stepchild of both sides.
Michael "Spell" Spellacy
I have found that it is usually a good front-end developer/designer, who sits in both worlds, that very often determine the end result of the finished product by how it is constructed. This is often a painful experience, so It sure would be nice to get our say in earlier. I can’t say thank you enough for posting this. UID is a pillar that can ill afford to be ignored in the day and age of multi-device design and development. Well said, sir!
Matthew Trow
“Piggy in the middle”
I can so relate to this article. For most of my ‘developer’ career, I’ve been in-between designer and programmer as a sort of ‘glue’ that binds them together. Being able to communicate with both camps has been both a blessing and a curse.
A blessing when collaboration is key to the end result, a curse when everyone works in isolation in a linear pattern: design / templates / program / content
The whole process should be considered holistic and everyone involved should have a say at *any* part of that collaborative effort.
Stéphanie
Just one word: Thank you (2 actually). Thank you for putting into words what I’m trying to explain for years, that I consider CSS and HTML as “tools” to create great designs as other people would use Firework, Sketch or Photoshop pannels to do so.
valderama
I’d say that actually a new discipline in between design and development is what you are talking about. Predominantly a design discipline, but with solid technological understanding. I guess sometimes “interaction designers” fill this role. Long time ago Mitch Kapor called this role “software designers” – I really can recommend his “Manifesto for Software Design”, where he writes exactly about your topic: http://hci.stanford.edu/publications/bds/1-kapor.html
Brian
I was a web designer/front-end developer for years before making a conscious decision to become a UX person and many of the reason why I made that transition, happen to be in this article.
Oh and I get emails asking if I would like to be a Java Developer I think on a daily basis.
This post was excellent.
John Locke
This is still a more common problem than I imagined it would be in 2013. I think the big reason is as you said: it scares the shit out of people that that old process is changing.
I saw the same ad highlighted in the beginning of the post, I think it uncovers a larger problem: for some people/startups, the design process begins and ends with the mockup, the front end developer is just the hired help. To get the best site possible, wouldn’t want to have have someone on board from the start, collaborating and advising your visual design team on what would work, and what would not, and why?
Steven
I couldn’t agree more than that. Although I’m not sure what the ideal process would be… How can we involve front-end dev in the design process in the first stages of a project?
OnePageMania
Design is part of development, but there is also an in-between from initial design and engineering. And I think teams with a “designer”, “front-end developer/designer”, and “engineer” work best if each know and specialize in their roles.
Not all designers know HTML/CSS. And not all FE Devs know how to design a good looking site…. and just about all engineers/programmers I have met don’t know how to set up HTML for a project. I’ve worked with many start-ups and while they are all involved in the beginning concept stages, they have almost always been separate parts of developing the finished project.
If a FE Dev can design a site, great. And if they can do it all (from design to HTML) in the browser, that is awesome. But there are some people who ‘specialize’ is design and some who specialize in ‘front-end development’, and who are we to force them to merge?
Rob
Excellent post, this has really struck home with me too.
Matthew
@Steven – RE: “How can we involve front-end dev in the design process in the first stages of a project?”
Consultation. In an ideal world, the project manager, a programmer and/or designer will have kicked off a wireframe creation process. From that kickoff, review points for the wireframes where necessary from all people on the project. Kick ideas around, discuss, refine.
Then a collaboration in the design area between the pixel pushing and coding – get some base templates done. Bring in the programmers and ask key questions “Are these base templates going to be sufficient to get you started?”
“When are we going to need XYZ templates?”
Following that, it depends on your project management methodology, but at very least, frequent review points and discussion between all relevant members of the project team for the lifecycle of that project.
Basically, no single member of the team should be “Done” until the entire project is ready for delivery.
Tarmo
Nice article! It seems that in our trade there will be never end for need to explain what means “web developer” or “web designer” or “UX designer” etc, etc. Your article is very good to give people who are “outside” to give some perspective to “web world”.
I see “web developer”-title as similar to developer for example in construction business, person who (over)sees overall web(site) development. You may know how to code (in lack of better word) HTML, CSS, JS (~put bricks to wall or paint it) and you may know more-or-less what font or color works together (~interior design). But real value comes to put all these and hundred other small bits (UX, usability, selecting right platform, server software, etc) together to serve client need, support her/his business, what ever it happens to be same as developer in construction business (getting proper architect or not letting plant tree in front of the door or looking how truck can access construction site, etc, etc).
Over time front and back end coders have became “web developers” (people who writing strange words which results websites) and people from graphical background “web designers” (people who create nice pictures(=layouts) in Photoshop). As rest of world struggles to understand what web is (for) this partly misleading titles not make things clearer neither.
Travis Holliday
Top notch post as usual, Mr. Frost!
Ilincescu Mihai
I liked the part that “Sometimes they’re in another city. Sometimes they’re in India. Or Romania. Or Buenos Aires.”
I’m from Sibiu , Romania and I had to make a web page from a psd file transferred from Uk. I wanted to say so much think that he could have done or to improve but .. the communication between me managers and only after that the front end developer from UK is so hard.
David Turner
Are you actually serious? Look at your mustard website and you’ll see why front end developers cannot be designers.
Come on, son.
Brad Frost
I love mustard!!!!!1
Tom Lewek
@David, thanks for that critique. I’ll study the mustard qualities of Brad’s site and try to understand.
The roles are merging into one, there will soon be no designer who can’t work on front-end dev, and no front-end dev who can’t design.
Something like the title of Interaction Designer comes to mind, that implies not only design, but the ability to design interactions, which can only happen through HTML/CSS/JS.
Paul Michael Smith
Gotta love the Mustard!
Speaking for myself, I started as a designer, I fell into front-end development, purely as a means to get my design out there.
A professional front-end developer rarely creates the traditional (and tired) metaphor of a “page” anymore. A page denotes, a fixed, static and immovable thing that is the same no matter what.
We build front-end “systems”. Dynamic screens with multiple permutations depending a number of scenarios. We write software! As front-end developers we quite literally break down web designs into tiny pieces on a daily basis and so are best placed to talk about design and how it will look *and* function.
Choices about colour, shadows, gradients, borders and general aesthetic might not be our forte but we certainly no what will and what won’t *work*.
To use a football (soccer) analogy, I see front-end developers as the midfield. We have to be multi-skilled. In football, a defender rarely if ever runs up field to score and vice-versa an attacker rarely goes back to defend but a midfielder is expected to do both regularly or the team can’t perform.
We knit together the form and function, guarding against either of those encroaching on the other too much.
eric smith
I think I agree with the majority of the sentiment. The way we build things for the web now is different than it was – the entrenched processes need updating.
However – one small objection:
“HTML is not programming. CSS is not programming”
I think I understand what you’re trying to get at, but I’d have to disagree. HTML and CSS are programming in the sense that you not only write code but optimize it as well. I believe that’s the technical understanding that’s being referenced above by some of the other commenters. My CS prof always used to say:
“I would have written you a shorter letter if I had more time.”
It’s a great statement that, for me, highlights a lot of what defines programming. In HTML and CSS just like PHP, Ruby, JS – there are myriad ways to solve a problem – 20 divs can solve the same problem that 2 divs can.
Maybe the easiest way for me to express this is with an example: if we take a print designer, and she shows me a poster she’s designed – there’s no visual difference to me whether or not she spent 20 hours or 60 hours on it.
However, on the web – there are all sorts of meta factors to consider – perhaps it was designed and coded in 20 hours, but without thought to SEO, HTTP requests and loading time, responsive media queries. This is what makes HTML / CSS programming in my mind: the optimization.
Not sure I’m expressing my opinion clearly – but would love to hear your thoughts.
Tri Ahmad Irfan
I’m still in my freshman year on Computer Science, and I’m really passionate when it comes to web development. I’ve background competitive programming using Pascal, C/C++, and Java in high school back then. When it comes to web development, there’s no problem. But when it comes to design, I thought that I have no talent in designing things. But somehow I just realized that I’ve been designing things all my life. Designing a good algorithm is design, and designing a website.
Maybe learning the visual and aesthetic part of design is hard. But I totally agree that design and development are almost the same thing.
valerio
so right 🙂
Leban
@Tom Lewek +1
Re: “Something like the title of Interaction Designer comes to mind…” That’s exactly what my title reads and that’s exactly what I do. So, yeah. That 🙂
Jenn Murray
It’s funny. As the web expands, we need more experts. It’s increasing harder for a solid graphic designer to also be an expert developer or general web coder.
Yet at the same time, we need to draw all those experts closer together for collaboration purposes. Otherwise, you can end up with a super frustrating process – or a less-then-steller product.
dan turner
Thanks for the article and thoughts, Brad.
I’d kick this a step or two earlier into the “startup” process, though: I’ve had lots of email and in-person exchanges with startups and founders who want to get _to_ that point of having “wireframes” (see Christina Wodtke: http://www.eleganthack.com/whats-wrong-with-wireframes/) by hiring someone to “just implement, because we know what we want and we have to build”. That is, screw user research, because “we know”. I can cite all the ROI data and case studies on startups that based million-dollar expenditures on mistaken assumptions, but… do business schools really teach MBAs this process, and do investors penalize startups that invest time in research?
asbjørn
agree – presentation structure (HTML) and styling (CSS) should be tightly involved in the design process.
but i don’t see why we should stop there, and not include the “real” developers too. or: a carpenter may have tons of good ideas and advice on how to construct a house. but if the architect won’t consult him, all that knowledge will be of no use (until the carpenter actually alters the building because “it cannot be built like that”).
collaborate.
Keith Radcliffe
Great article Brad, it is a shame this doesn’t extend beyond our own field, I’ve been at around 15 interviews of late, in-house and agency, where they have advertised for a ‘Web Designer’ but they are actually looking for a back end developer/programmer call it what you will.
While I agree that front-end development and design are pretty much hand in hand, I have to position myself as a designer to avoid ending up in the ‘Developer’ mould and ending up at interviews that are wasting both mine and their time.
avigmatechnology
This post was excellent and thanks for the article and thoughts,
someone
I know this as well, the designer creates a design and we just have to implement it. Its not our decission any more if those things even make sense from a developer standpoint (or even someone who understands CSS)
Francisc
shabang 🙂 damn right
Bill Addison
This is so true!
Static designs often feel different when in a browser. Sometimes that means re-thinking the design during the frontend build.
Add to this user-experience considerations and it makes sense that frontend dev should be included as part of the overall design process.
Another important point to consider is content. In most cases, static designs are produced for specific pieces of static content. Once a design is built with live, dynamic content, in most real-life scenarios you’ll find interface tweaks are required.
jfulgar
true that!
Romain Dardour
Spot on article, as always.
I’ve been struggling to find a proper term to describe the designers coding their own features on the client side (They’re our target audience at Hull).
As an industry even, we need a specific term to identify this set of skills at the crossroads of several other more traditional ones (Developer still being ‘Traditional’)
At one point I thought about ‘experience developer’ but I kind of find it fluffy and pompous.
Any suggestions?
Joker James
@David Turner
Do you, David, want Brad to cut the mustard?
Mayra
Great article! I couldn’t agree with you more. It’s super important for any web “designer” to understand HTML and CSS. You can’t separate them because they are one, design and front-end development.
Ludvik Herrera
The statements you make have many people agreeing on that same sentiment, myself included.
What it’s more perplexing is the skills required, and the will to collaborate between the developers and designers.
What happens when developers force their ‘design’ into the project, where there is lack of actual design knowledge?
On the other side, I know of a ‘marketing and advertising agency’ that calls their web designers ‘interactive designer’, whilst none of them know actual front-end development HTML/CSS and Javascript code, is this right?
Can an interactive designer afford the luxury of not knowing full heartedly HTML/CSS/JS code?
Fantastic article!
ProShark Mobile Application Development
ProShark Mobile Application Development
Just in case you missed some of the pertinent facts regarding application development for mobile platforms, here are a few that may catch your attention.
• 72% of adult Cellphone users text messages
• 65% of adult Cellphone users sleep with their phones
• 50% of US Cellphones will be smart phones by Christmas 2011
• 1 out of 3 Yelp searches is from mobile
• Apple Will Sell $2B in Apps in 2011
• Approximately 40% of social media users access their accounts through mobile devices.
• One billion mobile applications were downloaded in the week between Christmas Day and New Years Day – Flurry Analytics
• The total global mobile applications market is expected to be worth $25 billion by 2015 (up from about $6.8 billion in 2010) – Marketsand Markets
Go to::>> http://proshark.com/
Susan Silver
To further the discussion, don’t forget your copywriters too. The design and the development teams should be in discussions with the content team as well. These choices have a big impact of how text looks and how much you need. Especially if we are also talking about delivery to multiple devices.
The writers are going to be dealing with how to use the resources built by the designers and developers for effective copy. The more knowledge they have, the better they can plan their content strategies.
Shaimoom Newaz
Thanks for the great message. I like saying “I make websites” too. It sounds magical. Also, do you think it is OK to work as a team up until the front-end code is written and then hand off to a backend development team or person?
James Madson
BOOM. Great write up! Thanks for sharing.
Shane Hudson
I completely agree with your point… but if I started calling myself a designer, everybody would soon want a refund.
Development is design but unless you are talking about code architecture, a lot of developers should be working with designers and not attempting to call themselves designers!
Dale Geist
Thanks, Brad, for raising awareness on this issue. The fact that so many website-making organizations are structured like this must carry an enormous cost in wasted time and, perhaps worse, human frustration, and results in sites that make no one completely satisfied.
One problem is with the word “designer.” Even though they may seem at first glance to be closely related, web design is quite a different thing from visual design. It’s entirely possible to be – as has been well documented in the above comments – a fantastic visual designer and an inadequate web designer. And vice versa (I myself am an average-at-best visual designer, but I have pretty good web/UX/UI/IA design chops.) A web designer must have a strong understanding of what browsers do, and the best way to get that is to know HTML and CSS pretty well.
A Photoshop file is an inadequate spec for a developer to build a website from, and no developer should accept a PSD as the complete spec. I would urge managers to make sure that web designers who work for them are fluid in HTML/CSS, and I’d go beyond that to challenge web designers to start letting go of Photoshop and start designing in the browser.
Mike King
On point.
I spend most of my days in code, crafting interactions and UI’s but I don’t really think of what I’m doing as “development” at all. I also happen to work at a company that is 80% software engineers (folks with CS degrees) and what I do definitely sits outside of what they would call programming or engineering.
Regardless of the language, if you are touching the point of interaction between a user and a system, it’s design.
Joshua
Like you, I try not to refer to myself as a “developer” or a “designer”. I tell people I build websites from start to finish.
Simon
I just sent this article to one of our designers. His response was:
“That is why a designer should know about frontend, i would rather say that design = development”
Could he be any more patronizing…
Dixon
Great Expression of thought! Most business managers and executives have no idea that the backend developer has a different skill set than the front end person. Take this to the small business level and it’s even more extreme…….
Andrew Coyle
I have seen the extremes.
I have worked at ad agencies filled with print designers and art directors that had no concept of development processes and outsourced all of their development work. I have also worked at places that didn’t know what Photoshop was and “designed” with code. I didn’t stick around long in either environment.
I agree that UI/UX and front-end dev should be closely related in the design process. As a designer who has also coded many websites I disagree that the two roles should be treated the same. I would much rather partner with a great developer and focus on the UI/UX design. I see so many terrible websites that were “designed” by developers, as well as beautifully designed websites that break in the worst ways because the designer decided to dive into complex code.
I think the sweet spot is when you can find a partnership between a designer who understands code and a developer that gets the design process.
Cheers,
AC
designedthought.com
(p.s. I really enjoy your blog)
Rich
I disagree.
I can take a PSD, turn it into a web page that displays correctly on six browsers, can be injected into a native app on PhoneGap on multiple platforms and work error free, and can diagnose performance problems that reduce a 20 second delay to several milliseconds.
I can barely design a square. If you want four color coordinated squares, you’re not gonna want this guy on your design team.
Development and design are two very different things. There’s as much overlap as the trades and architecture.
Geoff Graham
Thanks for following up on this, Brad! You shared a few of these thoughts in response to my post on your tweet (http://geoffgraham.me/smartest-in-the-room), but it’s nice to see them expanded further.
We’re still completely on the same page. If we see the problem and know how to diagnose it, then it’s our job as the “smartest in the room” to educate our clients (existing and potential), define our boundaries, then either accept or pass on the job.
Naturally, our hope is that companies start to recognize the blurring distinction between design and development before a project begins but, if not, then we can at least do our best to move the conversation in the right direction.
I see it as a Catch-22: we hate getting these kinds of emails, but it’s never going to get better unless we change the discussion.
Anyways, thanks again for sharing, clarifying and moving the discussion forward!
Chris
Wise words. Currently experiencing this exact issue with a university website. Marketing (my team) is the “designers” and IT is the “developers”. How can we create mockups that adequately demonstrate interactions like menus, screen sizes and transitions? I’d be making Fireworks files all day if I needed to communicate this all before handing it over.
adamcharles
it is so nice to read your blog about the web designing tips and further it is more interesting to get these valuable points. thanks for sharing your views!!!!
Julie
I currently fill this “go-between” role at our agency – our visual designers seem to keep getting hired without even rudimentary coding knowledge and our back-end developers are often too “deep” in a project to provide input on an interface beyond basic functionality. My role is to create a content architecture, educate designers about the technical limitations and inconsistencies in their designs, educate developers (speaking of back-end here) about how a change that seems semantic to them can be the difference between confusing and understanding to a user, build interactive prototypes with HTML/CSS/JS (we’ve gone away from traditional wireframes) that become our front-end system, contribute to a functionality document that guides development, get user feedback as needed throughout the process, and a whole host of other random tasks that fall under the big bucket of “she’s the one thinking of the user.”
My title is “User Experience Architect.”
Wouter
Nailed it. Great article, we don’t see enough of these. Most articles are by the Gods of VIM or the Titans of Photoshop. Not enough of the “in-betweens” share their experience.
I had to smile at the fact that the company in the beginning of your article specifically wants LESS for the development process, but expects the final delivery to be CSS :-D.
sprain
I think the important part here, overlooked by many comments, is: Design and Frontend Development belong to the same team. But not necessarily the same person within that team. It’s crucial though that they work together very closely.
James Ferrell
This article made so much sense that I was compelled to read through the comments to see if there was an alternate perspective. But it looks like all of the negative responses are from people that completely missed the point of the article.
The idea is not that all developers can design or do front end work (or vice versa), but that the people from these different disciplines need to be more closely involved with each other at every stage of the process. You can’t code a website without designing it, and a comp is nothing until it is turned into code, so why are the people involved with these stages typically separated from each other?
Valentin Radulescu
Didn’t go over the comments, I’m sure someone must have mentioned this already but I’ll do it anyway.
The number one reason I agree with this article is because designers who don’t code HTML/CSS don’t think about the most important thing in computing, PERFORMANCE. I’ve worked on multiple projects where a “designer” would throw around wild ideas not caring or understanding that implementing them would mean that the site ran like crap.
“It’s your job, figure out, make it run fast, we only hired you because we needed someone to convert PSD-to-HTML and none of our coders could do it.” I used to hear this a lot when I was starting out, got a ton of projects where the previous frontend dev left unexpectedly. Why? Because he was probably treated like crap.
Some companies must think that frontenders don’t really matter, that we’re interchangeable or something. Old one left? Throw in a new one in there, give him a couple of bucks and ta-da project complete, well done.
Or maybe it’s just me, I dunno. Positive side, eventually you’re able to choose your own clients, so it gets easier, I guess.
Roman Vesely
You are right, great article!
Scott Hooten
I have to say I actually do not agree. I was a freelance designer way back in 1998 and designed and built websites. I have a traditional design background and the time and energy it takes to stay current and to truly be a great developer was very detrimental to my ability to be a great designer. I am now a co-founder of a digital agency with 18 employees and our designers design, do UX and strategy and collaborate closely with our dedicated developers to create great work.
We have looked into hiring hybrid designer/developer people and have been left unimpressed. There are a few out there that are truly great at both aspects, but you can’t build a business on that.
We look for people with a passion and an aptitude for either design or development. I realize this is an unpopular stance and not the “cool” new way that people tend to promote, because it sounds old fashioned, but if you look deeply at the top agencies around the world, for the most part these are separate disciplines, because they want specialists, not generalists. I don’t want my designers spending there days debugging code for IE7, I want them learning and growing their design skills.
Brad Frost
We agree. I’m not advocating that everyone needs to be a unicorn and do it all. That’s just unattainable for most people. What I say in the article is that front end developers need to be treated as an essential part of the design process. Like you said, developers and designers need to work closely together in order to do good work. So again, we agree.
Michael Greenwood
Mmmm always used certain process models. Not sure if there’s a one size fits all solution. Great article thanks.
Web development Oman
Things can get very messy in a hurry, and it never ceases to amaze me how badly written front-end is so often overlooked.
Mike Healy
This is a good article and a reasonable response to the project enquiry. Your original Tweet however would have pissed me off if I were that client.
The enquiry was quite respectful, if perhaps a little prescriptive, but still with a view to paying you for what they understood to be your job. To potentially see their words up on Twitter with a statement to the effect of “I wish people like this wouldn’t contact me” would be pretty maddening I think.
Comments are closed for this post. If you've got something to add, feel free to reach out on Twitter.