Interesting UI and Dev Resources On the Web
This page will serve as a collection of links to various interesting or thought-provoking articles I've found on the web relating to development or user-interface topics. I hope to add to this page on a fairly regular basis.
Sweat the Small Stuff
I thought this TED talk from Rory Sutherland brings up some very interesting points. Sometimes we get far too wrapped up in getting the biggest bang for your buck and doing big things... Maybe it's time to focus on the little things. So instead of adding new tools, perhaps we should be looking into ways to improve the ones we have and smoothing the way users work across our tools.
Check out the video here: http://www.ted.com/talks/rory_sutherland_sweat_the_small_stuff.html
Minimizing Complexity in User Interfaces
Though written in relationship to web user interfaces, I think one of the most important things to note in the article is about "The Blank Slate Should Not Be Blank" - this is something I've seen quite a bit in Eclipse tooling as well that I've not been able to sum up as nicely as they have.
Check out the article here: http://www.smashingmagazine.com/2009/10/07/minimizing-complexity-in-user-interfaces/
The Command Line - The Best Newbie Interface?
Here's another interesting perspective regarding minimalism in UI. Sometimes modern UIs are too complicated for your average users, who do less "multi-tasking" and more "task-switching." As we approach the design process from the perspective of our users, this is an excellent thing to keep in mind as we move forward. But the article presents a detailed use of a persona (though it's not explicitly called that) and walks through the design decisions for that particular class of user.
Check out the article here: http://www.osnews.com/story/6282/The_Command_Line_-_The_Best_Newbie_Interface_
Treating User Myopia
I love reading the Coding Horror blog from Jeff Atwood. He always mixes humor and practicality to raise interesting points. In this article, he wonders at the human capacity for ignoring all the hints that they should be doing something - in his case, like formatting text a particular way. With tools above and hints to the side, you'd think it would be obvious the designers wanted you to format the text a particular way. But it doesn't work that way.
In our own UIs, we tend to do the same thing - we provide Cheatsheets, online Help, useful wizards, and the works. But sometimes they miss that they're there to help. How do we deal with this problem? I honestly don't know - but it's something to consider.
Check out the article here: http://www.codinghorror.com/blog/archives/001306.html
The Myth of Usability Testing
Though aimed at web designers, the thoughts in this article are also quite applicable to tooling design. No two groups of usability engineers will come up with exactly the same list of things to work on when looking at an application. The trick is always to approach a UI from the perspective of your target users or personas - look through their eyes. Then maybe you'll catch things that are important to your users and not just important to the testing group.
Check out the article here: http://www.alistapart.com/articles/the-myth-of-usability-testing/
Realism in UI Design
This article presents a convincing argument for not being TOO specific with icons and visual designs. Too specific makes it tough to relate to, but not specific enough has the same problem. It's like "Goldilocks and the Three Bears" - you want icons to be "just right." Many great examples makes this an article to keep in mind as we try to render realism in our user interfaces.
Check out the article here: http://ignorethecode.net/blog/2010/01/21/realism_in_ui_design/
8 Ways to Reduce Bugs
When I saw this, again it was in the common sense category with some good pointers. The TEST-CODE-TEST paradigm, using existing tools like FindBugs, and making sure you reuse existing libraries to avoid reinventing the wheel are all great ideas.
Check out the article here: http://blog.interviewstreet.com/?p=507
Slow Down to Go Faster
This falls into the category of common sense things that we always forget... Automated testing, naming things so they make sense, and making sure things are documented are all things that get laid by the wayside in favor of "getting things done" - but they all catch up with us eventually.
Check out the article here: http://fuelyourcoding.com/slow-down-to-go-faster/
What does this code do? (An argument for better comments in code)
John Cook presents one of those "well, duh!" moments in his blog article "What does this code do?" With as much code as we all look at every day, it's sometimes easy to forget to add comments (I know I'm guilty from time to time) as breadcrumb trails. But without that, can someone take a look at your code and understand what it does? In some cases, maybe - but in most, probably not.
Check out the article here: http://www.johndcook.com/blog/2010/07/21/what-does-this-code-do/
We Just Undid Three Months of Work. Here's What We Learned
Written from the perspective of the Scout monitoring folks, I thought this was interesting in a few ways. Complexity is something that can sneak up on all of us, and for the development and management teams to notice that what they thought was a "good thing" turned out not to be, they rectified the situation. Lesson learned - if you make a mistake, own up to it and fix it. And the other thing to note is that cool features don't sell themselves, as much as we'd like to think they do.
Check out the article here: http://blog.scoutapp.com/articles/2009/10/06/we-just-undid-three-months-of-dev-work-heres-what-we-learned
Frequently Forgotten Fundamental Facts about Software Engineering
Sometimes we need people who have been around the block a few times to remind us of some of the fundamentals of our craft. "Going back to fundamentals" doesn't just work for sports - it works in many disciplines, including software engineering. Many topics are covered in the article, from complexity and estimation to people and tools. Definitely worth checking out.
Check out this article here: http://www.computer.org/portal/web/buildyourcareer/fa035?utm_source=bronto&utm_medium=email&utm_term=Forgotten+Facts+About+Software+Engineering&utm_content=andrew%40badera.us&utm_campaign=BYC-Issue+38-December+3
Version 1 Sucks, But Ship It Anyway
At the end of every release, there's always that moment of panic as we look over the JIRAs that are left, the features that didn't get in, and wonder what would happen if we just had a little more time. The danger there of course is that "a little more time" rarely is just that and we find the schedule slipping more and more if we add it. Jeff Atwood of Stack Overflow fame covers this extremely well in this post and even offers some vaguely Dr. Seussian text from Donald Rumsfeld of all people.
The article is here: http://www.codinghorror.com/blog/archives/001313.html
For Further Reading
For additional reading, I highly recommend that you check out the Hacker News. I try to take a look every morning or every other morning at the very least, just to get a feel for the latest topics in the development community.
And if you're interested in Eclipse, Planet Eclipse is the best resource for up to date news about the Eclipse community.