2014-05 Frames—PHP|tek
Upcoming SlideShare
Loading in...5

2014-05 Frames—PHP|tek



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

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



Total Views
Views on SlideShare
Embed Views



0 Embeds 0

No embeds



Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

2014-05 Frames—PHP|tek 2014-05 Frames—PHP|tek Presentation Transcript

  • Frames: Inside the Challenges at Wikipedia Terry Chay, Director of Features Engineering @ Wikimedia Foundation ! Opening Keynote, php[tek] 2014 2014-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 View slide
  • How did I get here? View slide
  • 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 Schottlender http://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 Green http://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 user Cue: See Wall Post/ Tweet Routine: Click on stuff Reward: Brag on social network Gameification Habit Loop Cue Routine Reward
  • 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:
  • FRAME:
  • 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 Male Female
  • Gender Gap: Wikipedia Readership Source: Comscore Male Female
  • Gender Gap: Wikipedia Active Editors Source: 2011 Editor Survey Male Female
  • 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