the dangers of dogfood

So I just watched a channel9 video about Microsoft’s Sharepoint 2007 last night.

It was interesting, how they’ve basically rolled their CMS product and their collab product into the same suite, and basically turned sharepoint from what seems to me to be a mediocre, spotty product into one that could be reasonably useful.

Now, microsoft has this philosophy, “we eat our own dog food” — in other words, they use their own products to do their business. And seeing these tech directors and project leads talking about the project, I’ve come to realize: there’s a certain danger to that prospect.

The people at microsoft are developers, and not just any developers either … they’re people who’re actually pretty good at what they do. Not just anyone gets hired to be an MS dev, you know?

So this presentation’s going on, and it drifts into building sites and services, and I hear things like “yeah, that’s all done in xml” followed by the guy who wrote the xml opening it up, and the cameraman saying “yeah, I see that that’s all .NET objects.” And things like “yeah, that’s just XSLT” and “you just access it through SOAP.”

And here I’m thinking to myself … you know, I know what that is, and given a bit of time and motivation, I could certainly figure out how to do it. But I’m also at a developer’s technical level. The people I’m setting up sharepoint for … if I were to talk to them about SOAP, they’d be thinking “dial or irish spring? Maybe dawn?” If I were to explain XSLT for styling to them … well … no, I just don’t think I could even begin to try to do so.

The thing about all this is, users are dumb. They really are! I’m not saying they’re not intelligent people, or that they can’t get around the tech world, I’m saying that if you take someone who wants to collaborate on a word doc, who’s never written a line of code in his life, and who is more interested in doing his job than learning to do a developer’s job, he’s not going to be able to do all of those nifty things, because they don’t matter. Users want technology to empower them, to help them work smarter. They don’t want to be saddled with things that require more effort and more things to learn. They want to be able to just click it and go, want to be able to do things in the easiest way possible.

The average user is never going to write an xml file, or understand .NET objects, or generate an XSLT stylesheet. If you want to aim your work at developers, at people who’re willing to pop open visual studio 2k5 and write a webapp or an interface layer, that’s fine, do it. But if you’re aiming at enabling the middle half or so of the population to use your stuff effectively, you need to bring in people who aren’t devs at all, who don’t know the difference between XML and XSL, or between .NET and SOAP, or between ODBC and HTTP.

“Eating your own dogfood” changes who audience, because instead of developing for the needs of the customers, you’re developing for your own needs. After all, it’s your dogfood now, right? And, being your own audience, you lose a bit of objectivity.

Leave a Reply