Building Social Software for the Anti-Social: Part I

Post on 15-Jan-2015

23054 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Five scary rules for building social software, based on our experience at Stack Overflow and Stack Exchange.

Transcript

Geoff

Jeff NYC HQ

JarrodNick

Kevin

Robert

Kyle

Rebecca

Ben

Marc

Sam

“… designing software for group-as-user is a problem that can't be attacked in the same way as designing a word processor or a graphics tool.”

know your audience

Q:

How do you tell an introverted computer programmer from an extroverted computer programmer?

A:

An extroverted computer programmer looks at your shoes when he talks to you.

“In the early years of programming, a program was regarded as the private property of the programmer. One would no more think of reading a colleague's program unbidden than of picking up a love letter and reading it.”

“This is essentially what a program was, a love letter from the programmer to the hardware, full of the intimate details known only to partners in an affair.”

REM The IBM Personal Computer DonkeyREM Version 1.10 (C)Copyright IBM Corp 1981, 1982REM Licensed Material - Program Property of IBMDEF SEG : POKE 106, 0SAMPLES$ = "NO"DIM CAR%(900)GOTO 1010SAMPLES$ = "YES"1010 KEY OFF: SCREEN 0, 1: COLOR 15, 0, 0: WIDTH 40: CLS : LOCATE

5, 19: PRINT "IBM"LOCATE 7, 12, 0: PRINT "Personal Computer"COLOR 10, 0: LOCATE 10, 9, 0: PRINT CHR$(213) + STRING$(21, 205)

+ CHR$(184)LOCATE 11, 9, 0: PRINT CHR$(179) + " DONKEY " + CHR$(179)LOCATE 12, 9, 0: PRINT CHR$(179) + STRING$(21, 32) + CHR$(179)LOCATE 13, 9, 0: PRINT CHR$(179) + " Version 1.10 " + CHR$(179)LOCATE 14, 9, 0: PRINT CHR$(212) + STRING$(21, 205) + CHR$(190)COLOR 15, 0: LOCATE 17, 4, 0: PRINT "(C) Copyright IBM Corp 1981,

1982"COLOR 14, 0: LOCATE 23, 7, 0: PRINT "Press space bar to continue“1100 IF INKEY$ <> "" THEN GOTO 11001110 CMD$ = INKEY$IF CMD$ = "" THEN GOTO 1110

This series of books is affectionately dedicatedto the Type 650 computer once installed atCase Institute of Technology,in remembrance of many pleasant evenings.

Donald Knuthdedication toThe Art of Computer Programming1968

know your topic

One of the great pioneers of computer and online gaming, Dani Berry died in 1998. Some of her aphorisms are still frequently quoted by game developers, including”No one ever said on their deathbed, ‘Gee, I wish I had spent more time alone with my computer.’”

Programming used to be an intensely private experience.

Programming is now a public, social activity

Like it or not.

SourceForge is about projects. GitHub is about people... A world of programmers forking, hacking and experimenting. There is merging, but only if people agree to do so, by other channels... GitHub gives me my own place to play. It lets me share my code the way I share photos on Flickr, the same way I share bookmarks on del.icio.us. Here’s something I found useful, for what it’s worth...

Moreover, I’m sharing my code, for what it’s worth to me to share my code... I am sharing my code. I am not launching an open source project. I am not beginning a search for like minded developers to avoid duplication of efforts. I am not showing up at someone else’s door hat in hand, asking for commit access. I am not looking to do battle with Brook’s Law at the outset of my brainstorm.

Social software for the anti-social (programmers)

understand people’s

motivations

Modern programming may be a social activity, but programmers are still introverted and anti-social.*

What motivates us to work with confusing, complicated, erratic people instead of simple computers?*and that’s how we like it!

A shared passion:We love programming.

A common enemy:We hate Bad Code.

•I don’t have to agree with you•I don’t have to be “friends” with you•I don’t even have to like you

… but we have a shared passion, a shared enemy, and we can learn from each other.

The currency of Stack Overflow is information.

Programmers map social relationships on top of that.

Do you really need software to tell you who your friends are?

Workvs.

work

Work is when your boss tells you to do something, you do it, and you get paid.

work is motivated by inherent interest and generally unpaid.

Usability testing techniques developed over the past 25 years for Work no longer apply for work.We shouldn't be asking, “Can you complete the task?” but rather “Are you motivated to do it in the first place?”

Little-w work:

Tiny slices of frictionless effort

Amortized across the entire community

“If you take Wikipedia as a kind of unit, all of Wikipedia, the whole project --every page, every edit, every talk page, every line of code, in every language that Wikipedia exists in -- that represents something like the cumulation of 100 million hours of human thought.”

•Fast, fast, fast•No registration required•Simple Markdown formatting•Edit anything, anytime (even anon!)Every question has an input box at the bottom, inviting you to participate and share what you know

“I'm doing a (free) operating system (just a hobby) [...] I'd like to know what features most people would want.”

“Humor me. Go there and add a little article. It will take all of five or ten minutes.”

“In the past, we could do little things for love, but big things required money. Now, we can do big things for love.”

1. Radically lower the bar for participation

2. Trusting (some of) your users

3. Life is the world’s biggest MMORPG

4. Bad stuff happens5. Love trumps money

Scary Idea #1

Radically lower the bar for participation

No registration.None. Nada. Zilch.

The Tragedy of the Commons

everyone’s

attention

Views 5,348,838Comments 48,710

Fred Rescues the Neighborhood Squirrels

Views45,866Comments153

Optical Effects of Special Relativity

Scary Idea #2

Trusting (some of) your users

What if everyone could edit everything?

OilThe value of the information is more important than the individual authors.

WaterInformation from credible authors is more reliable.

Channel Rules 1. No whining 2. No colours or other formatting, especially in

automated scripts.3. Do not paste code (or anything) on the channel. 4. If you feel you have been unfairly treated, abused or

just aren't getting your money's worth ($0), see Rule #1.

Scary Idea #3

Life is the world’s biggest MMORPG

What if you embraced the game-like aspects of your profession?

Slashdot

How Moderation Happens

“A soldier will fight long and hard for a bit of colored ribbon.”

“Even though points on Consumating were redeemable for absolutely nothing, not even a gold star, our members had an unquenchable desire for them.”

Scary Idea #4

Bad stuff happens

It’s OK for bad things to happen as long as the community has ways of dealing with them.

“So, Lone Starr, now you see that evil will always triumph, because good is dumb.”

Don’t be dumb.

3138 Edits 1574 UsersAve: 1.99

Scary Idea #4

Love Trumps Money

Even the most staunch capitalists will do things for love that they would never do for money.

Because the community is engaging, gives you new and different problems to solve, your help is appreciated and no one can force you to do something that you don't want to (as long as you don't want to troll or set things on fire) and you don't have the stress of having to answer correctly or you'll lose your food (being fired). Lack of having to answer to a clueless PHB is just a plus.

In short: You are here for intellectual leisure/engagement/fun, you are at work to get money so you can eat every day and sleep comfortably (consumerism aside).

“I'm doing a (free) operating system (just a hobby) [...] I'd like to know what features most people would want.”

“Humor me. Go there and add a little article. It will take all of five or ten minutes.”

Wikipedia

Linux

1. Radically lower the bar for participation

2. Trusting (some of) your users

3. Life is the world’s biggest MMORPG

4. Bad stuff happens5. Love trumps money

.. it’s a trap!

I live in US – skycbc5405

Can you get a GTX 480? You can get them brand new in the UK now for like £200-£220 – Atomfix

What kind of resolution do you play on? That would help us pick out the right GPU for you? – tryagainplss

The other thing I wanted was that they be really literate in whatever language they write to other humans. I want people who can write, because we spend a lot of time writing to each other. We’re writing email or documentation. We’re writing plans. We’re writing specifications. I want to know the people on my team are capable of doing that, and that turns out to be a very difficult skill. I would actually rather see people start as English majors than as math majors to get into programming.

-- Douglas Crockford

Another is Elements of Style, which isn’t even a programming book. You should read it for two reasons. The first is that a large part of every software engineer’s job is writing prose. If you can’t write precise, coherent, readable specs, nobody is going to be able to use your stuff. So anything that improves your prose style is good. The second reason is that most of the ideas in that book are also applicable to programs.

-- Joshua Bloch

I heard about a computer science department where in the tutor’s office they had a stuffed animal and the rule was that you had to explain your problem to the stuffed animal before you could bother the tutor. “Ok, Mister Bear, here’s the thing I’m working on and here’s my approach – aha! There it is.”

I’ve occasionally been asked to advise universities on syllabus subjects for computer science courses. And I say “Well, turn ‘em out being able to write and argue cogently.” Most graduates who come out, they’ve got degrees in computer science, but writing’s not their strong point.

It’s very difficult to teach [writing] because it’s very individual. Somebody’s got to take your text and a red pen and explain to you what you did wrong. And that’s very time consuming.

-- Joe Armstrong

Everyone should write a lot – whether it’s a blog, a book, SO answers, emails or whatever. Write, and take some care over it. Clarifying your communication helps you to clarify your own internal thought processes, in my experience.It’s amazing how much you find you don’t know when you try to explain something in detail to someone else. It can start a whole new process of discovery.

-- Jon Skeet

where do we go from here?

top related