* Be obvious
* Avoid extraneous "ornaments" in the interaction
* Understand what your user needs
Of course those three bullet points do not make the book (either of them, I assume) justice, but you might want to read Donald A. Norman's book first. Another book you might be interested in is Don't Make me Think[2], which is specifically related to software UI design.
I agree with the point that using smartphones for everything is a step back. Having touchscreens in cars is also a step back. We went from having controls that could manipulated without taking the eyes on the road to fancy futuristic UIs that require either for you to be parked, to have a companion or do something potentially dangerous.
[1]: http://www.amazon.com/Design-Everyday-Things-Donald-Norman/d...
[2]: http://www.amazon.com/Dont-Make-Me-Think-Usability/dp/032134...
http://www.amazon.com/Design-Everyday-Things-Donald-Norman/d...
> modern web design has much more in common with product and industrial design than it has with print or graphic design.
His examples of industrial design flaws that look snazzy are bang on, and replicate problems often found in web designs. You gotta USE a thing to know if it's designed well. The Design of Every Day Things[1] should really be required reading for designers charged with designing for the web.
One of the best ways of knowing whether your design is effective is to watch people use it. The assumptions you made about how your audience will use your design will likely be blown away, and watching them try to accomplish the site's goal will lead you towards designs that help them do that more effectively.
[1] http://www.amazon.com/Design-Everyday-Things-Donald-Norman/d...
Designed for Use: Create Usable Interfaces for Applications and the Web by Lukas Mathis [http://www.amazon.com/Designed-Use-Create-Interfaces-Applica...]
Don’t Make Me Thing by Steve Krug would have been my third.
I don’t believe any of these emphasize minimalism, and I’m not sure what help you’re looking for in that regard?
Being modularised allows the basic user experience to be kept very simple. It does not need to grow into something like an IDE. Hell, according to Packages [0] even tools like find-and-replace have been modularised so I do not think it follows that Github would carelessly decide to create a big ball of mud!
And additionally this tool has removed barriers that previously existed before.
Since it was created by Github they will be able to expose APIs to create features which are currently not possible.
Likewise the UI being implemented with WebKit means that the user interface can tightly represent what a user is used to seeing at different stages of their development process.
You might have read "The Design of Everyday Things" [1] before. There are certain elements which you need to control to create a good user experience: (1) discoverability, (2) feedback, (3) the conceptual model, (4) affordances, (5) signifiers, and (6) mappings. Without ease in changing the UI, and the possibility that Github will have self-interest in exposing extra APIs, it would be a lot more difficult to control for each of these.
It's just an opportunity to try new ideas. I'm not suggesting that this would be preferable to everybody.
[1] http://www.amazon.com/Design-Everyday-Things-Donald-Norman/d...
http://www.amazon.com/Design-Everyday-Things-Donald-Norman/d...
It was not written with software in mind, but the core respect for the user translates enormously well. If you can't tell whether you should push or pull a door to open it, it's the fault of the door designer, not the door opener. This translates very deeply into interface (user or technical) design.
A resume, when design:
1. Use both knowledge in the world and in the head. 2. Simplify the structure of tasks. 3. Make things visible. 4. Get the mappings right. 5. Exploit the powers of constraints-Natural & Artificial. 6. Design for Error. 7. When all else fails, standardize.
There's a lot of books in the matter of UI but they can fall either in the philosophy side or either the personal taste of the writer.
http://www.amazon.com/Design-Everyday-Things-Donald-Norman/d...
Also, the Dont Make Me Think book should've really been a two-pager pamphlet, it is really thin on a material. While the center idea is fundamental, it is very easy to explain and to understand.
If we are talking about 10000 ft perspective of the design and its fundamentals, I would raise you The Design of Everyday Things. This is a very good beginners book and it's also an interesting read for those who already know a thing or two.
http://www.amazon.com/Design-Everyday-Things-Donald-Norman/d...
- It's cliche, but read "The Design of Everyday Things" by Donald Norman [1]. It gives you a good sense of design's place in the greater world. The best design principles are as at home in a product development firm as they are in the software world.
- I own "Design for Hackers" by David Kadavy and I think it's pretty good. The content may or may not be "obvious" depending on your skill level, but he phrases things in a way that is understandable and reassuring to the engineering set. [2]
- There's a guy on HN (Jarrod Drysdale) who produced an eBook called "Bootstrapping Design". I haven't pulled the trigger on a purchase yet, but I need to. I've read his sample chapter and am subscribed to his newsletter and I think he's an excellent coach. [3]
- I keep a bookmark folder called "design inspiration" and when I find really cool sites or apps I save them here. You might also want to keep a clipping diary or something where you can keep notes for yourself about what you like and don't like about certain things.
- There's nothing wrong with imitation, within reason. EVERYONE stands on the shoulders of giants and the guy who designed that awesome site or app probably started by shamelessly copying existing stuff. In fact, I recommend that you spend some time trying to EXACTLY copy things you like. You'll start to get a feel for how to accomplish certain affects and, in general, you'll get design a little more "in the fingers".
- http://ux.stackexchange.com/
- Have a project. Have a project. HAVE A PROJECT. It's very difficult to just "learn design", just as it's very difficult to just "learn programming". Unless you're just a natural autodidact, you can read all the tutorials and books and whatever but, when it comes time to do something on your own, you'll just be sitting there staring at a blinking cursor (or an empty Photoshop document) unless you have some place to start.
I hope this all helps, and don't be afraid to share stuff on HN with us. There are plenty of folks who would love to give you positive criticism and feedback.
[1] http://www.amazon.com/Design-Everyday-Things-Donald-Norman/d...
[2] http://www.amazon.com/Design-Hackers-Reverse-Engineering-Bea...
Obviously it doesn't only deal with UI design but I really recommend it if you're looking for a place to jump off from.
Be warned, once you read it you'll find yourself becoming extraordinarily annoyed by certain types of doors.
http://www.amazon.com/Design-Everyday-Things-Donald-Norman/d...
[1] http://www.amazon.com/Design-Everyday-Things-Donald-Norman/d...
Also, I'd throw in The Design of Everyday Things -- see http://www.amazon.com/Design-Everyday-Things-Donald-Norman/d.... It was written long before anyone ever thought of web usability; instead, it focuses on the usability of things you interact with daily in real life. Let's just say that you'll never look at teapots or door handles the same way again...
The Design of Everyday Things (http://www.amazon.com/Design-Everyday-Things-Donald-Norman/d...)
The Humane Interface (http://www.amazon.com/Humane-Interface-Directions-Designing-...)
Contextual Design (http://www.amazon.com/Contextual-Design-Customer-Centered-In...)
I've dabbled in this field in my job, but I don't have any real training, so I've had to teach myself.
The classic text in this field is _The Design of Everyday Things_, by Donald Norman.[1] Also very useful is _Interaction Design_.[2] The first is a very quick read (it's only about 200 pages, and not very technical), while the second is a textbook intended for use in university courses on HCI.
I've found both very valuable in trying to figure out how users approach things without any formal cognitive science or HCI training.
[1] http://www.amazon.com/Design-Everyday-Things-Donald-Norman/d... [2] http://www.amazon.com/Interaction-Design-Beyond-Human-Comput...
Also, the article you're thinking of is probably either this book:
http://www.amazon.com/Design-Everyday-Things-Donald-Norman/d...
Or an article about it. (The push/pull door things is a classic example out of that book.)