This morning a good conversation broke out in Twitter, which is not the best medium for real-time conversation, but hey we take what we get. It was concerning this article where Lukas Mathis said that for people who design user experiences, knowing how to code is detrimental to your ability to produce quality, user-centric designs. I greatly disagreed with his article, and we then had a conversation on Twitter spanning many dozens of Tweets.
If you haven't already read his article please do so, then pop back here.
A user experience designer designs the user experience, obviously... but is it really that obvious? What's the user experiencing when we say "the user experience"? On the web, there are many things that contribute to the user's overall experience using the website or application:
These are just a small sampling. So what's part of a quality user experience? Everything is.
The user's experience with your website or application isn't just what the app looks like or what happens when a user clicks a button. It's not just the workflow they navigate through to execute a task. It's everything. Everything that the user does and experiences from the moment they load up your website or application to the moment they leave it is part of the overall user experience. A user experience designer's job is very important and requires having knowledge of many things in order to be effective.
Designing the user's overall experience is not the same as designing the user interface, it's a lot more than that. In my mind, a user experience designer's job includes user interface design, includes designing the workflow to complete tasks and accomplish goals, includes being knowledgeable about usability testing, includes being knowledgeable about accessibility and users with special needs, and includes having knowledge about how the underlying application architecture works.
The best user experience designers are the ones that bring in knowledge from multiple disciplines (design, development, psychology) and put it all together so that the user benefits.
For example, in my Twitter conversation with Lukas, I gave the example of a UX designer needing to know how Ajax works in order to use it effectively. If you don't know how Ajax works or how web server requests work, how can you decide that in a particular situation Ajax would be best for the user's experience? Lukas replied with this tweet:
That's a perfect example of ignoring the code for a better user experience; page refresh would be easier and quicker to implement.
As I pointed out in my next tweet, what Lukas said is actually not true — in many circumstances an Ajax request is literally faster to execute than a full page refresh. Refreshing the full page makes more HTTP requests to the server (to pull CSS & Javascript files, images) however an Ajax request is only sending back a block of text in many circumstances, so it makes far fewer roundtrip requests to the web server. In most cases, an Ajax request to send data and get data back is faster than a full page refresh.
How do I know that? Because as someone who designs the user experience for web applications, I know how HTTP requests work and how Apache responds to a browser's request, I know about what happens at most places within the roundtrip to the server, and I know about what code is executing server-side when I make an Ajax request. I need to know about these things in order to make the call to use Ajax in a certain scenario over a page refresh. Most often when I decide to use Ajax it's because it will simply be faster and will make the application appear more responsive to the user. A big part of the overall user experience is how the user perceives the speed of the application, so I made a user-centered decision to use Ajax because I know it will enhance a user's experience.
If someone only knows how Ajax works from a superficial standpoint ("something happens without the page refreshing"), then when the choice is made to use Ajax instead of a page refresh, that decision is made without full knowledge of how Ajax works, what it's good for, what it's not good for, how it affects application performance, how it impacts application caching infrastructure, etc. It's a decision made without full knowledge of the consequences.
Architects don't just draw blueprints, they need to know what the ground is like under the building, what types of weather the region receives, and what building materials work best considering all the variables. They don't just draw, the craft the entire structure, and need a deep understanding of materials and processes in order to effectively do their job.
Chefs don't just put ingredients together and hope for a delicious dish, they have a deep knowledge of food and how things taste to people in certain situations.
Potters aren't just sculpting clay blocks into beautiful forms, but also firing the clay to keep it in its shape forever. They need to know about glazes and temperature and the science of firing in order to create their works of art.
User experience designers on the web need to know the environment and medium too, just like architects, chefs, and potters. A web designer is someone who designs for the web and knows the HTML & CSS needed to make their designs into real interfaces. If they don't know HTML & CSS, then they're not really designing for the web because they're not designing for the constraints of the medium. So what happens when someone who considers themselves a web designer doesn't have an in-depth knowledge of the medium? They make poor decisions. Decisions made without full knowledge of how their decision impacts the overall user experience. Here's a scenario:
Designer A hands HTML & CSS developer B a mockup of an interface. It's a complex interface and every single corner of every box in the design is rounded and has 3 different borders on it, plus a drop shadow. Every typeface in the mockup is a font the designer just bought, not any default web fonts that users will have.
In this scenario, because the designer isn't familiar with the constraints of the web, they are making design choices that negatively impact the quality of the user's overall experience. To execute rounded corners on a box — one that will expand with the content inside of it — you need additional HTML markup, CSS, and images to make it happen. Multiple borders and border styles? That's more markup and images. Drop shadows? That's a whole bunch of extra transparent PNGs. Custom fonts? You're either using a Flash image replacement method of dynamically-generated images for each one.
Tons of additional markup, images, Flash files, and Javascript just to execute an effect that doesn't make anything better or simpler for the user. Many more kilobytes of data needed to be loaded by the user before they can see the page as it was intended. Additional milliseconds or seconds of load time just because a designer with no knowledge of the web medium didn't design with the environment or constraints of the medium in mind.
Does this mean you can't execute a beautiful interface on the web? Of course not, look at how many beautiful websites and web applications are out there that also work beautifully, too. But a graphically heavy website or web application that is bulky and slow? That has visual effects that don't better the overall user experience? That's not so beautiful, and that's not how you design for the web.
To understand how an Ajax request works you don't need to be able to write the Javascript needed for an Ajax request by hand off the top of your head, or wax technical on Apache process handling, but you do need to understand it fully enough so that you can make educated decisions about its usage. Architects don't choose one material over another just because one looks cooler, they make the decision based on many factors like structural rigidity, price, regional scarcity, etc. They know enough about the material to make an educated decision about whether to use it.
A user experience designer on the web needs to know enough about the environment and the web medium to make quality, user-centric decisions. If a UX designer wants to use a complicated interaction paradigm like drag-and-drop, then they should know the programatic constraints of its usage on the web. Drag-and-drop on the web isn't like drag-and-drop in a desktop app, so you have to know why it's different, how it's different, and how to correctly use drag-and-drop in order to effectively implement it. If you're obsessed with your application's speed then knowledge about how many kilobytes of Javascript it takes to implement DnD is important. You also have to be knowledgeable about how an impaired person uses the web and how to make a drag-and-drop experience still usable for them. You have to know how to handle a situation where a user has Javascript turned off.
Making what seems to simply be a "design decision" never is. It's a decision based on numerous factors encompassing design, development, architecture, usability, and accessibility. A user experience designer's job is to make decisions based on the entire scenario and environment in order to be as effective as possible. Benefiting a user's experience in one aspect, while negating that benefit in another, is the result of not being knowledgeable enough about what you're deciding.
Having sufficient knowledge to make a good, user-centric decision is great, but having a more in-depth, advanced knowledge is the best scenario. If you're a user experience designer and you want to use drag-and-drop in an interface, it helps if you can prototype the full interaction to get a feel for the timing and overall experience of the feature. There are some things you just can't know about until you're using a real, live interface, and it's extremely valuable to be able to build a prototype of a real interface to flush those things out early in the design process.
As Apple's operating systems have evolved, so too have their paradigms for user interaction. In Leopard and in many newer Apple applications, animations and advanced user interaction scenarios are used as part of the overall user experience. If a UX designer at Apple has no idea how CoreAnimation works at any level, and they can't use an application like Keynote or Flash to at least prototype an animation effect, then they can't truly express their vision for an interface. In fact, Visual Interface Designers at Apple are expected to know either Flash or Keynote in order to prototype their interfaces. Wait... an interface designer is expected to know how to code ActionScript in order to do their job? Yup, and if you don't, you can't be as effective as other interface designers on your team who do.
Take a look at the folks who are creating cutting-edge Mac and iPhone applications — they're designers with intimate knowledge of how their interfaces are implemented and developed. Designers who are learning Cocoa so they can prototype iPhone interfaces since the key component of good iPhone application design isn't just the visual design, but the interaction. These are the folks who are most successful on the iPhone — the ones who know both design and development and are intimately aware of the constraints of both. Look at the iPhone! It's tiny, low-powered, and doesn't have a keyboard. The entire device is one big constraint, so you have to know what these constraints are to be successful on the platform.
There are so many titles for what people do on the web nowadays it's just ludicrous. You've got interface designers, interface engineers, visual interface designers, UI developers, information architects and user experience designers. Then you've got usability engineers, usability testers, web designers, and web developers. With so many titles, and so many people whose skills span a variety of these separate disciplines, where does one know where a UX designer stops and a UI developer begins?
All I can discuss is what's made me more successful in my career, and that's learning as much as possible about the medium in which I work. On the web that means I design workflows, interaction scenarios, interface design mockups, full HTML/CSS/Javascript prototypes, and occasionally implement these prototypes into the backend and hook it up to a database. I started out designing for the web and knowing HTML and Javascript, then I learned CSS, jQuery & Prototype libraries, then PHP, MySQL and some Ruby. I continued my education wherever possible because it's impossible to be too familiar with something when you're trying to make the most educated decision you possibly can. The more information you have access to, real-life experience you can fall back on, and in-depth knowledge you have the better your overall decisions are and the better and more user-friendly your websites and web applications are.
You can't be too knowledgeable when making an important, user-facing decision. The more knowledge you have the more likely it is that you'll see a decision from all possible sides.
Ping URL: http://flyosity.com/cgi-bin/mt/mt-tb.cgi/12
18 Comments
Scrivs | March 11, 2009 5:47 PM | Reply
To make things easier:
- The more tools you know the more options you allow yourself in creating user interfaces.
- However, the great designers know how to show restraint with these tools.
- I think Lukas has a problem with people who know how to code everything and because they do figure it's okay to use everything which isn't the case. This is where many designers fails. They use something just because they can or think that it is cool. This is not design, this is picking crayons out of the box and just throwing colors on a page.
Thanks for helping me reach my quota on reading this week.
Erik | March 11, 2009 6:11 PM | Reply
Great post, totally agree with you on this! Designers that create posters and book covers and such don't really have to know how the cover end up on the book, but for UI-designers that do web-related work, knowing how stuff works backstage is always a plus since it helps you pick the right tools and techniques for the right reasons. It also helps you as a designer b/c you know the potential problems that might develop with certain types of designs (as your example with the "Designer A hands HTML & CSS developer B a..." clearly shows).
Richard | March 11, 2009 8:52 PM | Reply
Right on. I think the essential debate is where to draw that knowledge line: does a designer need to know how to program an operating system? Of course not. But I would expect a competent web designer to know CSS, because without that knowledge their designs are not taking advantage of the unique capabilities of the web. Knowing jquery adds another dimension to what they can do. Add SQL and they begin to grasp the overall structure of how their app will look and work. Conversely, your average print designer will not understand resizable pages or scrolling, let alone UI design. The best workflow will include designers who are knowledgeable in programming as well as programmers who understand the principles of design.
A.J. Wood | March 11, 2009 9:57 PM | Reply
Excellent article. Well constructed, educational, and you stated your points in a clear concise manner.
Thank you for sharing this information.
LKM | March 12, 2009 5:20 AM | Reply
(Note that I use interaction designer, user experience designer and designer pretty much interchangeably in this post; I'm talking about the person who designs what the programmer has to do, regardless of the specifics. Also note that I apologize for the long comment, perhaps I'll write a follow-up blog post. Finally note that I apologize for my original blog post; I will probably have to rewrite it as I don't think I make my point well and concise enough; discussing this with you has helped me come up with a clearer picture of what I actually intended to say :-)
I guess I should start out by reiterating the problems I see with interaction designers who know how to code.
First, if the interaction designers implements his own designs, he is beholden to two different goals: Clean code and great user interaction design. These two goals contradict each other. If you have to implement your own designs, you're bound to compromise for the sake of code quality, which is bad for your interaction design.
Second, if the interaction designer designs for a programmer, but knows about the code, he will make decisions too early. Instead of designing the best possible user experience and letting the programmer implement it, he will cut features which may have been possible, but which he did not know were possible (say, typographic decisions on web sites), and he will make decisions which are technically wrong (say, decide to use Ajax when all the data could have been loaded when the page was loaded).
In the first case, the user interaction designer is compromised because he has two contradicting goals. In the second case, he is compromised because he makes decisions which should have been made by the programmer, who has the full picture of the code base and better knowledge of the technology.
Thus my conclusion that interaction designers should not be forced to learn how to code, and that interaction designers who know how to code need to learn to put aside their knowledge and concentrate on the users when working on interaction design.
>As I pointed out in my next tweet, what Lukas said is actually
>not true — in many circumstances an Ajax request is literally
>faster to execute than a full page refresh.
I'm not sure how this contradicts what I said :-)
I did not say that an Ajax request was slower from the user's point of view, I said that it was harder to implement from a programmer's point of view. The end result of this is that people who do both interaction design and implementation have contradicting incentives: Do I want to implement the feature that is best for the user, or the feature that is easier to write and results in a cleaner code base?
From what you write, I'm going to guess that you mainly do user interaction design, and that somebody else writes the code. However, you also write that you "decide to use Ajax." How can you make that choice without knowing the code base and data layout? The user interaction designer's job is to define the user interaction - i.e. that something should change without a full page request. The programmers can then figure out whether they want to use Ajax, or a reloading iframe, or whether they can load all the necessary data when the page loads and simply switch out DOM elements as needed, or whether they have a different mechanism to implement your design.
And if they use Ajax, they can decide whether to let the server send XML, JSON, an HTML string or a plain old string. The user interaction designer should not tell the programmer to use Ajax, just as he should not tell him whether to use JSON. He should tell the programmer how the user interaction will play out, and the programmer should decide on the best possible technology.
Whether to use Ajax is simply not the interaction designer's job. The interaction designer's job is to design the interaction; the programmer's job is to find the perfect technology to implement that interaction.
In other words, your decision to use Ajax is a decision made without full knowledge of the consequences; precisely the thing you don't want to make.
A little knowledge is a dangerous thing; you can never make useful educated decisions when you only have half the picture. So let the people who have the full picture make the decisions.
>If they don't know HTML & CSS, then they're not really
>designing for the web because they're not designing for
>the constraints of the medium.
Which is a good thing. In my experience when working with (visual) designers, the people who know how HTML and CSS work will give me blocky designs which are easy to implement. I love that. But at the same time, I end up with average to good results.
The people who *don't* know how the web really works give me designs with drop shadows on complex backgrounds, round corners, interesting typography. And sometimes there's no way to implement this in a standards-compliant, efficient way (which is okay, because we can iterate). But more often than not, after a good night's sleep, I come with a solution for their ideas, and the end result is all the much better for it. This is when people end up with lush, awesome results; the friction between the designer and the programmer, the divergent goals which combine into the best possible solution.
Visual designers who know how the web works are constricted by that knowledge. They're easier to work with, of course, but in nine times out of ten, the end result is better if the designer did not give a rat's ass about what was possible, thus pushing the programmer to do things he did not think were possible.
>You also have to be knowledgeable about how an impaired
>person uses the web and how to make a drag-and-drop
>experience still usable for them. You have to know how
>to handle a situation where a user has Javascript turned
>off.
The interaction designer will design the user interaction for impaired people and for people who don't have JS enabled (which admittedly requires that the interaction designer has some rudimentary knowledge of which parts of his designs will not work without JS - if he does not have this knowledge, the programmer will explain which features will not work without JS). The programmer will figure out how to implement the designs in a way which is workable. If he can't, he will iterate with the interaction designer.
The interaction designer never has the full picture of the code base; code decisions (such as "we will use Ajax") made by the person who does the interaction design will never be as good as code decisions made by the person who writes the actual code.
Kyle Meyer | March 12, 2009 7:55 PM | Reply
Awesome post. While Scrivs may mock the length, it's all completely true; and you definitely said it better than I ever could.
rukey67 | March 13, 2009 1:01 AM | Reply
Hi,this article is very useful,and it benefits me a lot.Thank you! Then I want share it with my parteners,may I have your permission to translate this article into a Chinese version?
Mike Rundle replied to LKM | March 13, 2009 3:37 PM | Reply
Hey Lukas, thanks for the reply.
First, I think you may have misinterpreted what I actually do or what knowledge I have:
"From what you write, I'm going to guess that you mainly do user interaction design, and that somebody else writes the code. "
At my work my official title is UI Engineer, and I'm responsible for the overall frontend of the application. This involves working with Product Managers to define requirements for new features, diagramming the feature and user interaction workflow, drawing wireframes, producing high-fidelity interface mockups, and producing the HTML, CSS, and Javascript necessary to make these features turn into actually-usable pieces of functionality on the web. I stop at integrating with the backend and work with backend engineers on that.
Because I manage the entire frontend, that involves managing the frontend architecture too which includes deciding when to use Ajax and how I want the data returned from the backend (since I'm the one writing the Javascript to handle the data.) Although it's implemented in PHP, it's still part of my domain to determine how I want it to work. If I'm designing an overall feature then I'm actually *designing* the overall feature from all sides -- which involves the interaction design, the interface design, the full user experience, and all frontend engineering decisions. Frontend caching? That's my decision and I'm responsible for coming up with how it should work. User interaction scenarios? That's me. Full mockups? Me, too.
I thought more about our differences of opinion and I think it has a lot to do with the caliber people we've worked with on projects. When I owned a design firm and worked on all types of consulting projects, I worked with some world-class visual designers who were also world-class Javascript programmers. Everybody I worked with knew the frontend of a web app from nuts to bolts, the whole entire thing, and all sides of it. The developers I worked with knew the entire backend, but were also well-versed in frontend interaction and usability. They weren't expert at frontend engineering, but they were versed in it, and similarly, the frontend folks I worked with also knew PHP and MySQL enough to talk to developers about it.
From the comments on your blog entry where you said, essentially, that designers who think about the code while they're designing tend to produce blocky, inelegant designs says to me that you never worked with really talented folks — people who are fantastic designers and equally fantastic CSS and Javascript coders. So because of that, you're just not used to people being equally as capable at all sides of the user experience, whereas I don't know anyone who *isn't*. Nearly every designer I know is a CSS expert, and most of them are also very competent at writing Javascript.
I've been writing Javascript for a long time, and CSS for an almost equally long time (since 2001) so I've always been accustomed to knowing all sides of the user experience for the web. Like I discussed in the entry, I don't think you can be a world-class user experience designer without knowing how the full user experience works — which means how users interact with your interfaces, which means Javascript. How can you design interaction if you have no idea how it works? That's my stance.
LKM | March 14, 2009 2:35 AM | Reply
>I thought more about our differences
>of opinion and I think it has a lot
>to do with the caliber people we've
>worked with on projects. (...) Nearly
>every designer I know is a CSS expert,
>and most of them are also very
>competent at writing Javascript.
So our differences may also be due to the fact that you've never really experienced how somebody who doesn't think in CSS and JavaScript will come up with fresh ideas, while people who are CSS and JS experts will tend to fall back to the same design archetypes ;-)
But I actually don't dispute your point. In fact, I agree that it is possible to overcome the inhibitions caused by knowledge of the code. Which is one of the two reasons why I wrote the essay: To get designers who know code to be conscious of the fact that knowing the code may influence their designs in a negative way.
I agree that the best designers won't have the issues I describe. However, 90% of all designers are not the best designers, which is the second reason why I wrote the article: If you take any designer and teach him to program, there's a chance that he may eventually become a better designer. But it's more likely that his new knowledge will hinder him, rather than help him, because only a small percentage of designers will become competent enough at programming to actually gain something from the knowledge.
So your article may apply to the top 10% of all designers, but I believe mine applies to the rest :-)
>I don't think you can be a world-class
>user experience designer without knowing
>how the full user experience works —
>which means how users interact with your
>interfaces, which means Javascript. How
>can you design interaction if you have
>no idea how it works?
But the code is not how interaction "works," the code is how interaction is *implemented.* The *human* is how interaction "works." A world-class user experience designer is probably neither mainly a programmer nor mainly a designer, but mainly a psychologist :-)
The user interaction's designer's job is to find the best possible user interaction (taking into account human psychology, the target audience's preexisting knowledge, target platform interface guidelines, the interaction design of similar applications, the results of usability tests and so on). The programmer's job is to implement this model using whatever technology best suits the requirements. The code is executed on the machine, but the interaction design is executed on a human. You can get the machine to do whatever you want, but the human has a mind of his own; you thus have to optimize for humans, not for machines.
Knowledge of CSS (as an example) won't help the interaction designer create a better interaction design (or at least I can't see any way it possibly could); it will merely push him towards making premature decisions based on his (probably even in the best case limited, compared to the programmer's) knowledge. For example, he may - consciously or unconsciously - discard designs because he believes that they can't be implemented in CSS.
If the interaction designer is both a world-class interaction designer as well as a world-class CSS coder, *and* if he is consciously aware of these two areas and does not let his knowledge of CSS prematurely influence his work on the interaction design, *then* the knowledge of CSS may be helpful. I just don't think such a combination of skills applies to very many people.
The next time you work on, say a visual design, ask yourself whether you made all of your choices because they were the best possible choices, or if you made them because you knew you could implement them in CSS.
Chris Wallace | March 26, 2009 4:49 PM | Reply
As a self-proclaimed Designer&Developer this really hits home with me. I think the more knowledge you have about the entire process helps you understand application and web design better. But you have to use perspective, discretion, and wisdom any time you wear multiple hats.
I'll use a fairly complicated analogy to explain my position. In a basketball game, you've got a coach, a player, and a referee (who enforces the rules). They each have different viewpoints. The coach wants to execute a carefully planned strategy to win the game, the player wants to score as many points as possible to win the game, and the referee wants to make sure the game is played fair.
The coach stands for the interaction designer, the player is the developer, the referee is web browsers, and the rules of the game are web standards (or should be at least).
Now, all the perspectives are different, but one thing remains the same. In order to play the game, you have to understand all the rules and be able to work within those rules to be successful. Sometimes you bend the rules just a bit. Sometimes you go too far and break them and get called for a foul.
If you didn't have rules, you could be as "creative" and "innovative" as you want to achieve the desired result, winning the game. However, rules are applied in all phases of life, especially when it comes to designing and developing applications. You can never discount the value of knowing the "rules." They're what keep you and your designs honest.
I think having a deep knowledge and understanding of every part of the design process can only help. As long as you remember where the focus is: creating the best possible result for the end user. What are their goals and how can you help solve their problems through design?
LKM, it sounds like you have never worked with a world-class hybrid designer/developer. If you had, you would have never posted what you did.
John Moore | March 31, 2009 5:16 PM | Reply
The great web designers must possess a solid understanding of the technologies involved. I completely agree.
However, where I often run into the most problems with designers is when they have an understanding of coding and design and limit their designs because of this knowledge. Designers should always come to the table with options, knowing full well that some options may not be feasible. Too often I have seen designers artificially handicap the user experience because of a false belief that was not validated.
Understand that this problem is not just limited to designers nor is it only a problem when thinking about code. However, it is something to be considered and understood.
John
http://johnfmoore.wordpress.com
Michael | April 29, 2009 7:43 AM | Reply
Touché!
Couldn't agree with you more Mike! Great article!
MDX | July 14, 2009 8:52 PM | Reply
"From the comments on your blog entry where you said, essentially, that designers who think about the code while they're designing tend to produce blocky, inelegant designs says to me that you never worked with really talented folks — people who are fantastic designers and equally fantastic CSS and Javascript coders."
I think that this is a perfectly valid point. A great designer will understand that a website/app can provide a great experience and still have an aura of visual elegance about it. In fact, I would say, that the more subtle the elegance the better the user experience... but that's just my opinion.
Kevan | July 21, 2009 5:55 PM | Reply
Great article. Agree with you about user experiences and the accompanying knowledge that augments a designer's final product.
nuzzaci | July 23, 2009 4:25 AM | Reply
Thank you.
Lukas Zeller | July 31, 2009 7:17 AM | Reply
Thanks for this excellent article!
I believe the discussion between you and my namesake Lukas is showing two entirely different working styles in general.
Your approach (the one I symphatize with because it's my way of working) I'd call the "craftsman" or even "artist" approach. The motivation for that way of working lies in creating a piece as complete and finished as possible, and creating it with a deep knowledge of everthing that belongs to it, including the tools and the way they are used to form the final result of the work. A craftsman needs to be a generalist, and is eager to learn new skills and topics that help improve creating his or her piece.
This approach has it's clear limits - many projects are bigger or (more limiting) need to be completed in a shorter time frame than what a "craftsman" (or a small team with deep personal mutual understanding) can manage. So large projects needs to be broken down into specialised tasks, and these tasks assigned to efficient specialists. This is also a powerful approach, but requires clear separation and defined formal communication methods between the different specialist's expertises, as Lukas suggests. So the coders may not have authority to influence the UI design, and the UI designers shouldn't try to understand coding aspects.
I think that the "craftsman" approach has much better chance to create products that feel complete, simply because they are an expression of a real person's attitude to work, life, the universe and everything. Which of course also means that many of these products can feel completely wrong, if your attitude is different. However, I like nothing more than products that give that feeling of completeness, because they are an expression of someone working from an bare idea to reality, and make the product speak for the person.
Brp Web Design | October 25, 2009 9:41 PM | Reply
I was just thinking about this topic myself. I've always more of a "technical" person. I felt this would hinder my ability very quickly. It's actually turned out to help me in many ways.
Artistic talent would be nice but I don't think it's necessary to become a web designer.
Starcraft 2 | January 28, 2010 5:14 PM | Reply
Hey - I just want to drop a thanks for this - nothing big just thanks.. Keep up the good work - hope to see next :)
Leave A Comment