This does not cover the animations or videos, because the Youtube (included) video has bugs related to the builds/transitions, it might be a good idea to download the slides separately and follow along in that window. (When the official conference video is available, I'll upload that instead.)
Abstract: http://www.northeastphp.org/talks/view/156/Keynote-Ten-Evil-Things-Features-Engineering-at-Wikipedia
A framework for understanding what, how, and why Features engineering is done on Wikipedia.
Wikipedia is the 5th largest website on the internet. The problem: the community that builds the "sum of all knowledge" is shrinking.
The goal of Features Engineering is to reverse that editor trend. This talk covers 10 concepts in the modern web that Wikipedia is leveraging to reverse the decline.
Apidays New York 2024 - The value of a flexible API Management solution for O...
2013-08 10 evil things - Northeast PHP Conference Keynote
1. Ten Evil Things
Features Engineering at Wikipedia
Terry Chay, Director of Features Engineering @ the Wikimedia Foundation
Sunday, August, 18th, 2013 @ 3:30 PM
Closing Keynote, Northeast PHP Conference 2013
11. Mythical Man-
Month
The myth is that people and time are
interchangeable: “Man-month” is a
concept from construction.
12. The final goal of any
engineering activity is some
type of documentation. When a
design effort is complete, the
design documentation is turned
over to the manufacturing team.
If the design documents truly
represent a complete design, the
manufacturing team can proceed
to build the product.
—Jack Reeves, C++ Journal, 1992
13. Correct Frame (Paradigm):
We are Engineers (not construction
workers)
The Source Code is the Design (not the
product)
20. Each pattern describes a problem
which occurs over and over
again in our environment and
then describes the core of the
solution to that problem, in such
a way that you can use this
solution a million times over,
without ever doing it the same
way twice.
—Christopher Alexander, A Timeless Way of
Building, 1979
21. Pattern
vocabulary (name the pattern)
solves a problem (“describes a problem…and the
core solution”)
not an algorithm (“million times over without ever
doing it the same way twice.”)
has consequences (“occurs…in our environment”)
27. MY (NOT) EVIL MINIONS
+5
Visual Editor/Parsoid
Ori Livneh
Matt Flaschen
+1
Experimentation
+2
Editor Engagement
Fundraising Tech
+1
28. Clean Application Development — Adam
Culp
Agile in the Workplace — Michael Stowe
Designing software for the Agile
generation — Martin Kemp
How to hire a good engineers — Bryan
Healey
32. As Lakoff notes, "On the day
that George W. Bush took
office, the words "tax relief"
started coming out of the
White House."… Lakoff insists
that liberals must cease using
terms like… tax relief because
they are manufactured
specifically to allow the
possibilities of only certain
types of opinions. Tax relief for
example, implies explicitly that
taxes are an affliction,
something someone would
want "relief" from.
—Wikipedia, Framing (social sciences)
33. Somehow the combination
of tacit, culture-defined
agreements, and traditional
approaches to well-known
problems, insured even when
people were working
separately, they were
working together, sharing
the same principles. As a
result, no matter how
unique and individual the
pieces were, there was
always underlying order in
the whole.
—Christopher Alexander, The Oregon Experiment
34. "We've given you a recipe," Warren
told me. "We don't have to guide
you, because you're guiding
yourself. These habits become a
new self-identity, and, at that
point, we just need to support you
and get out of your way."…Warren
needed to teach people habits that
caused them to live faithfully not
because of their ties, but because
it's who they are. This is the third
aspect of how social habits drive
movements: For an idea to grow
beyond a community, it must become
self-propelling. And the surest way
to achieve that is to give people new
habits that help them figure out
where to go on their own.
—Charles Duhigg, The Power of Habit
35. In 17 of the 18 pairs of
companies in our research,
we found the visionary
company was guided more
by a core ideology—core
values and a sense of
purpose beyond just making
money—than the comparison
company was. A deeply held
core ideology gives a
company both a strong sense of
identity and a thread of
continuity that holds the
organization together in the
face of change.
—Jim Collins
41. nearly 500 million uniques!
2008 2009 2010 2011 2012 2013
Europe
Asia Pacific
North-America
Latin-America
Middle-East/Africa
India
China
600 million
450 million
300 million
150 million
42. Scaling PHP to 40 Million Uniques—
Jonathan Klein
Using Innodb and Memcached Plugin —
Sheeri Cabral
43. Imagine a world in
which every single
human being can freely
share in the sum of all
knowledge.
Wikimedia Foundation Vision Statement
Core Value
44. Imagine a world in
which every single
human being can freely
share in the sum of all
knowledge.
Wikimedia Foundation Vision Statement
46. We want Wikipedia to be
around for the long haul, the
long term, for our children’s
children. That’s why we need
a vibrant editing base
—Phoebe Ayers, Vice Chair, WMF Board of
Trustees
52. but being stagnant without
any data sucks. Even if staff
doesn’t want to be stagnant,
community wants to be
stagnant.
—former member, WMF Board of Trustees
53. Places in world that humans have
named
Based on data from the GeoNames database, >10 million entries.
54. Places in the world which have a
geographically tagged Wikipedia article.
Based on data extracted from 42 Wikipedia languages
62. Ajax: You Can Do It Too — Larry Ullman
jQuery Mobile: Sites That Feel Like Apps
— Anna Filna
Team Plaatjes: Building JS Applications
with Vector Graphics
66. Testing UX Design with Reverse Card
Sorting — David Kelleher
Usability Testing for the Common Man —
Heather O’Neill
Honest Empathy — Heather O’Neill
watch Reid Hoffman’s
quote
71. VisualEditor considerations
support collaborative editing and playback
be easily extensible
support Turing complete templating languages
support for 270+ languages
not tied to MediaWiki or PHP (you can use this in
your project)
dirty diffs
Visual Editor
Data Model
ContentEditable
User Interface
HTML
+RDFa
75. How and use regular expressions in PHP
and why use them — Joel Lord
Coding the Semantic Web with HTML5 —
David Kelleher
Web Scraping with Node.io—Mark
Henderson
76. Adding Features to make it
easier to be more human
doesn’t turn [Wikipedia] into
Facebook, it just makes it more
like the rest of your life and I
think we should be doing that.
—Kat Walsh, Former Chairwoman of WMF
Board of Trustees
87. Gameification (Habit) Loop
Cue: See Wall
Post/Tweet
Routine: Click
on stuff
Reward: Brag on
social network
different user
Cue: See Wall
Post/Tweet
=
Routine: Click
on stuff
Reward: Brag on
social network
97. —Jimmy Wales, Founder of Wikipedia
Our tools are pushing us to
bad behaviors…[We should
be] identifying behaviors and
make sure the software gives
a pathway for making that
easy.
105. Getting Started & Guided
Tour
0
25
50
75
100
% of total
Baseline
Getting Started Edit
Edit
To reverse the editor decline
would take between 1000-2000
additional active editors per
month
If this 2% activates at the same
rate as the baseline, this gets us
halfway there
110. #9 Quantity vs. Quality
• Virality (People)
• Gameification (Time)
• Commercial (Money)
“Imagine a world in which every single
human being can freely share in the sum of
all knowledge.That's our commitment.”
“every single human being”
“freely share”
“sum of all knowledge”
112. …there are three disciplines
that go into product-based
founders: there is design,
product-management, and then
there is engineering. Ideally
you should have all three.
—Reid Hoffman, found of LinkedIn
116. Practical Responsive Web Design —
Jonathan Klein
Berserk for Responsive Design
Frameworks! — Jen Kramer
Up and Running with Twitter Bootstrap—
Jen Kramer
Mobile-First Design — Katelyn Sessions
watch Reid Hoffman’s
quote
121. Prescription
1. Find the things holding the organization back like a
bad habit
2. Do not directly fight against the frame (don’t think of
an elephant)
3. Instead look to the core values that form the
successful social agreements and name them
(patterns)
4. Instill the habits religiously to give people a sense of
purpose
5. Be consistent! Allow people to use them to be self-
directed and make it a self-propelling movement.
124. But I'm also here to tell you [it] doesn't matter.
The TIOBE community index I linked above? It's
written in PHP. Wikipedia, which is likely to be on the
first page of anything you search for these days?
Written in PHP. Digg, the social bookmarking service
so wildly popular that a front page link can crush the
beefiest of webservers? Written in PHP. WordPress,
arguably the most popular blogging solution available
at the moment? Written in PHP. YouTube, the most
widely known video sharing site on the internet?
[Originally] written in PHP. Facebook, the current
billion-dollar zombie-poking social networking
darling of venture capitalists everywhere? Written in
PHP.
Notice a pattern here?
— Jeff Atwood
125. Complaints
PHP is full of surprises:
mysql_real_escape_string, E_ALL
PHP is inconsistent: strpos, str_rot13
PHP is not concise: error-checking around C API
calls, ===
PHP is flaky: ==, foreach ($foo as &$bar)
PHP is opaque: no stack traces by default or for
fatals, complex error reporting
so is Javascript!
so is HTML/CSS!
so is Design!
so is producing
software!
so is the English
language!
126. Developing For the Cloud, In the Cloud —
David Duggins
Git Essentials — Matthew Barlocker
Preparing for Zend 5.3 Certification —
Peter MacIntyreMagic Methods: Spilling
the secret — Matthew Barlockercclean