Posts Tagged ‘Design’
Walk a Mile in Their Shoes
Oh! How so many of the world’s software problems would be solved by listening to this nugget of wisdom from yesterday’s posting by Jacob Nielsen!
Of course, people don’t want to hear me say that they need to test their UI. And they definitely don’t want to hear that they have to actually move their precious butts to a customer location to watch real people do the work the application is supposed to support. The general idea seems to be that real programmers can’t be let out of their cages. My view is just the opposite: no one should be allowed to work on an application unless they’ve spent a day observing a few end users.
Software exists to solve problems. To understand the problems a proposed software application is supposed to solve, nothing beats walking a mile in the user’s shoes. (37signals calls this What’s Your Problem? in their book Getting Real.)
Painful Observation
I know I am not yet a designer, because when I see Apple’s Something’s in the Air posters I don’t think ooooo, a new typeface! But I’m working on it. It is a nice typeface.
Programming Languages and Development Stacks
Comments like this drive me nuts. There are several misconceptions that should be addressed, but I’d like to concentrate on this bit:
Don’t get me wrong; I think the switch to Java was a leap forward for the industry; I just wish people would have jumped to a better language.
Who cares about programming languages? Languages are a tiny part of the overall development stack. The PERL language is showing its age, but CPAN continues to make PERL a great choice for many UNIX applications. Ruby is interesting, but it’s Rails that attracted the industry’s attention. Objective-C would be nothing without Apple’s fine compliment of frameworks. Microsoft recognized the value of stacks over languages when it designed .NET’s CLR to support many languages. And finally, Java’s decade-long success as a server-side development platform wasn’t due to any stand-out features of the Java language — or even Sun’s marketing1. Its success was due to being a compelling development solution for server applications:
- Develop on your favorite system (Windows, Solaris, or Linux)
- Deploy on your business’ favorite system (Windows, Solaris, or Linux)
- Roll-out with confidence due to standardized server deployment artifacts and environments (JavaEE)
- Enjoy the easy stuff being easy with built-in support for internationalization, threading, and asynchronous processing
Development stacks don’t “win” based on their language — they win based on the ecosystem of developers, frameworks, and libraries that surround the language.
1 I find the idea that Sun’s marketing significantly impacted Java’s adoption to be laughable. During those early years, while Sun was the tech media’s darling child, Sun was also actively antagonizing its developer community, whose members were building open source alternatives to the expensive enterprise solutions being pushed by Sun and its industry partners.