Yes, I’m on a crusade: I want more people like me to get involved with
software. And I’m not going to give in.
It all started with…

When I was younger, I wanted to become a jazz pianist. I was the
centre of a hefty discussions between various members of my family. My
dad was very worried, saw that I had talents for software development,
and kept reminding me that “he who has the gift also has the duty”. It
didn’t really click with me. Others, on the other side of the fence,
saw that I had talents for jazz piano, and urged me to keep it
up. “Besides, music is so much more creative than computers.”
I decided to pursue the jazz piano. I practiced a lot and became
pretty good. But one day, I told my teacher that I was afraid I might
not have the talent to become the next Miles Davis. He looked at me
like I was from another planet, and confessed to me that being a music
teacher wasn’t at all like being Miles Davis, and that if that was my
dream, perhaps I should find another path to tread.
That didn’t stop me, though. I kept pursuing my desire for playing
jazz. It wasn’t until I almost got into the Rythmic Music
Conservatory in Copenhagen, pretty much the highest musical
achievement you can aspire to as a youngster in Denmark, that I
realized even that was just an education to become a music
teacher, and that was never what I desired. There just isn’t all that
much success to go around on the Danish jazz scene.
Making the choice

To make a long story short, I gradually got more involved with
programming, until the point where I started doing it full-time. I’d
always been pretty good at it, and I didn’t seem to miss jazz all that
much, except when all my old music friends would tell me what a loss
it was for me that I’d lost all my warm and creative and humanistic
sides and gone into the cold and mechanical and mathematical software
world. The only one who was happy for me was my music teacher. And my
dad. Eventually I got into computer science at a university.
I loved computer science. But I also found it too narrow-minded. So I
supplemented my CS studies with first a class in philosophy of
science, and later a minor in Information Science, which really
belongs to the arts. I also supplemented a great deal in my leisure
time: All my friends happened to be studying life sciences, or Danish
literature, or drama, or something like that.
I spent countless hours wrestling with the relationship between
science and the humanities, arguing that we all need both sides in our
lives, and that the education system was messed up because it made us
choose one or the other. This happens even earlier in Denmark,where
you have to make the choice at the high school level, when you’re 15
years old.
The toss-up

I could have gone either way: Jazz pianist, or programmer. But I had
to make a choice, and I chose software. I believe that many people
must have this “I could go either way” feeling. And I have the
impression that, at least in Denmark, most people faced with that
choice, will err on the side of the humanities.
Choosing the humanities is the safe choice, at least in Denmark where
you don’t have to worry about unemployment. It’s politically
correct. You’re dealing with people issues. Maybe you even believe
that you’re helping other people. You’re learning to understand
youself better and to become a more whole person. You’re creative
(what a lie!).
Besides, nobody ever lost a date by saying they studied
literature. The same can not be said of computer science. Plus, there
are many more cute chicks and hunks to pick up in the first place at
the humanities, than there are at computer science.
What happened to whole?
This view completely ignores the other side, the science or
engineering side. Since when did “whole” come to mean “only half of
it”? Bridges are cool, not just because they are poetic, and are
symbols of building bridges between people, but also because the
engineering behind them is fascinating and impressive.
Building software is cool, because solving the puzzles is just plain
fun and gratifying, and because you help a lot of people do what they
want to do. Think about how email lets people stay in touch across the
globe, and remind yourself that hardware and software and engineering
made this possible.
There seems to be this angst of being associated with something as
dull and “hard” as science or engineering, of any sort. Or maybe it’s
just a lack of courage, because the questions at math exams have a
right and a wrong, and being wrong is just too scary, and can’t we all
just be friends.
Software is softer than you think

Besides not being very whole, this view also misses the point that
developing software is one of the more humane and creative endeavors
there are. Developing software does involve both sides
Yes, you have to understand the technology, and you have to be
analytical and problem-solving. But you also have to be able to
communicate with the client, understand how your colleagues react to
stress and to changes, organize the efforts of the group, and so much
more. (Besides, you need to be analytical and problem-solving in the
humanities as well, and humanities isn’t all that creative.)
Consider this: I work at a software company with over a hundred
programmers. More than half of those work together on building a great
software product. We’ve had two different managers of our group, both
of which have been or still are programmers themselves. Guess what
both of them got their degrees in? English literature. Yup! You heard
it here first.
My point, of course, is that technology is only part of the story. At
its core, building software is pure communication: The client tells
you what they need in English, and you translate that into Java, so
the computer will understand it. You’re a translator between radically
different languages.
The thing is, though, that this translation is so darn complicated
that it takes lots of different people, lots of organization, lots of
creativity, and lots of effort to do well. And these different people
use the English language in different ways. There are the marketing
folks, the sales guys, the user advocate, the CFO, the CEO, the
programmers, and the clients, and they all have to find ways to make
themselves understood to each other, and the programmers need to make
all of this understood to the computer.
This permeates the whole culture of software companies. You have to be
clever at figuring out how different groups communicate, you have to
be good at finding out when people’s hearts are not in it, you have to
be good at promoting and getting people to buy in to your vision, you
have to be good at covering for your friend and colleague when he’s
having a rough time at home, and you have to be good at hundreds of
other little things that make software seem not so hard and mechanical
and technology-centered at all.
The bottom line

To get back to my crusade: If you could go either way, I want to urge
you to choose software. I want you (yes, you!) to find your inner
geek and your inner caring person. To care about both the people and
the tools. After all, on of the key things that set humans apart from
other animals is our use of tools.
I also want to change our education system, so the choice doesn’t have
to be such a hard one. Why can’t you do a bit of both, if you’re good
at both? We surely need people who can master the hard and the soft,
the people and the tools, and be creative and problem-solving, and fun
and inspiring to be with.
Make no mistake: My motives are entirely selfish. I want to work with
people who care about people, and I want to work with people who care
about technology. But most of all, I want to work with people who care
about both, at the same time.
Misconceptions have many forms. Maybe you believe that if you just eat
lowfat or fatfree food, you won’t put on weight. Or maybe you can
never trust people who offer to help you. Or maybe you believe that
you have to make it harder for yourself than necessary, to prove your
worth.
Whatever they are, we probably all have a few of those going on. The
thing about misconceptions is, you’re rarely aware of them. But if you
ever stop to listen to that voice, and figure out what’s going on,
they just don’t seem to make sense. Maybe that’s all it took, and
it’ll dissappear right then. But chances are it’ll continue to be
sitting there, influencing the way you live your life, day by day.
For as long as I can remember, I’ve been suffering from two deeply
held misconceptions. The first one is this:
|
Misconception #1: You should feel guilty about your success.
|
The second actually contradicts the first:
|
Misconception #2:
It’s even worse to be successful if you’re working hard at it.
|
You’ll see why later. Let’s take a look at each one in turn.
You Should Feel Guilty about Success
The way this makes itself felt is that whenever I find myself in a
situation where I feel better off than someone else, I instantly start
feeling bad about it. The situation can be anything from encountering
a panhandler on the street, to having a plumber come fix my clogged
bathtub drain. I feel like I owe this person something, though
it would probably just offend the plumber if I handed him a buck or
two out of pity. (Tipping is another matter entirely.)
I know that this sounds completely absurd in the ears of an American,
so let me try to explain why it can actually be pretty hard to
dismiss. First, let’s make a distinction. You can be successful
because you were born into it, or you can achieve success based
on your own merits.
Inherited Success
If you’re well off because you were born into it, you should feel
sorry for people who didn’t have that chance. I was born from
relatively rich parents in a wealthy country with free education and
health services. In other words, I had better opportunities for
growing than most people in this world. So each time I meet with
someone who didn’t have that kind of chance, I feel bad for them.
I learned a while ago that nothing good ever came out of guilt,
of feeling like you owe someone else something. If you owe someone
something, settle it, clear it up. But an ongoing feeling of
inferiority from guilt or debt just destroys both you and the
relationship with the other person. It doesn’t make my plumber any
happier that I feel sorry for him. At best it would make him feel even
sorrier for himself. Yet despite this intellectual insight, I’m having
a hard time ridding myself of the feeling of guilt.
The one positive thing that this does offer is an emphasis on equal
opportunity. We should all work to make sure that education and
health care is available to all, regardless of social status, so that
you can rest assured that if you’re doing better than the other guy,
it’s because you deserve it. It’s hard to argue that this is a bad
thing. Though there’s no reason that anybody should have to feel bad
in the process.
Self-earned Success
The thing is, though, you can be born into the best of circumstances
and still manage to screw it up. So it’s clearly never just
because of what you’re born into. I know that I’m working hard to
achieve what I am. So why do I still feel guilty about it?
It’s because of a deeply rooted Danish, or perhaps Scandinavian,
thing. It’s a corollary to The Law of Jante, or
Janteloven. In case you haven’t heard it before, here it is:
- You shouldn’t think you’re anything special
- You shouldn’t think you’re as much as us
- You shouldn’t think you’re smarter than us
- You shouldn’t think you’re better than us
- You shouldn’t think you know more than us
- You shouldn’t think you are more than us
- You shouldn’t think you’re any good
- You shouldn’t laugh at us
- You shouldn’t think anybody likes you
- You shouldn’t think you can teach us anything
When you grow up in Denmark, the Jantelov is felt really strong. It’s
not something anybody actively supports, and most people claim that
they don’t subscribe to it, yet it constantly lurks beneath the
surface, governing our judgments.
The Jantelov lives so inherently in me that I’m constantly aware of
how I’m comparing to others. I’m so afraid of being in violation of
the law that I have to monitor my relationship to the mythical
us all the time. This creates this internal form of inverse
competition, where you’re measuring yourself against other people all
the time, and you have to come out with the lowest score.
The Zero-Sum Game
The fundamental misconception at play here is the belief that success
is a zero-sum game. If you’re being successful that means that
someone else has to loose. Would you like to look a person in
the eye, and say that the reason he’s a loser is that you’re
successful?
This is the way that success is looked upon through the optics of the
Jantelov. If you’re more than us that means that we’re less
than you. And there’s only so much “being” to go around, so you’ve
basically taken ours!
Or to put it another way: If you’re running a little faster, working a
little harder, that means that the rest of us have to run a little
faster, too, lest the Jantelov be violated, which, of course, we can’t
tolerate. So, effectively, you’re unfairly forcing the rest of us to
run a little faster, too, leaving all us more exhausted with no
additional gains.
The bottom line is that competition is always seen as something bad,
since competition means there are going to be losers, and those
losers are probably going to be the mythical us in the
Jantelov.
This view has so many obvious flaws that they’re not even worth
pointing out. But let me just name a few. First, one person’s success
can actually mean building a business that can feed many other
people. Second, if you think of yourself as being part of a team,
competing against other teams, then one person running faster on your
team is actually a benefit to you. Third, just because you lose the
first round, that doesn’t mean you can’t get back into the game for
the second round.
You Should Feel Even More Guilty If You’re Trying to Become
Successful
Niels Lan Doky is, by any objective measures, a very successful Danish
jazz pianist. Yet in the eye of the general public, he’s perceived as
having worked too hard and too goal-directed to become what he is. If
you’re going to be successful, at least it has to seem effortless.
If you look at it the Jantelov way, this misconception makes sense. If
you’re successful, but you can’t help it, then okay, so be it: You
couldn’t help it. We accept that there are certain larger-than-life
figures that are just so exceptional that there’s nothing to do
about it. We adore those.
But for all the rest of us, if you’re actively working to become
successful, that means you’re deliberately trying to become better
than us, and that, as we’ve seen, comes at our
expense. This is also the reason that, while the rest of the world
generally appreciates Jakob Nielsen, most Danes can’t stand him.
This obviously flies in the face of the better half of my first
misconception: If you’re successful because you were born into it, you
should feel bad, and if you’re successful because you worked hard for
it, you should feel just as bad. Bottom line is, success is really
bad, unless you absolutely, positively had no choice. And the only
good form of successful people are the ones that were successful
against all odds.
Conclusion
These were a few of my misconceptions. I’m aware of a handful of
others I have, and there are probably tens of others that I haven’t
realized yet. That, I suppose, is just how it is. By exposing them, at
least it’s possible to know when they’re doing their deed, and try to
counter them.
Do me a favor and pay a visit to the web site for the <a
href=”http://www.dk-designskole.dk/”>Design School in Copenhagen,
Denmark. You probably won’t understand the words, but you’ll still get
my point. It looks great, but it doesn’t help you get your job
done.
A few examples: You have to click through a splash screen to get to
the meat. The navigation is visual only: You have to either decipher
or remember what those little icons mean. You can’t use your browser
to change the text size. I could keep going, but I think I’ve made my
point.
Aesthetics

Most graphic designers, including, apparently, the ones at the
Copenhagen Design School, are schooled primarily in visual appearance,
the aesthetics. They create designs that look fantastic, but don’t
have much to offer beyond that. Would it surprise you to learn that
people call it the Dessert School?
Communications
Graphic design that doesn’t communicate misses the point. This is
where information design comes in, the field in which
Edward Tufte reigns
king. The design still has to look good, but it also has to
effectively communicate what needs to be communicated. Think
design of traffic signs.
Good information design can communicate complex concepts and
relationships much more effectively than words alone could ever
do. The combination of well-crafted words and equally well-crafted
graphics is so much more powerful than words, as Scott McCloud’s
Understanding
Comics is a living (yet printed on dead trees)
testament to.
But good information design is hard. Not only do you have to be
skilled in aesthetics, you also have to understand the
subject matter in depth, and have the ability to
visualize your understanding in a way that others will understand.
Interaction

But with software, we’re not only trying to communicate, we want to
interact. Users of software, including web sites, are trying to get
something done. There is an on-going dialogue between the user and
the software, facilitated by the truly enlightened graphic
designer. In this area, the only advocate I know is Donald Norman, even though he’s a
psychologist, not a designer.
In order for graphic design for human interfaces to work, it must not
only look good and communicate effectively, it must also help the
user achieve her goals. So the graphic designer must understand
not only aesthetics and the subject matter, but also the interactions
that are going to take place.
With interactive media, the things that the graphic designer is
designing don’t just sit there: They behave. They are actors, with
whom we engage in conversation.
There is a reason that the bell boy in a hotel isn’t dressed like the
room maid: His appearance tells you how to interact with him: It
sets your expectations. In the same way, the visual appearance
of an object that appears in the human interface of software, must
also set the user’s expectations for how he can interact with this
object, and what the consequences of his actions will be.
Physical Cues
One way of doing this is through references to the physical world. An
example of this is the way that we make it look like buttons actually
pop out of the screen, making us want to press them. It’s the
same thing that makes us want to drag the slider:
Image gone
Physical cues work well, because we’re conditioned through millions of
years to trust that anything that looks like the real thing probably
is the real thing (explained in excruciating detail in
The Media
Equation).
Look at these two images of the Windows task bar:
When you’re looking at the lower version, the one that’s turned around
180 degrees, it becomes clear just how strong our inclination to
perceive in physical terms is. (Try turning your monitor upside
down, and you’ll achieve the same effect it’s actually quite
fun.) This is also the reason that the drag-and-drop form of
interaction is so powerful: Humans are so used to grabbing and moving
and operating things with their hands, that this naturally extends to
software interfaces.
Consistency
When all else fails, turn to your good old friend, consistency. If
things that look the same always behave the same, people will
eventually learn what to expect. If something that looks like a
check box just once behaves like a radio button, people will
forever be in doubt. This is why it’s so crucially important that
things that look the same always behave the same.
Users of software have nothing to base their expectations on, except
what they can see, until they actually try and interact with the
thing. Thus, if an object behaves differently than another object, it
must also look differently.
But not just look differently in some subtle way. The difference
should be so noticeable that no-one can miss it. When people are using
the software, they’re concentrating on their goal, on the reason
they’re using the software, not on interpreting subtle visual cues in
the interface. And we actually want them to stay in this state of
mind.

This is where Shannon’s information theory kicks in: We must strive to
simultaneously communicate the same information along as many
dimensions as possible. In other words: Our communication must be
redundant. In case one cue is missed, there must be other to back
it up. The different cues should reinforce each other.
And now we’re already deep into the field of human interface design.
Show Us What You’ve Got
I hope this has shown you that there is so much more to graphic design
than meets the eye. Creating great, usable software truly requires
interdisciplinary skills. The world is ripe for graphic designers
who understands human interface design. Just as the world is ripe
for human interface designers who understands software design.
After all, and with all due respect to <a
href=”http://www.kare.com”>Susan Kare, whom I admire greatly,
isn’t it remarkable that one single person has taken care of the
graphic design for both <a
href=”http://www.kare.com/MakePortfolioPage.cgi?page=2”>the
Macintosh, <a
href=”http://www.kare.com/MakePortfolioPage.cgi?page=6”>Windows
and <a
href=”http://www.kare.com/MakePortfolioPage.cgi?page=9”>OS/2?
There’s gotta be room for more people like her.
Say you wanted to open up a stock photography business. You have
thousands of photos that your customers can search and browse, until
they find and buy the one that’s just right for them.

What medium would you choose for your catalog? Would you print books?
No. They’re expensive to print and ship, and don’t have very good
search tools. Would you open up a physical store and display them in
the window, like real estate brokers? Narh, much too expensive to have
all those physical locations. Telephone? Probably not, it’s too hard
to explain a photo in words. Then what?
Well, if you ask me, the web seems like a pretty good
match. It’s an interactive medium, so you can build an interactive
search engine. It’s a graphical medium, so your customers can see the
photos before they decide. Won’t people just steal them without
paying? Not if you only serve them low-resolution versions until they
pay. And you can add annoying watermarks, too, which will further
discourage use without paying.
There are no shipping costs, you can just sell digital versions of the
photos, and if people want prints, you can partner with <a
href=”http://www.ofoto.com”>ofoto.com or a similar print shop. If
you’re a distributed group of people trying to decide on the right
photo for the job, you can just email each other the URL to the site,
and the person with the credit card can simply order it from there.
Why, then, do all the stock photography sites make such poor use of
the web medium? Honestly, I have no idea. But I’ll explain what I
mean.
The Scenario
To set the stage, imagine our persona, let’s call him Jonas,
trying to find a couple photos for a student counseling
publication at his university. So he needs a couple photos to
illustrate what student life is like.
One of them has to be a young adult woman, preferably dark-haired and
with glasses. The other has to be a young male with shorts and a
short-sleeved shirt, next to a bicycle. The third should be a
lecturer in a lecture hall.
He needs to discuss the photos with his fellow counselors and
his managers, before he can make the purchase. These other people have
some suggestions for different photos, and finally, they arrive at
their decision and purchase them.
Searching
Finding stock photography is about <a
href=”http://pespmc1.vub.ac.be/ASC/SATISFICING.html”>satisficing. Jonas
has a picture in his mind about what the ideal photo would look
like. But he has to match that with the reality of what the stock
photography company has to offer.
How does this work? Clearly, there are some criteria that are
non-negotiable must-haves. It doesn’t really work if the woman
who’s supposed to be a student is too young or too old. It doesn’t
work if the lecturer doesn’t look like a lecturer and isn’t in a
lecturing hall.
And there are some criteria that are of lesser importance, the
nice-to-haves. The hair color, whether she wears glasses or
not, the posture of the lecturer, etc. Jonas has some preferences, but
it’s not a show-stopper if they’re not met.
Jonas’ job, then, is to eliminate all the photos that don’t meet his
must-haves, so he doesn’t have to waste any time looking at those, and
then pick the best compromise from the available photos remaining, in
a limited amount of time.
Keywords

All the stock photography sites, or at least the ones that haven’t
completely lost it, have a rich collection keywords for all their
photos. Consider <a
href=”http://www.thinkstock.com/perl/search?A=D&PID=C0013338”>this
photo for example. The keywords for this photo are: times square,
hand, urban, communication, cell phone, wireless, new york city,
holding, outdoors, woman, wap phone, color, vertical, female, chinese,
young adult. That’s the right approach, and proves that they got their
data right at the back end.
But searching is still a mess. Yes, you can click on these keywords to
see other photos with the same keywords, but when you do so, it
forgets the keywords that you already had selected. In other
words, you can only use one keyword at a time when you use this
mechanism.
There’s a bootstrapping problem, too: I can’t know in advance what keywords
they’ve chosen to use. Do they call it “young adult woman”, or “woman”,
“adult”, “20’s”? Do they call it “portrait” or “composition portrait”
or “one person”? gettyone has a neat
clearification feature. If you search for “woman”, it asks you whether
you mean “Women: Females” or “One Woman Only: Only Women”. This is
helpful (to the extent that you can discern the difference between the
alternatives).
An Alternative Design
Criticizing is easy, designing is hard. So here’s my alternative.
Given the bootstrapping problem above, the best way to start is
probably using a simple search box, where you can type in something
that’s almost guaranteed to give results, but at least throws you
in the right direction, for example “woman office”. This will get
translated into a set of keywords (gettyone helps us clarify this as
“One Woman Only:Only Women” and “Office:Place of Work”) on you
must-have list, which will then give you your first set of photos to
browse.
From there, you can either click on a photo that’s reasonable and pick
from the list of keywords for that photo to add to either your
must-have list or your nice-to-have list. The nice-to-haves would be
used to rank all the photos that mach your must-have list, so
the ones that mach most of your nice-to-haves are shown first.
Throw in nubmers for how many photos match each keyword on your lists,
and make it easy to switch a keyword from must-have to nice-to-have
and vice versa, and make it easy to temporarily disable a keyword from
your search, and you’ve also taken care of the problems of zero photos
or too many photos matching your keywords.
And of course, Jonas shouldn’t have to register before he can start
searching. After all, how does he know whether it’s worth investing
any time at all on the site, until he’s done at least a few searches
and seen a handful of credible photos.
Viewing Photos

It’s amazing how people can screw up something as simple as viewing a
photo. The photo should be viewable on a simple page, accompanied by
info on price, resolutions, keywords, etc. No frames. No
javascript. Short URLs. Why? You want your customers to be able to
email or instant message URLs for photos to each other, making
it easier for them to reach concensus on what photos to buy.
<a
href=”http://www.viewimages.com/View.asp?imageid=133274&partnerid=0”>ViewImages.com
has that right. Until you actually decide to buy the photo: The
“license image professionally” link takes you to a cul-de-sac.
Project Folders
Notice how Jonas needs three photos, each matching its own specific set of
requirements. For each photo he needs, there’s a job satisficing to be done.
It would seem natural to offer Jonas to set up a project folder with
the list of photos that he needs. For each of these photos, he could
type in the description of what he’s looking for, save his lists of
must-have and nice-to-have keywords, save the photos he’s found that
might do, share the project folder with his colleagues, allowing them
to comment on the photos and add their own.
I haven’t seen any stock photography site that supported this kind of
“project folder” thinking. A business opportunity, perhaps?
Practical Advice on Finding Stock Photography
The first thing you sould be aware of are the differences in
licensing. There are royalty-free photos, which have a fixed
license fee, and are generally cheap (around $30), but don’t give you
any guarantees about who else uses the photo. Then there are the
rights-protected ones, where you can make sure that your
competitor don’t go using that same photo for their ad campaign at the
same time, and where you buy the license for a specific purpose and a
specific time period. These are generally much more expensive (about
$250 and up).

The photos I needed were for the <a
href=”http://developer.arsdigita.com/acs-java/user-centered/personas.html”>personas
for a software project, so the royalty-free license was clearly the
right license for the job. Unfortunately, some of the photos I first
found were rights-protected, so I had to spend a couple more hours
finding replacements for those, later in the project.
After having suffered through numerous stock photography sites, I
finally settled on gettyone.com,
which has a huge selection of photos, and a decent search
interface. You can’t share the URLs with your colleagues, but I
managed to get by with some URL surgery and some View Source. I’ll use
them again next time, unless some of the others shape up. And I hope
that gettyone will shape up as well.
Lessons Learned
We’ve seen how something that’s a perfect candidate for the web medium
can still be messed up by mediocre design. And we’ve seen how the
simple techniques of personas and scenarios can help us do a better
job. Use them on your next project.
If you’re interested in doing this yourself, take a look at the
<a
href=”http://developer.arsdigita.com/acs-java/user-centered/”>training
materials I’ve put together for the <a
href=”http://www.arsdigita.com/products/”>ACS software for <a
href=”http://www.arsdigita.com”>ArsDigita.