Working on startups (and any webapp), the general advice says that if you are a designer, you should have at least the basics of programming so you have some understanding of what they are expecting and vice versa.<p>As a designer, it is pretty easy to find a "Rails 101" with a "Hello World" and learn the basics in a few days. In my case, I'm a programmer and want to know the basics of design. What would be the best approach? Most of the tutorials I see about design, seem to consider that you know the basics.<p>So, basically, I want the "Hello World" of web design. Where is it?
The problem with design versus programming is that there is no "right" way of doing something. There is a right way of doing the Hello World program, because otherwise the program won't work. But no matter how your design looks, you're still designing. What you're asking for is the basics of designing well, which is a lot harder, since it's so subjective.<p>Start looking at the basics of graphic design: <a href="http://en.wikipedia.org/wiki/Design_elements_and_principles" rel="nofollow">http://en.wikipedia.org/wiki/Design_elements_and_principles</a><p>I'd also look at well known web designers and note what works and why you think it works in their designs. If you see a website that's particularly readable, try to notice all the reasons why. Pay attention to elements that you like and don't like. Read about web design elements like grids, then when you get more comfortable, try breaking the grid (helps with emphasis — I find a lot of programmers who start using grids treat them like hard and fast rules that they should never break).<p>Bottom line, there isn't a yes-or-no answer to design, just building up your "design eye".
Buy this book:<p><a href="http://www.amazon.com/Non-Designers-Design-Book-Robin-Williams/dp/0321534042/" rel="nofollow">http://www.amazon.com/Non-Designers-Design-Book-Robin-Willia...</a><p>EDIT: It's a great book. It's not a "Hello World," but it will help you get to the point of being able to make one. It covers a lot of fundamental design concepts that I, as a developer, didn't know but am now glad I did.
I have been teaching the same to myself. So far, I have learned:<p>- how to do low def wireframes (mokingbird, balsamiq, etc)<p>- from wireframes to psd files (fireworks, photoshop, etc)/<p>- learn how to slice a psd to css.<p>What to learn:<p>- UI/UX Desing Patterns [1]<p>- Css Positioning [2]<p>- Grid Systems [3], [4]<p>[1] <a href="http://developer.yahoo.com/ypatterns/about/libraries.html" rel="nofollow">http://developer.yahoo.com/ypatterns/about/libraries.html</a><p>[2] <a href="http://www.alistapart.com/articles/css-positioning-101/" rel="nofollow">http://www.alistapart.com/articles/css-positioning-101/</a><p>[3] <a href="http://960.gs" rel="nofollow">http://960.gs</a><p>[4] <a href="http://www.dexigner.com/news/22052" rel="nofollow">http://www.dexigner.com/news/22052</a>
You'll probably have to read a book. The design discipline, for all it's pretensions at least admits that 'Hello World' is a fallacy.<p>Visual design works by playing on emotions, perception and psychology. There is no simple reducible formula that governs what people find engaging and attractive.<p>I'd suggest starting with 'Universal Principles of Design', it's written in a very easy to digest manner, but isn't dumbed down. Then move on to 'Grid Systems in Graphic Design'.<p>These two should give you enough grounding to 'prettify' for simple projects.
The hello world of web design would be along the lines of:<p><pre><code> <html>
<h1>Hello World!</h1>
<p>Just Saying.</p>
</html></code></pre>
I started doing a series of blog posts on Design for Coders and only finished one before putting the other drafts off to the side. Live post is here: <a href="http://blog.minim.co/design-for-coders-less-is-more" rel="nofollow">http://blog.minim.co/design-for-coders-less-is-more</a>. Shoot me an email and I'll send you the drafts for a couple other articles. If you (or anyone else reading this) has specific questions or topics, I'd be happy to answer/blog about them.