#383 in Computers & technology books
Reddit mentions of User Interface Design for Programmers
Sentiment score: 7
Reddit mentions: 8
We found 8 Reddit mentions of User Interface Design for Programmers. Here are the top ones.
Buying options
View on Amazon.comor
Used Book in Good Condition
Specs:
Height | 10.25 Inches |
Length | 8.5 Inches |
Number of items | 1 |
Weight | 1.0802650838 Pounds |
Width | 0.37 Inches |
This one is recent and has received good reviews from people I trust. This one is from a respectable author/series. This one will appease the Joel fanboys.
Also, keep in mind that many of the very best books on UI/usability are over 10 years old. Software changes quickly, but people generally don't.
I've posted this before but I'll repost it here:
Now in terms of the question that you ask in the title - this is what I recommend:
Job Interview Prep
Junior Software Engineer Reading List
Read This First
Fundementals
Understanding Professional Software Environments
Mentality
History
Mid Level Software Engineer Reading List
Read This First
Fundementals
Software Design
Software Engineering Skill Sets
Databases
User Experience
Mentality
History
Specialist Skills
In spite of the fact that many of these won't apply to your specific job I still recommend reading them for the insight, they'll give you into programming language and technology design.
Actually, from what I know regarding UI design, it's the best UI design I've ever seen (and by far the most daring, hence the controversies I guess).
You might want to have a look at this book : https://www.amazon.fr/User-Interface-Design-Programmers-Spolsky/dp/1893115941/ref=sr_1_1 . It might give you a lot of insights regarding their design choices.
The key distinction to make here is the difference between Learnability VS Usability
From an Excerpt on CodingHorror:
>In Joel Spolsky's excellent User Interface Design for Programmers, he notes the difference between Usability and Learnability
>> It takes several weeks to learn how to drive a car. For the first few hours behind the wheel, the average teenager will swerve around like crazy. They will pitch, weave, lurch, and sway. If the car has a stick shift they will stall the engine in the middle of busy intersections in a truly terrifying fashion.
>If you did a usability test of cars, you would be forced to conclude that they are simply unusable.
>>This is a crucial distinction. When you sit somebody down in a typical usability test, you're really testing how learnable your interface is, not how usable it is. Learnability is important, but it's not everything. Learnable user interfaces may be extremely cumbersome to experienced users. If you make people walk through a fifteen-step wizard to print, people will be pleased the first time, less pleased the second time, and downright ornery by the fifth time they go through your rigamarole.
>>Sometimes all you care about is learnability: for example, if you expect to have only occasional users. An information kiosk at a tourist attraction is a good example; almost everybody who uses your interface will use it exactly once, so learnability is much more important than usability. But if you're creating a word processor for professional writers, well, now usability is more important.
>>And that's why, when you press the brakes on your car, you don't get a little dialog popping up that says "Stop now? (yes/no)."
Focus on UI design.
A lot of people tend to think of programming as very math-heavy (it's not, unless the domain you're writing software for is weather simulations or something that itself requires math). So we end up thinking the technical side is important and the "soft skills" are unimportant (or at least, not worth including in our study time).
I'm old enough now where I still like programming, but I've realized I don't care about code; I care about making software that people actually use and find useful. Building a tesla coil in your garage is cool, but so what tons of geeks have done that. I want to make something useful, and it doesn't matter how elegant your algorithms are if your program is confusing, unusable, or solves the wrong problem.
I'd recommend these books, in roughly this order:
But to answer your question: personally, I'd do math. I'm so busy that I don't have time to just sit and study math for fun very often, so it'd have been nice if I did that more when I was younger. (But maybe if I did, I'd be saying programming right now.)
I've always been a HCI/UI kind of guy. The professor was thorough, and I'm not knocking him, but a lot of it was common sense to me. I think the discipline is very relevant, and if you are going into an industry where you will be making some sort of product, you'll need to know how to properly design things. We had some exercises where we'd bring in an object and critique it (such as a remote control, car alarm) and find why it worked, and why it didn't. For programmers who haven't had design experience, I recommend reading: http://www.amazon.com/User-Interface-Design-Programmers-Spolsky/dp/1893115941/ref=sr_1_1?ie=UTF8&qid=1303676896&sr=8-1 .
I'd rather have taken an Operating Systems course, but couldn't since it wasn't offered at a time that would coincide with my schedule (offered every other Fall).
Don't Make Me Think is a popular book on usability that I often see cited.
Joel Spolsky from Joel on Software also wrote a book, User Interface Design for Programmers
I realize Spolsky is not considered relevant any more but his UI book is a pretty decent intro: http://www.amazon.com/User-Interface-Design-Programmers-Spolsky/dp/1893115941