Live data from Hacker News

Ask HN: Visual Design for Hackers

news.ycombinator.com

1–10 of 32 posts

Ask HN: Visual Design for Hackers

#1
Take a look at the Rails Rumble 2010 entries: http://railsrumble.com/

There's a whole stack of apps there, developed within 48 hours by small groups of people. They're not all beautiful, but there is (to my eye) a pretty high standard of presentation for most of them.

I am sure I am not alone in feeling like there's this chunk of knowledge I'm missing - in terms of how, and when, to go about making something beautiful.

I'm fascinated by the concept of optimizing user experience - it certainly has the potential to make or break an application's popularity. If you can spend valuable time tweaking code to make it more appealing to the compiler, why can't it work in the other direction too? Though I don't think it's reasonable to expect myself to be incredible at both, I'd like to be able to put together a prototype that looks nice. After all, I wouldn't show people code that I knew was bad and ugly.

Part A - I would love to know - how does this aspect fit into the flow of the project? At what point do you start turning things from black-text-on-white-background into a beautiful and intelligent layout? I'm sure it's usually incremental, but is there a specific point at which you decide to shift focus over to implementing your UI? I know I usually go through many notebook pages of UI ideas even before I've written any code. Is it worthwhile doing mockups in photoshop at this stage? Showing different designs to people and asking for feedback? Or do you usually do this after your core functionality is built? And where do you draw the line, say 'this is ready enough for now!' and release the thing?

Part B - In terms of user interface and usability, there's a lot of information out there. Much of it, however, is from the early days of graphical computing and the web. There are still great things to learn from stuff like Joel on Software but I'd like some good information about user interactions and expectations in the AJAX era. There must have been some more wisdom accumulated in the last decade! I'm looking for some shoulders to stand on - 'our experience showed us that you should never do because users find it confusing'.

Part C - I've always been curious about how small teams of people manage to cope with the graphical elements of web application building. Does a team of 2-3 people in an early days startup usually contain a designer/artist? Is that something you can reliably outsource? Is it ever a good idea to have your design done by someone else and then shoehorn your view code and javascript into it (for a prototype/beta), or should it always be a closely collaborative process?

Part D - Finally - I'm interested in any of you people who can see BOTH sides of the coin. If you started off as a programmer and then learned how to make stuff sexy and usable - what put you on that path? Where did you start learning? What were your major obstacles, and how did you overcome them?

Looking forward to hearing what everyone has to say.

Dan

Re: Ask HN: Visual Design for Hackers

#2
I am myself a professional programmer that has some basic design skills, but I'll try to answer your question as well as I can.

A - I'm pretty sure most people design the UX/UI before they start coding (at least mock ups). If you have already coded all your backend, you might feel constrained when designing the UI or might realize too late that you oversaw some critical parts of your system. Let me illustrate:

Let's say you are building a "C.V. builder app". You might start coding with the assumption that the user has to be login to start building his C.V. However, if you imagine the UX first, you might realize that it would be nice to ask the user to register only once he wants to save his newly created C.V. That simple detail might have a huge impact on your code base.

B - Some resources & inspiration: http://uxmovement.com/, http://ui-patterns.com/, http://www.smashingmagazine.com/category/inspiration/, http://www.dribbble.com.

C - If you're good at UX/UI design but lack the Photoshop skills to bring your vision to life, it should be safe to outsource. In any case, make sure your designer really "gets" your vision.

D - I started learning to design and program at about the same time. Since then, I've put most my time into programming and although I consider myself pretty good at designing user interfaces, I lack the technical skill and experience to make them look beautiful. If you're the same as me, I would suggest spending some time trying to really master Photoshop or such tool. Also, some color/typography theory can't hurt.

Re: Ask HN: Visual Design for Hackers

#3
Hey Dan, I would definitely recommend reading these sources for getting a comprehensive understanding about general design principals and core ideas:

The Gestalt Principles The guiding theory in understanding how the human brain process images and visual data. http://graphicdesign.spokanefalls.edu/tutorials/process/gest...

Web Typography Great resource for understanding typography and especially for the web http://webtypography.net/

A List Apart I am sure you are already familiar with this awesome publication by the Happy Cog crew and other contributors. To me this covers most of the on screen design issues in today's world and it keeps on evolving which is awesome. http://www.alistapart.com/

I Hope this help!

Re: Ask HN: Visual Design for Hackers

#5
I do both and I am trying to help other hackers figure out more about design as well.

A: I usually have a vision in mind for the project or the feature. To do this I try and break it down into smaller parts and optimize for the one thing I want the users to do for that part. For complicated designs I go through ideas on a notepad before I settle on something. The most important part of this process is to understand why a certain design element needs to be put in. If my design elements lack purpose I take them out.

Once I have that then I go about building stuff. Sometimes the end result will differ from the vision in which case it might literally be "back to the drawing board".

B: I haven't found too many recent ones. But I generally prefer patterns like these - http://developer.yahoo.com/ypatterns/

C: I'm generally against outsourcing UI/UX. I think specific icon and graphic design work can be outsourced. To me UI/UX is the app itself and early on you don't necessarily have a clear view of what it is going to be.

D: I started off as a developer and found the need to incorporate better design. I started by trying to understand what I like and why I like it. I found a couple of big problems: there weren't too many good resources that catered to our type, most design advice wasn't practical enough and improving my taste took a long while.

I'm putting together a series of posts on what I learnt, hopefully that helps people out. Feel free to get in touch via Twitter or email.

Re: Ask HN: Visual Design for Hackers

#6
I am a programmer with fairly advanced photoshop skills. I am not a good designer. I know this because when I see good designs, I realize I NEVER could have come up with that.

If you're a programmer, you should be able to nail the science half of the equation. As for the art half, I would just shamelessly rip cool things you find when searching "css inspiration" or whatever ["great artists steal"].

It's easy to go overboard reading about UX and all the articles completely over-analyzing the topic. Unless your product is centered on revolutionary interface like hipmunk, you're probably safe just using established interaction patterns and getting feedback from "normal people".

Just see if your non-techie friends can handle it. If so you probably have enough to launch. Most big sites were ugly at launch...

Re: Ask HN: Visual Design for Hackers

#7
I think that all developers should be able to design layouts that make sense. Pure programmers (writing algorithms, optimizing, scaling, etc.) don't really need design skills.

You definitely need product developer(s) on your team if your startup is consumer facing at all. In such a small (2-3 person) team, everyone needs to do multiple jobs, so if none of you have decent design skills, then start practicing now.

Part A - Usually a proof-of-concept happens first either in basic wireframe mockups or basic/ugly code. Once you'er clear on the product you want to build, then full designs are done in Photoshop or, once in a while, direct HTML.

Part B - I would mostly ignore that stuff. Simply look at great/big sites and see what the do right, but more importantly look at what they could improve and do that yourself. Basically, make your interface design as simple as possible while having the minimum feature set to make your product useful - finding that balance is where you become a great product developer.

Part C - Don't outsource your design. If you commit to design as a core competency in your development team, then you understand that design is not just visual - design encapsulates everything that the user experiences with your product.

Part D - I started off as a cartoon animator in college, but found I was better at coding, then I realized that to make great products, I need to have great design. I didn't have a design monkey, so I started creating my own designs (poorly at first) taking inspiration from products I enjoyed. To overcome obstacles in design, I simply take the worst part of a page/workflow and fix that first... repeat until the product is due or there aren't any cringe-worthy features.

Re: Ask HN: Visual Design for Hackers

#8
A) At what point? From the beginning. You said it yourself, you go through notebook pages with UI before even writing code. You need to have a structure in place before you begin anything. Sure you can morph it as you go, but you need a direct connection to what you are trying to achieve. At the same time you're coding some functionality, you should be thinking about how this is going to be displayed. It's of course not necessary to do any of the graphics or styling at this point, but it works better if you give it some thought and try to form some type of layout and broad design ideas as you go. It's worth doing photoshop mockups when you reach a point where the application development can benefit from being graphically beautiful (which can vary immensely... every project is an island). You draw the line at the first moment you can. If and when you reach a minimum point where your application could be used by the masses, freaking ship it. You can fix and add features later, but the moment you have enough to ship that thing out the door - do it. Software is never "finished" anyways, so you'll need to keep going at it anyways.

B) Almost all the information regarding UI usability and user experience holds up regardless of age. The concepts are the same now and when it was written. There are also a LOT of resources written in the last few years, so I'd disagree that all the information is old. In any case, it really doesn't matter, you're still going to need to come up with your own conclusions for your specific case. No amount of UI/XI reading is going to allow you to skip having to do you're own testing and to draw your own conclusions on what works for you.

C) In the web industry the designer/artist is generally also the guy that codes your Html/Css/Jquery. A front end developer is generally the person that designs interaction and pretty screens. The back end guy is the one doing the algorithms, database work, etc. You can outsource everything, though the results are usually not even on the same league as the worst results you can get from a good team that clicks working together. You can always have a contractor come in and work with you or your team if needed, and that can sometimes be a better compromise than outsourcing per se.

D)I started as a programmer at an early age, but I was also an artist. What put me on that path is that I wanted to know how to do everything. From Photoshop to Rails to C to server security and deployment. I started learning by doing. Don't look for guidance man, just work on a project and when you need something you're not comfortable doing, freaking do it anyways. Need to do graphics, test layouts, a/b testing? Read on it and start doing it asap. At some point you'll become decent at it, and then one day you're actually good at doing it too! Obstacles? There are no obstacles, only challenges. Challenge yourself and you'll come out a winner.

Re: Ask HN: Visual Design for Hackers

#9
As the designer in a three person startup (the other two are coders), I can give some information on our process.

A - Our design process starts with a discussion of feature ideas and requirements from the code side. Then work goes in parallel until each team has a workable mockup/prototype. This period of work alone is critical to the development of the app from the visual and user experience side of things. It also gives me freedom to try lots of new ideas. I'll usually do a couple of revisions based on comments from my co-founders, and then get some outside opinions.

B - I fear that user interface and usability comes more from trial and error than reading. I haven't found a good resource for the technical side of design, but olalonde's link to uxmovement.com looks great.

C - Our startup has 2 coders and 1 designer. We're a rails shop, and I know enough ruby to implement my designs. This mix usually works really well as far as delegation of work. I'm not sure how standard this is.

D - Can't say much here since I started on the design side and have more recently been programming.

As an aside - if you're comfortable in css and are adding a new page or feature to an existing site, I've found that it can be fast to prototype in html rather than Photoshop/Illustrator.

Post reply on HN