Does the UI design require coding

Models: coding against drawing?

Ask yourself the following questions:

  • How many UI layouts / options can you explore by coding in 30 minutes? How many can you explore by sketching?

  • How often do you get exactly the right UI design on the first try? If not very often, how quick / easy is it to change a sketch versus a coded model?

  • Can you instantly identify a color by looking at the Hex / RGB code (not just a guess, but the exact hue as well)? If you imagine a color in your head, can you translate it to Hex right away? How quickly can you pick a color scheme by entering hex codes instead of using a real color picker?

The fact that you are asking this question tells me that you are most likely a programmer, not a designer. If you were a designer, it would be just as absurd as developing an application without planning out the class structure, database design, application architecture, etc., and going straight into coding - and if you are a seasoned developer you know what causes problems this kind of bottom-up development?

If you jump straight to the code without first having to enter your UI design , the results won't be beautiful, if only because it is impractical to blindly code a good design to perfection.

JackJoe

The OP could talk about using a WYSIWYG code editor that allows you to pick colors or even "draw" the objects ...

thebodzio

In fact, coding without designing the user interface is a perfectly valid technique. That means, of course, if "coding" doesn't mean UI or UX parts :). Most APIs and libraries are actually designed without the user interface in mind - that would be just impractical.

DA01

@read, you throw up a waterfall method. That may be okay, but the trend these days is to be agile, where the very likely you will be working in code from day one.

Lèse majesty

@ DA01: You have been working on code from day one but still using a top-down method. There's nothing in Agile that says you can't plan your data architecture or define UI-first before coding (which I think most agile organizations prefer UML, class diagrams, etc.).

Lèse majesty

@thebodzio: Yes, of course that is the separation of concerns. But I'm not referring to coding the backend. When I say coding in terms of the design part of the question (not the programming analogy I used to illustrate the point - I know, a bit confusing) I mean coding the model (CSS + HTML or whatever your UI language is may be).