screeley.com

Designers vs Developers. Where do we draw the line?

Sept.3

This entry, was originally written for the Optaros intranet. We have two roles, User Experience (UX) and Technical developers. Most the time we cross boundaries into each others territory, but if we had to draw that boundary where would it be?

I enjoy working with the UX folks. They always say silly things like "What would the user want" or "Wouldn't [some crazy development task] benefit the user." They bring a new perspective to a project, as well as a new set of challenges.

This post spawns from James Bennett's post:
"Designers and developers: FIGHT!". Now as a company I think the development staff could take the designers, but that's neither here nor there.

Now his entry focuses more on the fact designers and developers don't like each other and that's generally not the case at Optaros, but we (at least I) do have the tendency to stereotype at the lowest common denominator, "UX makes pretty pictures" or "Developers are just code monkeys who hang in out in the shadows." You can read the rest about how you should give your favorite designer a pat on the back for furthering web standards and the industry as a whole, but I want to focus on his second bullet, that he has yet to address:

"How can we productively handle the division of responsibilities (and, hence, required knowledge and skills) between web designers and web developers?"

Should the UX guys only be in charge of HTML and design (images, colors and wireframing) or should they know be able to do the JavaScript and PHP/template language aspect as well? Now I know there is no right answer on this one, it generally depends on the project and the individual, but lets take a stab at it shall we?

The line is JavaScript and both parties should know it. Now it took me a while to see the light on this one. Tom (a UX) tried to convince me for months that I should handle some of the JavaScript aspects of a recent project and I resisted, with the "that's not my job" attitude. But with frameworks like jQuery it makes it not only easy, but beneficial for the development staff to handle the JS. This is my formal apology, Tom I was wrong and I see the light.

In this company I think we typically would associate Javascript with the UX staff. They handle the HTML, they should be in charge of developing the JS to interact with their layout. Great, but we are ignoring the other backend development tasks that go along with JavaScript such as AJAX and pre-rendered HTML. AJAX especially, with such heavy ties to the backend it's just dumb to ignore this as a development task. I think the oView staff would agree with this assessment as well.

Now some pure designers would also say that HTML would be a developer task. Obviously we as a company firmly disagree on that one. With the nuances of design, layout, branding and color the last thing you want is one of us code monkeys messing up your layout. That being said you can't use JavaScript without a good understanding of CSS and HTML.

Optaros does a great job at hiring smart people that span both roles. This argument almost doesn't make sense because we have very few pure designers or developers. Though for argument sake, and for the next time I use the "it's not my job" argument, if we had to draw a line in the sand this is where I would put it.

Thoughts?

Comments

There's JavaScript, then there's JavaScript. I think the line in the sand splits JavaScript into two distinct pieces.

On the UX side, there's the JavaScript that does UI stuff. On the development side, there's the JavaScript that does pre-submit validation.

The libraries out there allow you to specify a method that validates a particular field. That piece of code is the realm of the Technical developer - he knows about data formats, what the system can accept in terms of date formats, character field lengths, etc.

Whether the validation code is being used in "OnBlur" or "OnSubmit" doesn't matter. The field and form validation code is clearly the realm of the Technical developer.

Then there's the code which does funky stuff like setting the text colour to gray for fields that contain initial data (such as "Surname"), then clears the field and sets the text colour to black when OnFocus is triggered. That's the fancy schmancy UI stuff which Technical developers have nightmares about. But it's exactly the kind of JavaScript that UX developers have joyous raptures about.

"This field isn't valid, and here's a reason" - that's the Technical developer's responsibility. That conversation is between the Technical developer's JavaScript and the UX developer's JavaScript. The same conversation will happen between the browser and the server if that invalid form is submitted.

"You click in this field and type stuff, and when the form is happy that the data you've filled is valid, that grey tick to the left turns green. Once all fields are filled in correctly, the submit button is enabled so you can click it." - that's the UX developer's responsibility.

"Please give me the list of airports for 'France'" - that's the AJAX request from the Technical developer's code.

"The user clicked the geographic region of 'France' on this map, get the list of airports for 'France'" - that's the UI javaScript making a request of the stuff that handles AJAX interaction.

Anyhow, that's just my opinion. I hope it leads to some discussion :)

I'm a developer out of San Francisco CA working at a startup.

This space will deal with the work I've participated in using the Django framework to build applications for enterprise clients.

Finally, you should follow me on twitter.

Ruminations

  • "GobgoplebeM <a href=http://posterous.com/people/4SDzppk18fMR>сиалис цены</a> undilyday"
    at 3:24a.m. Sept. 6, 2010 | permalink

  • "generic z-pak <a href=http://sefsa.org>buy azithromycin</a>"
    at 7:53p.m. Aug. 27, 2010 | permalink

  • "How do i come up with cash from online gambling? <img>http://shrtn.info/smile/ref.php</img>"
    at 2:50a.m. Aug. 25, 2010 | permalink

  • "http://needman.ru замуж за иностранца <a href=http://needman.ru>знакомства с иностранцами</a>"
    at 12:59p.m. May 18, 2010 | permalink

  • "Yebhewjw <a href="http://yebhewjw.de">yebhewjw</a> http://yebhewjw.de yebhewjw http://yebhewjw.de"
    at 11:41p.m. April 29, 2010 | permalink

  • "Thanks for this, unbelievable our developer has a robots no follow tag on our site, no wonder it wasn't being found by the search engines ..."
    at 7:40a.m. March 2, 2010 | permalink

  • "maybe you are right. but how often robots.txt is actually accessed? and how much overhead there is? I'm curious - quantitatively - how big of ..."
    at 7:13p.m. Dec. 12, 2009 | permalink

  • "Lovely idea! Thanks for sharing. I'm gonna have a closer look at the patch for Django 1.2. This could help switching template engines a lot. ..."
    at 9:14a.m. Nov. 2, 2009 | permalink

  • "That was an inspiring post, I think Drupal is great! how could you hate it so much, Thanks for writing, most people don't bother."
    at 11:14a.m. Oct. 28, 2009 | permalink

  • "@Evgeniy. Yes at: http://code.google.com/p/django-alfresco/"
    at 10:42a.m. Oct. 22, 2009 | permalink

  • "Is this released as an open source project?"
    at 1:21a.m. Oct. 22, 2009 | permalink

  • "Interesting, thanks for the examples that you have shared, these are great... Anyway, thanks for the post"
    at 7:55a.m. Oct. 16, 2009 | permalink