« March 19, 2006 - March 25, 2006 | Main | April 2, 2006 - April 8, 2006 »

Announcing The Emo Programmer book


I'm pleased to announce the release of my latest book, The Emo Programmer. Most of you all know my co-author David Heinemeier Hansson (aka David HH) as the guy who created Rails to build 37signals loveable Basecamp application. David's been arguing passionately about the need and benefits of making happy programmers, and I've been fortunate to have the chance to work with David on a very special project:

Emotional Programming™

From the official press release:

This book defines the next step beyond Agile. Inspired by the Emo music scene, this book describes the new methodology called Emotional Programming™.

Ruby and Rails have ushered in a new era which respects not just the technical but also emotional needs of developers. Recognizing that programmers cannot be expected to care deeply about users if they--the programmers--are not happy and fulfilled, Emotional Programming™ brings a new level of sensitivity to software development. The Emo Programmer™ is one who strives to craft the most user-friendly, accessible, and inspiring applications. It is no longer enough for our programs to work well--they must add meaning to our end-users lives. Emotional Programming™ shines a light on the path to a more emotionally uplifting approach to software development.

And who better to lead this effort than David Heinemeier Hansson (the industry's strongest advocate for programmer well-being, and creator of the joyful Rails framework) and Kathy Sierra (passionate user evangelist, and creator of the cheerful Head First series)?

According to Sierra, "As a music style, Emo represents emotionally-charged punk rock--Emo is short for 'emotional'. What David and I have done is apply the underlying sensibilities of Emo music to the typically un-emotional world of computer programming. Thanks to Ruby and Rails, the tech industry is finally treating programmers like humans first, coders second. And in the end, this means programmers will have more compassion for end users."

Once again, the Pragmatic Programmers are leading the next wave in software development. Stay tuned for the Emotional Programming™ Manifesto.

I should have the link to the manifesto up later today. Pre-sales should start on Amazon within the next two weeks. Now you know why I've been so busy the last few months!

Posted by Kathy on April 1, 2006 | Permalink | Comments (23) | TrackBack

Web Standards New Zealand makes bold socially-responsible move

As many of you may know, New Zealand is facing a serious energy crises. In what could only be considered an extremely brave move, the Webstock conference site has been completely redone to save power. Recognizing the wasted power from downloading all that CSS, javascript, and graphics--they've gone back to 1997-style simple HTML with no pictures, scripting, or style sheets.

From the Webstock site:

"The site with images enabled is around 438,437 bytes total to download. Of that, my (entirely unnecessary) bio picture alone, despite being the third smallest byte-wise, is still 3753 bytes - compare that to the more compact representation below:


Through the use of emoticons for the bio pictures alone, I estimate we can save over 63K. By removing the rest of the images, the bandwidth savings alone are immeasurable (okay, about 97K total). It's important to put this in light of repeated downloads of such a high traffic site (which, incidentally has saved even more through refusing to provide unnecessary "Last-Modified:" headers in each HTTP request response) - if the site is downloaded in its entirety every day by every person in New Zealand, which we may safely estimate at roughly four million people, that is a savings of over four hundred million bytes per day. The work required to uncompress and store in memory a single 4K JPEG image may be estimated at approximately 0.0384 coulomb volts, which gives the following equation:
[an error occurred while processing this directive]

They consulted with me about this, afraid they might be alienating their users despite their high-minded intentions. I strongly encouraged them to Do The Right Thing. My quote (from the conference main page) is:
"This is a group that's willing to step up and do the right thing, regardless of the unappealing result. Webstock's move to save power shows how much they care... choosing passion over fashion. To me, this exemplifies the best of what Web 2.0 really means. I hope others will follow Webstock's lead--together we can make a difference, 1 kilobyte at a time."

So please, web developers, let's all do our part... starting with blogs! Does anyone even come to our actual blog pages anyway? Doesn't everyone read our feeds in a reader that strips out all that nonsense like ads, site graphics, and of course CSS? Starting tomorrow--when I figure out how to do it--I'm stripping this blog down to the bare minimum. I hope you'll do the same.

Way to go Webstock. Such an amazing gesture from such a tiny little country. (Must be that Hobbit sensibility)

Posted by Kathy on April 1, 2006 | Permalink | Comments (6) | TrackBack

I heart slashdot!!!

I've waited so LONG for this!! Slashdot has apparently now gotten in touch with its inner girl-coder. And OMG they talk about PONIES!

I'm so happy I could cry.

Posted by Kathy on March 31, 2006 | Permalink | Comments (1) | TrackBack

Two more reasons why so many tech docs suck


A great deal of non-reference technical docs suck for a wide range of reasons, but the two most critical (yet fixable) are:

1) We assume the reader is inherently interested.

2) We drastically underestimate the role interestingness plays (especially in retention and recall).

When I say "non-reference", that's because the rules are completely different. Assuming reference materials are accurate, well-organized, and clear--whether the reader is "interested" matters very little. Reference docs don't need to be memorable. They aren't expected to communicate big, tough concepts. There's nothing to "get" when you're looking up a recipe, for example.

But when we're talking about learning--especially recall and retention--the reader's motivation means almost everything. And readers aren't even REMOTELY as interested as we might think. Intuitively, we often assume that if the reader has taken the time to find--possibly even pay for--the book, manual, tutorial, whatever, that they're obviously motivated. After all, they wouldn't be bothering if they weren't trying to learn something.

Sounds reasonsable. But it's almost...always...wrong.

Think about it. Almost nobody reading a tech document does it for intrinsically-motivated intellectual curiosity. They're reading it because they need to DO something! And anything that does not appear 100% relevant to that goal is just in the way. I said "appear", because this is the biggest issue of all. It's not how relevant a particular topic is that matters--it's all about whether you've proved that to the reader, up front. And you have to keep on proving it over and over and over.

It's not enough to simply say it's important. That won't keep their brain engaged, even if they trust you. You must show it. And you must show it before you expect them to pay attention and learn. If you want until after you've explained something to give examples of why it matters or how they can use it, that's too late.

One of the best techniques for creating and keeping interest is to make non-reference docs use-case driven. That way, each topic is framed by a context that matches something the user really wants to do. That way, each little sub-topic shows up just-in-time, instead of appearing to be there just-in-case.

The chart at the top of this post is a dramatic (albeit only partly related) study by Richard Anderson, Larry Shirley, Paul Wilson, and Linda Fielding. In the book Aptitude, Learning, and Instruction: Conative and Affective Process Analyses, they describe that they found--in some circumstances-- interest can be 30 times more important than readability in whether students remember what they read. Granted, students are often forced to read things they were never motivated by, but there's still something sobering about the results.

Consider all the people reading your docs, and ask yourself if they're reading them purely for intellectual joy, or because they're just trying to do something. Chances are, they're just trying to DO something, and it's that THING -- and not your technology (and especially not your docs) -- that they're interested in. Bottom line: if we want them to remember, we must make it memorable. And the best way to make it memorable is to make sure they're interested every step of the way. And it's usually our job, not the readers, to build that interest!

The next step on that path is to help create an interest in things they didn't know they could do, but that's another topic... : )

Posted by Kathy on March 31, 2006 | Permalink | Comments (7) | TrackBack

Introducing my new co-blogger


This blog was never supposed to be The Kathy Sierra Blog, but my so-called co-bloggers abandoned me after the first few weeks ; )
Eric put his mouse ears back on, and Bert Bates wants to podcast instead of write. So I've been on the hunt for someone who'd add a lot of value for y'all and who didn't already have their own blog. And I found the perfect person--he was wearing a white labcoat and everything--deep within the top secret basement black-ops scientific laboratory at Google.

Unlike myself, Dan Russell is an Actual Authority on "the human mind and its intersection with technology." He's probably done as much research on user experience as just about anyone in the universe, and--like Eric--has way too much education (including a Ph.D in Computer Science). For most of the last two decades, he's been right in the heart of some of the most fascinating and influential tech research in America including:

IBM's Almaden Research Center
Dan was a senior research scientist in the User Sciences and Experience Research (USER) lab.
(Wow -- what are the odds of having the acronym work out like that?)

Apple Advanced Technology Group (ATG)
From '93 to '97, Dan was the Director of the Knowledge Management Technologies lab.

Xerox Parc
Dan worked in the User Interface Research group studying uses of information visualization techniques, and then more recently worked on the design of a user experience for a new class of information appliance.

Today, Dan's a senior research scientist there, where he works in the area of search quality, with a focus on understanding what makes Google users happy!

He's done work in everything from neuropsychology to computer vision, including things I have no idea how to explain like: "sensemaking", cognitive modeling, enthnography, "shared awareness of individual state", intelligent learning systems, and on and on and will help bring balance to this blog in several areas:

(he's a guy, I'm not, although I swear I've seen him write girl metrosexual code.)

(I may have a certain street smarts, but Dan's the real deal. Thankfully, he won't make us call him Dr. Dan.)

(he knows both the forest and the trees, and has worked with some of the most significant players in the history of computer technology.)

And just between us, Dan is not just a super smart geek, but he somehow finds the time to be a really good musician, a long distance runner, a writer of a gazillion articles and book chapters, and an inspiring father. He counts a day as poor that doesn't have all of the above in it. He's also the person who--almost twenty years ago--told me of the importance of storytelling, and that if I wanted to be a better teacher, I ought to be listening to Garrison Keillor.

For good or bad, it'll still be ME doing most of the posts here--Dan's way too busy to do all but some intermittent spots--but if we give him some positive feedback when he posts, maybe he'll be encouraged to do more ; )

So, please help me welcome Dan Russell to our blog. If there's any topic you'd like to hear about, feel free to comment (no guarantees--for all I know he'll be posting on the cognitive consequence of eating a PBJ sandwich at your laptop)

Posted by Kathy on March 31, 2006 | Permalink | Comments (5) | TrackBack

Head Rush Ajax ships!


"Head Rush Ajax puts dynamic, compelling experiences within reach for every web developer."
-- Jesse James Garrett, Adaptive Path (the guy who coined the term "Ajax")

The Head First series has a lean, mean baby brother--Head Rush--and the first one just shipped. Head Rush Ajax was written by O'Reilly bestseller and uber geek Brett McLaughlin, and makes Ajax accessible and, you know, festive.

The Head Rush format uses the same learning principles as the Head First books, but differs from Head First in breadth/focus of topic, prereqs, and length. Where a Head First book does a complete BIG topic from start to finish, Head Rush zooms in to a more focused piece--in this case, Ajax. So the Head Rush Ajax book, for example, doesn't try to teach you every frickin' detail of Javascript. It's a faster read than a typical Head First book, but with the same approach to helping you load the key concepts into your brain in the quickest, least painful way.

Congratulations to Brett -- he pulled quite a few all-nighters in the end there to get this book out. I should mention that Brett is also now the editor/director in charge of the entire Head First / Head Rush series, and Bert and I are thrilled to have him managing our "baby."

We recently did a four-day Head First authors training bootcamp, and while I'm not yet at liberty to announce the topics, there were more than a dozen authors and editors now working on titles. This has been a spectacularly difficult series format to scale, but it's starting to look like Brett just may be able to pull this off.

If you're interested in the possibility of writing a book in the Head First or Head Rush series, the details of the audition process are here. Hint: it's not about the writing (my writing skills are pretty dicey--and I've authored or co-authored four of these puppies already). It's ALL about what happens between the reader's ears, and what you do to help drive and support that.

Again, congratulations Brett! You did an amazing job on the Ajax book as well as defining Head Rush.

Posted by Kathy on March 31, 2006 | Permalink | Comments (5) | TrackBack

Code like a girl


Do engineers and programmers care about concepts like beauty and elegance? Should they? Designers have always known that looks matter--that the outside (interface) matters. But deep in the heart of those building the inside--the technology most users never see--lies the sensibility of an artist. In a kind of "Design Eye for the Code Guy" way.

While I'm stereotyping with abandon, I might as well be honest. I've been going to tech conferences for the last 15 years, and I swear the ratio of pocket protectors to Urban Outfitter clothes has shifted dramatically. So maybe it's not accurate to say geeks today are better looking--but they're certainly better dressed. With hipper haircuts.

Does this mean anything? Maybe.

What prompted this post--and it's whimsical title--is a post by Jamis Buck titled Beautiful code, test first, which includes the following:
"He was telling me how he feels like he has to sit and tweak his code over and over until it not only acts right, but looks right. It cannot be merely functional, it must be beautiful, as well."

But the best part was a comment by "Morten" that included the line:

"As for spending too much time on making the code look right down to the last indentation - my code has been called “girl code” for the same reason..."

And there you have it. I think "girl code" is quite a compliment. Because caring about things like beauty makes us better programmers and engineers. We make better things. Things that aren't just functional, but easy to read, elegantly maintainable, easier--and more joyful--to use, and sometimes flat-out sexy. A passion for aesthetics can mean the difference between code that others enjoy working on vs. code that's stressful to look at. And whether we like it or not, most of the world associates an appreciation for beauty more with women than men (especially geek men). Women may have a genetic advantage here.

From one of my favorite books on aesthetics and technology, David Gelernter's Machine Beauty:

"This book explains how beauty drives the computer revolution: how lust for beauty and elegance underpinned the most important discoveries in computational history and continues to push research onward today....The best computer scientists are, like [Henri] Vaillancourt, technologists who crave beauty.

There is the ever-present danger when you discuss beauty in science, mathematics, and technology that readers will assume the word is being used metaphorically... And could a mathematical proof, scientific theory, or piece of software be "beautiful" in the real, literal way that a painting or symphony or rose can be beautiful?

And from the back cover:

"Both hardware and software should afford us the greatest opportunity to achieve deep beauty, the kind of beauty that happens when many types of loveliness reinforce one another, when design expresses an underlying technology, a machine logic...

These principles, beautiful in themselves, will set the stage for the next technological revolution, in which the pursuit of elegance will lead to extraordinary innovations."


Yes, calling beautiful code "girl code" is both silly and some might believe sexist. But that doesn't mean there isn't some truth to it. As a female technologist in a heavily male-skewed industry, don't compliment my hair, but if you tell me my code is pretty, I might just give you some tips.

And if it makes you feel better, I'll refer to YOUR gorgeous code as metrosexual. But we'll both know the truth.

[full disclosure: though I'm 100% female, I have personally authored some of the worst-looking code in north america.]

[UPDATE: someone has Code like a girl shirts on CafePress.]

Bonus beauty links:

Don Norman's Emotional Design

Virginia Postrel's "the substance of style"

CSS Zen Garden: The Beauty in CSS Design

Flickr "Beauty is Simple" group

Posted by Kathy on March 29, 2006 | Permalink | Comments (113) | TrackBack

Are you a passionate tech user?

Are you a passionate user of a tech product? I'd really like to know about it for the book!

In the next couple of weeks I'm going to make a few requests for people who have a story to tell about something they're passionate about, and also to ask if you can point me to products/services you think fit the criteria I'm looking for. It's for the "Creating Passionate Users" book (from O'Reilly) that I'm now so behind on I'm surprised the publisher isn't holding my horse hostage. [And a big thanks to my review team that's come back online]

Remember, the definition of "passionate" we're using means that you are always learning, growing, improving in some way related to the tool/product/service OR (more likely) something that the tool lets you do. (For example, you're passionate about your Canon camera because it lets you take great photographs, and you're always trying to get better with your photos--tweaking the manual settings, etc.)

What I'm looking for today is:

1) Anyone who is truly passionate about their Wacom tablet.
Whether you're passionate about the device itself (programming the buttons just so, learning how to push the limits, maybe lusting after (or owning) the Cinteq, etc.) OR (again, more likely) passionate about the kinds of work you're able to do with your tablet that you know you couldn't do otherwise.

2) Anyone who is passionate about any tech product--hardware or software--that is not a game. I'm especially interested in things more associated with productivity or any kind of business work. For example, an Excel user who is constantly pushing to use the tool to do more interesting things with modeling, etc.

3) Anyone who is passionate about a particular non-profit cause or service. Again, I'm looking for things where you are actively involved and always trying to learn and/or do more related to it. Simply being a very strong believer/supporter is not enough... it must be something for which you are continuously learning more and potentially getting more involved.
(p.s. this could include a church, although I'm NOT looking for stories about passion for a religion, but rather a passion for a specific church/organization that you are involved with.)

4) Anyone with a pointer or story to tell about a company (anything other than a game or sport) that provides a great deal of learning support for its users at all levels, whether its through good tutorials, active online support forums, etc.

I'd love to hear from you, and it is entirely up to you if you want your real name in the book--anonymous is just fine, although if you've got a story of your own to tell, I will ask if I can quote you.

Thanks so much guys. Oh yeah, I know that a lot of YOU have products and services and causes that people are passionate about, so don't be shy about self-promoting that to me! If you think it meets the criteria I've listed, please let me know (although I'll ask for a reference to an actual passionate user I can talk to).

I realize this post does NOTHING to help you kick ass, but I appreciate any help you can give me. You can write to me directly -- headrush[at]wickedlysmart[dot]com, or just leave a comment (comment is probably better since it might trigger an idea from someone else).

Posted by Kathy on March 28, 2006 | Permalink | Comments (85) | TrackBack

Manager 2.0

You can't very well have a Web 2.0 company run by version 1.0 managers, right? Yes, I'm making fun of the 2.0ness of it all, but if we're throwing version numbers around with impunity, might as well take it to the absurd.

One dramatic difference between mature tech companies and the Web 2.0 startups is the way employees are managed. Or rather, the fact that they are not "managed." Most Web 1.0 companies (like, say, my former employer Sun... they put the dot in dotcom, remember?) are not only too big, but their management practices are just too old school (and not in a retro hip way) to foster a company culture that matches the culture of the new community/user-centric Web 2.0.

[Note: I'm talking mostly about the non-VC, non built-to-flip, non whee-its-another-bubble! startups]

My favorite example of the difference between Web 1.0 and Web 2.0 management is that Web 2.0 "geek community values" infuse many of these startups at the cellular level. Never has the notion of "community" meant so much to business, so it's no surprise a Web 2.0 manager would think of employees as a community.

And that may change everything.

Yes, there has always been a startup vs. corporate culture comparison, but this is different. "Community" did not play such a central role for the bubble/Web 1.0 startups.

So, all you Web 2.0 startups -- please keep the best of the Web 2.0 spirt alive by NOT adopting the awful practices of management 1.0. There's nothing new here, of course--Tom Peters has been talking about this for frickin' ever. (And plenty of others before and after him.) What is new is that while it's always been a good idea to manage this way, this time it's virtually a given.

Yes, this is ridiculously oversimplified, does not work out of context, and you can't take things in the 2.0 column ala carte. I still have absolutely NO idea what Web 2.0 even means, but whatever it is, people are in the equation (both users and employees) in a new and more meaningful way. As my friend Nat Torkington says, "It's no longer aspergers and emacs."


[FYI--I am having a fantastic time going through your introductions! Thank you so much for letting me learn a little bit about who you are. It helps a lot more than you know.]

Posted by Kathy on March 27, 2006 | Permalink | Comments (26) | TrackBack

Passionate user peeps (open mic)

No, not those peeps.

I'm talking about y'all. I'd love to hear about YOU guys, and I've enabled basic HTML in the comments this time so you can post a real link using href.

So, consider this another open mic, but this time I'm asking that you introduce yourself in some way. If you want to put anything else in, that's great, but if it's longer than a paragraph or two, it's better if you link to it so the comments don't get too long here.

I'd especially love to see your picture (pet pictures always welcome too), so if you've got one out there, please link to it! (Typepad doesn't support the tag, or I'd let you put the pictures in the comments.)

Here's my request (but feel free to do whatever you like):

Name (real or handle, up to you)

What you do (could include profession, employer, business, etc.)

One thing you're passionate about (qualifier: must be something you are always trying to improve on in some way--through learning, or practice, or trying new things, etc.)

Something most people wouldn't know about you (strange, unusual, etc.)

In less than 10 words, how your closest friends or family members would describe you in, say, a personal ad

If you could give a teenager only ONE piece of advice... (in one sentence)

And then any other links or comments you think our readers here might be interested in, with NO need to stay "on topic." (Since the topic is--technically--YOU)

There's only one rule: no judging or criticizing anything another commenter says.

(trolls will be trebucheted from the bridge)

Posted by Kathy on March 26, 2006 | Permalink | Comments (113) | TrackBack