February 17, 2009

Sell the Sizzle, Not the Sausage

I was pushed into thinking about open source adoption by another thoughtful Seth Godin blog post today. Seth points out that decisions are not always made in the way we'd like to think they are. We know that open source makes sense, but people still refuse to adopt it for what we in the open source world tend to consider irrational reasons. But of course a) people aren't always rational, and b) even when they are, they have motivations we may be unaware of, or (more likely) paying insufficient attention to.

This brings up a point that's commonly known in the commercial sales world and almost completely ignored by the open source community. We focus way too much on the wonderful feature set of our "products", and nowhere near enough on the needs of our "customers". So when you visit python.org for your first introduction to the language, you learn
Python is a dynamic object-oriented programming language that can be used for many kinds of software development. It offers strong support for integration with other languages and tools, comes with extensive standard libraries, and can be learned in a few days. Many Python programmers report substantial productivity gains and feel the language encourages the development of higher quality, more maintainable code.
The potential adopter isn't bothered about the features of open source software, they need to know the benefits. In other words, what's in it for them? A first-cut rework might read
Python lets you get more programming done faster, and helps you integrate your systems more effectively. You can train your existing programmers to use Python and see almost immediate gains in productivity and lower expenditures on maintenance.
Now I don't claim to be a marketing professional, but even I can see that this addresses the problems of the user more directly than the current text. A lot of open source people see the word "marketing" and shriek because they perceive it as being intimately connected with the world of proprietary products and commercial licensing. Which it is, but it doesn't have to be. There's no reason at all why open source and free software shouldn't take a page from the proprietary book and start marketing itself more aggressively.

In fact I like that blurb so much it's going straight into the Holden Web Python training page! I just know that someone properly trained in marketing could do much, much better. If the goal is to get more people to adopt Python, what's wrong with using the best techniques from the proprietary world and bending them to our own ends?


Anonymous said...

A great first cut! I hope that blurb, or a derivation of it, makes its way onto the python.org home page.

I wonder much further it can be boiled down. Can you make it short enough to fit on a tee shirt?

Brandon Rhodes said...

Steve, while I grant that the new blurb you have concocted might indeed improve the Python web site, I think that you go astray when you propose that the difference between the two blurbs is in whether we focus "on the wonderful feature set of our products" rather than the "needs of our customers."

Because, in fact, both blurbs address, quite precisely, the needs of Python customers! The difference between them is not that one is customer-centric and one is not; instead, the difference is that one treats the Python developer as the customer, and the other treats his boss (or client or vice president of IT) as the customer.

Since no one pays to download Python, we cannot simply look at the signatures on a thousand randomly-selected purchase orders and determine whether our customers are primarily programmers choosing the correct tools to easily provide solutions to others — in which case the claim that we are a "dynamic object-oriented programming language" is precisely what we need to be saying — or whether they are Bosses, worried about not choosing something without IBM or Adobe or Microsoft slapped on the cover, and wondering why on earth one would use a programming environment that does not come from the store in a shrink-wrapped box.

So the question that you need to be asking is not, "Should we become customer-centric"; but, rather, "Toward which customer should the front page of python.org be oriented?"

(Answer: I'd orient it toward the bosses, since they'll just read the front page. Then have a "technical features" page that says everything it says now for the developers.)

Michael Tobis said...

+1 on the edit

Steve said...

Brandon: There is something to what you say. However I can't bring myself to think of "object-oriented" as a benefit. The parallel I'd draw is with (say) a turbocharger on a car. That's the feature: the benefits are better acceleration and higher power output.

You did. however, correctly deduce that my real concern is to try and offer some relief to the many people who would like to adopt Python at work but can't because some fairly mindless policy stands in the way.

See Zed Shaw's The ACL Is Dead for some rather more radical solutions to that problem. Zed would probably say "Tell them you are using .NET and just write it in Python anyway".

Anonymous said...

-1 on the edit - one of the main reasons I'm happier going to free software websites is that they don't do things this way! Neutral descriptions are far better than publicity guff.

Senthil Kumaran said...

As a programmer, I would prefer the current wording Steve. The reason being, Python is still learned by Programmers. Python's customers _are_ programmers and the better programmers we get for the Python Language, more it is going to prosper. I would not forsake technicality for gaining some quick results. If you see, Python has been around from 1991 and is picking up very fast now, we should not do anything drastically different that would hinder with its style and culture.

BTW, Kudos on your Tutorial Presentation. Thats exceeding 40 registrations.

Unknown said...

I very much agree with Brandon. My first thoughts when I read promises of effect without details of implementation are, "Empty marketing. Lies. Move on."

If it wouldn't crowd the page too much, one approach would be to have the manager-friendly and programmer-friendly versions side-by-side. We can have your version, but make details right at hand - set us clearly apart the zillion from proprietary companies that hide details under many layers of glossy promises.

Steve said...

Well, this is all great feedback. Maybe we do need two parallel channels. I certainly don't want to put technical people off the language.

But there's still the larger question of how we exercise some persuasion at higher organizational levels. Maybe we need to be collaborating with other open source projects to do this.

Or perhaps a prominent "For Your Management" link on the home page?

I still think that we focus too much on features. Apache, for example, promotes itself as "secure, efficient and extensible", which are all obvious benefits. What do you think?

Brandon Rhodes said...

Obviously the front page needs a picture of a snazzy manager in a suite next to a cool-looking developer in jeans — sort of like the Apple ads with the Mac and the PC but with neither of them looking like the "bad guy" — and the caption above the manager saying your new manager spiel, Steve, about how projects get done more nimbly and effectively now that they're built atop Python, giving his developers enough breathing space that he, the manager, really feels in control; and the cool jeans-clad developer letting us in on the secret: that Python is simple, flexible, dynamic, object-oriented, and, best of all, open source, leaving him in control.

Thus, if written well, the spiels will play off against each other a little bit, and make it sound like each side is letting you in on a secret about Python that the other doesn't know about or doesn't appreciate.

I'll selflessly volunteer to be the cool-looking developer guy. I'll bring one of my good Banana Republic shirts to PyCon just in case. :-)

Ned Batchelder said...

Steve, I like the new edit. The old blurb leads with stuff that is only interesting to language lawyers. Even as a developer, "get more programming done faster" is the right thing to sell.

And BTW: I think you're missing a "not" in the second sentence: "... decisions are *not* always made ..."

Steve said...

Thanks, Ned - and thanks for the correction, to which my answer is "not any more I'm not not not" :)

Anonymous said...

Hi Steve,

I certainly like the new paragraph as a means of reaching the audience you had in mind. The trouble with a website is that it really has multiple audiences, and will never be everything to everyone (Which isn't to say that we shouldn't make it the best possible compromise).

I also think it's true that Python lacks a good corporate marketing page. Maybe it would be worth setting up a URL such as http://python.org/corporate in which the collected wisdom of the community with regards to the benefits of Python in business could be housed. I realise that there is already a Python success stories page, but the issue of selling Python to a boss or department is something which just never seems to go away...


Steve said...


get more done faster
integrate better
no, this is not a haiku