Jan 15, 2015
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?