Spolsky Repels Casual Users to Protect Stack Overflow Search Quality

Founders@Google Presents: The Cultural Anthropology of Stack Exchange — Google TechTalks

Google TechTalks

Online communities maintain lasting value only when strict architectural constraints suppress subjective debate and drive away casual participants to build durable reference archives for search engines.

AI-assisted summary of Founders@Google Presents: The Cultural Anthropology of Stack Exchange — original source. Check the original for full context.

Source published:

Key ideas

  • Joel Spolsky emphasizes that software architecture directly shapes community culture, citing how Usenet newsreaders' automated line-by-line quoting accidentally created pedantic 'fisking' debate styles. (6:06)
  • Stack Overflow deliberately designs its entry points to deter casual audiences and latchkey kids, contrasting its domain-specific barriers with the decline of Yahoo! Answers and Answers.com. (11:25)
  • The primary user interface of Stack Overflow is Google, requiring the platform to optimize content as a permanent, searchable reference library for hundreds of silent readers rather than a transient chat room. (28:21)
  • In a Kaggle machine learning contest to predict question closures, Stack Exchange discovered that starting sentences with a lowercase letter was one of the strongest statistical indicators of a low-quality post. (50:27)

Detailed notes

## Background Published on YouTube by Google TechTalks on October 12, 2012, this talk features Joel Spolsky speaking at Google on September 10, 2012. According to the show description, Spolsky explores the unique culture of Stack Overflow and examines how the underlying software architecture and technology are deliberately designed using principles of cultural anthropology to shape and facilitate the community.

## TL;DR Joel Spolsky explains how software interfaces act as social architecture, dictating human behavior just as physical buildings condition movement. Tracing the history of online discourse from 300-baud terminals and Usenet to generic Q&A portals, he outlines how Stack Overflow was intentionally structured to repel low-effort noise and cultivate high-signal technical artifacts. Key mechanisms include vote-sorted non-linear answers, reputation flair, strict close reasons (such as prohibiting opinionated holy wars and shopping queries), and treating Google search as the true user interface for hundreds of silent readers. Spolsky also addresses scaling beyond software into broader verticals, comparing vertical curation against Quora's horizontal model, and discusses managing question quality through predictive machine learning.

## Atmosphere & style The presentation is candid, intellectually playful, and seasoned with dry industry humor, capturing the relaxed yet razor-sharp dynamic of a tech veteran speaking to a room full of fellow Google engineers. Spolsky delivers his insights with wry deadpan comedic timing—openly joking about how 'Stack Overflow hates fun' and comparing community moderation to dog training—while pacing the stage with pragmatic conviction. The room carries a collegial, insider warmth, particularly during playful nods to top contributors like Jon Skeet in the audience, blending deep systemic analysis of online human psychology with lively, battle-tested software anecdotes.

## Bulletin - [06:06](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=366s) Joel Spolsky emphasizes that software architecture directly shapes community culture, citing how Usenet newsreaders' automated line-by-line quoting accidentally created pedantic 'fisking' debate styles. - [11:25](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=685s) Stack Overflow deliberately designs its entry points to deter casual audiences and latchkey kids, contrasting its domain-specific barriers with the decline of Yahoo! Answers and Answers.com. - [28:21](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=1701s) The primary user interface of Stack Overflow is Google, requiring the platform to optimize content as a permanent, searchable reference library for hundreds of silent readers rather than a transient chat room. - [50:27](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=3027s) In a Kaggle machine learning contest to predict question closures, Stack Exchange discovered that starting sentences with a lowercase letter was one of the strongest statistical indicators of a low-quality post.

## Key takeaways - [00:25](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=25s) Managing large-scale digital communities requires cultural anthropology to understand the social artifacts, behaviors, and institutions formed by millions of users. - [03:36](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=216s) Historical computing constraints, from 300-baud printing terminals to smart terminals matching human reading speeds (2,400 baud), dictated the evolution of digital discussion formats. - [10:15](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=615s) Early web forums merely copied Usenet and email mechanics; deliberate social architecture is required to build a functional online community. - [14:54](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=894s) High-signal communities intentionally broadcast technical jargon and cultural signals to attract experts while repelling the wrong audiences. - [19:00](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=1140s) Sorting answers by votes collapses chronological context, intentionally preventing drawn-out, unproductive back-and-forth arguments. - [21:21](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=1281s) Badges and reputation serve as anthropological signaling devices that set community behavioral norms, such as answering one's own question or reviving dormant threads. - [25:21](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=1521s) Stack Overflow enforces an anti-fun rule against viral or entertaining content to ensure every post functions as a lasting reference artifact. - [31:08](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=1868s) The five question closure reasons (Exact Duplicate, Off-Topic, Not Constructive, Not a Real Question, Too Localized) exist to protect search engine utility and prevent subjective holy wars. - [32:54](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=1974s) Subjective debates and consumer shopping inquiries are banned because conflict attracts eyeballs but creates useless, decaying reference artifacts. - [38:33](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=2313s) Modern programmers learn by 'page faulting' knowledge via search engines rather than reading comprehensive textbooks, a trend technical book publishers initially resisted. - [45:00](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=2700s) Vertical domain-specific communities attract elite experts who avoid horizontal, general-purpose Q&A platforms like Quora or Yahoo! Answers. - [46:21](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=2781s) Stack Exchange open-sources its content data via Creative Commons dumps and APIs, treating community-generated knowledge rather than software code as its core asset. - [48:54](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=2934s) Intermittent reinforcement from well-meaning users who answer poorly formed questions perpetuates the submission of low-quality, outsourced workplace problems. - [51:43](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=3103s) Like Wikipedia's counterintuitive reliance on verifiable secondary sources over primary truth, Stack Overflow's strict rules preserve repository integrity despite alienating frustrated users.

## Detailed walkthrough ### [00:25](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=25s) Introduction by Mike Winton and the Scale of Stack Exchange

Mike Winton, head of Developer Relations at Google, introduces Joel Spolsky, highlighting his extensive software background. Long before co-founding Fog Creek Software and co-creating Stack Overflow, Spolsky worked on the Excel team at Microsoft—where he designed Visual Basic for Applications (VBA)—and later built an internet client used by millions at Juno Online Services. In addition to penning four software books, his website, *Joel on Software*, has been translated into over thirty languages. Winton emphasizes how crucial Stack Overflow has become to Google's own developer relations and developer support strategies, which center on meeting developers directly where their conversations happen.

Taking the stage and testing the boundaries of his microphone cable, Spolsky turns to the talk's title: *The Cultural Anthropology of Stack Exchange*. He admits that taking cultural anthropology in college was "the worst class I ever took," recalling it as an exercise in sheer boredom centered on Trobriand Islanders and Canadian Indigenous tribes trading Potlatch blankets. Yet Spolsky found that managing modern internet communities ultimately turned cultural anthropology into his full-time day job. The sheer scale of the network demands such an approach:

- **266 million monthly page views** across the Stack Exchange network. - **25 million global monthly unique visitors** (or roughly 50 million by an alternate internal metric Spolsky prefers). - If viewed as a population, the community would surpass the governance of several sovereign countries, and if measured as a U.S. state, it would rank as the third largest, on the verge of passing Texas.

When human gatherings reach tens of millions, Spolsky explains, the only adequate tools for understanding them are those of cultural anthropology—examining the small artifacts, customs, and behaviors people invent when forming temporary groups, as well as the larger institutions they construct.

---

[03:36](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=216s) From Batch Payroll to Smart Terminals: The Evolution of Online Interaction

Reflecting on the early era of computing, Spolsky jokes about the days of reel-to-reel tape drives when computing was strictly about calculating numbers or running a batch job. In those days, a programmer felt lucky just to get software to run the company payroll once every two weeks without failing.

Communication across machines only became conceivable with the advent of time-sharing in the 1960s, introducing interactive printing terminals like the DECwriter. Because physical print heads could not keep up with faster speeds, the original DECwriter operated over 300-baud modems (though later iterations managed 1,200 baud). While multiple users could finally share a system simultaneously rather than submitting batch punch cards, 300 baud was far too slow to transmit significant blocks of text, leaving email yet uninvented.

Online discussion groups only became feasible with the emergence of "smart terminals" like the DEC VT100, which introduced screen addressing and cursor movement while operating at 1,200 to 9,600 baud. Because the average human reads at roughly 2,400 baud, screen transmission finally matched human reading speed. The earliest support forums and digital communities simply adapted basic email conventions, using mailer daemons to blast messages to distributed subscriber lists—a lineage that leads directly through Usenet and survives in modern platforms like Google Groups.

```mermaid flowchart TD accTitle: Evolution of Hardware to Online Discourse accDescr: Diagram tracing the progression from batch mainframes and printing terminals to smart terminals and threaded Usenet clients.

subgraph Hardware["Terminal Evolution"] A["Batch Mainframes\n(Punch cards, tape, payroll)"] --> B["DECwriter Printing Terminal\n(300 baud; print heads limit speed)"] B --> C["VT-100 Smart Terminal\n(Cursor control; 1,200–9,600 baud)"] end

subgraph Software["Communication Formats"] C --> D["Mailing Lists & Mailer Daemons\n(Email text distribution)"] D --> E["Usenet / RN / TRN\n(Distributed NNTP, threading)"] E --> F["Inline Quoting Culture\n('Fisking' via '>' characters)"] end ```

---

[06:06](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=366s) Software Artifacts and Usenet: How Architecture Dictates Culture

Spolsky illustrates how software mechanics shape online human behavior by looking back at Usenet newsreaders such as `rn` and its threaded successor `trn` ("threaded read news"). Usenet operated as a completely decentralized, distributed peer-to-peer network rather than a centralized client-server architecture. Because hard drives were prohibitively expensive, the average Usenet host node maintained only about three to four days of message history—just enough for an engineer to leave for the weekend and catch up on Monday morning—before purging old traffic.

Because older articles were rapidly expunged, an author replying to a post had to assume their audience might no longer have access to the original context. To solve this, users began pasting excerpts of previous messages, a habit developers quickly automated into a core software feature. Hitting `R` (reply) automatically quoted the original message by prefixing every line with a `>` character.

Users quickly developed a hyper-specific discursive style around this interface: they inserted their own rebuttals line-by-line between the quoted sentences. As Spolsky recounts from his month participating in the contentious, circular debates of `talk.politics.mideast`, this interface design accidentally bred an intensely pedantic forum style:

> “You, what you would do is you would pick apart someone's argument by picking apart every sentence of their argument, which is a certain type of culture.”

This nitpicking behavior—later popularized by political bloggers under the term "fisking"—was not an inevitable trait of human dialogue, but an accidental cultural artifact produced by a single software feature. Spolsky warns that community builders must recognize how software drives behavior, asserting: “until you start noticing that the culture is acting according to the software, then you may forget to design the software in a way that makes the culture work.”

---

[09:08](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=548s) Physical Architecture as Behavioral Conditioning

Connecting software design back to the material world, Spolsky points to physical architecture. When physical spaces are built in a particular shape, human beings naturally conform their behavior to that environment:

- **Skateboarding:** An incidental concrete curve designed for structural purposes at places like the Moscone Center accidentally creates the perfect terrain for skateboarders. - **Park Chess:** Pouring a concrete table with an inlaid 8×8 grid and flanking it with two humanoid seats guarantees that older men will assemble to play chess. - **The Spanish Steps:** In Rome, the massive outdoor staircase was constructed purely out of civil necessity—the elevation between two roads was too steep for a vehicular path. However, the resulting wide steps unintentionally created an ideal open-air lounge for teenagers and backpackers to rest and get their hair braided.

Because these forms shape social interaction so effectively, urban planners frequently copy them intentionally, as seen with the large red glass bleacher staircase erected in New York's Times Square. In both the physical and digital domains, human culture inevitably fills whatever molds the architect leaves behind.

[10:15](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=615s) The Flawed Lineage of Web Forums and Intentional Design

Joel Spolsky reflects on the stagnant evolution of online discussion platforms. Historically, digital communities lived on Usenet via the NNTP protocol. When the web emerged, developers abandoned NNTP and built web-based forum packages like phpBB and vBulletin. However, rather than rethinking forum mechanics from first principles, they simply copied Usenet directly. Aside from trivial additions—such as entering a text command to produce an animated smiley face rolling left and right—these bulletin boards were functionally identical to Usenet, which itself had been an accidental design borrowed directly from email.

Spolsky contends that no real innovation took place across that entire era. If you want to build a truly functional, utopian community online, you must design its social architecture with deep intentionality rather than relying on legacy defaults. That deliberate design philosophy was the foundation for Stack Exchange:

> “You have to actually design stuff a little bit intentionally.”

Even after four years in business, Spolsky views Stack Overflow and the broader Stack Exchange network as only about 10% of the way toward realizing that vision.

---

[11:25](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=685s) First Impressions and Cultural Signaling

To establish a functioning community, first impressions are critical. Spolsky displays a photograph from Occupy Wall Street to demonstrate how people constantly broadcast identity signals to attract peers and define their group. In the photo, visual clues abound: the Wall Street backdrop, an activist wearing an Emiliano Zapata t-shirt paired with a brightly colored kaffiyeh, and another person loudly championing the 99% while sporting high-end, luxury headphones. Everyone projects who they are and what they stand for in order to draw like-minded participants to their movement.

When Spolsky and co-founder Jeff Atwood set out to build Stack Overflow over four years earlier, Spolsky instructed Atwood to survey existing online Q&A platforms to analyze the impressions they were broadcasting. What Atwood discovered across major competitors—such as Yahoo! Answers and Answers.com—was a stark cautionary tale:

```mermaid flowchart TD accTitle: Signaling and Audience Filtering accDescr: Diagram contrasting generic Q and A sites with specialized Stack Exchange sites based on incoming signals.

subgraph Competitors["Generic Q&A Portals"] YA["Yahoo! Answers / Answers.com"] YA -->|"Trivial homework questions & spam"| Kids["Teenage chat room & latchkey kids"] Kids -->|"Low-quality noise"| Deter["Serious professionals repelled"] end

subgraph StackNetwork["Stack Exchange Network"] SO["Stack Overflow / Mi Yodeya / Cross Validated"] SO -->|"Domain-specific jargon & high friction"| Pros["Specialists & Subject Experts"] Pros -->|"High-signal answers"| Exclude["Uninterested generalists naturally pushed away"] end ```

Looking at a homepage snapshot of Yahoo! Answers, Spolsky highlights questions like: - *"I use to clean out my coffee maker."* - *"What is your favorite plant of all time?"* - *"Anyone up for a food/drink, true/false survey?"* - *"What are you listening to?"* - *"What is the last thing you ate?"* - *"Can I die from carbon monoxide?"*

The crucial clue sat at the bottom of the page: *"I keep forgetting to do my homework."* As Spolsky explains, Yahoo! Answers quietly devolved into an afternoon hangout for 12-year-old latchkey kids returning from school. Because the site offered complete anonymity—avoiding the persistent identities of Facebook where strangers might behave creepily—young users could adopt a fresh identity every day. As a result, the platform transformed into an adolescent chatroom, deterring anyone seeking serious knowledge.

Answers.com suffered from the same dynamic. Alongside inquiries like *"What kind of attorney is needed for advice on getting someone you know committed to a mental institution?"* were questions such as *"What are some examples of a welcome address for JS prom?"* Spolsky notes that "JS" did not mean JavaScript; it meant a Junior-Senior prom. The young poster failed to grasp that their local school dance was not a universal internet concept, proving the audience was dominated by school kids.

Similarly, on Askville (an Amazon acquisition left largely abandoned), trivial and off-topic posts abounded, ranging from *"How can I start making the right choices in my life?"* to basic homework problems and spam posts offering online apartment applications that lingered unmoderated for 13 hours.

---

[14:54](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=894s) Deliberately Repelling the Wrong Audience

Stack Overflow took the opposite approach: making the front door legible only to its intended audience:

> “The first impression on Stack Overflow is, if you're a programmer, you get that these are programmer questions.”

Spolsky points out that if non-programmers land on Stack Overflow, they cannot comprehend the material, get confused, and leave—which is precisely the desired outcome. This intentional cultural filtering extends across Stack Exchange's network of roughly 90 specialized sites:

- **Mi Yodeya (Jewish Life and Learning):** Questions are written in "Yeshiva English"—an English dialect heavily infused with Hebrew and Aramaic legal terms that has largely replaced Yiddish. A question like *"Is it possible to have hametz on the Shabbat directly after Pesach?"* could be phrased in plain English as asking whether one may consume leavened bread on the Sabbath immediately following Passover. Leaving it in Yeshiva English acts as a gatekeeping mechanism that signals an Orthodox depth of study and deters casual, uneducated inquiries. - **Cross Validated (Statistics):** Advanced questions regarding sampling methods from bivariate distributions signal immediately to working statisticians that the site is an authentic technical venue run by people who understand the field. - **Askville Math vs. MathOverflow / Mathematics Stack Exchange:** On Askville's math board, unanswered spam sat alongside basic queries from users admitting they only understood addition. In contrast, academic mathematics required splitting into two distinct Stack Exchange communities: - *MathOverflow:* Restricted exclusively to research- and PhD-level problems. Spolsky notes their operational rule: if an average math professor is likely to already know the answer to your question, it does not belong on MathOverflow. - *Mathematics Stack Exchange:* A more accessible sister site where broader, undergraduate-level, or routine math questions are welcomed.

Spolsky illustrates group signaling with a photo of students playing Ultimate Frisbee in shorts on a leafless, wintry campus at Yale—signaling a very specific demographic of sunny Californian jocks. A passerby instantly knows whether they want to join or walk away. He concludes that whereas mainstream web designers obsessively try to make pages that attract every living person on Earth, healthy online communities rely equally on the ability to push the wrong people away:

> “And everything about a community either draws people into the community or pushes them away.”

[19:00](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=1140s) Voting, Context Collapsing, and the Army "Fruit Salad" of Reputation

Continuing from the problem of open communities, Joel Spolsky notes that while many platforms aim to welcome as many users as possible, the goal on Stack Exchange is fundamentally different: “You actually want to drive away as many morons as you possibly can, hopefully as quickly as possible.” The second core architectural mechanism designed to preserve quality is the voting system. Users vote questions and answers up or down, automatically sorting responses so the highest-quality solutions appear at the very top.

```mermaid flowchart TD accTitle: Quality Sorting and Conversation Prevention Flowchart accDescr: Diagram showing how answer voting leads to sorting, context collapse, and reputation gain. subgraph Mechanics["Site Mechanics"] A["Answers Submitted"] --> B["Up/Down Voting"] B --> C["Answers Sorted by Quality"] end subgraph Culture["Cultural Side Effects"] C --> D["Context Collapses (No Back-and-Forth Threads)"] D --> E["Useful Permanent Artifact Created"] end subgraph Rewards["Incentive Layer"] B --> F["Earn Reputation"] F --> G["Visual Flair & Moderation Privileges"] end ```

A crucial structural side effect of sorting answers purely by votes is that it disrupts chronological flow. Spolsky highlights: “So you can't get into a back and forth argument on Stack Exchange.” Because answers rearrange dynamically, quotes get thrown out of context. While users can leave comments, those are regularly pruned because linear bickering creates no lasting value for the internet.

Voting ultimately produces reputation, which serves as a visible trust signal. Spolsky compares this to General Colin Powell wearing military ribbons—what the US Army calls "fruit salad"—along with four silver stars on his epaulette to signal his service and authority. Stack Overflow uses an identical mechanism to show who has proven themselves. Reviewing a leaderboard of top users by reputation, Spolsky spots legend Jon Skeet in the audience:

- **Top Users Geographic Diversity**: - Jon Skeet (works at Google in London, present in the talk room) - Marc Gravell (works for Stack Exchange, living in the Forest of Dean—humorously described by Spolsky as "Middle Earth, UK" where he is just a "brain in a box" who types code) - Other top contributors hail from Rouen (France), Curaçao, Madison (Wisconsin), and New Jersey. - Alex Martelli (works at the Google Mountain View campus). - **Silicon Valley Underrepresentation**: Spolsky notes that outside of Martelli, virtually none of the top-ranked reputation leaders come from California or Silicon Valley.

---

[21:21](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=1281s) Flair, Badges, and Norm Signaling

Every user's journey is mapped through flair. A brand-new account (like "Geek Matter") starts with an auto-generated geometric avatar derived from their IP address and exactly 1 reputation point, earned simply for successfully typing in a name. As users earn upvotes, their reputation climbs, unlockable features appear, and they collect bronze, silver, and gold badges. For example, reaching 10,000 reputation points grants a user a drop shadow on their avatar, providing the privilege of a customized hover card profile. Above high-reputation users sit community moderators—an elected position Spolsky characterizes as a burden consisting of deleting bad behavior rather than answering questions—distinguished by a special diamond symbol next to their username.

Spolsky compares this visual signaling to how people decorate themselves in real life, showing a photo of a man wearing a Confederate cap, multiple tattoos, big muscles, a Harley-Davidson logo, and two tank tops ("in case the main, primary, tank top fails for some reason"). People intentionally project an identity to the outside world, and Stack Exchange taps into this impulse through flair.

While badges motivate only about 1% of users to actively hunt for them, their true anthropological value lies in setting community expectations: “And the neat thing about the badge is that they tell everybody the behavior that we want to incentivize, even if they're not directly incentivizing it.”

- **Norm Communication via Badges**: - Asking and immediately answering your own question is rewarded with a badge, proving the practice is welcomed. - Answering a question that has been dormant for two years earns a badge (such as Necromancer), signaling that reviving old threads with great answers is actively encouraged. - **Economic Value**: High reputation directly converts into economic utility; Stack Overflow monetizes by serving targeted job listings, connecting skilled developers with employers who need their specific competencies.

---

[25:21](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=1521s) Distributed Governance and "Stack Overflow Hates Fun"

Stack Exchange distributes policing directly to the community through a tiered privilege ladder based on reputation milestones:

- **1,500 Reputation**: Unlocks the ability to create new tags. - **10,000 Reputation**: Unlocks the right to vote to permanently delete questions that have already been closed.

Spolsky jokingly refers to this system of self-policing as “mass terrorism of the population terrorizing itself.”

Beyond the main question-and-answer surface, the platform functions across distinct concentric circles of governance: 1. **The Public Q&A Site**: Used by 100% of the room. 2. **Meta Stack Overflow**: Used by roughly 10% of users, serving as the civic club where site policies, mechanics, and rules are openly debated. 3. **The Chat System**: A space visited by only a handful of users in the room, acting as the "teachers' lounge" where the network's 275 elected moderators hang out, coordinate decisions, and handle live interventions when they tire of the standard Q&A game. 4. **The Stack Exchange Blog**: Used by management to promulgate executive decrees and platform-wide philosophies from headquarters.

Turning to the laws governing this society, Spolsky deadpans that the platform is guided by a single overarching mantra: “We only have one important rule, which is we hate fun.” This rule prohibits content designed purely for amusement, virality, or Reddit and Hacker News upvotes, protecting the archive from devolving into ephemeral internet chatter.

[28:21](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=1701s) Optimizing for the Silent Hundreds: Google as the Real UI

Joel Spolsky emphasizes a foundational design observation that he insists he must constantly repeat because so few people grasp it: a question on Stack Overflow is asked by one person and typically answered by one to five people, but it is ultimately viewed by hundreds of people. The true goal of the platform is not solely to serve the asker or the answerers, but to optimize for the hundreds of downstream visitors who benefit from that question over time. Spolsky bluntly states: “Google is our user interface.” While he used to say "search engines" generically, the reality is that people arrive on Stack Overflow because they typed a technical query into Google, which leads directly to a solution page. Because Google acts as the storefront, the site's entire inventory must consist of an enduring, high-quality historical record rather than transient chitchat.

```mermaid flowchart LR accTitle: The Stack Overflow Audience Leverage accDescr: Diagram contrasting the small number of askers and answerers with the massive downstream readership arriving via Google.

subgraph Origin["Question Lifecycle"] A["1 Asker"] --> C["Stack Overflow Thread"] B["1–5 Answerers"] --> C end

subgraph Reach["The Real Target"] C --> G["Google Search Query"] G --> H["Hundreds of Silent Readers"] end ```

Spolsky contrasts this model with legacy platforms like Usenet, phpBB forums, and Experts-Exchange. Those platforms handed search engines crystallized transcripts of messy, chronological conversations rather than clean reference artifacts. A user searching for a fix had to wade through endless back-and-forth exchanges: someone asking for help, someone else offering a suggestion, the original poster replying that it failed, a follow-up asking if they read the original note, and a year later, a seventeenth poster chiming in with "I have the same problem too." If an actual answer ever appeared, it was buried on page seven, often outdated, incorrect, or full of cross-site scripting vulnerabilities. Furthermore, Google's PageRank algorithm introduces an incidental complication: older pages carry higher authority, meaning search queries often surface stale, obsolete technical discussions instead of valid modern solutions. To counteract this, Stack Overflow abandoned chronological forum threads in favor of an editable, Wikipedia-style knowledge base driven by voting.

[31:08](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=1868s) The Five Close Reasons: Exact Duplicate and Off-Topic

To protect the quality of the artifact, Stack Overflow instituted close reasons, triggering intense backlash from users who accused moderators of being heavy-handed buzzkills ruining the site. Users frequently complain that closing threads kills fun, high-traffic discussions that could top Hacker News. However, Spolsky details the strict necessity behind the five specific closure categories, beginning with "Exact Duplicate." Stack Overflow closes duplicates because the definitive solution to a given problem belongs in a single canonical location. Spolsky points out that having 100 sets of eyes refining one central question produces a vastly superior resource compared to splitting attention across two separate threads with 50 eyes each. As an example, a prompt like *"Can anyone explain Monads?"* gets closed and redirected to a master entry detailing the concept, though questions with meaningful nuances are intentionally kept open.

The second reason is "Off-Topic." While communities must enforce topical boundaries, Stack Overflow applies a strictly narrow definition of software development. To illustrate, Spolsky reads an actual submission from a well-respected user titled *"Toilet issue in my company"*:

> "Not strictly a programming problem, but any help will be appreciated. I have a lady employee who is joining the company tomorrow, and I want to convey her a message that the bathroom facilities in the office are out of order. How do I tell her to relieve herself before arriving in the morning?"

Despite the poster's high standing and the genuine workplace urgency of the predicament, Spolsky remarks that it simply has no place on a programming site and must be closed immediately.

[32:54](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=1974s) Not Constructive: The Danger of Conflict and Shopping Questions

The third close reason is "Not Constructive," a label that confuses many users. The formal definition rejects questions that fail to fit the format—specifically inquiries that do not demand facts, authoritative references, or technical expertise, but instead solicit subjective opinion, debate, polling, or extended discussions. Spolsky reflects on the human impulse to jump into endless holy wars:

> “And so the stuff that draws in the page views on the internet? It's conflict. And it's useless as an artifact.”

Whether comparing Emacs versus Vim, Mac versus Windows, or ASP.NET Web Forms versus ASP.NET MVC, debate threads appear tempting and exciting because humans evolved to fixate on danger. Spolsky uses the analogy of a tiger devouring a human: people are biologically wired to gawk at a violent spectacle rather than notice peaceful neighbors nearby. Heated fights generate massive page views, but they yield zero utility as reference material. Users hungry for fiery arguments are encouraged to pay for an Experts-Exchange subscription or argue on Hacker News.

Spolsky also lumps consumer shopping threads under the "Not Constructive" umbrella. While programmers often want recommendations on which monitor or display adapter to buy—and Stack Overflow members possess passionate, informed opinions on hardware—answering them produces garbage that clutters search engine results and wastes future developers' time.

- **Characteristics of "Not Constructive" questions:** - Solicits subjective opinions, polling, or debates rather than factual answers. - Generates hostile flame wars (e.g., Emacs vs. Vim, Mac vs. Windows) that attract spectacle seekers instead of problem solvers. - Involves consumer recommendations (e.g., "Which video monitor should I buy?"), which rapidly decay into outdated search results.

[34:41](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=2081s) Not a Real Question and Too Localized: Stack Exchange as a Mega-City

The fourth category, "Not a Real Question," catches queries that are vague, incomplete, rhetorical, or overly broad. Spolsky highlights a submission: *"Need ideas about mobile apps, Android iPhone, which has never been created before. Thanks for the help, please."* While technically framed as a question, it violates the core rule of thumb: “if your question is one sentence, and the correct answer would be a book, just don't ask it.”

The fifth category is "Too Localized"—a label Spolsky jokes was chosen because co-founder Jeff Atwood knows nothing about software localization or internationalization. In practice, it denotes a question applicable only to a single person in a single unrepeatable circumstance. The quintessential example is a user pasting a wall of broken syntax and asking: *"I'm missing a bracket somewhere."* Stack Overflow refuses to act as a personal compiler or debugger:

> “We're not your debugger.”

A valid, enduring question would instead ask for debugging strategies, such as: *"I'm using such-and-such a programming language, with such-and-such debugger. What's the easiest way to find missing parentheses?"* For non-programmers, Spolsky compares "Too Localized" questions to asking: *"Why is there a green Honda Civic parked on my street?"*

Spolsky concludes by comparing the sheer scale of the network to a metropolis like Seoul, South Korea. With Stack Exchange supporting roughly 25 million people, its activity mirrors a city of 20 million. Just as a major metropolis features common infrastructure alongside distinct high-rises, alleys, and neighborhood subcultures, Stack Exchange balances universal operational norms with millions of diverse individual stories playing out simultaneously across its network.

[37:01](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=2221s) Software, People, and Anthropology: Q&A Begins

Joel Spolsky wraps up the prepared portion of his talk by reflecting on how the discipline of software engineering has fundamentally transformed. In the early days, engineers considered themselves lucky just to get computations to run correctly. Over time, that evolved into building systems for hundreds, thousands, or even tens of millions of users, where the core challenge is orchestrating the human interactions occurring on top of the technology. As Joel concludes: “And that's where you need anthropology.” After fielding applause from the Google audience, he opens the floor for questions.

An audience member asks whether it is really true that participation on Stack Overflow is unusually low in Silicon Valley. Joel clarifies that while he has not mathematically normalized the data against total population figures, Silicon Valley simply does not account for a massive percentage of the global developer base to begin with. Furthermore, local engineers exist in a radically different social environment. If someone works at Google, they have 800 colleagues sitting around them whom they can immediately tap for programming help. By contrast, an engineer working for the Department of Forestry in Nebraska might have zero peers to consult and might also be under-challenged by their day job. Answering questions online provides an intellectual outlet to help others while being challenged, though Joel jokes: “Please don't challenge Jon Skeet any further.”

[38:33](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=2313s) Page Faulting Knowledge vs. Programming Books

An audience member remarks that Stack Overflow feels significantly more useful than traditional books, even though its fine granularity does not scale in the same narrative way. Joel recalls that because he had authored books himself, he was close with the leadership at technical publishers like Apress and O'Reilly Media when Stack Overflow was first being conceived. He remembers telling both Gary Cornell (the founder of Apress) and Tim O'Reilly that the era of learning software engineering strictly out of printed manuals was coming to an end.

```mermaid flowchart LR accTitle: The Modern Way of Learning Programming accDescr: A flow illustrating the page fault model of modern software development. subgraph LearningLoop["The 'Page Fault' Cycle"] direction TB A["Grab sample code / tutorial"] --> B["Start typing & hit a wall"] B --> C["Google error / question"] C --> D["Learn single concept"] D --> B end ```

Joel describes how modern programmers actually acquire knowledge: “And that the way to learn programming is usually going to be to find a tutorial, or some sample code, or to take over someone else's code. And just to start typing and, essentially, page fault in knowledge.” Rather than working methodically through a textbook, developers write code until they get stuck, query Google, absorb that single missing fact, and immediately resume coding. While acknowledging it is not necessarily a comprehensive pedagogical approach, Joel notes it represents the reality of developer behavior. The prediction produced drastically different reactions among publishers: the founder of Apress wanted to invest, whereas O'Reilly felt deeply insulted by the suggestion that tech books were obsolete. In response, O'Reilly launched a competing platform: - O'Reilly created a rival Q&A property called O'Reilly Answers. - Joel quips that the site remains on the web and “has at least five pages.”

[39:50](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=2390s) Duplicate Questions and the Challenge of Stale Answers

An audience member asks about the balance between rewarding users for answering their own questions and actively suppressing duplicate posts, suggesting that automated analytics should be able to serve existing answers directly to users. Joel agrees, explaining that Stack Overflow already includes a title-matching feature. When a user begins typing a question title, a naive keyword search intercepts the submission by surfacing existing threads that might solve the problem. Despite lacking sophisticated machine learning, this simple mechanism already deflects a significant volume of redundant posts.

However, duplicates persist due to user psychology. Stack Overflow struggles with an incentive issue where members eagerly answer a question that has already appeared dozens or hundreds of times. Users frequently find it far easier and more entertaining to rack up reputation by answering a common prompt for the 37th time rather than taking the time to search for the original thread. To solve this, the engineering team plans to deploy advanced machine learning algorithms over the coming years.

The duplicate dilemma is further complicated by the decay of technical accuracy over time: - In fast-moving environments like Android development, an operation that was once impossible may become standard practice in a subsequent SDK release. - A search query might return 37 older, highly upvoted answers asserting that something cannot be done, while the single accurate answer explaining the modern solution is brand new and buried without search rank. - Stale content persists because community members rarely spend their volunteer time editing and modernizing outdated solutions, forcing Stack Exchange to pursue algorithmic, machine-learning solutions to identify and handle obsolete content.

[42:01](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=2521s) Expanding Beyond Geeks: The Growth of the Stack Exchange Network

Addressing a question about whether the Stack Exchange model can succeed outside developer circles—and whether it could ever host intractable, subjective conflicts like discussions on the Middle East—Joel replies bluntly: “Well, the Middle East, there are no answers. So you can't discuss the Middle East on Stack Exchange.” He explains that the broader Stack Exchange network has grown to approximately 90 individual sites, with 35 having successfully graduated from its rigorous beta program. The non-Stack Overflow sites already generate roughly one-third to one-half of the network's overall traffic and pull in a comparable number of unique page views.

```mermaid flowchart TD accTitle: Growth of the Stack Exchange Network accDescr: Concentric expansion from core programmers outward to broader professional verticals. subgraph Core["Core Developer Base"] SO["Stack Overflow<br/>(Growing ~56% annually)"] end subgraph NearGeek["Adjacent Technical Verticals"] SU["Super User (PCs)"] SF["Server Fault (Sysadmins)"] CMS["WordPress & Drupal"] DBA["Database Administrators"] TEX["TeX / LaTeX"] end subgraph Broader["Non-Technical Verticals"] DIY["Home Improvement / Contractors"] PAR["Parenting"] PHO["Photography"] end Core --> NearGeek NearGeek --> Broader ```

Joel reflects on why many early spin-off sites—such as Server Fault for system administrators, Super User for general computing, WordPress, Drupal, Database Administrators, and TeX—lean heavily technical. It remains an open question whether the engine's design naturally favors analytical minds, or if it simply reflects the initial developer demographic voting for its own adjacent interests. Yet, non-technical communities are demonstrating genuine traction: - The parenting and photography communities have found steady audiences. - The Home Improvement community thrives with real contractors debating the fine points of drywall application techniques. - Stack Overflow's reach has matured, growing at 56% annually because it has already saturated most of the world's developer population, whereas the broader Stack Exchange network is compounding at 350% per year. - Expanding follows concentric circles: programmers also do photography, but almost none are lawyers, making law harder to bootstrap organically (though Joel hints at an upcoming public announcement regarding that domain).

[45:00](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=2700s) Vertical Communities vs. Quora's Horizontal Model

Asked to compare Stack Exchange to Quora, Joel characterizes Quora's experience as “provoked blogging.” Rather than functioning as a precise, factual question-and-answer repository, Quora operates as a publishing platform that uses prompts to encourage people to write essay-length opinion pieces.

Joel argues that Quora's broad, horizontal, anything-goes architecture creates an inherent structural limitation: it has struggled to recruit serious subject-matter experts outside the insular world of Silicon Valley startups. When high-level practitioners evaluate a generalist site, the lack of quality control repels them. A mathematician with a Fields Medal would never dream of posting a technical inquiry on Yahoo! Answers or Quora. However, that same mathematician readily contributes to MathOverflow because the site is explicitly curated around hardcore, rigorous mathematics. As Joel summarizes the strategic divide: “You can't get vertical from horizontal. On the other hand, if we can build a lot of verticals, we can, at some point, be kind of indistinguishable from a [horizontal site].”

[46:21](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=2781s) Open Source Software vs. Open Data

An audience member asks about running Stack Exchange internally or for a private community, noting that the software itself does not appear to be open source. Joel Spolsky confirms that the underlying Stack Exchange software engine is indeed proprietary, but emphasizes that the software code is largely incidental to the platform's mission. Instead, the real value lies in the data produced by the community:

> “We think, again, the value is in the community and the questions that they ask and answer.”

Spolsky explains that all user-contributed text is licensed under Creative Commons, accessible via a public API, and published in monthly SQL database dumps for anyone to download, remix, and reuse freely. He jokes that if someone scrapes the data, slaps ads over it, and strips out all links back to Stack Overflow, the team might be annoyed, but legally there may be little they can do about it. For companies wanting similar internal tooling, open-source clones like OSQA have replicated the Q&A mechanics.

- **Stack Exchange Engine:** Proprietary and closed-source. - **Content Licensing:** All user-submitted text is Creative Commons. - **Data Access:** Available via public open API and full monthly SQL data dumps. - **Open-Source Alternatives:** Projects like OSQA clone the Stack Overflow question-and-answer functionality.

---

[47:32](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=2852s) Jon Skeet on Meta Frustrations and Question Quality

Legendary Stack Overflow contributor Jon Skeet steps up to ask about user retention, moderation, and low-quality posts. He points out that Meta Stack Overflow receives daily complaints from users who are furious that their questions were downvoted or closed right after they clicked through disclaimers promising they understood the site rules. Skeet asks whether Stack Exchange can resolve this through better upfront education, or if the system must actively discourage unqualified askers so they do not post in the first place.

Spolsky agrees that this dynamic generates massive friction. When users encounter an empty input box on the internet, they develop an innate sense of entitlement, expecting an absolute right to publish whatever they want:

> “There’s a sense of entitlement that people believe, well, you've given me an edit box on the internet. I have a right type words in that edit box.”

When their posts are downvoted or closed for violating guidelines, users protest that they are being censored by power-tripping moderators. Spolsky notes that this creates a difficult public-relations challenge, because external observers often reflexively take the side of the complaining user and view moderation as abusive censorship.

---

[48:54](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=2934s) The Incompetent Programmer Dilemma and Intermittent Reinforcement

With Stack Overflow handling roughly 7,000 questions a day, maintaining high quality is an escalating challenge. Spolsky candidly describes a segment of the user base that drives much of this friction: people who have been hired into programming jobs despite lacking the core ability to program. Desperate to keep their jobs, they treat the site as a free outsourced helpdesk by pasting whatever assignment their manager gave them directly into the input box.

The core problem, Spolsky observes, mirrors behavioral psychology:

> “And the bad thing is that, sort of like if you've ever done dog training with the intermittent reinforcement, sometimes they get answers, so they keep trying.”

Because occasional users still jump in and answer these poorly formed queries, the bad behavior is rewarded and perpetuated. Spolsky expresses skepticism about solving this purely through mandatory reading. He mentions Eric S. Raymond’s famous essay, *"How to Ask Questions the Smart Way,"* noting that Raymond's exhaustive, book-length pre-requisites would eliminate almost every question before it could be asked. Spolsky stresses that spontaneous, lightly researched questions often end up being the best content on Stack Overflow—such as a developer reading official documentation, wondering about an edge case, and asking a question that ultimately helps a hundred future readers.

---

[50:27](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=3027s) Predictive Machine Learning: The Kaggle Competition

To catch low-quality questions without burying productive users under walls of instructional text, Stack Exchange is turning to machine learning. Spolsky discusses a competition hosted on Kaggle aimed at building algorithms that analyze question text to predict whether a post will eventually be closed.

Before launching the Kaggle contest, Stack Exchange internal data analysis identified an unexpected, highly predictive heuristic:

> “Sentences that start with a lowercase letters is one of the strongest features, essentially, if you try to do the machine learning.”

Spolsky asks the audience to guess what the strongest predictor of question closure was—fielding incorrect guesses like spelling errors, text length, or external book references—before revealing that starting sentences with lowercase letters was among the strongest signals. However, he acknowledges the limits of simplistic algorithmic filters: if a rule simply blocks lowercase sentences, poor askers will merely capitalize the first letter without improving the substance of their questions.

```mermaid flowchart TD accTitle: Kaggle Question Closure Prediction Flow accDescr: Pipeline showing incoming question text analyzed by ML models and predictive heuristics to prevent closures.

subgraph Input ["User Submission"] Q["7,000 Daily Questions"] Text["Raw Question Text"] Q --> Text end

subgraph Signals ["Heuristic & ML Signals"] Case["Initial Lowercase Letters<br/>(Strongest Early Predictor)"] Kaggle["Kaggle ML Models<br/>(Predictive Closure Likelihood)"] Text --> Case Text --> Kaggle end

subgraph Action ["Moderation Outcome"] Block["Early Intervention / Block"] Close["Community Downvote & Closure"] Case --> Block Kaggle --> Block Block -.->|"Unfiltered bad questions"| Close end ```

---

[51:43](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=3103s) Non-Intuitive Rules: Comparing Stack Overflow to Wikipedia

Spolsky draws a direct parallel between Stack Overflow's restrictive guidelines and the strict, counterintuitive editorial policies of Wikipedia. Stack Overflow forbids subjective debates, shopping recommendations (such as asking which 30-inch monitor to buy), and questions that are "too localized." While these restrictions frustrate new users, they are essential to preserving the site's long-term utility as a searchable knowledge base.

Wikipedia faces the exact same cultural friction with its core policies on notability and reliable secondary/tertiary sources:

> “We don't care if it's right or wrong. It just has to be verifiable.”

Spolsky points out that Wikipedia explicitly bars primary sources—meaning that if Joel Spolsky attempts to correct an inaccuracy on his own Wikipedia article, editors will reject it because he is not considered an objective, verifiable secondary source, while *The Village Voice* or *The New York Times* is accepted, even if their reporting originally came from interviewing him. He recounts the famous incident where novelist Philip Roth attempted to correct a factual error on Wikipedia regarding one of his own novels (*The Human Stain*), only for an editor to demand a published external citation before accepting the author's own word.

While such rules appear bureaucratic, nasty, and anti-democratic to outsiders—leading many frustrated contributors to quit editing entirely—they are the only barrier keeping platforms from descending into unverifiable chaos:

- **Verifiability Over Truth:** Wikipedia requires reliable secondary citations so readers can check claims against published records. - **Notability Constraints:** Pages cannot simply document obscure physical objects (such as tires stacked in a hacker space) because no external publications exist to verify them. - **The Retention Dilemma:** Strict quality control inevitably drives away users who feel alienated by closed posts, but lowering standards destroys the repository's core value.

[55:08](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=3308s) Concluding Remarks and Q&A Wrap-Up

Joel wraps up the session as the event reaches its scheduled end, expressing his gratitude to the audience for attending the talk. He leaves the crowd with an encouraging parting thought to keep participating actively on the platform, telling them: “Keep answering questions and asking questions on Stack Overflow.”

Acknowledging that some attendees might still have individual questions that were not addressed during the public Q&A, Joel announces that he will stick around for at least another fifteen minutes. He invites anyone with remaining questions to come up to the stage and speak with him directly in person. The talk concludes with warm applause from the Google audience.

- Joel offers to remain after the talk for roughly fifteen minutes to answer informal follow-up questions from attendees.

## Notable quotes > [34:41](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=2081s) if your question is one sentence, and the correct answer would be a book, just don't ask it. — Joel Spolsky

> [14:54](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=894s) And everything about a community either draws people into the community or pushes them away. — Joel Spolsky

> [32:54](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=1974s) And so the stuff that draws in the page views on the internet? It's conflict. And it's useless as an artifact. — Joel Spolsky

## Mentioned Alex Martelli, Answers.com, Apress, Askville, Colin Powell, Cross Validated, DEC VT100, DECwriter, Eric S. Raymond, Experts-Exchange, Fog Creek Software, Gary Cornell, Google, Google Groups, Hacker News, Jeff Atwood, Joel on Software, Joel Spolsky, Jon Skeet, Juno Online Services, Kaggle, Marc Gravell, MathOverflow, Mathematics Stack Exchange, Mi Yodeya, Mike Winton, O'Reilly Answers, O'Reilly Media, OSQA, Philip Roth, Quora, Reddit, Server Fault, Stack Exchange, Stack Overflow, Super User, Tim O'Reilly, Usenet, Wikipedia, Yahoo! Answers, phpBB, vBulletin

## Video description Google Tech Talk September 10, 2012

Presented by Joel Spolsky.

ABSTRACT

Software developers love Stack Overflow and know that it has a ... unique culture to it. But what isn't as well known is how the structure of the software and technology behind Stack Overflow is designed to help shape that community. We'll discuss some of the unique aspects of the Stack Overflow community, the basics of cultural anthropology, and how we've designed the sites to facilitate the community that our users ask for.

Speaker Info: Joel Spolsky is an expert on software development, co-founder of Fog Creek Software, and the co-creator of stackoverflow.com. His website Joel on Software is popular with software developers around the world and has been translated into over thirty languages. He has written four books about software development, including Smart and Gets Things Done: Joel Spolsky's Concise Guide to Finding the Best Technical Talent (Apress 2007). Joel has worked at Microsoft, where he designed VBA as a member of the Excel team, and at Juno Online Services, developing an Internet client used by millions.

[Source](https://www.youtube.com/watch?v=LpGA2fmAHvM)

中文简报

斯波尔斯基:劝退闲散用户以维护 Stack Overflow 搜索质量 网络社区唯有通过严格的架构约束压制主观争论、劝退闲散参与者,为搜索引擎构建持久的参考档案,才能保持长久价值。 乔尔·斯波尔斯基阐释了软件界面如何作为一种社会架构发挥作用,如同实体建筑规制人类流动一样决定着人类行为。他回顾了从 300 波特终端、Usenet 到通用问答门户的在线讨论历史,概述了 Stack Overflow 如何通过刻意设计来抵御低成本噪音,并沉淀高价值的技术资料。其核心机制包括按投票排序的非线性回答、声誉标识、严格的问题关闭机制(例如禁止主观论战和选购咨询),以及将谷歌搜索视为数以百计沉默读者的真正用户界面。斯波尔斯基还探讨了向软件以外更广阔垂直领域扩展的问题,将垂直精选与 Quora 的横向模式进行了对比,并讨论了如何利用预测性机器学习来管控问题质量。 乔尔·斯波尔斯基强调软件架构直接塑造社区文化,并以 Usenet 新闻阅读器的自动逐行引用功能如何意外催生学究式的“逐句反驳”(fisking)辩论风格为例。 (6:06) Stack Overflow 刻意设计准入门槛以劝退闲散受众和低龄群体,将其垂直领域的准入壁垒与雅虎知识堂(Yahoo! Answers)及 Answers.com 的衰落进行了对比。 (11:25) Stack Overflow 的主要用户界面是谷歌,这要求平台将内容优化为供数以百计沉默读者查阅的永久、可检索参考资料库,而非即时聊天室。 (28:21) 在一场预测问题关闭的 Kaggle 机器学习竞赛中,Stack Exchange 发现首字母小写是表明帖子质量低下的最强统计指标之一。 (50:27)

Reading summary

Joel Spolsky argues that scaling an online technical community requires treating software architecture as cultural anthropology, intentionally shaping interfaces to drive away low-signal noise and optimize for downstream search readers. Software Architecture Dictates Community Norms (6:06) Spolsky observes that human behavior online conforms directly to interface design, just as physical behavior conforms to urban architecture. Early Usenet software like rn and trn purged messages every few days due to storage constraints, prompting users to manually quote previous text prefixed with '>' characters. This single programmatic affordance accidentally spawned "fisking"—a pedantic, line-by-line rebuttal culture. When web forums emerged through software like phpBB and vBulletin, developers copied these Usenet email defaults instead of designing spaces intentionally. Because software mechanics condition user interaction, Spolsky contends that community platforms must be deliberately engineered around the culture they intend to foster rather than relying on legacy conventions. Intentional Exclusion and Domain Filtering (14:54) Unlike general-audience portals such as Yahoo! Answers and Answers.com, which degraded into adolescent chatrooms and homework mills due to anonymity and low barriers, Stack Overflow was designed to repel casual visitors. Spolsky emphasizes that healthy communities depend on clear identity signaling to filter participants. Stack Overflow prominently features technical programming jargon on its homepage, signaling domain expertise so non-programmers leave immediately. This principle extends across the Stack Exchange network: Mi Yodeya relies on specialized "Yeshiva English" to attract serious talmudic study, while MathOverflow restricts submissions strictly to research-level mathematics, diverting general undergraduate inquiries to Mathematics Stack Exchange. Optimizing for Downstream Readers via Voting Mechanics (19:00) Stack Overflow rejects conversational forum conventions by treating search engines as its primary user interface. While a post involves a single asker and a handful of answerers, Spolsky notes it is ultimately viewed by hundreds of downstream developers searching via Google. To ensure these silent readers receive an enduring reference artifact rather than messy dialogue, answers are dynamically sorted by upvotes and downvotes. This mechanism intentionally collapses linear context, preventing back-and-forth arguments. High reputation points and unlockable badges—such as those earned for self-answering or reviving dormant threads—signal trust and communicate desired norms across the community, turning the platform into an editable knowledge repository rather than an ephemeral discussion board. Strict Closure Rules to Protect Reference Utility (31:08) To preserve content quality, Stack Exchange enforces five strict closure categories that explicitly prohibit subjective debates, open-ended discussions, and unrepeatable debugging issues. Under the premise that "Stack Overflow hates fun," the platform bars non-constructive flame wars (such as Emacs versus Vim) and shopping recommendations because conflict and buying guides rapidly turn into obsolete search noise. Questions labeled "Too Localized"—such as pasting code to find a single missing bracket—are closed because the platform refuses to act as a personal compiler. Spolsky compares these counterintuitive rules to Wikipedia's strict sourcing requirements: while closing threads generates user friction and public complaints of heavy-handed moderation, enforcing these boundaries is necessary to prevent the knowledge base from collapsing into unverifiable chaos. Machine Learning and Quality Control at Scale (48:54) Handling roughly 7,000 questions a day presents a major quality-control challenge, driven partly by struggling programmers treating the platform as an outsourced help desk. Because users receive intermittent positive reinforcement when someone answers a poor query, bad behavior persists. Rather than imposing exhaustive reading requirements on newcomers, Stack Exchange implemented title-matching algorithms and turned to predictive machine learning via a Kaggle competition to identify questions likely to be closed. Early internal analysis revealed that submissions beginning with lowercase letters were among the strongest predictors of closure, although Spolsky notes that simple rule-based filters fail because users quickly adapt without improving question substance. While the Stack Exchange vertical model has scaled successfully to around 90 topic sites and compounds rapidly outside its core programming domain, challenges remain. Stale answers in fast-moving technical fields often outrank newer, accurate solutions, and managing low-quality submissions without alienating new users requires evolving automated and algorithmic interventions.

精炼阅读摘要

Joel Spolsky 认为,管理数千万规模的在线社区本质上是一门文化人类学,平台的底层软件架构与制度设计直接决定了用户的交往模式与社区文化。Stack Exchange 放弃传统论坛的时间线交流,转向以知识沉淀为导向的严苛筛选机制,旨在为成百上千的沉默搜索者建立永久有效的技术档案。 技术架构如何无形塑造社区文化 (3:36) Spolsky 回顾了硬件与软件交互的历史,指出技术细节往往会意外派生出特定的文化习惯。从早期的批处理、300 波特率的 DECwriter 打印终端,到支持光标定位与 1,200 至 9,600 波特率的 VT100 智能终端,屏幕传输速率终于追平了人类约 2,400 波特率的阅读速度,促成了早期邮件列表与 Usenet 的兴起。由于早期 Usenet 节点存储成本高昂,系统通常仅保留三至四天的信息,回复软件便自动在原句前添加“>”符号引用原文以补充上下文。然而这一技术特性意外催生了逐句辩驳、吹毛求疵的“fisking”辩论文化,反映出物理与数字建筑留下的结构模型必然会被人类行为填满。他认为后来的 phpBB 等网络论坛直接照搬了这种缺乏深思的邮件交互逻辑,若要构建高效的在线社区,必须从第一原理出发进行有意识的社会架构设计。 文化信号筛选与精准劝退受众 (11:25) 社区的健康不仅取决于吸引谁,更取决于如何排斥错误的人群。Spolsky 与 Jeff Atwood 调研发现,Yahoo! Answers 与 Answers.com 因高度匿名和宽泛门槛,充斥着“JS 舞会迎宾词”和代写家庭作业等琐碎内容,最终沦为初中生课后聊天室,彻底驱逐了严肃的专业人士。相比之下,Stack Overflow 采取了正面建立专业门槛的策略,其首页完全由专业编程术语构建,使非程序员由于无法理解而自然离开。 这种以信号进行受众隔离的做法被广泛应用于 Stack Exchange 旗下的垂直网络。例如犹太文化站点 Mi Yodeya 采用夹杂希伯来语和阿拉姆语的“Yeshiva 英语”进行提问,直接隔绝泛泛的询问;统计学站点 Cross Validated 充斥双变量分布抽样等高阶技术问题;数学领域则细分为面向博士及研究级问题的 MathOverflow 与面向本科基础教学的 Mathematics。Spolsky 指出,通用型问答平台无法通过横向大杂烩聚拢顶级专家,而精准且带有排他性的垂直定位才能吸引真正的专业人才。 去对话化机制与荣誉勋章系统 (19:00) Stack Exchange 在机制上彻底打破了传统论坛的线性时间流。用户的投票机制直接决定问答的上下排序,导致上下文断裂,从而在物理结构上杜绝了无休止的来回争论与低价值琐碎交流。系统的主要激励来自声誉系统与徽章体系,Spolsky 将其比作军官制服上的勋表与星章,不仅用于识别贡献者,更向大众传达社区推崇的规范。例如系统为自问自答以及唤醒两年前休眠老帖的行为颁发徽章,以此引导良性知识沉淀。此外,高声誉还能换取实际的经济回报,平台通过定向招聘广告将开发者的专业声誉变现。 社区治理则采取基于声誉等级的分层自治模式。用户累积至 1,500 点声誉可创建标签,达到 10,000 点则可投票永久删除已关闭的问题。整个网络依托分层的治理圈层运转:全员使用的公开问答主站、约 10% 活跃用户参与讨论规则的 Meta 讨论版、275 名民选版主协调事务的聊天室,以及发布管理层决议的官方博客。这套自治体系秉持着“Stack Overflow 讨厌娱乐”的信条,坚决压制以消遣或追求病毒式传播为目的的灌水内容。 面向沉默检索者的五大关闭规则 (28:21) Spolsky 强调,Stack Overflow 的核心用户界面实际上是 Google 搜索。一个技术问题虽由一人提出、数人回答,但最终服务的是通过搜索引擎来访的成百上千名沉默读者。传统论坛沉淀的往往是冗长、混乱且过时的聊天记录,而 Stack Exchange 致力于打造类似维基百科的精炼知识库。为保障这套公共档案的权威性,平台设立了五种严格的问题关闭理由:“完全重复”旨在将分散的关注度集中在单一权威解答上;“偏离主题”严格限制非编程范畴的求助,即使是高声誉用户询问办公室洗手间坏掉后如何通知新女同事等棘手行政问题也会被立即关闭。 其余三种理由则直接针对社区易损性:“非建设性”坚决剔除诸如 Emacs 对决 Vim、Mac 对决 Windows 等极易引发口水战的争论,以及时效性极差的硬件导购咨询;“非真正问题”则拦截诸如一句话索求整本移动开发方案等过于宽泛的内容;“过于局限”则拒绝充当用户的免费找错编译器,诸如“我代码里漏了个括号”这类无法让未来检索者获益的个性化报错均会被驳回。这些看似不近人情的规则,旨在保护全球开发者的检索效率与长期参考价值。 知识缺页式学习、低质挑战与维基百科式摩擦 (37:01) 在现场问答环节,Spolsky 阐释了现代程序员的学习模式已从通读实体技术手册转变为“知识缺页式调入”:开发者通常复制样例代码或教程开始编写,遇到问题便借助 Google 搜索并吸纳单一技术点,随后继续编码。面对平台每天新增约 7,000 个问题的压力,许多缺乏基本技能的雇员试图把工作任务直接贴上平台当作免费外包支持,而零星的热心解答形成了行为心理学上的“间歇性强化”,反过来助长了劣质提问的循环。为此,Stack Exchange 在 Kaggle 举办机器学习竞赛以预测问题是否会被关闭,其早期分析发现,“句子开头字母小写”是预测问题被关闭的最强特征之一。 Spolsky 将平台的严苛审核与维基百科的“可验证性而非真实性”原则进行类比。即便小说家 Philip Roth 试图修正自身作品词条错误也会因缺乏二手来源而遭拒,这种反直觉的官僚式规则虽然常引来审查指责并挫伤提问者自尊,但正是抵御低信噪比混乱、维持全球大规模知识库长久运转的必要防线。 Joel Spolsky 认为软件工程早已超越了单纯的算法与计算,演变为大规模组织人类协作的文化工程。然而,如何兼顾长期技术档案的时效性演进(解决旧的高票答案过时误导的问题)、平息新用户面对严苛审核时的被剥夺感,以及依靠机器学习算法更精准地预判劣质内容,仍是 Stack Exchange 规模化治理中持续探索的核心课题。

Detailed notes — zh

## Background 该视频由 Google TechTalks 频道于 2012 年 10 月 12 日发布在 YouTube 上,记录了 2012 年 9 月 10 日 Founders@Google 系列讲座的现场实况。讲座由 Stack Overflow 联合创始人 Joel Spolsky 主讲,旨在剖析 Stack Overflow 及 Stack Exchange 背后独特社区文化的构建逻辑,探讨如何借助文化人类学与软件底层机制来定向塑造高水准的技术问答生态。 ## TL;DR Joel Spolsky 结合早年 Usenet 软件机制催生反驳文化的历史,指出软件界面的架构设计会直接决定用户的行为与亚文化走向。他提出 Stack Overflow 的核心哲学是将 Google 视为真正的用户界面,全站机制均优先服务于未来检索该问题的数百名读者,而非单纯满足提问者个人。为了沉淀出高质量的知识资产,平台构建了声望体系与徽章社会规范,坚决贯彻“我们讨厌乐趣”和关闭主观、重复或过度局部化问题的铁律;同时借鉴维基百科“可查证性”的严苛治理逻辑,在数千万级用户的数字大都市中维系知识的严肃性与权威度。 ## Atmosphere & style 整场讲座兼具机智幽默与犀利的行业洞察,Joel Spolsky 以其标志性的叙事口吻引经据典,从罗马西班牙大厦台阶到“占领华尔街”运动,将枯燥的人类学理论讲得引人入胜。现场互动格外活跃、笑声不断,尤其是当他展示全球答题榜首而传奇贡献者 Jon Skeet 恰好坐在台下回应时,现场气氛瞬间达到高潮。整场分享散发着老派黑客与资深产品架构师特有的务实精神与反直觉智慧,听众能深刻体会到设计一套反人性却极其高效的规则系统背后的冷酷与远见。 ## Bulletin - [00:25](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=25s) Stack Exchange 旗下全站每月产生约 2.66 亿次页面浏览量,月独立访客达到 2500 万至 5000 万,体量逼近得克萨斯州人口规模,促使其运营范式从纯计算机工程转向数字文化人类学。 - [28:21](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=1701s) Stack Overflow 平台的核心优化目标并非提问者本人,而是未来通过 Google 检索到该问题的数百名开发者,本质是将讨论串重塑为高质量、可长期参考的技术知识资产。 - [25:21](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=1521s) 平台实行“我们讨厌乐趣”(We hate fun)的治理原则,设立了包括“完全重复”、“非建设性”与“过于局部化”在内的五大关帖理由,全面禁止口水辩论、导购求荐和人肉代码查错。 - [46:21](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=2781s) Stack Exchange 采用底层代码专有、问答内容知识共享(Creative Commons)开放的模式,每月打包发布全量 SQL 数据库转储与 API,主张社区内容资产的公共属性。 ## Key takeaways - [05:49](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=349s) 软件机制直接塑造社群行为:早年 Usenet 因存储昂贵而引入自动带 '>' 的回复机制,无意间诱导用户逐句穿插反驳,催生了网络辩论中苛刻挑刺的“全文批判(Fisking)”亚文化。 - [09:08](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=548s) 物理与数字建筑学具诱导效应:正如石阶或棋盘会自动聚拢特定人群,线上社区的界面设计与规则框架也直接决定了用户的流动走向与互动模式。 - [11:25](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=685s) 大众问答平台的匿名与无门槛导致质量崩塌:Yahoo! Answers 与 Askville 沦为青少年灌水聊天室和垃圾广告堆积地,证明缺乏准入筛选的开放只会赶走专业从业者。 - [15:12](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=912s) 专业垂直社区依赖语言门槛与排他性生存:通过高深行业术语和严格的学术界限(如 MathOverflow 规定大学教授知晓的问题不得提出),果断劝退非目标受众,维护专业浓度。 - [19:00](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=1140s) 动态投票机制打碎了论坛式的无休止争吵:按质量排序使得依赖上下文的来回辩论无法维系,迫使答题者专注于产出独立完整的解答。 - [23:53](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=1433s) 声望与徽章系统本质是社区行为指南针:徽章的价值不在于直接的物质激励,而在于向全社区明确释放何种行为(如自问自答、更新陈旧问题)受官方提倡的价值信号。 - [25:21](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=1521s) 自下而上的权力下放与去中心化自治:系统将打标签、删帖等管理特权根据声望梯度推给群众,并依靠 Meta 议会和聊天室形成层级化治理结构。 - [28:21](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=1701s) Google 是 Stack Overflow 事实上的用户界面:平台抛弃传统技术论坛深陷多页对话泥潭的旧模式,专为搜索引擎检索场景下的广大读者打造知识档案。 - [31:08](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=1868s) 严苛的关帖规则是捍卫知识资产的生命线:拒绝主观偏好与导购类讨论,将精力集中于打磨权威技术记录,坚决杜绝让平台沦为提问者的人肉排错器。 - [38:33](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=2313s) 现代编程学习模式转向“知识缺页中断”:大部头纸质技术书走向黄昏,开发者通过搜索引擎与具体问答随用随查已成为行业绝对主流。 - [45:01](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=2701s) 横向大而全的平台无法生长出纵向深度:Quora 等泛化模式难以吸引偏执的硬核专家,而 Stack Exchange 坚持以同心圆方式自下而上稳步扩张垂直领域。 - [47:32](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=2852s) 间歇性强化加剧劣质问题循环:部分无法胜任工作的开发者将任务盲目抛上平台,偶尔获答的侥幸心理驱使其反复发帖,引发社区点踩与抗议版主滥权的死循环。 - [51:43](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=3103s) 维基百科式“可验证性”对社区治理的启示:即使规则看似反直觉甚至被指责“反民主”,但唯有坚持第三方来源与严格准入门槛,才能维系知识库的长效卓越。 ## Detailed walkthrough ### [00:25](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=25s) 嘉宾背景与 Stack Exchange 的规模 Google 开发者关系(Developer Relations)负责人 Mike Winton 为本场 Google Tech Talk 作开场主持,隆重介绍了主讲人 Joel Spolsky。Joel 在软件工程领域深耕多年:他曾任职于微软并在 Excel 团队主导设计了 VBA,随后在 Juno Online Services 参与开发了服务数百万用户的互联网客户端;此后他联合创办了 Fog Creek Software,并与 Jeff Atwood 共同打造了知名问答社区 stackoverflow.com。此外,他个人网站上的技术随笔被翻译成 30 多种语言,并著有 4 本广受好评的软件开发书籍。Mike Winton 指出,Google 内部对 Stack Overflow 的存在感到极其振奋,因为前往该社区直接参与开发者之间的技术探讨,已经成为 Google 展开开发者支持与生态运营的核心基石之一。 接过话筒后,Joel Spolsky 调侃起演讲的标题《Stack Exchange 的文化人类学》(The Cultural Anthropology of Stack Exchange)。他坦言自己在大学时选修过文化人类学,那是他上过最糟糕、最无聊的一门课。课程里充斥着关于特罗布里恩群岛岛民(Trobriand Islanders)以及加拿大原住民部落互赠波特拉奇毛毯(Potlatch blankets)的陈旧案例,当时的他觉得这些研究既枯燥又毫无实用价值。然而讽刺的是,理解和运用人类学工具如今竟成了他的全职工作——因为线上社区的发展在本质上正是一门数字时代的人类学。Joel 援引 Stack Exchange 当时的运营数据指出:网络平台每月产生 2.66 亿次页面浏览量(Page Views),按照保守统计方式拥有 2500 万全球月独立访客(按照另一种统计口径甚至达到 5000 万)。如果将其视作一个国家,其人口已能排进世界中上游;若折算为美国的州,它几乎是仅次于加州和纽约州的第三大“州”,人口规模即将超越得克萨斯州。面对如此庞大的人群,传统计算机科学思维已显不足,必须借助文化人类学的视界,去解剖人们在线上如何因临时目的自发聚集、协作创造,又在达成目标后聚散流转的微观与宏观机制。 - **月度浏览量**:Stack Exchange 网络全站每月达到 266,000,000 次 PV。 - **月独立访客数**:保守口径为 2500 万 UV,另一种统计口径可达 5000 万 UV。 - **用户规模对比**:其体量相当于美国第三大州,正逼近并即将超越得克萨斯州的人口规模。 --- ### [03:36](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=216s) 终端演进与早期网络交流的诞生 回顾计算技术的萌芽期,Joel 形象地描绘了早期程序员的生存状态:在那个依赖磁带机和穿孔纸带的打卡批处理时代,人们普遍认为“计算”的唯一意义就是处理冷冰冰的数据、输出计算结果。只要写出的程序能跌跌撞撞地赶在每两周一次的薪资发放日把员工工资条、税表准确打印出来,就算取得了莫大的成就,根本不存在任何“线上社交”的可能。直到 1960 年代分时操作系统(Time-sharing)的出现,情况才发生根本改变,Joel 自己的编程生涯也是在这一代技术演进中拉开序幕的。 ```mermaid flowchart LR accTitle: 计算与通信设备的演进流程 accDescr: 展示从早期的打字终端到智能终端的演进,以及对应的波特率和在线通信形式的变化。 subgraph S1["打印终端时代"] A["DECwriter<br/>(打字终端)"] -->|"300 baud"| B["仅限批处理/短指令<br/>(无邮件/长对话)"] end subgraph S2["智能终端时代"] C["DECwriter 升级版<br/>(1200 baud)"] --> D["VT-100 终端<br/>(光标控制/智能显示)"] D -->|"2400-9600 baud"| E["接近人眼阅读速度<br/>(电子邮件与 Usenet 诞生)"] end S1 --> S2 ``` 多用户同时在线催生了人机交互乃至人人交互的愿景,但在硬件上最先普及的是像 DECwriter 这样笨重的机械打印终端。早期调制解调器只能跑到 300 baud(波特),因为哪怕有更快的传输速率,打字机打印头的物理机械动作也根本跟不上;在这种极慢的速率下,屏幕上连传输大段文本都难以维系,更谈不上开展日常对话或发明电子邮件。后来 DECwriter 提速至 1200 baud,紧接着带有屏幕并支持光标定位的智能终端(如划时代的 DEC VT-100)问世,通信速率跃升至 1200乃至 9600 baud。Joel 强调,人类眼睛的自然阅读极限大约就在 2400 baud 上下。正是显示介质与网络带宽突破了人眼阅读阈值,才让撰写、收发长篇文本变为现实,进而催生了电子邮件。最初的线上技术支持讨论组完全是邮件系统的附属产物,甚至当今的 Google Groups 也能一路追溯到早期的 Usenet,而 Usenet 的本质起源就是通过一个简陋的后台守护程序(Mailer Daemon)将收到的邮件批量转发给邮件列表(Mailing List)上的订阅者。 --- ### [05:49](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=349s) 软件机制塑造社区文化:从 Usenet 引用到反驳文化 大学时期的 Joel 是 Usenet 的重度活跃用户。他特别展示了经典的终端新闻阅读器软件 TRN(Threaded Read News,带有线索树展示的 RN)。在界面右上角,TRN 极其前卫地将讨论串渲染成树状图,记录哪个帖子是哪段对话的父级节点。这种数据结构在计算机科学家眼中无比优雅,但对普通用户而言却晦涩难懂。Joel 敏锐地指出,软件底层的技术妥协与功能设计,会像催化剂一样直接塑造用户群体的行为甚至演变为一种亚文化。 在 Usenet 盛行的年代,系统没有任何中央服务器,完全依赖点对点(P2P)分布式网络在节点间接力同步彼此未见过的帖子。受限于极其昂贵的硬盘存储成本,普通的 Usenet 节点通常只保留 3 到 4 天的历史归档,空间一旦告急便自动丢弃更早的帖子——保留数天仅仅是为了保证用户周末放假离开、周一回来时不至于彻底脱节。由于历史帖子极易在下游节点凭空蒸发,当用户在新闻组(例如 Joel 曾深度参与讨论、最后陷入死循环的 `talk.politics.mideast`)中按下“R”键进行回复(Reply)时,为了防止对方或旁观者根本看不到原帖上下文,用户开始手动复制对方的话;软件开发者见状,便索性将其固化为一项原生功能:系统自动在被引用帖子的每一行前添加一个大于号(`>`)。 ```mermaid flowchart TD accTitle: Usenet 软件机制如何催生逐句挑刺的反驳文化 accDescr: 硬盘空间受限导致引用机制的出现,进一步诱导用户形成逐句拆解反驳的刻薄文化。 A["存储昂贵 / 节点仅存3-4天归档"] --> B["用户回复时需附带上下文"] B --> C["软件提供快捷回复功能<br/>(自动在原帖每行前加 '>')"] C --> D["用户在每行引用文字间插入反驳意见"] D --> E["形成对论点逐句拆解、挑刺的辩论风格<br/>(Nitpicky Culture / Fisking)"] ``` 这项本意良好的软件交互特性带来了意想不到的文化副作用:用户面对预先被分行排好的引用文本,习惯性地把自己的反唇相讥穿插在对方句子的间隙。“> 这显然是胡说”、“> 这句错得离谱”、“> 这纯属无稽之谈”。人们不再针对整篇论述的核心主旨做宏观反思,而是演变为对原文展开字句级肢解与逐句挑刺的论战方式。正如 Joel Spolsky 所总结的那样:“如果你不意识到文化是随着软件的机制而运转的,那么你在设计软件时就可能会忘记为期望的文化提供支撑。”(“And what's interesting is, until you start noticing that the culture is acting according to the software, then you may forget to design the software in a way that makes the culture work.”)这种起源于 Usenet 的刻薄挑刺文化(Nitpicky culture),日后被博客圈重新包装并命名为“全文批判(Fisking)”,它的源头正是软件界面一个看似偶然的交互机制。 --- ### [09:08](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=548s) 实体建筑与数字空间的行为诱导 为了让听众更直观地理解“软件结构决定人群行为”的论断,Joel 将视角切入物理世界中的空间建筑学(Architecture)。他在屏幕上展示了旧金山莫斯康展览中心(Moscone Center)的现场照片:建筑设计师创造出什么样的几何形态,人群就会顺从地填充进该形态之中。这种人与空间的互动有时是设计师有意为之的——例如在公园里砌出一张尺寸刚好契合国际象棋的桌子,并在桌面印上 8×8 的棋盘方格,左右两侧摆放两张符合人体工学轮廓的石椅,用不了多久,就会自然而然地吸引下棋的老人们端坐对弈。有时这种互动纯属意外,例如建筑师原本只是设计了一条优美的弧形水泥矮墙,却在不经意间构建出了滑板少年梦寐以求的腾挪曲面,随即便会引来成群结队的街头滑板爱好者。 罗马著名的西班牙大厦阶梯(Spanish Steps)则是这种空间行为学演化的另一处经典案例。建造这道台阶的初始工程意图极其单纯:当时两处高度落差悬殊的道路无法直接修筑平顺的马路,坡度实在太陡,工匠们只得修筑阶梯予以连接过渡。然而在历史变迁中,这个单纯为通行设计的物理环境,却阴差阳错地成了全欧洲最惬意的公共聚集场所。青少年和背包客喜欢成群结队地坐在石阶上晒太阳发呆,或是让吉普赛小贩为他们编织发辫,因为这里的物理落差、进深和视野为自发性的群聚休憩提供了完美的空间尺度。这种成功的空间诱导甚至被后来的城市规划者跨大洋复刻——例如纽约时代广场中央搭建的高耸红色景观台阶,便是有意利用这种台阶聚拢效应来重塑公共场所的人群动态。Joel 借助这些实体建筑隐喻明确暗示:Stack Exchange 平台架构设计的核心命题,正是要在线上用代码雕琢出精确的“台阶与棋盘”,从而在数字世界中定向诱导出具有高度建设性的社区文明。 ### [10:15](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=615s) 论坛设计的停滞与刻意构建社区的必要性 在探讨在线社区设计时,Joel Spolsky 回顾了网络交流形态的演进历程。早期互联网依赖 Usenet,随着万维网的普及,开发者们决定不再使用 NNTP 协议,转而在 Web 上构建替代品。然而,诸如 phpBB 等大量网页论坛套件在本质上只是对 Usenet 的拙劣模仿,核心运作逻辑毫无二致,唯一的“创新”不过是在输入指令时多了一个左右晃动的滚动笑脸。Joel 指出,这些系统的底层逻辑完全继承自电子邮件,属于一种历史偶发的设计产物,数十年间几乎没有任何真正的理念革新。 Joel 强调,如果想要打破现状并实现某种“乌托邦式”的高效社区生态,就必须采取刻意的、有预谋的设计策略,而这正是创建 Stack Exchange 时的初衷。在他看来,Stack Exchange 当时仅实现了最终愿景的 10% 左右。回顾过去四年 Stack Overflow 与 Stack Exchange 的摸索与运营,软件机制与界面呈现必须高度协同,通过明确的设计意图去引导用户行为,而非放任其野蛮生长。 > “You have to actually design stuff a little bit intentionally.” —— Joel Spolsky --- ### [11:25](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=685s) 第一印象与文化信号:从“占领华尔街”到问答网站的受众分化 社区的视觉与内容细节构成了强烈的“第一印象”,并在第一时间向外界发送文化信号。Joel 以“占领华尔街”抗议现场的照片为例:有人身穿萨帕塔(Emiliano Zapata)头像的 T 恤,有人佩戴色彩鲜艳的阿拉伯头巾(Keffiyeh),还有人一边呼喊支持 99% 的底层大众,一边戴着极其昂贵的耳机。每个人都在竭力释放关于身份与信仰的外在信号,目的正是为了吸引同类并形成组织凝聚力。 在 Stack Overflow 创办之初,Joel 曾派 Jeff Atwood 去调研市面上的竞品问答网站。他们调研了当时规模庞大的 Yahoo! Answers 和 Answers.com,发现首页充斥着“你用什么清洁咖啡机”、“你最喜欢的植物是什么”、“有人想做关于食物/饮料的对错测试吗”、“你正在听什么歌”、“我最后吃的东西是什么”以及“一氧化碳会让人致死吗”等碎片化问题。最关键的线索隐藏在底部的一行提问:“我老是忘记做作业”。Joel 指出,Yahoo! Answers 的核心受众本质上是放学回家的 12 岁左右“钥匙儿童”(latchkey kids),尤其是年轻女孩;由于这里没有 Facebook 那样需要绑定的真实身份,用户享有完全的匿名性,今天提一个问题,明天就可以换一个身份,因此该网站实质上沦为了青少年的闲聊灌水聊天室。 类似的情况也出现在 Answers.com 和亚马逊收购后弃置不管的 Askville 上。Answers.com 首页会出现“求推荐 JS 舞会的迎宾致辞范例”这类提问。这里的“JS”并非程序员所想的 JavaScript,而是某个中学私下简称的初中/高中舞会(Junior-Senior prom),提问的孩子幼小到误以为自己学校的特定名词是全互联网通用的常识。而在 Askville 上,除了生活情感困惑,甚至充斥着诸如“在网上申请公寓”这种保留了 13 个小时却无人清理的垃圾广告。垃圾内容长期存留,直接向访客宣告了该社区已被管理者和优质用户抛弃。 > “So Yahoo! Answers became a chat room for teenagers. And when you look at the website, you would be deterred from using Yahoo! Answers for any purpose other than talking about how to, you know, what you're listening to.” —— Joel Spolsky --- ### [15:12](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=912s) 专业壁垒与社区区隔:用语言和门槛筛选受众 与试图吸引所有人的大众问答网站截然相反,Stack Overflow 和 Stack Exchange 旗下的 90 多个垂直站点从第一印象起就采用了“排他性”的设计哲学。如果一个程序员打开 Stack Overflow,他会立刻意识到满屏都是硬核的编程技术讨论;而如果一个非技术人员点进页面,他会发现自己连一个字都读不懂,进而主动离开——这正是平台预期的结果。专业社区必须依靠门槛来阻隔噪音,维持高密度的专业讨论环境。 ```mermaid flowchart TD accTitle: 社区受众分流机制 accDescr: 展示专业术语与规则如何将非目标用户推开并将目标专家吸纳进垂直社区 subgraph Signals["第一印象与进入壁垒"] direction TB Content["专业内容呈现\n(行业黑话 / 高深数理问题)"] Filter{"访客能否理解?"} Content --> Filter end subgraph Audiences["用户分流去向"] direction TB GeneralPublic["大众 / 灌水用户\n(主动离开或分流至大众版)"] TargetExperts["专业垂直群体\n(感受到文化认同,留存互动)"] end Filter -- "否" --> GeneralPublic Filter -- "是" --> TargetExperts ``` Joel 举了几个垂直分站的具体案例来说明这种由语言壁垒构建的文化护城河: - **犹太生活与学习站(Mi Yodeya)**:除非用户上过犹太经学院(Yeshiva)并深入研习正统犹太律法,否则根本看不懂问题。提问使用了一种混杂希伯来语的“经学院英语”(Yeshiva English,已普遍替代意第绪语)。例如“Is it possible to have hametz on the Shabbat directly after Pesach?”(逾越节紧接着的安息日是否可以食用发酵面食)。这种行文方式天然筑起了篱笆,将不具备特定背景的自由派或缺乏传统教育的犹太人隔绝在外,维护了正统律法研讨的纯粹性。 - **统计学分站 Cross Validated**:主页充斥着如“比较双变量抽样的两种方法”等专业议题,外行人不知所云,但统计学专业人员一眼便能认定这是个货真价实的学术交流场所。 - **数学领域的社区二分法**:数学家群体由于学术深浅不同而发生分化,因此平台设立了两个网站: - **MathOverflow**:专为博士及研究级数学家服务,明文规定“如果一个大学数学教授很可能知道答案,请不要在这里提问”,只讨论前沿攻坚难题。 - **Mathematics Stack Exchange**:规则相对宽松自由,包容普通学生乃至初学者提出较为基础的数学疑问。 Joel 总结道,许多网页设计师总是陷入误区,千方百计想打造一个能把全宇宙每个人都吸引进来的网页。但社区构建的本质与大学校园里偶遇的群体无异——就像在冬日耶鲁校园草坪上看到一群反戴棒球帽、戴着墨镜、身穿短裤玩极限飞盘的加州男生一样,场景散发的信号会瞬间吸引同道中人,同时劝退不相干的人。一个健康社区展现的方方面面,必须在清晰地吸引目标受众的同时,果断地将非目标用户推开。 > “Math overflow has a rule that if a math professor is likely to know the answer to your question, don't ask it on math overflow.” —— Joel Spolsky > “And so many people in web design have been trying to figure out how do we make a web page that sucks every single person in the known universe in.” —— Joel Spolsky ### [19:00](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=1140s) 投票机制与杜绝无休止的争吵 Joel Spolsky 指出,当一个平台致力于为高难度问题寻找专家级答案时,它面临的问题恰恰与普通社交网站相反:“你实际上想尽可能赶走更多笨蛋,而且越快越好。”(“You actually want to drive away as many morons as you possibly can, hopefully as quickly as possible.”)这也是为什么 Stack Exchange 将“第一印象”与“投票机制”视为平台设计的核心支柱。 在 Stack Exchange 上,用户可以对问题投赞成票或反对票,更能对答案进行投票。投票最直观的作用是将答案按照质量高低从好到坏自动排序。然而,这一设计带来了一个极为关键但常被忽视的副产品:它彻底粉碎了像普通论坛那样展开连篇累牍、你来我往的争吵(back-and-forth arguments)的可能性。因为当答案根据投票数实时上下重排时,所有的引用和上下文都会被打乱。虽然用户可以在评论区讨论,但官方会清理掉冗长对话。Joel 直言,这种机制之所以严苛,是因为来回拉扯的辩论毫无用处,根本无法为互联网沉淀出一份有价值的知识资产。 - **投票排序效果**:确保高质量答案置顶,低质量答案沉底。 - **打碎争论上下文**:动态排序让跟帖式争论失去上下文,迫使用户专注输出独立且完整的回答。 - **评论清理机制**:评论仅作为临时补充,非正式回答内容会被适时清理。 --- ### [20:01](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=1201s) 声望体系、现场巧遇 Jon Skeet 与极客“勋章”文化 投票机制最重要的产物是声望(Reputation),它是社区衡量“我是否能信任你”的标准。Joel 借用了美国前国务卿 Colin Powell 身着军装的照片来做比喻——军人制服上花花绿绿的资历勋表(美军俗称“水果沙拉”)记录了其服役履历与战役功勋,肩章上的四颗银星则直接代表他的声誉与地位;Stack Overflow 采用的也是完全相同的逻辑。随后 Joel 展示了当时网站声望榜顶尖用户的幻灯片,并提到了排名榜首的传奇用户 Jon Skeet。巧合的是,现场台下传来一声问候:“最近怎么样?”原来 Jon Skeet 本人就坐在 Google 讲座现场,引发全场哄堂大笑。 在审视这批顶尖用户的地域分布时,Joel 发现了一个奇特现象:除了在场的 Alex Martelli 等极少数人外,全球顶级答题高手几乎没有来自硅谷本土的,反而遍布英国迪恩森林(Forest of Dean,核心开发者 Marc Gravell 所在地)、法国鲁昂、库拉索岛、威斯康星州麦迪逊等地。 围绕声望,平台设计了一整套逐步解锁的“装饰物(Flair)”体系: - **初始阶段**:用户刚注册时声望为 1(只要输对名字即可获得),头像由系统根据 IP 地址自动生成(例如几何三角形拼接)。 - **积分递增**:随着被点赞,用户开始获得铜质和银质徽章(Badges),并能自定义头像与显示“采纳率(Accept Rate)”。 - **进阶特权**:当声望达到约 10,000 点时,头像旁会出现阴影效果(Drop Shadow),其他用户悬停鼠标时即可展开定制化名片资料。 - **民选管理员**:若超越最高声望层级成为社区选举出的管理员(Moderator),名字后会永久带上一颗菱形钻石图标(♦)。Joel 调侃道,这其实是一项苦差事,意味着你必须牺牲答题时间,把大把精力耗费在删帖和整肃违规行为上。 为了说明人类对“身份装饰(Flair)”的执念,Joel 举了一个现实生活中的生动案例:一个满身刺青、练着大块肌肉的男人,头戴南方联盟旗帜棒球帽,身穿一件老头衫背心(Wife-beater),甚至还在身上备用了第二件背心以防主背心损坏,同时佩戴哈雷摩托标志。Joel 笑称这种打扮简直像“伊朗巴列维国王风格”一样把自己装点得严严实实。人们每天出门都会深思熟虑该向外界投射怎样的自我形象,Stack Overflow 的声望与徽章正是将这种人类心理搬到了线上。 ```mermaid flowchart TD accTitle: 用户声望与特权晋升阶梯 accDescr: 展示从新注册用户到民选管理员的权限与视觉标识升级过程 subgraph User["普通用户阶段"] A["初始注册 (1 Rep)<br/>IP 生成几何头像"] --> B["获取点赞与徽章<br/>自定义头像 / 显示采纳率"] end subgraph Advanced["高阶用户阶段"] B --> C["10,000 Rep<br/>头像阴影 / 悬浮资料卡片"] C --> D["具备高级管理特权<br/>投票删除已关闭问题"] end subgraph Mod["管理核心阶段"] D --> E["社区选举管理员<br/>钻石标 ♦ / 删帖与秩序维护"] end ``` --- ### [23:53](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=1433s) 徽章作为行为规范的指南针 Joel 坦言,常有人质疑徽章的价值,认为“它们一文不值,谁会在乎”。事实上,网站上真正为了集邮而疯狂刷徽章的核心用户可能只占 1% 左右。然而,徽章的真正精妙之处并不在于直接的物质激励,而在于它是整个平台树立社会规范(Norms)的最强信号:“徽章最巧妙的地方在于,即使不能直接激励大家,它也能让所有人明确知道我们希望鼓励什么样的行为。”(“And the neat thing about the badge is that they tell everybody the behavior that we want to incentivize, even if they're not directly incentivizing it.”) 如果你怀疑自己在网站上“自问自答”是否被允许,只要翻看徽章列表,就会发现平台专为自问自答设立了徽章;如果你不确定去回答一个两年前提出的古老问题是否合适,系统同样为这种行为准备了奖励徽章。徽章系统本质上是一部公开展示的“社区推荐行为准则”。同时,Joel 提到声望可以直接变现为求职资本,Stack Overflow 的商业模式正是利用庞大开发者群体的声望画像与技能标签,为企业精准招聘匹配顶级技术人才。 --- ### [25:21](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=1521s) 社区政治学:去中心化自治与“我们讨厌乐趣” 任何由三人及以上组成的群体都会形成某种政治与治理结构(Government)。Stack Overflow 的治理哲学是将日常秩序的维护与巡查权力彻底“推给广大群众”,让社区实行高度自治。随着用户声望的累积,系统赋予他们越来越多的执法权限: - **1,500 声望**:获得创建新标签(Tag)的权限。 - **10,000 声望**:获得投票彻底删除已被关闭问题的权限。 Joel 将这种机制幽默地形容为一种“群众制约群众的集体恐怖主义”,甚至调侃这不知对应了卡夫卡的哪篇荒诞小说。在治理层级上,整个社区呈现清晰的金字塔结构: 1. **主站(Main Site)**:全员(现场 100% 的人)参与的日常问答场所。 2. **Meta 讨论区(Meta Stack Overflow)**:仅有约 10% 深度参与的核心用户进入,这里是社区制定规章制度与公共政策的“公民议会后堂”。 3. **聊天系统(Chat Rooms)**:全场仅三四个人去过的“教师休息室”,全网 275 名民选管理员与硬核玩家在此驻留,实时商议复杂仲裁与站点治理事务。 4. **官方博客(Official Blog)**:中央管理层发布决议与核心政令的渠道。 谈到社区律法时,Joel 抛出了 Stack Overflow 极其著名的一项核心信条:“我们只有一条最重要的铁律,那就是‘我们讨厌乐趣’(We hate fun)。”官方甚至专门设计了一枚标志来宣告这一原则。在 Stack Overflow 上,有数百万种在常规网络论坛很受欢迎的事情是被明令禁止的,尤其是那些可能让人感到轻松好玩、极具噱头、容易登上 Hacker News 或 Reddit 热门榜单的内容。平台坚决抵制任何娱乐化和灌水趋势,以维护知识库的严肃性与实用价值。 ### [28:21](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=1701s) 为后来的数百名读者而优化:Google 才是真正的用户界面 很多人并不理解 Stack Overflow 和 Stack Exchange 核心的设计哲学,这让 Joel Spolsky 不得不反复强调这个最根本的观察:提问通常只由一个人发起,由一到五个人回答,但最终会有成百上千的人通过搜索浏览并从中受益。因此,平台绝不是为了提问者一个人服务,甚至也不是为了答题者服务,平台所做的一切优化,都是为了那几百名通过搜索引擎找过来的潜在读者。Joel 幽默地指出,过去他总说“搜索引擎是我们的界面”,但实际上“Google is our user interface”(Google 就是我们的用户界面)。用户之所以会访问 Stack Overflow,是因为他们在 Google 里输入了一个技术问题,如果网站展示给用户的内容不够优质,整个体验就会崩塌。 在 Stack Overflow 诞生之前,老一代的技术论坛如 Usenet、phpBB 论坛以及 Experts-Exchange 等存在巨大的缺陷。它们呈现在 Google 索引里的内容,不过是多年前冻结在那里的低效闲聊与零碎对话。读者点进一个问题,往往要忍受极其冗长的无意义对话:“有人知道怎么解决吗?”“不知道,但你试过 X 吗?”“试过了,没用。”“那你试过另一个吗?”“看清楚,我前面早就说了我试过……”到了第十七个回复,可能是一年之后有人跟帖说“我也遇到了一模一样的问题”。即便在第七页终于有人给出了答案,那段代码往往也是错误的,甚至用户一复制就会带来跨站脚本(XSS)漏洞。再加上 Google 的 PageRank 机制往往偏向更有资历的老页面,导致搜索结果经常把那些过时、僵死且完全不对症的陈年旧帖推到最前。 ```mermaid flowchart TD accTitle: Stack Overflow 核心优化模型与传统论坛对比 accDescr: 对比传统论坛基于闲聊对话的碎片化模式与 Stack Overflow 面向成百上千搜索用户的资产沉淀模式。 subgraph Legacy["传统论坛 / 邮件列表模式"] A["提问者个人发起问题"] --> B["低效往返讨论与闲聊"] B --> C["错误/过时答案埋没在第 7 页"] C --> D["Google 索引死气沉沉的对话记录"] end subgraph StackOverflow["Stack Overflow 资产沉淀模式"] E["1 位提问者提出具体问题"] --> F["1-5 位回答者提供精确答案"] F --> G["投票排重、持续编辑与版本修订"] G --> H["Google 检索导流数十万名未来开发者"] end ``` 为了彻底颠覆这种局面,Stack Overflow 决定摒弃传统的“对话交流”模式,转向类似维基百科(Wikipedia)的“知识资产”(Artifact)沉淀机制。所有的内容都必须支持投票筛选与持续编辑,防止过时信息误导后人。Joel 强调,平台的终极目标不是让人们在上面拉家常,而是为日后寻找该问题的数百名开发者留下一份高质量的历史技术档案。 - “If somebody asks you about the design principles of Stack Overflow, of Stack Exchange, the most important thing you have to remember is that the question is asked by one person. It's answered by, let's say, one to four, five people usually. But it's viewed by hundreds of people.” —— Joel Spolsky - 传统论坛的问题在于:回答往往分散在无数页的对话中,且老页面由于 PageRank 权重反而排在前面,输出错误甚至带来安全漏洞的代码。 - Stack Overflow 的核心假设:Google 是入口,页面是知识档案,优化目标永远是后来的数十万次浏览者。 --- ### [31:08](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=1868s) 关闭问题的五大理由:维护知识资产的纯粹性 为了保障沉淀下来的内容是具备长期参考价值的优质资产,Stack Overflow 引入了“关闭问题”(Close Reasons)机制。这项举措让平台招致了海量批评,很多用户抱怨“管理员滥用权力,Stack Overflow 迟早要完”,责怪平台关闭了那些好玩、有趣、能吸引数万浏览量甚至登上 Hacker News 榜首的热门帖子。但 Joel 坚持认为,关闭问题正是维持社区生态和知识质量的基石。在平台设定的五大关闭理由中,每一个背后都有着深刻的设计逻辑: 第一类是**完全重复(Exact Duplicate)**。虽然概念看似直观,但要求极其严苛,必须是完全一样的问题才会判定重复;稍有差异的疑问平台依然鼓励作答。例如像“谁能解释一下单子(Monads)?”这类经典问题,平台希望将所有人的智慧汇聚到唯一的标准页面上。集中一百只眼睛打磨一个权威词条,其价值远大于让五十只眼睛分散在不同的重复页面上。 第二类是**不相关(Off-topic)**。Stack Overflow 对“编程相关”有着极窄的界定。Joel 举了一个令人啼笑皆非的真实案例:一位公司高管在网站发帖求助,标题是《我们公司的厕所问题》。内容写道:“虽然严格来说不是编程问题,但希望大家帮帮我。明天有一位女员工入职,但办公室的女洗手间坏了,我该如何得体地通知她,让她明早到公司前先在外面解决好生理问题?”尽管发帖者可能是社区里受人尊敬的资深开发者,而且这个问题对他本人很紧急,但它必须被关闭,因为这根本不属于编程知识库。 第三类是**非建设性(Not Constructive)**。这是最容易引发误解但也最关键的一条规则。平台要求回答必须建立在事实、技术引用和专业知识之上,凡是容易引发主观意见、意识形态争论、投票调查或无休止辩论的问题,全部予以关闭。诸如“Emacs 对决 Vim”、“Mac 对决 Windows”或“Web Forms 还是 MVC”这类题目,表面上讨论热烈,实际上全无建设性。Joel 借用演化心理学分析道:人类进化出的本能会迫使大家去围观危险和冲突——如果有一只老虎正在吃人,所有人都会把视线聚焦在老虎身上,这远比旁边那些友善相处的人更抓人眼球。网络争论也是如此,冲突能带来天量流量,但作为知识资产而言却是一堆废纸。想要辩论,完全可以去 Hacker News 或者花钱去 Experts-Exchange,Stack Overflow 绝不允许这类“哪款显示器/显卡更好”的导购或口水帖污染 Google 搜索结果。 - “And so the stuff that draws in the page views on the internet? It's conflict. And it's useless as an artifact.” —— Joel Spolsky - 关闭重复问题(Exact Duplicate)是为了建立单一点的权威技术记录,让页面随着时间推移愈发完善。 - 非建设性讨论(Not Constructive)禁止主观偏好与导购调查,避免平台沦为充斥着个人站队与噪音的角斗场。 --- ### [34:41](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=2081s) 拒绝充当人肉调试器与 2500 万人的巨型都市隐喻 第四类关闭理由是**不是一个真正的问题(Not a Real Question)**。这类帖子的特征是模糊不清、空泛抽象或范围过大,例如有人发帖:“我需要一些从未被开发过的 Android 或 iPhone 移动应用创意,请大家帮忙,谢谢。”这类提问虽然带有问号,但若要给出合格的解答,几乎需要写出一整本书。平台明确规定:如果提问只有短短一句话,而正确的解答需要洋洋洒洒成千上万字,那么这类问题就不应该被提出。 第五类关闭理由则是**过于局部化(Too Localized)**。Joel 调侃道,这个名字起得很怪,是因为联合创始人 Jeff Atwood 根本不懂什么是软件本地化(Localization)和国际化(i18n),就随手造了这个词。它的真正含义是:提问只适用于发帖者在特定瞬间的特定孤立场景,对全球互联网上的其他任何人都没有参考价值。最典型的例子莫过于“我的代码在某个地方漏了一个括号,请帮我找出来”。现场观众对此报以心领神会的笑声。Joel 直言,Stack Overflow 不是提问者的人肉调试器。如果问题换成“在使用某种语言和某款调试器时,排查漏掉括号最高效的方法是什么”,就是一个极具价值的优质问题;但让社区帮你肉眼查错,就只能换来管理员冷酷的拒绝。Joel 面对非程序员时常打这样一个比方:这就好比有人在网上发帖问“为什么我家门前的人行道上停着一辆绿色的本田思域?”这种问题除了提问者自己,没有任何人关心或能给出通用答案。 在剖析完规则后,Joel 展现了一张韩国首尔的高清俯瞰图,将 Stack Exchange 的规模类比为一座超级大都市。当时首尔的人口大约是 2000 万,而 Stack Exchange 平台已汇聚了 2500 万用户。在这样一座庞大的数字都市中,高楼大厦与逼仄平房并存,存在着无数复杂的亚文化和细分领域。尽管每个人背景各异,但维系大都市运转的底层法则和公共秩序是通用的,唯有依靠严谨的规则约束,才能在数千万级人口的碰撞中维持整个生态的繁荣与秩序。 - “You know, one thing we have is we basically say, if your question is one sentence, and the correct answer would be a book, just don't ask it.” —— Joel Spolsky - “过于局部化”(Too Localized)的本质是拒绝一次性代码查错,提问必须具备普适的抽象意义,不能是私人的排障请求。 - 规模庞大的技术社区(2500 万人)等同于千万级人口的超级大都会,必须依靠规范化的制度来保障整体的高效运行。 ### [37:01](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=2221s) 演讲总结与问答开场:软件规模扩张与文化人类学 Joel Spolsky 在结束正式演讲前回顾了软件开发本质的转变:早年写代码只要能跑出计算结果就谢天谢地,但如今构建的软件却服务于成千上万乃至数以千万计的用户,软件的核心目标变成了促成人与人之间的良性互动。正如 Joel Spolsky 所强调的:“我们最终为成百上千、数百万甚至千万计的人构建软件,人与人之间真实的互动正是我们试图创造和实现的。而这正是你需要人类学的地方。”(“We ended up building software for hundreds, or thousands, or millions, or millions upon millions of people, where the actual interaction between the people is what we're trying to create and what we're trying to make happen. And that's where you need anthropology.”)在现场观众的热烈掌声中,他风趣地表示“我很乐意接受掌声”,随后开启了观众问答环节。 现场观众首先提问:硅谷地区的程序员参与度是否真的很低?Joel Spolsky 澄清称,尽管自己没做过基于真实人口比例的严格统计,但从全球程序员总数来看,硅谷程序员所占的比例本身就很小。关于硅谷开发者活跃度相对不高,团队内部有自己的理论:像 Google 这样的硅谷大厂员工,身边随便就能找到 800 个顶尖同事当面请教;相比之下,在内布拉斯加州林业局(Department of Forestry in Nebraska)写代码的程序员举目无亲,根本找不到人问问题。不仅如此,在偏远政府机构工作的人在日常工作中往往“缺乏足够挑战”,通过在 Stack Overflow 上解答疑难杂症,正好能填补智力挑战的缺口。讲到这里,Joel 还不忘调侃平台的传奇答题王者:“请别再去给 Jon Skeet 增加额外挑战了。” ### [38:33](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=2313s) 编程书本学习的黄昏与“知识缺页中断” 有观众感慨 Stack Overflow 比书本实用得多,但其粒度极细、两者的扩展逻辑并不相同。Joel Spolsky 顺势分享了早期创业时与出版界的交锋。他曾是多本畅销技术书的作者,与出版商 Apress 的创始人以及知名技术出版商 O'Reilly 创始人关系熟稔。当时 Joel 就对他们直言:程序员依靠通读大部头图书来学编程的时代正在彻底终结,或者说已经终结了。 现代人掌握编程的真实路径,通常是先找一段教程或示例代码,或者直接接手前人留下的工程,二话不说开始敲键盘;每当遇到卡壳时,程序员的大脑便会发生一次“知识缺页中断”(page fault in knowledge)——立刻打开 Google 搜索那一个具体问题,搞懂后再接着往下写。尽管这种碎片化、按需索取的方法谈不上全面系统,但这已成为绝大多数开发者的常态。听到这番论断后,Apress 创始人看好这一趋势并表示想投资,而 O'Reilly 方面则感受到了冒犯,坚信纸质技术书绝不可能消亡,甚至赌气上线了一个对标网站 O'Reilly Answers。Joel 幽默地嘲讽道:“信不信由你,那个网站现在还在网上挂着,而且总共至少有五页内容呢。” ```mermaid flowchart LR accTitle: 现代编程学习与排错流程 accDescr: 展示开发者如何通过接手代码与知识缺页中断在搜索引擎和社区中排错学习 subgraph Coding["日常开发"] A["接手项目 / 寻找代码示例"] --> B["动手编写代码"] B --> C{"遇到阻碍<br/>(知识缺页中断)"} end subgraph ProblemSolving["解决与反馈"] C -->|"Google 检索精准问题"| D["Stack Overflow 查找对应答案"] D --> E["汲取单一知识点"] E --> B end ``` ### [39:50](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=2390s) 重复问题综合征与过时答案难题 一名观众提及站内有鼓励“自问自答”或提出好问题的徽章,并询问平台在防范重复提问(Duplicates)和利用数据分析自动给答案方面的规划。Joel Spolsky 坦言,重复问题确实非常棘手。目前平台有一套相对初级的关键词搜索功能,当用户输入问题标题时,系统会尝试拦截并展示相似历史问题,尽管这套逻辑尚未融入太多机器学习算法,但已经成功拦截了海量重复提问。 然而,社区内普遍存在一种无法彻底根除的“重复题综合征”:许多解答者明知某个基础问题已经被问过一千遍,依然乐此不疲地第 37 次写下解答,因为这不仅能快速赚取声望(Reputation),而且闭着眼睛答简单题比花精力搜重、给别人挑错要轻松愉快得多。Joel 表示公司计划在未来一两年内引入更精密的机器学习算法来对付重复问题。 此外,重复内容还引发出更严重的衍生灾难——答案时效性过时。以 Android 系统为例,很多早年无法实现的功能随着 API 迭代如今已能实现;但当年有 37 个宣称“做不到”的老问题早已被 Google 赋予了极高的 SEO 权重,而真正写着“现在可以通过新特性做到”的最新解答,却因为太新、缺乏声望累积而在搜索结果中排不上号。由于人工编辑无法提供足够的眼球和精力去更新这些陈旧内容,依靠机器学习进行去重和时效校准成为团队迫在眉睫的课题。 ### [42:01](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=2521s) 垂直领域扩展:从技术极客到横向渗透的极限 针对观众提出“问答机制能否脱离编程、甚至拿来讨论中东局势”的疑问,Joel Spolsky 斩钉截铁地打趣回答:“在中东问题上根本不存在标准答案,所以你绝不可能在 Stack Exchange 上讨论中东局势。”他详细剖析了平台的横向扩展进展:当时平台共有 90 个 Stack Exchange 分站,其中 35 个已从严苛的 Beta 孵化测试中毕业(平台坚持只有确信能长盛不衰的社区才允许毕业)。这些分站贡献了整个网络约三分之一到一半的流量,其独立访客量已经足以与 Stack Overflow 本身相匹敌。 但 Joel 也指出,这些成功的站点大多依然带有强烈的极客属性: - 针对系统管理员的 Server Fault - 针对 PC 硬件高手的 Super User - 面向 WordPress、Drupal、数据库管理员(DBA)的专业站点 - 专注于数学排版语言的 TeX 社区 尚不明确这种极客扎堆是因为历史路径依赖(最初聚集的程序员顺理成章地要求开辟 Drupal 分站),还是由于机制本身天然契合技术逻辑。不过,非极客类站点也开始冒头:如育儿社区(Parenting)、包含各路承包商讨论干壁贴面工艺的家装社区(Home Improvement),以及兼具艺术与硬核技术的摄影社区(Photography)。 从商业数据来看,主站 Stack Overflow 的年增长率约为 56%——增速放缓是因为在覆盖率上它几乎触碰了天花板,世上还没用过它的程序员已经所剩无几;而其他 Stack Exchange 分站正以每年 350% 的惊人速度爆发式扩张。Joel 将这种扩张比作以程序员为圆心的同心圆(Concentric Circles):核心是程序员,向外一层是极客同好;程序员可能爱好摄影,但几乎不会有人同时又是全职律师。尽管法学社区尚未成型,但他透露下周就会有一项重磅新领域发布。 ```mermaid flowchart TD accTitle: Stack Exchange 同心圆扩张模型 accDescr: 展示从核心程序员群体向极客圈层及垂直专业领域的逐步辐射扩散 subgraph Core["核心圈层"] A["Stack Overflow<br/>(程序员基础盘 / 年增 56%)"] end subgraph GeekPeriphery["近邻极客同心圆"] B["Server Fault (运维)"] C["Super User (PC软硬件)"] D["Drupal / WordPress / TeX"] end subgraph BroadVerticals["外层垂直现实生活"] E["Photography (摄影)"] F["Home Improvement (家装/干壁工艺)"] G["Parenting (育儿)"] H["未来专业领域 (如法律等)"] end Core --> GeekPeriphery GeekPeriphery --> BroadVerticals ``` ### [45:01](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=2701s) 垂直与水平平台之争:为何 Quora 难以吸引顶级专家 谈及同台竞争的 Quora,Joel Spolsky 分析了两者的根本区别。在他眼中,Quora 本质上是一个“被诱导的博客平台”(provoked blogging)——它设立各种引人入胜的诱因,激励人们围绕某个问题抒发个人见解,写出一篇漂亮的博客式长文。 由于 Quora 走的是无所不包的水平泛化路线(Horizontal),任何话题都能讨论,导致它很难吸引严肃垂直领域的顶级行家。正如 Joel Spolsky 所下的断言:“如果你一开始做的是一个大而全的通用横向平台,你永远不可能吸引到那些硬核、偏执的顶尖专家,或者那些以此为生的职业从业者。你无法从横向平台中生长出纵向深度。”(“So I think that, if you start with something that's broad and horizontal in general, you're never going to attract the hard-core obsessive experts, or the people who this is their job, it's their profession. You can't get vertical from horizontal.”) Joel 犀利地指出,Quora 除了硅谷初创公司圈子外,在其他领域几乎找不到真正的顶级行家。这就像菲尔兹奖(Fields Medal)得主如果遇到数学难题,绝对不可能跑到 Yahoo! Answers 或 Quora 上求助;但他们愿意在 MathOverflow 上深度交流,因为放眼望去四周全是硬核高深的严肃数学难题。Stack Exchange 的战略是反其道而行之:通过自下而上孵化并深耕一个又一个高门槛的垂直领域(Verticals),最终在多个垂直阵地连成一片后,打造出令横向平台无法匹敌的专业知识网络。 ### [46:21](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=2781s) 开源争议:代码不开源,但数据属于全人类 在问答环节,有听众提出疑问:Stack Exchange 本身似乎并不是开源软件,那么如果有公司希望在企业内网部署或用于自己的团队,该如何实现?Joel Spolsky 坦率承认,Stack Exchange 平台的底层代码确实不是开源的。但在他们的理念中,系统最核心、最有价值的资产其实并不是软件代码本身,而是广大用户在输入框里敲下的文字内容。这些数据在法律和共享层面完全是“开源”的,全部采用知识共享许可协议(Creative Commons)。 ```mermaid flowchart TD accTitle: Stack Exchange 资产架构与数据开放模式 accDescr: 展示 Stack Exchange 软件不开源但数据、API 及数据库全量开放的架构关系 subgraph Proprietary["专有核心"] SE["Stack Exchange 软件源码<br/>(非开源 / 附带属性)"] end subgraph OpenAssets["开源共享资产 (Creative Commons)"] Data["用户生成的问答数据<br/>(核心价值所在)"] API["公开开放的 API 接口"] Dump["每月全量 SQL 数据库转储"] end subgraph Alternatives["社区替代方案"] OSQA["开源克隆项目<br/>(如 OSQA)"] end SE -.->|"驱动呈现"| Data Data --> API Data --> Dump ``` Joel 强调,Stack Exchange 提供了完全公开的 API,任何人都能访问其数据;他们甚至每月直接打包并发布整个 SQL 数据库转储(Database Dumps),供所有人免费下载、混搭重组(remix)与重复利用。Joel 幽默地补充道,如果有人拿了这些数据挂上广告,还删掉了所有指向 Stack Overflow 的原始链接,“我们大概会非常恼火,但我们可能也拿它没办法。”至于底层软件,市面上早就存在诸如 OSQA 这样仿造 Stack Overflow 机制的开源克隆项目。Joel 总结道:“我们始终认为,真正的价值在于社区,以及社区成员提出和回答的那些问题。” - **开源现状**:平台软件自身闭源,但全部问答文本采用 Creative Commons 许可协议。 - **数据开放机制**:提供完整的公共开放 API,并按月发布包含全量 SQL 数据库的免费转储包供公众下载。 - **替代方案**:想要自建类似系统的公司可以使用开源克隆产品(例如 OSQA)。 --- ### [47:32](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=2852s) 提问质量危机与“间歇性强化”的恶性循环 著名社区贡献者 Jon Skeet 随后接过了话筒。他指出,Joel 之前提到过要劝退那些不属于这个社区的自然成员,但现在每天在 Meta 论坛上,总有人因为提问被踩(down-voted)而怒气冲冲地质问:“我明明点击确认了我读懂所有规则,然后我发了个烂问题,你们凭什么对我这么苛刻?”Jon Skeet 发问:面对这种现状,究竟是该通过更好的用户教育来让他们别发烂问题,还是采取更强硬的手段把他们直接挡在门外? ```mermaid flowchart TD accTitle: 劣质问题产生与被处置的死循环 accDescr: 展现程序员盲目发帖、偶尔获得回答、被社区踩或关闭后在Meta抗议的循环过程 subgraph Incompetence["求助动机"] A["无法胜任工作的程序员<br/>直接粘贴老板交代的任务"] end subgraph PlatformCycle["平台交互循环"] B["发布到 Stack Overflow"] C{"是否偶得解答?<br/>(间歇性强化)"} D["受到鼓励继续发帖"] E["被点踩 / 标记关闭 / 删除"] end subgraph Backlash["社区反弹"] F["涌入 Meta 论坛发帖控诉<br/>'我遭到了审查 / 版主滥权'"] end A --> B B --> C C -->|"是"| D D --> B C -->|"否"| E E --> F ``` Joel 坦言这是一个巨大的痛点。互联网给每个人提供了一个文本输入框,很多人便产生了一种理所当然的特权心理(entitlement):“你既然在网上给了我一个输入框,我把字敲进去就是我的合法权利;一旦被点踩或被删,他们就会质问:‘凭什么剥夺我的文字出现在互联网上供所有人查看的权利?’”被处罚的用户随即大声抱怨版主滥权、搞审查,而不知情的局外人往往也会跟着附和,觉得审查言论非常糟糕。 Joel 揭示了一个残酷的行业现实:Stack Overflow 每天产生约 7,000 个问题,其中很多根本不是什么好问题。行业里存在着相当大一批根本无法胜任本职工作的程序员,他们被雇佣后无计可施,唯一的求生之道就是听从别人的指点——把老板交代的任务原封不动地敲进 Stack Overflow 的搜索框或提问框里碰运气。更糟糕的是,这就像训狗时用到的“间歇性强化”(intermittent reinforcement)机制:这些人偶尔真能碰巧蒙到一个答案,这激励着他们乐此不疲地继续发烂问题,直到被社区无情地狠狠拍倒。 > “在像 Stack Overflow 这么大规模的网站上,这是一个日益严重的问题。” —— Joel Spolsky - **提问体量**:Stack Overflow 当时每天接收超过 7,000 个新问题,良莠不齐。 - **心理机制**:用户普遍存在“既然给我输入框我就有权发布任何内容”的特权心态;一旦被删帖,就会扣上“言论审查”的帽子。 - **行为强化**:不合格的从业者把工作任务直接甩上网站,偶获解答的“间歇性强化”促使他们反复提交劣质内容。 --- ### [49:33](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=2973s) 规则教育的局限与机器学习初筛尝试 对于单纯依靠教育来解决问题,Joel 持怀疑态度。网站曾尝试过这类做法:当新人来提问时,系统会跳出提示:“等等!停下!先把这些文字通读一遍,确保你遵守了所有规定。”这就像是埃里克·雷蒙德(Eric Raymond)那篇长篇巨著《提问的智慧》(How to Ask Questions the Smart Way)——如果一个人真的把那套繁复详尽的排查步骤全部做完,他大概自己早就解决问题了,根本不需要再来提问。更何况,Stack Overflow 上很多极具价值的问题,反而是提问者在阅读官方文档心生疑问时随手发出来的;提问者可能原本也能在别处查到答案,但他发在 Stack Overflow 上,未来就能顺便造福 100 个在同一份文档上卡壳的后来者。 ```mermaid flowchart LR accTitle: Kaggle 机器学习过滤流程 accDescr: 描述 Stack Overflow 通过 Kaggle 竞赛训练 ML 模型预测违规问题的流程与挑战 subgraph ML_Contest["Kaggle 竞赛方案"] T["提问文本"] --> Model["预测模型<br/>(评估闭帖概率)"] F["强特征发现:<br/>句首字母小写"] -.-> Model end subgraph Outcome["拦截与反制"] Model --> Block["提前阻止/拦截劣质提问"] Block --> Bypass["提问者被迫学会首字母大写<br/>(劣质内容依然换汤不换药)"] end ``` 为了从技术层面解决这一难题,Stack Overflow 正在尝试引入机器学习。他们在 Kaggle 上发起了一项有奖竞赛,旨在通过自然语言文本预测一个问题未来是否会被社区关闭。在竞赛前,团队通过数据挖掘发现了一个极强的预测特征:**句子开头采用小写字母**。然而 Joel 也苦笑着承认,哪怕模型上线能提前拦截,其直接效果可能也只是迫使那些用户把句首改成大写,他们骨子里依然会想方设法把愚蠢的问题发出来。 - **《提问的智慧》悖论**:要求提问者完成极度详尽的预检往往会扼杀提问本身,而许多偶发、未深入检索的好问题恰恰对后续读者极具沉淀价值。 - **Kaggle 机器学习竞赛**:设立竞赛构建分类器,尝试在问题提交的第一时间识别其日后被关闭的概率。 - **关键文本特征**:模型训练中发现,句子首字母小写是预测该问题会被关闭的最强特征信号之一。 --- ### [51:43](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=3103s) 维基百科的启示:非直觉规则与可验证性 谈到社区面临的困境,Joel 引发了对维基百科(Wikipedia)治理规则的深入探讨。Stack Overflow 制定了许多看似反直觉的规则——比如明令禁止发布“选购推荐类问题”(如询问该买哪款 30 英寸显示器),以及严厉打击“主观类问题”和“范围过于局部的问题”(Too Localized)。普通用户往往无法理解这些规定,认为社区在故意刁难。 维基百科同样充斥着这类反直觉且经常遭人误解的底线规则。例如维基百科要求条目必须基于“第三方/第三级来源(tertiary sources)”,绝不采信第一手来源(primary sources):即使 Joel Spolsky 本人亲自去修改关于“Joel Spolsky”的维基词条中明显错误的内容,也是不被允许的,因为作为当事人,他自身并不具备客观的“可信度”。相反,《乡村之声》(The Village Voice)或《纽约时报》(The New York Times)这类媒体的报道被视为可信来源——哪怕这些媒体掌握的信息最初也是通过采访 Joel 本人才获知的。 ```mermaid flowchart TD accTitle: 维基百科条目准入逻辑与闭环 accDescr: 说明知名度与第三方来源两项规则如何支撑维基百科的可验证性核心要求 Rule1["规则一:知名度 (Notoriety)<br/>事物必须具备足够影响力"] Rule2["规则二:第三方可查证来源<br/>拒绝未经发表的第一手口述"] Rule1 & Rule2 --> Core["核心原则:可验证性 (Verifiability)<br/>'我们不在乎它是对是错,<br/>它只要能在书本或文献中被核实'"] Ex["案例:作家菲利普·罗斯 (Philip Roth)<br/>修改自己作品词条被拒,<br/>被迫先接受媒体采访发表,再引述该采访"] -.-> Rule2 ``` 另一个常遭诟病的规则是“知名度”(Notoriety)。很多人抗议道:“互联网的网页空间又用不完,我在谷歌新创客空间车库里看见摞着五个轮胎,把它们的型号、油漆颜色写成维基词条有什么不行?”维基百科之所以严厉禁止,是因为如果没有公开发表的书籍或报刊可供在图书馆核查,这些内容就根本无法被核实。Joel 总结道:“**我们不在乎它是对是错,它只要能在公开资料中被核实。**” Joel 还分享了一个著名的轶事:著名作家菲利普·罗斯(Philip Roth)曾亲自登录维基百科,试图纠正关于自己小说的一个错误,结果维基编辑直接回绝了他:“我知道你是菲利普·罗斯,我明白这一点。但除非这事在别处公开发表过,否则我们不接受你作为来源。”最后,菲利普·罗斯不得不专门就此事接受一家媒体的采访,然后再把那篇采访报道作为引用来源贴上去,维基百科才予以认可。 Joel 总结道,这类规则看似粗暴、反直觉且“反民主”,但如果缺失了它们,整个知识库就会充斥着完全无法验证的内容。许多人因为无法忍受自己的修改被撤销而愤怒地退出维基百科。而这正是 Stack Overflow 同样面临的恐惧与两难抉择:如果不近人情地频繁关闭局部问题,被批评版主刻薄残忍,确实会流失大量用户;但正是这些严格甚至苛刻的规则,才捍卫了网站卓越的品质与生命线。 > “我们并不在乎它是对是错,它必须是可核实的。” —— Joel Spolsky > “这就是为什么我们拥有一个如此出色的网站——因为我们有一套严格的规则。” —— Joel Spolsky - **反直觉规则的必要性**:Stack Overflow 禁止“购物求推荐”和“主观讨论”,正如维基百科坚持“禁止一手来源”和“知名度门槛”。 - **可验证性大于事实真相**:维基百科的核心逻辑是要求内容必须能在公开出版物中查证;没有验证机制,内容的正误就毫无意义。 - **菲利普·罗斯的遭遇**:原作者亲改词条被拒,必须“先接受媒体采访、再引用该采访”才能完成事实修改。 - **社区治理的两难困境**:严苛的规则导致部分受挫用户流失并指责平台冷酷,但妥协规则将直接毁灭整个知识库的质量基石。 ### [05:08](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=308s) 演讲结语与线下互动交流 演讲在此刻进入尾声,Joel Spolsky 发现给定的演讲时间已然用尽。他向在场的 Google 听众致以真挚的感谢,赞赏大家是一群极棒的倾听者与参与者,并鼓励大家在 Stack Overflow 社区里继续保持活跃,不断提出优质问题并积极解答他人的疑惑。Joel Spolsky 总结道:“Keep answering questions and asking questions on Stack Overflow.” 随后,Joel Spolsky 宣布自己还会留在现场至少十五分钟左右,如果台下听众还有其他未尽的问题或想要深入探讨的想法,欢迎随时走上台前直接与他当面交流。伴随着现场热烈的掌声,整场关于 Stack Exchange 文化人类学与社区设计的 Tech Talk 圆满结束。 - Joel Spolsky 表示时间已经用尽:“I'm all out of time.” - 他对在场观众的热情参与表示由衷感谢:“Thanks very much for coming to hear me. I really appreciate it all. You've been great.” - 演讲结束后,他预留了约 15 分钟的线下交流时间:“I'll be hanging out here for at least another 15 minutes or so. If you have any more questions you want to ask, come up and ask me.” ## Notable quotes > [05:49](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=349s) And what's interesting is, until you start noticing that the culture is acting according to the software, then you may forget to design the software in a way that makes the culture work. — Joel Spolsky > [19:00](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=1140s) You actually want to drive away as many morons as you possibly can, hopefully as quickly as possible. — Joel Spolsky > [23:53](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=1433s) And the neat thing about the badge is that they tell everybody the behavior that we want to incentivize, even if they're not directly incentivizing it. — Joel Spolsky > [31:08](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=1868s) And so the stuff that draws in the page views on the internet? It's conflict. And it's useless as an artifact. — Joel Spolsky > [34:41](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=2081s) You know, one thing we have is we basically say, if your question is one sentence, and the correct answer would be a book, just don't ask it. — Joel Spolsky > [37:01](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=2221s) We ended up building software for hundreds, or thousands, or millions, or millions upon millions of people, where the actual interaction between the people is what we're trying to create and what we're trying to make happen. And that's where you need anthropology. — Joel Spolsky > [45:01](https://www.youtube.com/watch?v=LpGA2fmAHvM&t=2701s) So I think that, if you start with something that's broad and horizontal in general, you're never going to attract the hard-core obsessive experts, or the people who this is their job, it's their profession. You can't get vertical from horizontal. — Joel Spolsky ## Mentioned Joel Spolsky, Mike Winton, Jeff Atwood, Jon Skeet, Marc Gravell, Alex Martelli, Colin Powell, Philip Roth, Eric Raymond, Stack Overflow, Stack Exchange, Google, Google TechTalks, Google Groups, Fog Creek Software, Microsoft, Juno Online Services, VBA, Usenet, DECwriter, VT-100, TRN, phpBB, Yahoo! Answers, Answers.com, Askville, MathOverflow, Mathematics Stack Exchange, Cross Validated, Mi Yodeya, Server Fault, Super User, TeX Stack Exchange, Hacker News, Reddit, Wikipedia, Experts-Exchange, Apress, O'Reilly, O'Reilly Answers, Quora, Kaggle, OSQA ## Video description Google Tech Talk September 10, 2012 Presented by Joel Spolsky. ABSTRACT Software developers love Stack Overflow and know that it has a ... unique culture to it. But what isn't as well known is how the structure of the software and technology behind Stack Overflow is designed to help shape that community. We'll discuss some of the unique aspects of the Stack Overflow community, the basics of cultural anthropology, and how we've designed the sites to facilitate the community that our users ask for. Speaker Info: Joel Spolsky is an expert on software development, co-founder of Fog Creek Software, and the co-creator of stackoverflow.com. His website Joel on Software is popular with software developers around the world and has been translated into over thirty languages. He has written four books about software development, including Smart and Gets Things Done: Joel Spolsky's Concise Guide to Finding the Best Technical Talent (Apress 2007). Joel has worked at Microsoft, where he designed VBA as a member of the Excel team, and at Juno Online Services, developing an Internet client used by millions. [Source](https://www.youtube.com/watch?v=LpGA2fmAHvM)

Source quotes

[5:49] Joel Spolsky: And what's interesting is, until you start noticing that the culture is acting according to the software, then you may forget to design the software in a way that makes the culture work. [19:00] Joel Spolsky: You actually want to drive away as many morons as you possibly can, hopefully as quickly as possible. [23:53] Joel Spolsky: And the neat thing about the badge is that they tell everybody the behavior that we want to incentivize, even if they're not directly incentivizing it. [31:08] Joel Spolsky: And so the stuff that draws in the page views on the internet? It's conflict. And it's useless as an artifact. [34:41] Joel Spolsky: You know, one thing we have is we basically say, if your question is one sentence, and the correct answer would be a book, just don't ask it. [37:01] Joel Spolsky: We ended up building software for hundreds, or thousands, or millions, or millions upon millions of people, where the actual interaction between the people is what we're trying to create and what we're trying to make happen. And that's where you need anthropology. [45:01] Joel Spolsky: So I think that, if you start with something that's broad and horizontal in general, you're never going to attract the hard-core obsessive experts, or the people who this is their job, it's their profession. You can't get vertical from horizontal.

Source quotes

[34:41] Joel Spolsky: if your question is one sentence, and the correct answer would be a book, just don't ask it. [14:54] Joel Spolsky: And everything about a community either draws people into the community or pushes them away. [32:54] Joel Spolsky: And so the stuff that draws in the page views on the internet? It's conflict. And it's useless as an artifact.

Original transcript

[0:25] MIKE WINTON: Hi, I'm Mike Winton. [0:26] And for those of you who don't know me, I lead Developer [0:28] Relations here at Google. [0:30] And today I would like to introduce our special guest, [0:33] Joel Spolsky. [0:35] Joel's an expert on software development [0:38] dating back many years. [0:40] Until long ago, he worked at Microsoft and designed VBA as [0:44] a member of the Excel team. [0:46] He's also worked at Juno Online Services on their [0:49] internet client. [0:51] And a little bit more recently, he co-founded Fog [0:54] Creek Software and is co-creator of [0:57] stackoverflow.com. [0:59] He's also got a popular website that's been translated [1:03] into over 30 languages. [1:05] He's written four books about software development. [1:09] And he's here to talk to us today about something else [1:12] he's an expert at, which is communities and the dynamics [1:16] and the anthropology of the communities. [1:20] And I would say we are so thrilled here at Google about [1:24] the existence of Stack Overflow. [1:28] And that's something that's really one of the fundamentals [1:30] about how we do developer support and how we do [1:35] developer relations, is going out and participating in the [1:37] conversations and in the community that developers are [1:40] having there at stackoverflow.com. [1:43] So with that, I'll hand you over to Joel. [1:46] Thank you, Joel. [1:46] JOEL SPOLSKY: Thanks. [1:47] [APPLAUSE] [1:54] JOEL SPOLSKY: So this talk is called-- [1:55] Can I walk around? [1:56] Yes. [1:57] I'm not sure what I'm attached to. [1:59] This talk isn't called The Cultural [2:01] Anthropology of Stack Exchange. [2:03] Did anybody take anthropology in college? [2:05] I had. [2:06] It was the worst class I ever took. [2:09] It was a class called Cultural Anthropology because I found [2:12] it to be unbelievably boring. [2:14] And there was all this stuff about Trobriand Islanders and [2:18] there was a tribe somewhere that exchanged blankets called [2:21] Potlach blankets. [2:22] This is a Canadian thing. [2:24] And there was kind of a lot of stuff that I found [2:28] unbelievably irrelevant and boring. [2:31] And then I discovered that this turned out to be my day [2:33] job, actually studying anthropology, especially as it [2:37] applies online. [2:39] The stack exchange network is 266,000,000 page views every [2:44] month, 25 million global monthly uniques. [2:48] That's one way we have of counting it. [2:50] We have another way of counting it, which is 50 [2:52] million uniques. [2:52] I like that way better but let's go with 25 million [2:57] different people visit every single month. [2:59] If we were a country, we would be up there with some of the [3:02] most reputable countries. [3:03] with-- [3:03] [LAUGHTER] [3:04] --their governance. [3:04] Not really a good-- [3:06] Not really an impressive list. [3:09] If we were a state, we would probably be the third largest [3:11] state and we're about to break-- [3:13] about to pass Texas. [3:16] So that's why the only way you can study this large group of [3:18] people is kind of the tools of anthropology, the tools of [3:22] cultural anthropology, studying people and what they [3:26] try to make, and how they create from the smallest [3:28] group, which is just a group of people to come together to [3:30] do something temporarily and then disband to larger [3:34] [INAUDIBLE] [3:35] like groups. [3:36] Now when I started programming a long time ago-- that's me. [3:39] No, I'm just kidding. [3:40] We had these tape drives that-- [3:42] No. [3:43] We thought that computing was about computing, like getting [3:45] a number, getting a result, solving a [3:47] problem using a computer. [3:49] And you felt like you were lucky if you could somehow [3:53] manage to create computer software that, at the end of [3:57] the day, ran the payroll at least once every two weeks [4:01] when the payroll was due. [4:03] And if you actually got payroll numbers, or tax [4:06] reports, or whatever, then you felt like you had [4:09] accomplished something. [4:11] But then people invented time-sharing in the '60s, and [4:16] I actually got my start sort of in this generation. [4:19] And so this is a little printing terminal called a [4:22] DECwriter and they were very popular. [4:24] And it would hook up with-- [4:28] It had to be a 300 baud modem, because any faster than that [4:30] and the print head couldn't keep up, even though there [4:33] were faster modems probably already being invented. [4:37] They came up with a later version of the DECwriter that [4:41] could do 1,200 baud. [4:43] And multiple people were online at once, for the first [4:46] time, instead of doing the batch jobs. [4:48] And that meant that all of a sudden you had the possibility [4:50] of communication, but 300 baud was still too slow to put [4:54] large amounts of text. [4:56] So you didn't really have conversations. [4:58] Email hadn't yet been invented. [4:59] Until the first terminals came out, the first what they [5:02] called-- this was called a smart terminal, because it had [5:04] the ability to move the cursor. [5:07] The VT-100 was sort of a classic of this era. [5:10] And they could go up to 1,200 baud, or [5:12] even 9,600 baud later. [5:13] And so, actually, that starts to be about as fast as your [5:16] eyes can read. [5:16] I would say most people read at about 2,400 baud. [5:19] And it starts to become reasonable to imagine doing [5:22] things like sending emails, so email was invented. [5:25] And the first versions of online support groups, and the [5:28] first ways that people communicated in groups online, [5:31] were just extensions of email. [5:32] Google Groups, to this day, you could trace it all the way [5:35] back to Usenet. [5:36] And Usenet you can trace all the way back to this idea of [5:39] just sending around mailing lists, where there would be [5:41] some stupid daemon that would just receive email at one [5:45] address, and send it out to people [5:46] according to a list, right? [5:47] A mailer daemon. [5:49] So Usenet was really interesting, because I used [5:52] Usenet a lot in college, and now it's almost completely [5:54] gone, except for distributing illegal things. [5:58] But it was this is a fairly late version of the Usenet [6:03] software TRN, the threaded RN. [6:06] RN stands for "read news." And up in the right-hand corner, [6:09] you can actually see the thread, and the idea of the [6:11] thread being that a conversation can have a parent [6:13] and multiple conversations can have multiple parents. [6:15] It's all wonderful for computer scientists, not for [6:18] regular people. [6:19] But one of the things that I noticed about Usenet was a [6:22] very interesting phenomenon-- [6:23] I know it's very hard to see this in the back-- but you [6:25] would get these conversations that showed artifacts of the [6:29] software, OK? [6:30] So this is kind of interesting. [6:32] This is a conversation on talk.politics.mideast, which I [6:35] participated in for about a month, until [6:36] it went into a loop. [6:37] And then it never emerged, it never got out of. [6:39] But an interesting thing to notice is when you hit R to [6:45] reply to a message in the RN program, the first thing you [6:50] have to know about Usenet is it's not client-server. [6:53] It was a totally distributed system, meaning everybody just [6:56] connected to each other and sent each other any messages [6:58] they hadn't already seen, and every node [7:01] didn't have enough people. [7:02] Hard drives were expensive, and so the average Usenet node [7:06] would have maybe three days worth of archives and throw [7:09] away everything older than three or four days. [7:11] They would keep enough so that you cold away for the weekend, [7:13] come back on Monday, and not have missed anything. [7:16] But very rarely did anybody have a big enough hard drive [7:19] to keep a whole week worth of Usenet, or two weeks. [7:22] So-- [7:23] which is one reason why it was so hard to assemble the Usenet [7:27] history, because it was never in one place. [7:29] Because you-- [7:30] when you're applying to a message, if there is a [7:32] probability that the person who's seeing your reply does [7:35] not have access any more to the thing that you were [7:37] replying to, that makes it hard to have a conversation. [7:41] And so people started quoting the message they [7:44] were replying to. [7:45] And then the software said, hey, let's make that a feature [7:47] of the software to make that easy. [7:48] So when you hit R, which meant reply, you've got this thing-- [7:51] it still happens in some email clients-- [7:53] where, the message you are responding to, every single [7:56] line got a little greater than in front of it, saying this is [7:59] what I'm replying to. [8:01] And what people did when confronted with the software [8:04] is interesting. [8:04] They would then go intersperse their own comments in between [8:09] the other people's comments. [8:09] And it was very easy to follow what was going on because the [8:12] greater thans were the original message. [8:15] And then you could have your nitpicky little answers [8:17] interspersed on every single sentence. [8:19] And so here you have-- clearly this is nonsense, this is [8:22] clearly nonsense, this is nonsense, this is [8:24] nonsense, et cetera. [8:25] You, what you would do is you would pick apart someone's [8:27] argument by picking apart every sentence of their [8:30] argument, which is a certain type of culture. [8:32] It was very popular on Usenet, the nitpicky culture. [8:38] Still exists on the internet in certain [8:39] places today, I believe. [8:43] And the bloggers later reinvented this, and they [8:45] called it fisking, if you're a blogger. [8:47] But this particular style is an artifact. [8:51] Its an accidental thing that happened because the software [8:54] happened to behave in a particular way. [8:56] And what's interesting is, until you start noticing that [8:59] the culture is acting according to the software, [9:03] then you may forget to design the software in a way that [9:06] makes the culture work. [9:08] So this is at Moscone Center actually. [9:11] And it's just and architectural image that shows [9:15] the concept of if you build something in a certain shape, [9:17] the people will go into that shape. [9:19] And that happens in architecture all the time. [9:20] Sometimes it's accidental. [9:22] You happen to have a nice curve that's awesome for [9:26] skateboarding, and you'll get kids skateboarding. [9:28] Well, this is a little bit more intentional, where if you [9:30] build a table that looks like it might be the right size for [9:32] chessboard, and it's got an 8 x 8 grid on it. [9:35] And you put two things that are the shape of humanoid [9:37] chairs on either side, then old men will come and sit down [9:39] and play chess. [9:41] Whatever you build, somebody will find a way to come use it [9:44] in the way that you built it, sometimes completely [9:46] non-intentionally. [9:47] This is the Spanish Steps in Rome, where you'll see people [9:51] come in and just sort of hangout, sitting on the steps. [9:54] It was built because there are two roads at different heights [9:56] and they can't be connected with the road. [9:58] It would be too steep. [9:59] So they built steps. [10:01] But actually, that turns out to be a really good place to [10:03] sit down if you're a teenager, or you're a backpacker, and [10:06] get your hair braided by gypsies, because it's just [10:09] sort of the perfect physical environment for that. [10:12] And then you can copy it. [10:13] So, in Times Square, they built this staircase that [10:15] doesn't go anywhere in hopes that backpackers and gypsies [10:17] will come sit down there. [10:21] If you don't know, if you're not paying attention, here's [10:23] what happened on software. [10:24] We had Usenet and then everything moved to the web [10:26] and they said well let's not use NNTP as [10:28] our protocol anymore. [10:30] And they started building these web versions of Usenet. [10:32] And the web versions of Usenet, which are still out [10:34] there all over the place today. [10:36] There's software called [INAUDIBLE] and phpBB There's [10:39] a whole bunch of these packages. [10:40] They're actually just copying Usenet. [10:42] They work in the same way, except that they have the [10:44] Smiley face that rolls to the left and the right when you' [10:46] enter a rolling smiley face command. [10:48] But other than that, they're functionally equivalent to [10:52] Usenet, which is an accidental design that actually, [10:54] literally came from email. [10:56] So, look, nothing has been sort of innovated here. [10:59] So if you want to be Utopian-- [11:00] I don't know why I have this picture here. [11:01] I guess this is a Utopian picture. [11:05] You have to actually design stuff a little bit [11:07] intentionally. [11:08] That's what we started to do with Stack Exchange. [11:10] I feel like we're about 10% of the way there. [11:13] And I just want to show you some examples of how we've [11:15] done this at Stack Overflow and Stack Exchange over the [11:19] four years that we've been out and in business. [11:25] All right, so one thing which we focused very much on is [11:28] first impressions. [11:29] Does anybody know what this is a picture of, anybody? [11:31] AUDIENCE: Occupy Wall Street. [11:32] JOEL SPOLSKY: Occupy Wall Street. [11:33] It's already starting to be historical, but [11:34] they're still there. [11:35] And there's a lot of clues, obviously, besides the, well, [11:40] it's on Wall Street, so that helps, if you saw that little [11:42] thingy there. [11:45] Like, this fellow here, who one of these days is going to [11:47] accost me after one of these events because I [11:48] don't know who it is. [11:49] But he's got a Zapata t-shirt, which is awesome. [11:51] I don't know if he knows who that is, he probably knows. [11:53] He's got kind of like a kaffiyeh, but it's like [11:56] interesting colors, bright colors. [11:59] Here we have a person who loves the 99% with really, [12:01] really expensive headphones. [12:02] [LAUGHTER] [12:04] That's OK. [12:06] There's just all kinds-- [12:06] everybody is trying to sort of put out their signals as to [12:09] who they are, what they believe in, because they want [12:12] to attract more people like them to their cause, right? [12:16] So what's the first impression that we got? [12:18] I sent Jeff Atwood out, and I said, when we started this [12:21] project four years ago, more than four years ago. [12:23] I said, go look at some Q&A sites that are out there. [12:28] Because here's my idea, it's different. [12:29] And what he found was Yahoo! [12:32] Answers is the big one. [12:33] Answers.com is also pretty big. [12:35] This is Yahoo! [12:36] Answers. [12:37] What's your first impression of Yahoo! [12:38] Answers? [12:38] This is a screen shot of the home page I [12:40] took at some point. [12:41] What are you-- [12:42] I use to clean out my coffee maker. [12:43] What is your favorite plant of all time? [12:45] Anyone up for a food/drink, true/false survey? [12:49] What are you listening to? [12:50] What kind of questions are these? [12:51] I mean, they're questions, right? [12:52] They have question marks-- [12:54] sometimes. [12:56] What are you listening to? [12:57] What is the last thing you ate? [12:59] Can I die from carbon monoxide? [13:01] No, no, it's OK. [13:03] No. [13:05] This is the clue here. [13:06] It's all the way at the bottom. [13:08] I keep forgetting to do my homework. [13:10] That's the clue, the secret clue. [13:11] Does anybody know the secret? [13:13] Yahoo! [13:13] Answers? [13:15] AUDIENCE: Six-year olds. [13:15] JOEL SPOLSKY: Well, it's slightly-- [13:16] They're 12. [13:17] They're latchkey kids. [13:18] It's really, really active in the afternoon when kids get [13:20] home from school, especially girls, because they have no [13:24] permanent identity here. [13:25] It's not like Facebook, where you set up an identity and [13:27] then people can be creepy. [13:29] You can be totally anonymous, and then you could just be [13:31] another person tomorrow when you ask a different question. [13:33] So Yahoo! [13:35] Answers became a chat room for teenagers. [13:38] And when you look at the website, you would be deterred [13:41] from using Yahoo! [13:42] Answers for any purpose other than talking about how to, you [13:45] know, what you're listening to. [13:48] Here's Answers.com again. [13:50] What kind of attorney is needed for advice on getting [13:51] someone you know committed to a mental institution? [13:54] I like that question. [13:55] That's a good question. [13:56] So, never mind. [13:57] What's supplied does the U.S. get from Ghana? [13:58] I don't know. [13:59] Who cares. [14:01] Another clue. [14:02] What are some examples of a welcome address for JS prom? [14:06] JS prom, anybody? [14:07] It's not JavaScript, that's what I thought. [14:10] There is no JavaScript prom. [14:12] This is obviously a kid that is so young that they don't [14:14] even get that this prom that they have at their school, [14:16] called the JS prom, is not, like, a [14:19] universal internet thing. [14:21] It's just specific to their school. [14:23] Or they don't get that the internet is a universal thing. [14:25] Either way, once again, what's going on here [14:27] is this is for kids. [14:28] What is the rights of McDonald's? [14:30] That's a good one. [14:33] Askville. [14:34] Amazon bought this little site called Askville and then [14:36] proceeded to ignore it. [14:37] How can I start making the right choices in my life? [14:39] What is the 21 largest states? [14:43] What is the interval, some sort of math-- [14:45] This is actually a question, at least, [14:47] that makes some sense. [14:48] And the answer is, like, this is homework. [14:50] We don't do homework questions here. [14:54] So again, what's the first impression on Stack Overflow? [14:56] The first impression on Stack Overflow is, if you're a [14:57] programmer, you get that these are programmer questions. [15:00] You're like, oh look, it's full of programmer questions. [15:01] If you're not a programmer, you don't understand a single [15:04] thing and you leave. [15:08] Which is a good thing, this is what we want. [15:12] Here's one of our sites, a network of 90 stack exchange [15:15] sites, for Jewish life and learning. [15:17] Again, unless you actually went to a yeshiva and studied [15:20] sort of extensively into the details of orthodox Jewish [15:24] law, you probably don't even understand the questions [15:28] because they're written in a special language called [15:30] Yeshiva English, which has pretty much replaced Yiddish. [15:33] It's English but, I mean, all those words are Hebrew. [15:35] Take this one. [15:36] Is it possible to have hametz on the Shabbat [15:37] directly after Pesach? [15:40] In English, that would be is it possible to-- [15:42] Are you permitted to eat leavened bread on the Sabbath [15:44] which immediately follows Passover? [15:46] So I can translate that to English, [15:47] but it's not in English. [15:48] Why isn't it in English? [15:49] Because you're trying to push away the people that don't [15:51] speak Yeshiva English because, this is-- [15:53] Not only is this a site for Jewish life and learning as [15:55] advertised, it's actually kind of orthodox, right? [15:57] And we actually kind of don't really want conservative, [15:59] uneducated Jews hanging out here. [16:02] That's not my decision. [16:03] I mean, I founded a conservative Kibbutz. [16:08] I'm a strong-- [16:10] but I also went to Yeshiva and I get what's going on here. [16:15] Cross Validated is a site about statistics. [16:17] Comparing two methods of sampling from bivariate-- [16:19] Again, I don't understand it, but if you're into statistics, [16:21] you immediately recognize it. [16:22] You Immediately say, OK, this is a real statistics site. [16:25] This is for people that actually do statistics, and [16:28] understand it. [16:29] And know it. [16:30] Now Askville does have sections. [16:31] So to be fair, I tried to go into the Askville math section [16:34] and see what was going on, what they had going on in [16:36] their math section. [16:37] Write an algorithm to find the number of between 7 and 100 [16:39] which is exactly divisible by-- [16:40] OK. [16:41] Apply for apartments online. [16:43] Asked 13-- [16:44] What does that tell you, asked 13 hours ago? [16:46] AUDIENCE: It's spam. [16:47] JOEL SPOLSKY: It's spam. [16:48] What else? [16:48] What does it tell you, though? [16:49] AUDIENCE: [INAUDIBLE] [16:50] JOEL SPOLSKY: Nobody cares. [16:51] Like, nobody's cleaning up the spam here, so nobody goes [16:53] here, right? [16:54] Because there's still spam and nobody's cleaning it up. [16:55] What is the size of a plot in the Caribbean? [16:57] I like that question. [16:58] These are the full text, I think. [17:00] 40, maybe 50. [17:02] OK. [17:04] So here's my problem. [17:04] I'm 20 years old. [17:05] Didn't really attend high school and know only super [17:08] basic math, meaning plus. [17:12] All right. [17:13] So if you're a Fields medallist or a math professor [17:16] at Berkeley, you don't go to that site. [17:18] You go to this one. [17:18] This is our math site. [17:20] We've got another. [17:20] We have two math sites, because the mathematicians [17:24] have bifurcated. [17:24] This is the PhD-level mathematics. [17:26] Again, I can't understand a single thing there. [17:29] I don't even know what they're talking about. [17:30] I barely understand the tags in terms of knowing about [17:34] areas of mathematics. [17:35] But we have two sites. [17:36] Math overflow has a rule that if a math professor is likely [17:40] to know the answer to your question, don't [17:42] ask it on math overflow. [17:44] Because math overflow is for research-level questions, the [17:47] kind of things that most people probably don't [17:50] know the answer to. [17:51] Otherwise, you have to go to math stack exchange, which as [17:53] you can see, is liberal and just allows anybody to ask any [17:55] kind of crappy math question that they want on there. [18:00] So once again, it's all about what's that first impression [18:02] that you give. [18:03] This just a random picture that I took. [18:07] You could-- [18:07] There's a few things going on here that you [18:09] can immediately tell. [18:10] There's some kids are playing Ultimate Frisbee. [18:13] This is Gail. [18:14] Because it looks like Gail. [18:16] There's no leaves on the trees, [18:18] which means it's winter. [18:19] And yet they're wearing shorts. [18:20] So it's either the first day of spring or, more likely, [18:23] their Californians because they're [18:24] playing Ultimate Frisbee. [18:26] And they also kind of look like jocks to me, actually, [18:29] based on the sunglasses, and the backwards baseball cap, [18:33] and all that kind of stuff. [18:34] When you see this scene, you're walking down campus and [18:37] you see these kids, you immediately say, oh my God, I [18:39] want to join that because I am a Californian at Yale who [18:43] plays Ultimate Frisbee and I'm kind of a jock. [18:45] Or there's a million things there to turn you off. [18:47] It doesn't matter. [18:49] But everything about a community either draws people [18:52] into the community or pushes them away. [18:53] And so many people in web design have been trying to [18:55] figure out how do we make a web page that sucks every [18:57] single person in the known universe in. [19:00] And when you're trying to get expert answers to difficult [19:02] questions, that is the opposite problem. [19:05] You actually want to drive away as many morons as you [19:07] possibly can, hopefully as quickly as possible. [19:11] All right. [19:11] So that was one big area, that's first impressions. [19:14] And that's a really important thing to us [19:15] in the Stack Exchange. [19:15] Number two, voting. [19:17] Obviously, is an important part of stack exchange. [19:19] I'll breeze through this because you're all [19:20] familiar with this. [19:22] Questions are voted up. [19:24] Answers are even voted up. [19:25] Here are some hot questions from the previous week. [19:30] People can vote up the questions they like. [19:31] They vote down the questions they don't like. [19:33] They vote up the answers that they like. [19:34] That's really cool because it sorts the answers in the order [19:38] of how good they are. [19:40] But what it also means is that you can't have random [19:42] conversations because the quotes keep getting quoted out [19:45] of context. [19:46] So you can't get into a back and forth [19:48] argument on Stack Exchange. [19:49] You can in the comments, but we'll delete that. [19:53] But you can't get into a back and forth argument because [19:55] those back and forth arguments are useless. [19:56] You're not creating a useful artifact for the internet. [20:01] Voting is mostly important because it leads to [20:03] reputation. [20:03] Reputation is this thing that tells you do I trust people? [20:06] This is Colin Powell. [20:08] This is what the US Army calls "fruit salad" that he's [20:10] wearing, which tells you all kinds of useful stuff about [20:13] who he's been and campaigns he's been on. [20:14] And his reputation is he's got four little silver stars on [20:17] his epaulette. [20:19] And we've got the same thing. [20:21] Here are some top users from stack overflow by reputation. [20:24] Jon Skeet, who you may know, works for you guys in London. [20:26] JON SKEET: How you doing? [20:28] JOEL SPOLSKY: Oh! [20:28] Oh my god, he's here. [20:29] [LAUGHTER] [20:38] One thing that's interesting to notice here-- [20:39] I'd never noticed this until we start putting [20:41] locations on the site. [20:44] Marc Gravell, who works for us now, Forest of Dean. [20:47] I don't know where that is. [20:49] It's in Never Never Land, somewhere, it's [20:52] Middle Earth, UK. [20:55] we don't care. [20:55] He's just a brain in a box. [20:56] He types code for us. [20:57] It's awesome. [20:59] Rouen, France. [21:00] Curacao. [21:01] Madison, Wisconsin. [21:02] New Jersey. [21:02] France. [21:04] Alex Martelli. [21:04] Is Alex here? [21:05] He actually works here at this office. [21:07] He's probably heard this speech three times. [21:09] But other than Alex, I don't think there's anyone here in [21:12] California. [21:15] Very, very little participation from the Silicon [21:17] Valley, guys. [21:17] I don't know why. [21:21] Those little badges that you were seeing. [21:24] When you start out on the site, you start with a little [21:26] teeny tiny badge. [21:27] And this is somebody who is-- they've made [21:30] a name, Geek Matter. [21:31] They haven't customized their avatar. [21:33] So we gave them something based on their IP address. [21:35] We gave them some triangles. [21:37] And you start out with one reputation which you get for [21:39] successfully typing in your name. [21:44] But you start to earn more and more reputation as [21:45] people vote you up. [21:46] So Favolas, who's there, has to 208 points and also some [21:51] little badges. [21:52] There's a little silver badge and some bronze badges there. [21:55] And we'll also let you customize your avatar, and the [21:58] accept rate. [21:58] At one point, we were trying to encourage people to accept [22:00] answers that were good and so we're displaying also what [22:02] percentage of answers that you accept. [22:04] And you could earn sort of more and more points. [22:06] Daniel Hilgarth here-- [22:07] It's hard to see, but his avatar is displayed with a [22:10] drop shadow. [22:11] And the drop shadow is the subtle hint that, if you move [22:13] your mouse over that, you get like a little customized [22:16] profile that shows up. [22:17] So when you earn, I believe 10,000 reps, you start to get [22:20] the right to customize the profile that shows up when [22:23] somebody mouses over you. [22:24] And there's John, and you can tell you what date this from [22:27] based on when I took the screen shot, based on [22:29] when you have 400-- [22:30] only 403,000 rep. [22:31] JON SKEET: March? [22:32] JOEL SPOLSKY: March. [22:35] And you were just about to hit 3000 badges over there. [22:38] As a good accept rate, as well. [22:41] But you can actually go higher than Jon Skeet, which is you [22:43] could become a moderator. [22:44] That's an elected position and mostly a burden that involves [22:49] having to spend a lot of time on the site deleting bad [22:51] behavior, instead of answering questions. [22:53] And then you get this extra little diamond that shows up [22:57] next your name. [22:57] So that's all the flair. [22:59] People wear flair for all kinds of reasons. [23:01] It's an important part, flair that you wear in real life. [23:05] This fellow, I think, has got five things going on here, [23:08] which you may need to notice. [23:09] He's got the Confederate flag on his cap, which I have to [23:12] explain, when I'm outside the United [23:13] States, what that means. [23:16] He's got a lot of tattoos. [23:18] And I won't even try to explain what [23:19] each of these means. [23:20] I'm sure they mean something. [23:21] He's got big muscles. [23:22] He's wearing a tank top, or a wife beater, as we call it. [23:25] He's got a spare tank top, in case the main, primary, tank [23:29] top fails for some reason. [23:31] And a Harley Davidson bike logo. [23:34] So just think about all the things that he had to think of [23:36] in the morning, when he was like, I'm going to go outside [23:38] and I'm going to project this image of myself. [23:41] And he the sort of decorated himself Shah-of-Iran style, in [23:46] a way, just to sort of kind of festoon himself with all those [23:48] little graphics. [23:49] So that's an important thing that happens in real life. [23:51] And we do it in Stack Exchange, too. [23:53] We've got these badges. [23:54] The badges are interesting, because the first thing people [23:56] say to me about badges is, like, I don't really care [23:59] about badges. [23:59] Who cares about badges. [24:00] They're stupid. [24:01] How do you get people to care about badges? [24:03] They're not worth anything. [24:05] The badges probably motivate maybe 1% of the participants [24:10] in our site. [24:10] Very, very small number of people that actually say I [24:13] want to learn this badge. [24:14] But everybody on the site knows about them. [24:17] And all you have to do a sort of imagine that one person has [24:20] seen your flair to actually care about it. [24:22] And the neat thing about the badge is that they tell [24:27] everybody the behavior that we want to incentivize, even if [24:30] they're not directly incentivizing it. [24:32] So there's all kinds of things that are norms of Stack [24:34] Exchange, and we have communicated to the world, [24:36] hey, these are norms, because we give you badges for them. [24:39] And so if you were ever wondering whether you're [24:41] allowed to ask your own question, then just go look. [24:44] You'll see that there's a badge that you can earn for [24:46] asking your own question. [24:46] If you've ever wondered if we think it's a good idea to ask [24:49] a question was asked two years ago, well, you [24:50] earn a badge for that. [24:52] And so it's a sort of way of saying, hey, all of these are [24:56] behaviors that we want to see on the site. [25:00] Reputation translates into jobs, actually, and so the [25:05] monetization scheme, if you could call it that, of Stack [25:08] Overflow, is to show job list things to people. [25:12] And because we have this large audience of people that use [25:14] Stack Overflow, and we know what they we know and what [25:16] they're good at, we can fill positions very well. [25:21] All right, government. [25:23] Every culture of three or more people has some kind of [25:25] government. [25:26] Two or more people? [25:27] One person and a dog as a government? [25:31] There's always all kinds of rules around there. [25:35] We try to push a lot of the simple governance, the [25:38] policing, on to the population. [25:40] And so, as you earn reputation on Stack Overflow, we decide [25:44] basically, all right. [25:45] You know how the system works, and so we can let you do stuff [25:49] to self-moderate, so that the community can sort of [25:51] self-moderate itself in many ways. [25:52] So for example, if you have 1,500 reputation, you can [25:55] create a tag. [25:56] If you have 10,000 reputation, you can vote to delete a [25:59] question which has already been closed, [26:01] et cetera, et cetera. [26:01] So as you earn more and more reputation, you get rights to [26:04] do stuff on the site. [26:07] And that sort of the mass terrorism of the population [26:11] terrorizing itself. [26:13] I'm trying to think what Kafka story that corresponds to. [26:18] But government also-- [26:20] Another interesting thing is-- [26:22] Well, let me do a poll in this room. [26:24] How many people in this room use stack overflow? [26:27] In any way, shape, or form? [26:28] Everybody. [26:29] How many people have been on Meta Stack Overflow? [26:32] If you look around, that's about 10%. [26:34] It's much smaller. [26:35] Meta Stack Overflow is the place where the actual [26:38] policies of the site-- [26:40] it's the site about Stack Overflow-- [26:41] are discussed. [26:42] And it's sort of the back room, if you're really deeply [26:44] involved, deeply interested. [26:46] You may actually also be interested in going on there [26:48] to see kind of how the things govern themselves. [26:50] And this is sort of the equivalent of the civic [26:53] society kind of club, or whatever, where people talk [26:57] behind the scenes. [26:58] And then there's an even deeper level, which is-- [27:00] How many people have been in our chat system? [27:03] That is three. [27:04] Four. [27:05] So this is the teacher's lounge. [27:08] This is where the 275 moderators on the [27:09] network hang out. [27:11] And there is a chat system there. [27:12] Anybody can go in there, and make rooms, and have [27:14] conversations out there. [27:15] But again, it's sort of the highest level of deep, dark [27:19] engagement in Stack Overflow. [27:21] As you become bored with the boring little [27:23] question-and-answer game that we gave you, this is the place [27:26] where you can actually sort of talk about things. [27:28] And that's actually where the live government has. [27:30] And this is actually where you'll see live decisions [27:32] being taken and discussed by moderators about how to [27:34] moderate certain things. [27:37] We've also got a blog. [27:38] And the blog is all about sort of promulgating the decrees [27:42] from Stack Overflow, with Stack Exchange central. [27:46] And we have laws, so let me talk about law, because every [27:49] society has its rules of the government. [27:51] And government essentially comes up with the laws. [27:55] We only have one important rule, which is we hate fun. [27:59] This is the logo of Stack Overflow hates fun. [28:03] And we hate fun is all about how there are millions of [28:07] things you're not allowed to do on Stack Overflow, [28:09] especially anything that you might enjoy, or that might be [28:11] popular, or that might get on Hacker News, or Reddit. [28:15] And that comes from sort of an observation that there's a lot [28:18] of things you could do in discussion groups online that [28:21] don't really leave a useful artifact [28:23] behind on the internet. [28:24] So a very, very important observation, which I have to [28:27] keep repeating again and again and again, [28:28] because nobody gets it. [28:29] But this is the most important thing. [28:31] If somebody asks you about the design principles of Stack [28:33] Overflow, of Stack Exchange, the most important thing you [28:35] have to remember is that the question is [28:37] asked by one person. [28:40] It's answered by, let's say, one to [28:43] four, five people usually. [28:46] But it's viewed by hundreds of people. [28:48] And hundreds of people will get benefit from that [28:50] question, out of just that one person who asked for it. [28:54] So if you ask us who we're optimizing for, it's not the [28:56] person asking the question. [28:57] It's not the people answering the question, although we want [29:00] them both to be somewhat happy. [29:02] We're doing this all for the hundreds of people. [29:04] A very fundamental part of the initial design direction of [29:08] stack overflow is that Google is the user [29:11] interface to Stack Overflow. [29:12] You're on our site because you typed a question on Google. [29:15] I used to say search engines. [29:17] [LAUGHTER] [29:20] Google is our user interface. [29:22] You typed a question on Google, and you found a page. [29:25] And if we have inventory there, it has [29:27] to be really good. [29:28] And that means everything is optimized for creating this [29:30] great artifact, this historical record. [29:33] And the biggest problem with Usenet and the old phpBB [29:36] sites, and Experts, whatever it was called. [29:39] Can't remember. [29:40] And all kinds of other sites, that were out there, the [29:43] biggest problem is that the inventory that they had to [29:45] give Google was just these crystallized, captured, old [29:50] conversations that took place a long time ago. [29:53] And there were all kinds of things that [29:54] were wrong about it. [29:54] First of all, it's a conversation. [29:56] In a conversation, you see this back and forth and you [29:58] see this ridiculous, hey, did anybody-- [30:00] Does anybody know how to solve this problem? [30:02] I don't know, but did you try X? [30:03] Yeah, that didn't work. [30:04] Well, did you try this other thing? [30:05] Look, I already asked you if you said da da da, and I said, [30:08] in my thing, da da da. [30:09] OK. [30:10] Hey, does anybody know the answer to da da da? [30:11] This is now answer number 17. [30:13] Hey, does anybody know the answer, because I'm having the [30:14] same problem-- one year later. [30:16] And then, if you do get an answer, it's on page seven, [30:19] and it's wrong, and it involves some kind of a [30:21] cross-site scripting vulnerability when [30:22] you copied the code. [30:24] So if you're not thinking about [30:26] creating a useful artifact-- [30:28] And then Google also has this incidental problem, which is [30:30] that the older a page is, the more respectable it looks. [30:33] It's a page rank. [30:34] And so, a lot of times you would search for things, and [30:38] they would get you answers that were just really old. [30:41] And that were crystallized and that were not even close to [30:43] being the actual solution to a problem. [30:46] So we started optimizing around that. [30:48] We said, you've got to vote. [30:49] You've got to stop having conversations. [30:53] You've got to have everything be editable. [30:54] Because, for us, it's the artifact that we're creating, [30:57] a lot like Wikipedia. [30:58] There are people asking questions, and there are [31:00] people answering them, but the goal is for the 300 people [31:03] that find that question later, to be able [31:06] to get a good answer. [31:08] So we have these things called close reasons. [31:10] And people hate us because we close questions. [31:11] And they're like, this is the end of Stack Overflow. [31:13] It's going to all collapse because you moderators are [31:16] heavy handed. [31:16] And you're closing all kinds of useful stuff that would [31:18] have been fun, or entertaining, or had thousands [31:20] of page views, or went all the way to number [31:22] one in Hacker News. [31:23] And we have five reasons for closing a question, [31:27] specifically. [31:28] And these are the five. [31:30] And I'm going to talk about them. [31:30] They're mostly non-obvious, right? [31:33] Exact duplicate. [31:34] Pretty obvious. [31:35] But remember, the reason we close duplicates is because, [31:39] as long as we're trying to create a record for how to [31:41] solve a particular problem, we want to create that record in [31:45] one single place. [31:46] Because then you have everybody going to that page [31:48] and it can be more canonical. [31:49] It cam be more useful, more helpful, if you have 100 eyes [31:52] on that question, instead of 50 eyes on this one and 50 [31:54] eyes on that one. [31:55] The question is just going to get better [31:56] and better over time. [31:58] So here's an example of an exact duplicate question. [32:00] Can anyone explain Monads? [32:02] And then that goes off to another page. [32:05] It goes into great detail on that. [32:07] We don't get a lot of things closed as exact duplicates, [32:09] because they really have to be exact. [32:10] If we have a slightly different question, we do want [32:12] to answer it. [32:14] OK, this is what we call off-topic. [32:15] Toilet issue in my company. [32:17] Not strictly a programming problem, but any help will be [32:19] appreciated. [32:20] I have a lady employee who is joining the company tomorrow, [32:22] and I want to convey her a message that the bathroom [32:24] facilities in the office are out of order. [32:26] How do I tell her to relieve herself before [32:27] arriving in the morning? [32:31] It is technically not a programming question. [32:36] And while it may be important to you, and this is a [32:40] respected member of our site, we're not going to answer it. [32:45] Sorry. [32:45] It just doesn't belong on the site. [32:48] Off-topic. [32:49] People generally understand what that means, to be off [32:50] topic, although we have a rather narrow [32:53] definition of on-topic. [32:54] OK. [32:54] Not constructive. [32:55] Again, the word not constructive is not clear what [32:57] that means to people. [33:00] Question is not a good fit to our format. [33:02] We expect answers to involve facts, [33:04] references, specific expertise. [33:05] This question will likely solicit opinion, debate, [33:08] arguments, polling, or extended discussion. [33:11] Those are all the things we hate. [33:12] Once again, opinion, debate, argument, polling, extended [33:15] discussion. [33:15] They're great things. [33:17] But they do not create an artifact. [33:19] They do not create a useful resource that anybody can [33:21] learn from. [33:21] If you've ever seen one of these Emacs versus Vim, or Mac [33:25] versus Windows. [33:25] This one is Web forms versus MVC developer. [33:28] If you've ever seen one of these debates on the internet, [33:30] they always look so fun. [33:32] But they're not. [33:33] And they're not interesting. [33:34] And what's interesting about these [33:35] debates, is they get heated. [33:36] And then it draws a crowd, because everybody [33:39] wants to see the fight. [33:40] Because you've evolved. [33:41] If there's something dangerous going on, a tiger is eating a [33:44] person, you've evolved to pay close attention to that tiger [33:47] eating the person. [33:48] And that is way more important than the people being friendly [33:52] over there. [33:53] You pay attention to the tiger. [33:54] And so the stuff that draws in the page [33:56] views on the internet? [33:57] It's conflict. [33:58] And it's useless as an artifact. [34:01] It's fun to participate in, so go to Hacker News or wherever. [34:04] Go elsewhere. [34:05] Buy a subscription on experts-exchange [34:07] and have your debates. [34:09] But on our site, that's not what we're trying to do. [34:11] And so we want things that can be answered, that are useful, [34:13] that have answers. [34:14] We don't want "which is better, x or y?" We don't want [34:17] shopping questions. "Which video monitor should I buy?" [34:19] That stuff, believe it or not, I know you need to know which [34:21] video monitor you should buy. [34:23] And I know that the-- or display adapter-- and I know [34:26] that the programmers on Stack Overflow all have amazing [34:29] opinions about this and they're great people to ask, [34:31] but you can't do it on our site because you're going to [34:33] make a useless piece of crap that's going to come up in [34:35] someone's Google results. [34:36] And they're going to be pissed off because they will have [34:37] wasted time. [34:39] So it we close them. [34:40] It's not constructive. [34:41] Now, not a real question is another rule. [34:44] Need ideas about mobile apps, Android iPhone, which has [34:46] never been created before. [34:48] Thanks for the help, please. [34:50] I mean this is-- [34:52] You can see how it's a question. [34:53] It's got a question mark and stuff. [34:54] And he's going to get a lot answer's, probably, I think. [34:58] But this is what we call the question is ambiguous, vague, [35:01] incomplete, overly broad, rhetorical. [35:04] You know, one thing we have is we basically say, if your [35:06] question is one sentence, and the correct answer would be a [35:09] book, just don't ask it. [35:12] Because we don't want to see those questions on our site. [35:15] OK. [35:15] I'm missing a bracket somewhere. [35:17] [LAUGHTER] [35:20] I think you recognize this question. [35:22] [LAUGHTER] [35:28] This is-- we have a weird terminology for that. [35:29] We call this "too localized." That's because Jeff Atwood [35:33] doesn't know anything about localization or [35:35] internationalization, so he used that word for another [35:37] purpose, which is a question that really only applies to [35:40] one person in one circumstance. [35:41] It's never going to apply again. [35:42] Once again, to the global internet audience, it's just [35:45] not to be useful to anybody ever. [35:47] And so, sorry, don't ask it. [35:49] We're not your debugger. [35:51] A great question would be "I'm using such-and-such a [35:54] programming language, with such-and-such debugger. [35:56] What's the easiest way to find missing parentheses." That's a [35:58] great question. [35:59] Or "how would you approach finding missing parentheses?" [36:03] That's a good question, and I'm sure it's in there. [36:04] And I'm sure it got a good answer. [36:06] But find it for me, it's like no. [36:07] Go away. [36:09] Go away. [36:10] This is-- [36:11] the other example that I give people that are not [36:13] programmers of a too-localized question, "Why is there a [36:15] green Honda Civic parked on my street?" I don't know. [36:19] Is it still there? [36:22] Go check. [36:23] Where do you live? [36:24] So this is Seoul Korea. [36:26] Stack Overflow. [36:28] Stack Exchange. [36:28] 25 million people. [36:29] Seoul is about 20 million people, the [36:31] population of Seoul. [36:32] And so the number of things that are going on in, like, [36:35] one of the world's largest cities, that's essentially [36:37] what happens on Stack Exchange. [36:38] And as you could tell, there are certain things that are [36:40] common denominators. [36:42] I mean, really, everybody in Seoul speaks Korean, except [36:45] me, when I was there. [36:46] But everyone else does. [36:48] And yet, there's lots of high rises, and [36:51] lots of little buildings. [36:51] There's all kinds of different cultures. [36:53] There's all kinds of subcultures. [36:54] There's also some things that are kind of constant. [36:56] When you think about the millions of stories that are [36:59] going on in a big city, that's what's really happening in [37:01] Stack Exchange. [37:02] I mean, we started out building software. [37:03] When I started building software, we were lucky just [37:06] to get computations. [37:08] We ended up building software for hundreds, or thousands, or [37:10] millions, or millions upon millions of people, where the [37:13] actual interaction between the people is what we're trying to [37:17] create and what we're trying to make happen. [37:19] And that's where you need anthropology. [37:23] So thank you very much. [37:24] That's my prepared talk. [37:27] I will take questions. [37:28] [APPLAUSE] [37:31] I will take applause. [37:41] AUDIENCE: Is it really true that participation in Silicon [37:42] Valley is low? [37:44] JOEL SPOLSKY: Participation in Silicon Valley-- [37:45] No, I don't think it's true that participation-- [37:46] AUDIENCE: Can you repeat question? [37:47] JOEL SPOLSKY: Yeah, the question was is it really true [37:48] that participation in Silicon Valley is low. [37:51] I've never actually compared it to the actual population, [37:54] but Silicon Valley does not have a whole lot of [37:56] programmers, as a percentage of the [37:59] programmers in the world. [38:01] We have our own little theories, like most [38:03] programmers in Silicon Valley have other sources. [38:06] If you work at Google, actually, there's 800 people [38:08] you could ask questions if you need help programming. [38:11] Whereas, if you work at the Department of Forestry in [38:14] Nebraska, there may be nobody that you can ask those [38:16] questions to. [38:17] You're also, if you work at the Department of Forestry in [38:19] Nebraska, probably under-challenged at work. [38:22] And so finding a place where you help other people by [38:25] answering questions may help challenge you [38:28] a little bit more. [38:30] Please don't challenge Jon Skeet any further. [38:33] Yes. [38:33] AUDIENCE: I also find that Stack Overflow is more useful [38:37] to me than a book. [38:38] [INAUDIBLE] [38:44] small, whereas [INAUDIBLE]. [38:49] JOEL SPOLSKY: Stack Overflow is more useful than a book, [38:51] was the comment. [38:53] But the granularity is really tiny, and so it doesn't really [38:55] quite scale in the same way. [38:56] One of the things that I said, when I was starting this, I [38:59] had written some books and so I was friends with the people [39:01] at Apress, who published programmer books. [39:04] And I actually said to the founder of Apress, and then [39:07] the founder of O'Reilly, I said, you know, what we [39:09] believe is that people are going to stop learning how to [39:12] program from books. [39:13] Or that they already have. [39:15] And that the way to learn programming is usually going [39:17] to be to find a tutorial, or some sample code, or to take [39:19] over someone else's code. [39:21] And just to start typing and, essentially, [39:23] page fault in knowledge. [39:24] Every time you get stuck, type a question in Google. [39:27] Try to learn that one thing. [39:28] And then move on and keep doing that. [39:31] It's not a very thorough way to learn programming, but that [39:33] seems to be the way most of them are learning it. [39:35] And the founder of Apress wanted to invest, and the [39:38] O'Reilly people were very insulted that I should say [39:40] that books are going away. [39:42] And they made a competitive site to Stack Overflow called [39:44] O'Reilly Answers, which is still on the web, [39:46] believe it or not. [39:46] And has at least five pages. [39:49] Yes. [39:50] AUDIENCE: You mentioned, actually, that there is a [39:52] badge for [INAUDIBLE] asking a really good question or [39:55] answering your own questions. [39:57] JOEL SPOLSKY: There is a badge for [39:57] answering your own question. [39:59] Yeah. [40:00] AUDIENCE: And I was kind of wondering, is there interest [40:04] in avoiding dupes? [40:06] And also, there are certain question that people would ask [40:10] that you could probably deliver an answer to based on [40:12] analytics of the existing data. [40:14] JOEL SPOLSKY: Right. [40:14] So the first question is are we really deliberately trying [40:17] to avoid dupes? [40:18] And secondly, a lot of times we can answer questions-- [40:22] We already have the answer to the question that they're [40:24] actually typing. [40:25] So we have a feature right now that, when you type the title [40:28] of a question, we'll actually do some keyword searching. [40:31] And it's pretty naive and show you some other questions which [40:34] might answer your question. [40:35] That's done in a relatively naive way, without very much [40:38] machine learning behind it. [40:39] And nevertheless, it does successfully intercept an [40:43] awful lot of questions being asked another time. [40:46] We do very much want to get rid of dupes. [40:48] However, there is sort of a syndrome on Stack Overflow we [40:51] haven't been able to cure completely, where people will [40:53] answer a question that has been asked 1,000 times before, [40:57] either just to earn reputation quickly, or because it's more [41:01] fun and easier to answer a question the 37th time. [41:04] They're just like, hey, I can answer this, da da da, rather [41:07] than actually try to search and see if that thing's been [41:08] asked before. [41:09] So we do get an awful lot of dupes. [41:11] We're going to start trying to attack that with the machine [41:13] learning, and better machine learning algorithms, over the [41:19] next year or two. [41:21] But that is-- the dupes are actually still [41:23] kind of bit of a problem. [41:25] We're also starting to see one of the problems that happens [41:27] with dupes is that the answer has changed over time, right? [41:30] Like the Android has changed. [41:32] Something you couldn't do, you now can do. [41:34] So there's 37 things saying you can't do it, all which are [41:36] highly ranked in Google, and then there's one thing say, [41:39] no, you can do it now, or it has changed, or whatever. [41:42] And those are too new, actually, to rank. [41:44] And so, one of the problems with the lack of de-duping [41:47] that we're doing is that we do have stale answers that just [41:51] don't get enough eyeballs to fix them, to edit them. [41:55] So that's something we want to work on, and we're going to [41:56] rely on machine learning for that, because humans obviously [41:58] don't want to do for us. [42:01] Yes. [42:01] AUDIENCE: So how concept [INAUDIBLE] work outside of [42:04] programming. [42:05] So I'm envisioning a [INAUDIBLE] [42:13] used and successful. [42:15] So how successful are we [INAUDIBLE] [42:20] can you actually discuss the Middle East, something-- [42:23] JOEL SPOLSKY: Well, the Middle East, there are no answers. [42:25] So you can't discuss the Middle East on Stack Exchange. [42:28] So the question was how do you discuss-- [42:30] how well does this scale outside of [42:32] the programming community? [42:32] Does it even work outside the programming community? [42:35] And how well are other communities going to work? [42:37] And could you ever discuss the Middle East on our network? [42:42] There are now 90 Stack Exchange sites. [42:44] I think 35 of them have graduated from beta. [42:46] We have a beta process that's pretty rigorous. [42:48] We don't let them graduate until we think they're going [42:50] to be around for the long haul. [42:51] If you look at the site's statistics, a lot of the [42:57] growth is coming from the Stack Exchange-- what we'll [42:59] call the Stack Exchange network, which is already [43:01] probably about a third of our traffic, and probably gets as [43:03] many unique page views as Stack Overflow itself, the [43:06] other sites. [43:07] However, a lot of them are kind of semi-geeky. [43:11] Like, they're not programmers, but they're server fall for [43:13] system administrators, superuser for PCs, WordPress, [43:17] Drupal, database administrators, TeX, the math [43:23] typesetting language. [43:24] So there's a lot of these sites that are-- [43:26] like a lot of our traffic comes from [43:28] fairly geeky domains. [43:31] And it's not clear whether that's a historical accident, [43:34] like, we started with an audience of programmers, and [43:36] then we say what else you want to talk about? [43:37] And they said Drupal. [43:42] Or if that's because there's actually something about this [43:45] mechanism that appeals to programmers and it works [43:47] better for programmers. [43:48] However, we are getting pretty far afield, and we have some [43:50] sites that are pretty successful that are [43:52] not geeky at all. [43:53] I mean, there's a parenting site. [43:54] There's a home improvement site. [43:56] Photography, which is geeky in its own way. [43:58] But the home improvement site is kind of interesting, [44:00] because it's a bunch of contractors talking about [44:02] drywall application techniques. [44:04] So we are starting to move beyond that. [44:06] And all the growth is happening on the Stack [44:08] Exchange side. [44:08] Not all of it. [44:09] Stack Overflow is growing now at about 56% a year, because [44:13] we already have-- just in terms of reach, like number of [44:15] unique visitors. [44:16] Stack Overflow has only grown 56% last year because it's [44:20] hard to find more programmers, at this point, that [44:22] are not using it. [44:24] But the Stack Exchange network itself is growing at 350% a [44:27] year, so much, much faster. [44:29] And it's already, I think, a third to half of our traffic. [44:31] So it's getting bigger faster. [44:35] We think that it's sort of like a system of concentric [44:37] circles, right? [44:37] We've got the programmers. [44:38] And now, you ask the programmers what they want to [44:40] talk about, and they might say other programmer-y things. [44:43] And some of them are going to be photographers, but there [44:46] are no programmers who are also lawyers, very few. [44:50] Because those are both sort of all encompassing things. [44:51] And so we haven't gotten to law, although we have an [44:54] announcement coming next week. [44:56] So pay attention next week, when we announce something. [45:00] Yes. [45:01] AUDIENCE: Do you think Quora is a different kind of market? [45:05] Or-- [45:06] JOEL SPOLSKY: The question is would I say Quora is a [45:07] different kind of market. [45:08] Yeah. [45:08] I mean, I don't want to speak for the Quora guys. [45:10] To me, it looks like provoked blogging, meaning it's sort of [45:14] like a logging platform, except that there's kind of [45:16] all kinds of provocation on there to write an awesome blog [45:19] post about your opinion, about a particular thing, that [45:22] happens to address a particular question. [45:25] So I feel like they don't-- [45:29] because Quora is wider, and anything is allowed on topic, [45:35] it hasn't attracted experts in really anything other than [45:37] Silicon Valley start-ups. [45:40] And there's no particular field of expertise where [45:43] you'll find those experts on Quora yet. [45:46] And I don't know if there can be, because [45:48] when I look at Yahoo! [45:48] Answers, if I were a Fields medallist mathematician, I [45:51] would never think to go on Yahoo! [45:52] Answers and ask a hard math question. [45:55] Just like they won't go to Quora and ask it. [45:56] But when they see Math Overflow, they will, because [45:58] they see a whole bunch of other really, really hard math [46:00] questions around, and so that make sense. [46:02] So I think that, if you start with something that's broad [46:04] and horizontal in general, you're never going to attract [46:07] the hard-core obsessive experts, or the people who [46:10] this is their job, it's their profession. [46:12] You can't get vertical from horizontal. [46:16] On the other hand, if we can build a lot of verticals, we [46:18] can, at some point, be kind of indistinguishable from a [46:21] horizontal because we've got all the verticals. [46:24] Yes. [46:24] AUDIENCE: I seem to remember that Stack Exchange does not [46:26] have an open source-- [46:29] or it's not open source. [46:32] So if I'm a company and I want to use something internally or [46:34] I want to use it for my [INAUDIBLE] or [46:36] something like that, how? [46:37] JOEL SPOLSKY: Yeah. [46:37] Stack Exchange is not actually open source itself. [46:40] So we actually think that the valuable data is the text that [46:45] people have typed. [46:46] And that is open source in the sense that's it's [46:48] all Creative Commons. [46:49] So we have a public open API, where you can [46:51] access any of our data. [46:52] We have database dumps where we would take an entire SQL [46:54] database and make it available on a monthly basis for anybody [46:57] that wants download it and do anything that [46:58] they want with it. [46:59] Remix, reuse, whatever. [47:01] Just don't-- [47:01] If you put ads on it, and then remove all the links to stack [47:04] overflow, then we'll probably be pissed off, but we may not [47:06] be able to do anything about it. [47:09] But the actual software itself is sort of a little bit [47:13] incidental to our system. [47:14] So it's not open source. [47:16] There are multiple open source clones of stack overflow that [47:19] you can get. [47:19] OS QA is probably the biggest one, which is an open source [47:22] project to kind of clones the way it works. [47:24] We think, again, the value is in the community and the [47:27] questions that they ask and answer. [47:32] John Skeet. [47:34] JON SKEET: You talked about trying to put off people who [47:37] aren't natural members of the community. [47:38] It seems that every day on Meta, there is someone who has [47:40] got upset with being down-voted and say, why are [47:43] you so harsh when, OK, I clicked saying I understand [47:47] all this and then I posted a rubbish question. [47:50] Do you think that you will-- [47:52] Assuming that has to change in some way, is it going to [47:55] change by better education, so they really don't ask a [47:58] rubbish question? [47:59] Or are we going to put them off so they don't even ask [48:01] [INAUDIBLE]? [48:03] JOEL SPOLSKY: That's a really good question. [48:03] So the question is sort of every day, you have large [48:06] numbers of people showing up on Meta being angry that their [48:08] question has been closed, because it's idiotic, and it [48:10] doesn't follow the rules, or it's badly formed, or [48:12] whatever it may be. [48:14] And they are very, very adamant about [48:16] their rights to-- [48:18] There's a sense of entitlement that people believe, well, [48:20] you've given me an edit box on the internet. [48:22] I have a right type words in that edit box. [48:25] And then when it gets down-voted or deleted, they [48:27] sort of say, wait, what is going on here? [48:28] How do I not have the right for my words to appear on the [48:30] internet for everybody to see? [48:32] And this is a bit of an ongoing problem. [48:35] So we beat those people down and they get upset and [48:39] complain and they say that Stack Overflow is getting-- [48:41] that the moderators are full of themselves and whatever. [48:43] I'm being censored, et cetera. [48:45] And then they-- and then, when they say they're getting [48:46] censored, of course anybody who's listening from far away [48:48] is like, you shouldn't be censoring [48:50] people on Stack Overflow. [48:51] That's horrible. [48:54] With a site as large as Stack Overflow, this [48:56] is a growing problem. [48:57] We have 7,000 questions a day. [48:59] They're not all gems. [49:01] There is a large category of people who [49:05] cannot do their jobs. [49:06] They have been hired as programmers, and they're [49:07] incapable of being programmers. [49:09] And the only hope that they have, somebody has told them, [49:11] well, just type whatever your boss told you to do into Stack [49:14] Overflow, and somebody will help you. [49:15] And the bad thing is that, sort of like if you've ever [49:18] done dog training with the intermittent reinforcement, [49:23] sometimes they get answers, so they keep trying. [49:27] All of you would really get swapped down badly enough. [49:30] I don't know what the natural end state is going to be. [49:33] Education, as you mentioned, would be helpful. [49:36] We've tried the thing, which I'm not a big believer in, [49:38] where somebody new shows up at the site. [49:40] They ask a question. [49:40] You say wait stop. [49:41] Read all this text. [49:43] Make sure you are doing all these things. [49:45] It's the Eric Raymond "How to Ask Questions on the [49:48] Internet." It's a book this long. [49:49] And when you're done, you probably won't [49:51] have a question anymore. [49:52] You're not one of those people that has to ask questions. [49:56] Because the exhaustive nature of what Eric Raymond would [49:59] have you do before you can ask your question. [50:03] And the truth is sometimes you put the best questions on [50:05] Stack Overflow just by not looking something up. [50:07] Just by saying, you know what, I'm reading this [50:09] documentation. [50:10] And it makes me wonder da da da da da. [50:12] And maybe I could get the answer somewhere else already, [50:14] but I'm just going to ask on Stack Overflow because [50:15] somebody's going to answer it. [50:16] And that's going to help 100 people who are going to have [50:18] that same exact question when they read the same [50:20] documentation that I just read. [50:21] So I don't know if there's a great answer to this. [50:27] There's stuff that we're definitely [50:28] doing to work on it. [50:29] The number one thing that we're trying to do-- [50:31] I would say there's sort of two things we're trying to do [50:33] to work on it. [50:33] One is, in the very short term, we have a contest up on [50:38] Kaggle which, if you're into machine learning, go answer [50:41] that Kaggle contest, you can win valuable prizes. [50:44] And it's a contest to identify questions that would likely be [50:48] closed, just based on their text. [50:50] So what we're going to try to do is develop some kind of [50:52] machine learning algorithm that can look at a question [50:54] and predict whether or not it's later going to be closed. [50:56] We actually discovered that one of the strongest signals, [50:59] before we did this Kaggle contest, [51:00] the strongest signal-- [51:01] Does anyone want to guess what the strongest signal is that [51:06] question is going to be closed? [51:07] AUDIENCE: Spelling errors? [51:08] JOEL SPOLSKY: Spelling errors, nope. [51:10] AUDIENCE: Length. [51:11] JOEL SPOLSKY: Length? [51:11] AUDIENCE: Length. [51:12] JOEL SPOLSKY: Length, no. [51:13] AUDIENCE: [INAUDIBLE]. [51:15] JOEL SPOLSKY: Sorry? [51:16] Books? [51:17] No. [51:17] AUDIENCE: [INAUDIBLE] [51:19] poster. [51:20] JOEL SPOLSKY: All right, I'm just going to tell you. [51:21] Sentences that start with a lowercase letters is one of [51:26] the strongest features, essentially, if you try to do [51:28] the machine learning. [51:29] So we're going to try to improve that so we can [51:31] actually try to block some questions earlier. [51:33] But all that really does is make people [51:34] capitalizes their sentences. [51:38] They really want to ask their stupid question and then it [51:40] needs to be-- [51:41] We're going to keep working on that. [51:43] In the long run, one thing which worries me about [51:45] Wikipedia-- [51:46] and that allows me to launch into a little speech about [51:49] what Wikipedia-- [51:50] Wikipedia also has these non-intuitive rules. [51:53] We have this non-intuitive rule. [51:54] Don't ask shopping questions, for example. [51:57] This is non-intuitive because you might think oh, this is a [51:59] great place to ask which 30-inch monitor should I buy? [52:03] But it's not. [52:03] And don't ask subjective questions. [52:07] This is a really, really important rule for us. [52:09] And I have tried to explain-- [52:11] I have now explained to you why we have this rule. [52:12] And many of you can go back and say, well, here's why [52:14] Stack Overflow closes questions that they think are [52:17] too localized. [52:18] You may not agree, but at least why we're doing that. [52:21] But Wikipedia has similar rules that nobody gets. [52:24] And they're always confused by these rules. [52:26] So for example, there's a rule that says we need tertiary [52:30] sources, not primary sources, for Wikipedia. [52:33] Wikipedia is making an encyclopedia and we don't [52:36] allow say, Joel Spolsky to go into the article about Joel [52:39] Spolsky and correct things that I know to be false [52:42] because I am not trustworthy. [52:43] Who is trustworthy? [52:44] The Village Voice. [52:47] The New York Times, people that know absolutely nothing [52:50] about me and actually, the information that they have, [52:52] they got for me, when they interviewed me that time. [52:54] So it seems like a funny rule on Wikipedia. [52:59] And this rule-- [53:03] There's sort of another rule about notoriety, which is you [53:05] cannot have an article on Wikipedia about something [53:08] which is not notorious enough. [53:10] And then people start say well, the internet is not [53:11] running out of pages. [53:13] Why do you have to shut down this awesome article I wrote [53:15] about the five tires that are stacked up in the garage at [53:19] the new Google hacker space, or whatever this is. [53:24] Why can't there be an article about this on Wikipedia? [53:26] I'll make it, where we're all here. [53:28] We all see that we can write down the model numbers and the [53:31] paint color, and stuff like that. [53:32] But there's no notoriety there. [53:34] That's not notorious. [53:35] So who cares. [53:36] Well, the reason we care is because there's not anything [53:38] published that we can go back in a book, in a library, to [53:42] check if those facts on Wikipedia are correct. [53:44] So you have to have this combination of two rules, that [53:48] the thing be notorious and that all [53:49] the facts have citations. [53:51] If you don't have those two rules, stuff gets in [53:53] Wikipedia, which is not verifiable. [53:56] We don't care if it's right or wrong. [53:58] It just has to be verifiable. [54:00] There just has to be a way to check. [54:02] Because if there's no way to check, it could [54:04] never possibly be right. [54:05] And when you think about this logically, [54:06] you say, aha, I see. [54:07] I now understand why Wikipedia has to have those two rules, [54:10] which sound really nasty and anti-democratic. [54:13] Some famous writer, I'm trying to remember who [54:15] it was, Philip Roth? [54:16] Yeah, just went on Wikipedia to try to correct something [54:18] about one of his own books. [54:20] And the editor told him, look I know you're Philip Roth. [54:24] I get it. [54:25] We don't accept you as the source unless it's been [54:28] published somewhere. [54:29] So I think what he did is he did an interview somewhere, [54:30] and then cited the interview. [54:33] And they were like OK. [54:36] And that's usually the way this is resolved. [54:38] But that rule sounds so ridiculous. [54:40] And people just get angry with Wikipedia and they actually [54:42] drop out of Wikipedia. [54:43] They say, I am sick and tired of trying to correct Wikipedia [54:46] entries that are just wrong because I [54:50] can't do this anymore. [54:51] And we have the same fear over Stack Overflow. [54:53] We keep closing localized questions and people drop out [54:55] of the community because they feel like we're too strict, or [54:57] we're nasty, or our moderators are cruel. [54:59] Then we're going to lose them. [55:00] But we have to have those rules. [55:01] That's why we have a site that's awesome because we have [55:05] sort of strict rules. [55:06] So, education. [55:08] I'm all out of time. [55:10] Thanks very much for coming to hear me. [55:11] I really appreciate it all. [55:12] You've been great. [55:14] Keep answering questions and asking [55:16] questions on Stack Overflow. [55:17] I'll be hanging out here for at least another [55:20] 15 minutes or so. [55:20] If you have any more questions you want to ask, [55:22] come up and ask me. [55:24] Thank you. [55:26] [APPLAUSE]