2014-05 Frames—PHP|tek

Post on 09-Dec-2014

674 views 6 download

Tags:

description

PDF version of slides from Opening Keynote at PHP|tek 2014

Transcript of 2014-05 Frames—PHP|tek

Frames:Inside the Challenges at Wikipedia

Terry Chay, Director of Features Engineering @ Wikimedia Foundation!

Opening Keynote, php[tek] 20142014-05-21 09:00-10:00 CDT

Frames:Inside the Challenges at Wikipedia

Who am I?

https://commons.wikimedia.org/wiki/File:Wiki-ah-thu-_MG_8382-0203.jpg

How did I get here?

A long time ago, in a startup far, far away, I was a PHP programmer…

Then this happened…

Then Zend made this deck of cards…

Not quite unlike…

…and…

other playing cards (preceded and followed)

PHP Terrorist

Director of Features Engineering at the Wikimedia Foundation

• PHP 5.6 and beyond — Adam Harvey (Wed 10:30a)

• Becoming a GoPHPer — Paddy Foran (Wed 3:30p)

• JavaScript’s Difficult Concepts — Jeff Carouth (Wed 5p)

• Contributing to Core — Ben Ramsey (Wed 5p)

• Threading in PHP — Stefan Willkommer (Wed 5p)

• Modern PHP — Ben Ramsey (Thr 10:30a)

• Async PHP with React — Jeremy Mikola (Thr 10:30a)

• Obtaining Closure with Anonymous Functions — Andy Casell (Thr noon)

• Recursion: Making Big Problem's Smaller — Jeremy Lindblom (Thr noon)

• Functional PHP — Larry Garfield (Thr 2p)

Programming Language(s)

Director of Features Engineering at the Wikimedia Foundation

What is the Wikimedia Foundation?

Half a billlion visitors

0

150000000

300000000

450000000

600000000

2008 2009 2010 2011 2012 2013 2014

Frames

http://commons.wikimedia.org/wiki/File:Frames_for_sale.JPG

• How to Hack Conversations — Greg Baugues (Wed noon)

• How to Get There — Larry Ullman (Thr 9a)

• Adventures in Contract Development — Tim Lytle (Thr noon)

• How To Be A Great Developer —Edward Finkler (Thr 2p)

• Working with difficult people — Laura Thomson (Thr 3:30p)

• Practical Software Estimation — Chuck Reeves (Thr 5p)

• Git and Github: Working Effectively on a Team — Jeff Carouth (Fri 10:30a)

Development (process, personal, team)

Frames

http://commons.wikimedia.org/wiki/File:Frames_for_sale.JPG

What are Frames?

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)

FRAME: Core Values

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

What is your organizations core values?

Wikimedia Foundation Vision Statement

Imagine a world in which every single human being can freely share in the sum of all knowledge.

Features Engineering

• Advanced Date/Time Handling with PHP — Derick Rethans (Wed 10:30a)

• Grokking Regex — David Stockton (Wed 3:30p)

• Shell Revolution — Christopher Stone (Fri 10:30a)

Language “Features”

Features Engineering

This is about my minions!

Pair programming

MINIONS:VisualEditor

+ Timo Tijhof+ Alex Monk+ (hiring)

Trevor Parscal Roan Kattouw

Ed Sanders Moriel Schottlenderhttp://wikimediafoundation.org/wiki/Staff_and_contractors

Let’s talk UI/UX

It’s the language of the Internet

• No Modes — Andy Cassell (Thr 3:30p)

• Avoiding the Programmer's Interface — Eryn O'Neil (Thr 10:30a)

UI and UX

Let’s talk UI/UX

It’s the language of the Internet

FRAME: Affordance

Affordances are qualities that enable discovering actions without thinking.

—Wikipedia, Affordance

FRAME: Affordance

Affordances are qualities that enable discovering actions without thinking.!

—Wikipedia, Affordance

The Visual Editor as the Alpha Affordance

Editing in “source” Mode (Wikitext)

Editing in the VisualEditor

MINIONS: Parsoid Team

Subbu Sastry

C Scott Ananian Marc Ordinas i Llopis Arlo Breault

Matthew Flaschen

http://wikimediafoundation.org/wiki/Staff_and_contractors

PHP Parser

HTMLWikitext PHP Parser

HTMLWikitext PHP ParserParsoid

PHP Parser

Parsoid Serializer

• Accelerating Web Applications with Varnish — Samatha Quinones (Wed 10:30a)

• Static Sites with Sculpin — Beau Simensen (Thr noon)

• HHVM in 2014 — Elizabeth Smith (Thr 3:30p)

• Grocking Browser Performance — Josh Holmes (Thr 5p)

• Scaling PHP in the real world! —Dustin Whittle (Fri 10:30a)

Performance and Scaling

HTMLParsoid

PHP Parser

Wikitext

Parsoid Serializer

MINIONS: Growth

Matthew Flaschen

Rob Moen Sam Smith Andrew Russell Greenhttp://wikimediafoundation.org/wiki/Staff_and_contractors

0

15000

30000

45000

60000

2001 2006 2011

EnWiki Active Editors 2001-2007

0

15000

30000

45000

60000

2001 2006 2011

Frame: Hockey Stick (growth)

Viral Growth

signup send e-mails read e-mail click link

new user

Viral Growth

signup send e-mails read e-mail click link

new user

v = ∏(dropoffs) *(size of address book)

v≥1v<1

Smiley Story:-)

Smiley Story:-(

A-B Testing

• Why You Can't Test — Chris Hartjes (Wed 3:30p)

• Mocking Dependencies in PHPUnit — Matt Frost (Fri 9a)

Testing

A-B Testing

A-B Testing

\

MINIONS: Core Features

S PageBenny Situ

Matthias Mullie Shahyar G Andrew Garrett

+ Erik Bernhardson

+Kunal Metha

http://wikimediafoundation.org/wiki/Staff_and_contractors

Habits

Habit Loop

Cue

Routine

Reward

different userCue: See Wall Post/

Tweet

Routine: Click on stuff

Reward: Brag on social network

Gameification Habit Loop

Cue

Routine

Reward

Friday, July 13, 12

Echo & Flow

Echo & Flow

• From SQL to noSQL — Derick Rethans (Thr 10:30a)

• Schemas for the Real World — Carina C. Zona (Thr 2p)

• Exploiting new MySQL Features — Dave Stokes (Fri 9a)

Databases and Data Design

Echo & Flow

MINIONS: Fundraising Engineering

http://wikimediafoundation.org/wiki/Staff_and_contractors

(TBA)

Katie Horn

Sherah SmithAdam Wight

• Security Is Not a Feature — Elizabeth Smith (Wed 2p)

• Basic Intrusion Detections With PHPIDS — Gregory Wilson (Wed 3:30p)

• Two Factor Authentication and You —Christopher Stone (Thr 5p)

Security

MINIONS: Fundraising Engineering

http://wikimediafoundation.org/wiki/Staff_and_contractors

(TBA)

Katie Horn

Sherah SmithAdam Wight

FRAME:Data-Driven

FRAME:Data-Informed

MINIONS: Services

(HIRING)

Gabriel Wicke

Matthew Walker (HIRING)

Frame: Service Oriented Architecture

• Introduction to October CMS (Laravel) — Collin Schneider (Wed noon)

• How Silex and Cilex became the glue for a media transcoding application — Stefan Koopmanship (Wed noon)

• What to expect from Drupal 8 — Larry Garfield (Wed 2p)

• Building Modules for Drupal 8 — Brant Wynn (Thr 3:30p)

• Faster Web Development with Yii 2 — Larry Ullman (Fri 9a)

Frameworks and CMSs

• Introduction to oAuth —Matt Frost (Wed 10:30a)

• Building Web Service Clients with Guzzle — Jeremy Lindblom (Thr 5p)

• Socket Programming with PHP — Elizabeth Smith (Fri 9a)

APIs and 3rd party services

Frame: Service Oriented Architecture

Challenges

• Building scalable PHP applications using Google’s App Engine — Ian Barber (Wed 2p)

• Virtualization for Developers —John Coggeshall (Wed 5p)

• Composer: Stability and Semantic Versioning Demystified — Beau Simensen (Thr 2p)

Packaging and Operations

Challenges

CHALLENGE: “Oh Shit!” Graph

0

15000

30000

45000

60000

2001 2006 20112001 2006 2011

40%

30%

20%

10%

FRAME: Heat Death

Getting Started and Guided Tour

• 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

0

25

50

75

100

% of total

Baseline Getting Started Edit Edit

CHALLENGE: Diversity

Places in world that humans have named

Places in the world which have a geographically tagged Wikipedia article.

Gender Gap:!

Total Internet

Source: Comscore

MaleFemale

Gender Gap:Wikipedia Readership

Source: Comscore

MaleFemale

Gender Gap:Wikipedia Active Editors

Source: 2011 Editor Survey

MaleFemale

Effect on Movie Gender on Article Length

CHALLENGE: Mobile

• Adaptive Delivery — Josh Trout (Wed noon)

• Stop! Hammer time (HammerJS) — Josh Trout (Fri 10:30a)

Mobile

CHALLENGE: Mobile

Desktop vs. Mobile PageViews (proj)

Dimensionless numbers

(Real Desktop v. Mobile)

• Currently 14-18% of Wikipedias page views are Mobile

• Compares favorably to: overall Internet 18%

• However:

• Yelp is at 44%

• Pinterest is at 75%

• Facebook’s mobile visitors are 78%

• (Facebook bought out WhatsApp for $17-$19 billion)?! Hmmm…

Quotes from FY2014-2015 Annual Plan

• “Our mobile platform, for example, has experienced a dramatic increase in pageviews since we upgraded it in 2011.”

• “…the release of mobile editing on smartphones outperformed our expectations, suggesting that, despite our previous assumptions, users are interested in editing from mobile devices.”

• “Alongside the potential risk identified above regarding recent movement of page views from desktop to mobile, desktop readers donate three times more often than mobile readers.”

• “We are also expanding our product and engineering teams to implement our mobile strategy, in response to the dramatic increase in mobile traffic we are seeing throughout the world.”

CHALLENGE: Resistance to change

Wikipedia reverts the Visual Editor

• https://en.wikipedia.org/wiki/Wikipedia:VisualEditor/RFC

• https://en.wikipedia.org/wiki/Wikipedia:VisualEditor/Default_State_RFC

• https://en.wikipedia.org/w/index.php?title=Wikipedia:Administrators%27_noticeboard&oldid=574249260

Editing San Francisco

FRAME: Arrows Impossibility Theorem

• unrestricted domain• non-dictatorship•Pareto efficiency• independence of irrelevant alternatives

Parting Shot (Frame)

http://commons.wikimedia.org/wiki/File:Chicago_Downtown_Aerial_View.jpg

FRAME: The Internet as a City

A vibrant city supports lot of private businesses

https://commons.wikimedia.org/wiki/File:Giordano%27s_Deep_Dish_Pizza.jpghttps://commons.wikimedia.org/wiki/File:Chicago_bot.jpghttps://commons.wikimedia.org/wiki/File:Oprah_Winfrey_in_Strøget,_Denmark_on_30_September_2009.jp https://upload.wikimedia.org/wikipedia/commons/e/e0/Oprah_Winfrey_Network.png

But there is a healthy amount of public spaces too…

http://commons.wikimedia.org/wiki/File:Cloud_Gate_Chicago.jpghttp://commons.wikimedia.org/wiki/File:Nighthawks_by_Edward_Hopper_1942.jpg https://commons.wikimedia.org/wiki/File:Grant_DeVolson_Wood_-_American_Gothic.jpghttp://commons.wikimedia.org/wiki/File:St_Joseph_the_Betrothed_080202.jpghttp://commons.wikimedia.org/wiki/File:Stjoessnowy.jpg

On the Internet there are a lot of private entities

…but is there are healthy number of public spaces?

Wikipedia is a big deal…

One of the few prominent public spaces

Maybe encourage you to…

CREATE!

The Power of Frames

http://commons.wikimedia.org/wiki/File:Frames_for_sale.JPG