SlideShare a Scribd company logo
WWCD?
          (What would core do?)
Extending with Classiness and Consistency




                                   What Would Core Do?
About Me: Jake Goldman
• President (& chief engineer!) @ 10up LLC, a
  WordPress development & strategy agency
• Author of over a dozen WordPress plug-ins
• Dozens of clients, from university like Bates
  College to WP.com VIP clients like TechCrunch
• Writer/expert reviewer @ Smashing Magazine
• @jakemgold



                                    What Would Core Do?
This is WordPress Core




 Simple, clean,
economical. And
   moddable!




                           What Would Core Do?
This is (often) WordPress Core
               with Plug-ins




Well… I guess it
 does go faster.
And it has more
    HTML5!




                             What Would Core Do?
WordPress with a lot of
             complex plug-ins




Is this even a
     car?




                               What Would Core Do?
(BTW – What Drupal Developers
     Think WordPress is)




                      What Would Core Do?
(…And what we think Drupal is)




                      What Would Core Do?
What Extended WordPress
   Should Look Like




                   What Would Core Do?
Seriously, here‟s the point.
It’s not the our extensions don’t work, or aren’t well
        coded (there are plenty of those, too).
       It’s that they stick out like sore thumbs.




                                        What Would Core Do?
WordPress              WordPress            WordPress
  Page      pageMash   Category               Post
 Editor                 Editor               Editor




                                   What Would Core Do?
Why do “consumers” love WordPress?

• It’s simple for writers to understand. The user
  interface is intuitive and (mostly) consistent.
• It’s pretty.
• There are no more bullets.
• Alright maybe it’s affordable, too.


    Many of our extensions are ruining this.


                                       What Would Core Do?
10up‟s Philosophy
• WHAT WOULD CORE DO?
• Can you tell where “out of the box”
  WordPress stops and our custom
  functionality begins? If so, we did it wrong.
• If the core team was tasked with building
  this functionality in, how would they have
  done it?


                                   What Would Core Do?
The right way: Akismet
Do you even remember it’s not built into core?




                               BTW, is anyone else
                              surprised that erectile
                              dysfunction is still the
                              most common spam?




                                       What Would Core Do?
The wrong way: cformsII



                Where did
               these colors
              come from??




                         What Would Core Do?
The wrong way: cformsII


        Where else do
          we select
        content to edit
           like this?




                          What Would Core Do?
The wrong way: cformsII


        Where did these
        icon conventions
           come from?




                           What Would Core Do?
The wrong way: cformsII



    What is a “Save
     form settings”
    option doing in
    the admin bar?




                      What Would Core Do?
The wrong way: cformsII




   Why are forms at the
  bottom instead of with
   content? And should
  we just call it “Forms”?




                             What Would Core Do?
The wrong way: cformsII




 Why is there a
 “Help” menu
    item?




                   What Would Core Do?
Case Study: Simple Local Avatars
                     Why did I build it?
              I just wanted to upload avatars.

        Weren‟t there other plug-ins that do that?
Sure, if you want a page full of settings (including a default
option to include a plug-in author credit), a completely new
 user admin page to manage the avatars, want to retrieve
    avatars from Twitter and Facebook, want SnapShot
                     integration, and…




                                              What Would Core Do?
The Alternative: Add Local Avatars




                       Do I really need
                        a whole new
                       user list screen?




                              What Would Core Do?
Oh come on.
  Really?




What Would Core Do?
Who cares
where it’s
 saved??




             What Would Core Do?
Isn’t size a
parameter in
“get_avatar”
  already?




                What Would Core Do?
Save it for
 another
 plug-in.




              What Would Core Do?
No.




      What Would Core Do?
Case Study: Simple Local Avatars

             Number of new admin screens:

             None.




                              What Would Core Do?
Simple Local Avatars
Number of new setting fields: One.




                                     What Would Core Do?
Simple Local Avatars
Number of new user profile fields: One.




                                          What Would Core Do?
Simple Local Avatars
Value of “it just
works”:
Priceless.




                          What Would Core Do?
It‟s not just plug-ins
                      Where else
                      do we have
                       tabs like                  We get it.
                        these?




Heading…
   5?
                             What’s
                             with the
                              font?
Hex only?



                                        What Would Core Do?
It‟s not just plug-ins




               Oh god.




                    What Would Core Do?
Best Practices: Think About Design
What would core do? Heck, what does WordPress do?




                                     What Would Core Do?
Best Practices: Think About Settings

       • Should it be a top level menu or
         submenu?
       • Does it need its own page? Or is it
         part of, say, “writing” settings?
       • Should it be a drop down or a radio
         button?
       • Do really you even need any
         settings?



                              What Would Core Do?
Best Practices: Leave Dashboard
Alone! (a.k.a. stop advertising to us)


                             I love you,
                           Frederick, but
                         frankly, my dear,
                           I don’t give a
                                damn.




                                 What Would Core Do?
Yep. This isn’t
                  Best Practices:
  even the
advanced tab.
                  Less is More
                  For users: the paradox of
                  choice. Save it for another
                  plug-in.
                  Decisions > Options.




                                    What Would Core Do?
Coding Techniques: Settings API

  add_settings_field & add_settings_section
    http://codex.wordpress.org/Settings_API

You can add setting fields and sections to existing
setting screens. Don’t make a page for two media
                    settings.




                                      What Would Core Do?
Coding Techniques: Screen API
       Add help and documentation using the
              native “Help” pull down.
wpdevel.wordpress.com/2011/12/06/help-and-screen-api-changes-in-3-3/




                                                   What Would Core Do?
Coding Techniques: Add Hooks
Instead of two dozen options, add your own hooks
so that other developers can override behavior for
the 5% in the long tail. (Like core does!)

do_action( „my_plugin_save‟ );

$output = apply_filter( „my_plugin_output‟,
     $output ) ;




                                      What Would Core Do?
Coding Techniques: Uninstall Hook

codex.wordpress.org/Function_Reference/register_uninstall_hook




                                                      “Thank
                                                   goodness that
                                                  plug-in is gone!”




                                                What Would Core Do?
WWCD?
       What would core do?

        by Jake Goldman
          @jakemgold

slides & code will be available at
          get10up.com




                                What Would Core Do?

More Related Content

What's hot

Responsive Web Design Tutorial PDF for Beginners
Responsive Web Design Tutorial PDF for BeginnersResponsive Web Design Tutorial PDF for Beginners
Responsive Web Design Tutorial PDF for Beginners
Bootstrap Creative
 
File Upload 2015
File Upload 2015File Upload 2015
File Upload 2015
Choon Keat Chew
 
What is WordPress and Why Is Everyone Talking About it
What is WordPress and Why Is Everyone Talking About itWhat is WordPress and Why Is Everyone Talking About it
What is WordPress and Why Is Everyone Talking About it
BobWP.com
 
TDD - for people who don't need it
TDD - for people who don't need itTDD - for people who don't need it
TDD - for people who don't need it
Choon Keat Chew
 
Web Development Tutorial Workshop for Beginners - Learn Responsive Web Design...
Web Development Tutorial Workshop for Beginners - Learn Responsive Web Design...Web Development Tutorial Workshop for Beginners - Learn Responsive Web Design...
Web Development Tutorial Workshop for Beginners - Learn Responsive Web Design...
Bootstrap Creative
 
Mindmeister Case Study En.Key
Mindmeister Case Study En.KeyMindmeister Case Study En.Key
Mindmeister Case Study En.Key
mindmeister
 
Bootstrap 4 Online Training Course Book Sample
Bootstrap 4 Online Training Course Book SampleBootstrap 4 Online Training Course Book Sample
Bootstrap 4 Online Training Course Book Sample
Bootstrap Creative
 
Theme frameworks & child themes
Theme frameworks & child themesTheme frameworks & child themes
Theme frameworks & child themes
Chris Olbekson
 
The Art of Web Design, 101
The Art of Web Design, 101The Art of Web Design, 101
The Art of Web Design, 101
kellyhousholder
 
Open source business model note in Drupal
Open source business model note in DrupalOpen source business model note in Drupal
Open source business model note in Drupal
jimyhuang
 
CALM Wordpress 102
CALM Wordpress 102CALM Wordpress 102
CALM Wordpress 102
darren_puscas
 
Installing WordPress The Right Way
Installing WordPress The Right WayInstalling WordPress The Right Way
Installing WordPress The Right Way
Chris Burgess
 
Scaling LinkedIn - A Brief History
Scaling LinkedIn - A Brief HistoryScaling LinkedIn - A Brief History
Scaling LinkedIn - A Brief History
Josh Clemm
 
How To Use WordPress For Your Business Site
How To Use WordPress For Your Business SiteHow To Use WordPress For Your Business Site
How To Use WordPress For Your Business Site
BobWP.com
 
Growing Drupal Organisations - Drupal Business Days 2012
Growing Drupal Organisations - Drupal Business Days 2012Growing Drupal Organisations - Drupal Business Days 2012
Growing Drupal Organisations - Drupal Business Days 2012
Exove
 
Measuring Web Performance - HighEdWeb Edition
Measuring Web Performance - HighEdWeb EditionMeasuring Web Performance - HighEdWeb Edition
Measuring Web Performance - HighEdWeb Edition
Dave Olsen
 
Optimizing Your WordPress Site: Why speed matters, and how to get there
Optimizing Your WordPress Site: Why speed matters, and how to get thereOptimizing Your WordPress Site: Why speed matters, and how to get there
Optimizing Your WordPress Site: Why speed matters, and how to get there
Stephen Bell
 
Wordpress 101 Training
Wordpress 101 TrainingWordpress 101 Training
Wordpress 101 Training
Happy Marketer
 
Brightcove Video SEO - Optimizing Brightcove Video for Search
Brightcove Video SEO - Optimizing Brightcove Video for SearchBrightcove Video SEO - Optimizing Brightcove Video for Search
Brightcove Video SEO - Optimizing Brightcove Video for Search
Mark Robertson ⏩
 
Webmaster Jam Session: Design and Development Behind the Scenes Day Two
Webmaster Jam Session: Design and Development Behind the Scenes Day TwoWebmaster Jam Session: Design and Development Behind the Scenes Day Two
Webmaster Jam Session: Design and Development Behind the Scenes Day Two
dkr
 

What's hot (20)

Responsive Web Design Tutorial PDF for Beginners
Responsive Web Design Tutorial PDF for BeginnersResponsive Web Design Tutorial PDF for Beginners
Responsive Web Design Tutorial PDF for Beginners
 
File Upload 2015
File Upload 2015File Upload 2015
File Upload 2015
 
What is WordPress and Why Is Everyone Talking About it
What is WordPress and Why Is Everyone Talking About itWhat is WordPress and Why Is Everyone Talking About it
What is WordPress and Why Is Everyone Talking About it
 
TDD - for people who don't need it
TDD - for people who don't need itTDD - for people who don't need it
TDD - for people who don't need it
 
Web Development Tutorial Workshop for Beginners - Learn Responsive Web Design...
Web Development Tutorial Workshop for Beginners - Learn Responsive Web Design...Web Development Tutorial Workshop for Beginners - Learn Responsive Web Design...
Web Development Tutorial Workshop for Beginners - Learn Responsive Web Design...
 
Mindmeister Case Study En.Key
Mindmeister Case Study En.KeyMindmeister Case Study En.Key
Mindmeister Case Study En.Key
 
Bootstrap 4 Online Training Course Book Sample
Bootstrap 4 Online Training Course Book SampleBootstrap 4 Online Training Course Book Sample
Bootstrap 4 Online Training Course Book Sample
 
Theme frameworks & child themes
Theme frameworks & child themesTheme frameworks & child themes
Theme frameworks & child themes
 
The Art of Web Design, 101
The Art of Web Design, 101The Art of Web Design, 101
The Art of Web Design, 101
 
Open source business model note in Drupal
Open source business model note in DrupalOpen source business model note in Drupal
Open source business model note in Drupal
 
CALM Wordpress 102
CALM Wordpress 102CALM Wordpress 102
CALM Wordpress 102
 
Installing WordPress The Right Way
Installing WordPress The Right WayInstalling WordPress The Right Way
Installing WordPress The Right Way
 
Scaling LinkedIn - A Brief History
Scaling LinkedIn - A Brief HistoryScaling LinkedIn - A Brief History
Scaling LinkedIn - A Brief History
 
How To Use WordPress For Your Business Site
How To Use WordPress For Your Business SiteHow To Use WordPress For Your Business Site
How To Use WordPress For Your Business Site
 
Growing Drupal Organisations - Drupal Business Days 2012
Growing Drupal Organisations - Drupal Business Days 2012Growing Drupal Organisations - Drupal Business Days 2012
Growing Drupal Organisations - Drupal Business Days 2012
 
Measuring Web Performance - HighEdWeb Edition
Measuring Web Performance - HighEdWeb EditionMeasuring Web Performance - HighEdWeb Edition
Measuring Web Performance - HighEdWeb Edition
 
Optimizing Your WordPress Site: Why speed matters, and how to get there
Optimizing Your WordPress Site: Why speed matters, and how to get thereOptimizing Your WordPress Site: Why speed matters, and how to get there
Optimizing Your WordPress Site: Why speed matters, and how to get there
 
Wordpress 101 Training
Wordpress 101 TrainingWordpress 101 Training
Wordpress 101 Training
 
Brightcove Video SEO - Optimizing Brightcove Video for Search
Brightcove Video SEO - Optimizing Brightcove Video for SearchBrightcove Video SEO - Optimizing Brightcove Video for Search
Brightcove Video SEO - Optimizing Brightcove Video for Search
 
Webmaster Jam Session: Design and Development Behind the Scenes Day Two
Webmaster Jam Session: Design and Development Behind the Scenes Day TwoWebmaster Jam Session: Design and Development Behind the Scenes Day Two
Webmaster Jam Session: Design and Development Behind the Scenes Day Two
 

Viewers also liked

PPAI 2014 - Tony Hsieh - Downtown Project - Zappos_1.15.14
PPAI 2014 - Tony Hsieh - Downtown Project - Zappos_1.15.14PPAI 2014 - Tony Hsieh - Downtown Project - Zappos_1.15.14
PPAI 2014 - Tony Hsieh - Downtown Project - Zappos_1.15.14
Delivering Happiness
 
REAL ESTATE AND PROPERTY MATTERS
REAL ESTATE AND PROPERTY MATTERSREAL ESTATE AND PROPERTY MATTERS
REAL ESTATE AND PROPERTY MATTERS
Advocate Selvakumar
 
Actitudes hacia la compra de intangibles a través de Internet en estudiantes ...
Actitudes hacia la compra de intangibles a través de Internet en estudiantes ...Actitudes hacia la compra de intangibles a través de Internet en estudiantes ...
Actitudes hacia la compra de intangibles a través de Internet en estudiantes ...
Susanperezal
 
Trabajo eva educacion fisica
Trabajo eva educacion fisicaTrabajo eva educacion fisica
Trabajo eva educacion fisica
Eviita Morena
 
Examen semestral de tipografía
Examen semestral de tipografíaExamen semestral de tipografía
Examen semestral de tipografía
itzel elisa
 
Daryoush Faezi-Art CV2015
Daryoush Faezi-Art CV2015Daryoush Faezi-Art CV2015
Daryoush Faezi-Art CV2015
Dariush Faezi
 
Espiritismo - Edição n. 16 do CH Noticias - Outubro/2016
Espiritismo - Edição n. 16 do CH Noticias - Outubro/2016Espiritismo - Edição n. 16 do CH Noticias - Outubro/2016
Espiritismo - Edição n. 16 do CH Noticias - Outubro/2016
CH Notícias - Casa dos Humildes - Recife
 
PR & Social Media
PR & Social MediaPR & Social Media
PR & Social Media
Meena Lee
 
How we do satisfaction surveys
How we do satisfaction surveysHow we do satisfaction surveys
How we do satisfaction surveys
Lefkios Paikousis
 
Travel 2.0: Crea Tu Propio Blog Empresarial
Travel 2.0: Crea Tu Propio Blog EmpresarialTravel 2.0: Crea Tu Propio Blog Empresarial
Travel 2.0: Crea Tu Propio Blog Empresarial
chelona
 
Apas sao paulo jenn lim delivering happiness
Apas sao paulo jenn lim delivering happinessApas sao paulo jenn lim delivering happiness
Apas sao paulo jenn lim delivering happiness
Delivering Happiness
 
Tactics and technology diagram
Tactics and technology diagramTactics and technology diagram
Tactics and technology diagram
Kim Mitchell
 
Volunteer participation diagram
Volunteer participation diagramVolunteer participation diagram
Volunteer participation diagram
Kim Mitchell
 
Presentación teatro castellano charo pps
Presentación teatro castellano   charo ppsPresentación teatro castellano   charo pps
Presentación teatro castellano charo pps
Grupodrama
 
capstone_project_report_skin_cancer_classification_ryan ferrin
capstone_project_report_skin_cancer_classification_ryan ferrincapstone_project_report_skin_cancer_classification_ryan ferrin
capstone_project_report_skin_cancer_classification_ryan ferrin
Ryan Ferrin
 
Yohanna tecnologia aplicada a la educacion
Yohanna   tecnologia aplicada a la educacionYohanna   tecnologia aplicada a la educacion
Yohanna tecnologia aplicada a la educacion
yohanna polanco
 
Greenwich library workshop SEO overview 11.3.15
Greenwich library workshop SEO overview 11.3.15Greenwich library workshop SEO overview 11.3.15
Greenwich library workshop SEO overview 11.3.15
Search Smart Marketing
 
Web 2 0_tools_sp11_group_c
Web 2 0_tools_sp11_group_cWeb 2 0_tools_sp11_group_c
Web 2 0_tools_sp11_group_c
clairecgibson
 
Adsorption behaviour of dextrin onto activated oyster shell
Adsorption behaviour of dextrin onto activated oyster shellAdsorption behaviour of dextrin onto activated oyster shell
Adsorption behaviour of dextrin onto activated oyster shell
eSAT Journals
 

Viewers also liked (20)

Attest Academic Work
Attest Academic WorkAttest Academic Work
Attest Academic Work
 
PPAI 2014 - Tony Hsieh - Downtown Project - Zappos_1.15.14
PPAI 2014 - Tony Hsieh - Downtown Project - Zappos_1.15.14PPAI 2014 - Tony Hsieh - Downtown Project - Zappos_1.15.14
PPAI 2014 - Tony Hsieh - Downtown Project - Zappos_1.15.14
 
REAL ESTATE AND PROPERTY MATTERS
REAL ESTATE AND PROPERTY MATTERSREAL ESTATE AND PROPERTY MATTERS
REAL ESTATE AND PROPERTY MATTERS
 
Actitudes hacia la compra de intangibles a través de Internet en estudiantes ...
Actitudes hacia la compra de intangibles a través de Internet en estudiantes ...Actitudes hacia la compra de intangibles a través de Internet en estudiantes ...
Actitudes hacia la compra de intangibles a través de Internet en estudiantes ...
 
Trabajo eva educacion fisica
Trabajo eva educacion fisicaTrabajo eva educacion fisica
Trabajo eva educacion fisica
 
Examen semestral de tipografía
Examen semestral de tipografíaExamen semestral de tipografía
Examen semestral de tipografía
 
Daryoush Faezi-Art CV2015
Daryoush Faezi-Art CV2015Daryoush Faezi-Art CV2015
Daryoush Faezi-Art CV2015
 
Espiritismo - Edição n. 16 do CH Noticias - Outubro/2016
Espiritismo - Edição n. 16 do CH Noticias - Outubro/2016Espiritismo - Edição n. 16 do CH Noticias - Outubro/2016
Espiritismo - Edição n. 16 do CH Noticias - Outubro/2016
 
PR & Social Media
PR & Social MediaPR & Social Media
PR & Social Media
 
How we do satisfaction surveys
How we do satisfaction surveysHow we do satisfaction surveys
How we do satisfaction surveys
 
Travel 2.0: Crea Tu Propio Blog Empresarial
Travel 2.0: Crea Tu Propio Blog EmpresarialTravel 2.0: Crea Tu Propio Blog Empresarial
Travel 2.0: Crea Tu Propio Blog Empresarial
 
Apas sao paulo jenn lim delivering happiness
Apas sao paulo jenn lim delivering happinessApas sao paulo jenn lim delivering happiness
Apas sao paulo jenn lim delivering happiness
 
Tactics and technology diagram
Tactics and technology diagramTactics and technology diagram
Tactics and technology diagram
 
Volunteer participation diagram
Volunteer participation diagramVolunteer participation diagram
Volunteer participation diagram
 
Presentación teatro castellano charo pps
Presentación teatro castellano   charo ppsPresentación teatro castellano   charo pps
Presentación teatro castellano charo pps
 
capstone_project_report_skin_cancer_classification_ryan ferrin
capstone_project_report_skin_cancer_classification_ryan ferrincapstone_project_report_skin_cancer_classification_ryan ferrin
capstone_project_report_skin_cancer_classification_ryan ferrin
 
Yohanna tecnologia aplicada a la educacion
Yohanna   tecnologia aplicada a la educacionYohanna   tecnologia aplicada a la educacion
Yohanna tecnologia aplicada a la educacion
 
Greenwich library workshop SEO overview 11.3.15
Greenwich library workshop SEO overview 11.3.15Greenwich library workshop SEO overview 11.3.15
Greenwich library workshop SEO overview 11.3.15
 
Web 2 0_tools_sp11_group_c
Web 2 0_tools_sp11_group_cWeb 2 0_tools_sp11_group_c
Web 2 0_tools_sp11_group_c
 
Adsorption behaviour of dextrin onto activated oyster shell
Adsorption behaviour of dextrin onto activated oyster shellAdsorption behaviour of dextrin onto activated oyster shell
Adsorption behaviour of dextrin onto activated oyster shell
 

Similar to What Would Core Do?

Paris Web - Javascript as a programming language
Paris Web - Javascript as a programming languageParis Web - Javascript as a programming language
Paris Web - Javascript as a programming language
Marco Cedaro
 
This is presentation at Mitaka.rb #10.
This is presentation at Mitaka.rb #10.This is presentation at Mitaka.rb #10.
This is presentation at Mitaka.rb #10.
Masaki Komagata
 
Theming Your Views
Theming Your ViewsTheming Your Views
Theming Your Views
Mark Jarrell
 
DjangoCon09: No! Bad Pony!
DjangoCon09: No! Bad Pony!DjangoCon09: No! Bad Pony!
DjangoCon09: No! Bad Pony!
Russell Keith-Magee
 
Aucd ppt
Aucd pptAucd ppt
Aucd ppt
icidemo
 
Accessibility With WordPress: Accessing Higher Ground 2014
Accessibility With WordPress: Accessing Higher Ground 2014Accessibility With WordPress: Accessing Higher Ground 2014
Accessibility With WordPress: Accessing Higher Ground 2014
Joseph Dolson
 
Style Guides Are The New Photoshop (Fronteers 2012)
Style Guides Are The New Photoshop (Fronteers 2012)Style Guides Are The New Photoshop (Fronteers 2012)
Style Guides Are The New Photoshop (Fronteers 2012)
Stephen Hay
 
On Selecting JavaScript Frameworks (Women Who Code 10/15)
On Selecting JavaScript Frameworks (Women Who Code 10/15)On Selecting JavaScript Frameworks (Women Who Code 10/15)
On Selecting JavaScript Frameworks (Women Who Code 10/15)
Zoe Landon
 
Design for developers
Design for developersDesign for developers
Design for developers
Johan Ronsse
 
Preparing for the WebGeek DevCup
Preparing for the WebGeek DevCupPreparing for the WebGeek DevCup
Preparing for the WebGeek DevCup
bryanbibat
 
Designing better user interfaces
Designing better user interfacesDesigning better user interfaces
Designing better user interfaces
Johan Ronsse
 
Modular plugins
Modular pluginsModular plugins
Modular plugins
pippinsplugins
 
The Ember.js Framework - Everything You Need To Know
The Ember.js Framework - Everything You Need To KnowThe Ember.js Framework - Everything You Need To Know
The Ember.js Framework - Everything You Need To Know
All Things Open
 
A modern architecturereview–usingcodereviewtools-ver-3.5
A modern architecturereview–usingcodereviewtools-ver-3.5A modern architecturereview–usingcodereviewtools-ver-3.5
A modern architecturereview–usingcodereviewtools-ver-3.5
SSW
 
10 Simple Rules for Making My Site Accessible
10 Simple Rules for Making My Site Accessible10 Simple Rules for Making My Site Accessible
10 Simple Rules for Making My Site Accessible
Helena Zubkow
 
Django in the Real World
Django in the Real WorldDjango in the Real World
Django in the Real World
Jacob Kaplan-Moss
 
Style Guides Are The New Photoshop (Smashing Conference 2012)
Style Guides Are The New Photoshop (Smashing Conference 2012)Style Guides Are The New Photoshop (Smashing Conference 2012)
Style Guides Are The New Photoshop (Smashing Conference 2012)
Stephen Hay
 
OOScss Architecture For Rails Apps
OOScss Architecture For Rails AppsOOScss Architecture For Rails Apps
OOScss Architecture For Rails Apps
Netguru
 
Full stack-web-design
Full stack-web-designFull stack-web-design
Full stack-web-design
Kevin Conboy
 
Advanced WordPress: Session II
Advanced WordPress: Session IIAdvanced WordPress: Session II
Advanced WordPress: Session II
Digital Wax Works
 

Similar to What Would Core Do? (20)

Paris Web - Javascript as a programming language
Paris Web - Javascript as a programming languageParis Web - Javascript as a programming language
Paris Web - Javascript as a programming language
 
This is presentation at Mitaka.rb #10.
This is presentation at Mitaka.rb #10.This is presentation at Mitaka.rb #10.
This is presentation at Mitaka.rb #10.
 
Theming Your Views
Theming Your ViewsTheming Your Views
Theming Your Views
 
DjangoCon09: No! Bad Pony!
DjangoCon09: No! Bad Pony!DjangoCon09: No! Bad Pony!
DjangoCon09: No! Bad Pony!
 
Aucd ppt
Aucd pptAucd ppt
Aucd ppt
 
Accessibility With WordPress: Accessing Higher Ground 2014
Accessibility With WordPress: Accessing Higher Ground 2014Accessibility With WordPress: Accessing Higher Ground 2014
Accessibility With WordPress: Accessing Higher Ground 2014
 
Style Guides Are The New Photoshop (Fronteers 2012)
Style Guides Are The New Photoshop (Fronteers 2012)Style Guides Are The New Photoshop (Fronteers 2012)
Style Guides Are The New Photoshop (Fronteers 2012)
 
On Selecting JavaScript Frameworks (Women Who Code 10/15)
On Selecting JavaScript Frameworks (Women Who Code 10/15)On Selecting JavaScript Frameworks (Women Who Code 10/15)
On Selecting JavaScript Frameworks (Women Who Code 10/15)
 
Design for developers
Design for developersDesign for developers
Design for developers
 
Preparing for the WebGeek DevCup
Preparing for the WebGeek DevCupPreparing for the WebGeek DevCup
Preparing for the WebGeek DevCup
 
Designing better user interfaces
Designing better user interfacesDesigning better user interfaces
Designing better user interfaces
 
Modular plugins
Modular pluginsModular plugins
Modular plugins
 
The Ember.js Framework - Everything You Need To Know
The Ember.js Framework - Everything You Need To KnowThe Ember.js Framework - Everything You Need To Know
The Ember.js Framework - Everything You Need To Know
 
A modern architecturereview–usingcodereviewtools-ver-3.5
A modern architecturereview–usingcodereviewtools-ver-3.5A modern architecturereview–usingcodereviewtools-ver-3.5
A modern architecturereview–usingcodereviewtools-ver-3.5
 
10 Simple Rules for Making My Site Accessible
10 Simple Rules for Making My Site Accessible10 Simple Rules for Making My Site Accessible
10 Simple Rules for Making My Site Accessible
 
Django in the Real World
Django in the Real WorldDjango in the Real World
Django in the Real World
 
Style Guides Are The New Photoshop (Smashing Conference 2012)
Style Guides Are The New Photoshop (Smashing Conference 2012)Style Guides Are The New Photoshop (Smashing Conference 2012)
Style Guides Are The New Photoshop (Smashing Conference 2012)
 
OOScss Architecture For Rails Apps
OOScss Architecture For Rails AppsOOScss Architecture For Rails Apps
OOScss Architecture For Rails Apps
 
Full stack-web-design
Full stack-web-designFull stack-web-design
Full stack-web-design
 
Advanced WordPress: Session II
Advanced WordPress: Session IIAdvanced WordPress: Session II
Advanced WordPress: Session II
 

Recently uploaded

HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
IndexBug
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
David Brossard
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
Zilliz
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdfAI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
Techgropse Pvt.Ltd.
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 

Recently uploaded (20)

HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdfAI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 

What Would Core Do?

  • 1. WWCD? (What would core do?) Extending with Classiness and Consistency What Would Core Do?
  • 2. About Me: Jake Goldman • President (& chief engineer!) @ 10up LLC, a WordPress development & strategy agency • Author of over a dozen WordPress plug-ins • Dozens of clients, from university like Bates College to WP.com VIP clients like TechCrunch • Writer/expert reviewer @ Smashing Magazine • @jakemgold What Would Core Do?
  • 3. This is WordPress Core Simple, clean, economical. And moddable! What Would Core Do?
  • 4. This is (often) WordPress Core with Plug-ins Well… I guess it does go faster. And it has more HTML5! What Would Core Do?
  • 5. WordPress with a lot of complex plug-ins Is this even a car? What Would Core Do?
  • 6. (BTW – What Drupal Developers Think WordPress is) What Would Core Do?
  • 7. (…And what we think Drupal is) What Would Core Do?
  • 8. What Extended WordPress Should Look Like What Would Core Do?
  • 9. Seriously, here‟s the point. It’s not the our extensions don’t work, or aren’t well coded (there are plenty of those, too). It’s that they stick out like sore thumbs. What Would Core Do?
  • 10. WordPress WordPress WordPress Page pageMash Category Post Editor Editor Editor What Would Core Do?
  • 11. Why do “consumers” love WordPress? • It’s simple for writers to understand. The user interface is intuitive and (mostly) consistent. • It’s pretty. • There are no more bullets. • Alright maybe it’s affordable, too. Many of our extensions are ruining this. What Would Core Do?
  • 12. 10up‟s Philosophy • WHAT WOULD CORE DO? • Can you tell where “out of the box” WordPress stops and our custom functionality begins? If so, we did it wrong. • If the core team was tasked with building this functionality in, how would they have done it? What Would Core Do?
  • 13. The right way: Akismet Do you even remember it’s not built into core? BTW, is anyone else surprised that erectile dysfunction is still the most common spam? What Would Core Do?
  • 14. The wrong way: cformsII Where did these colors come from?? What Would Core Do?
  • 15. The wrong way: cformsII Where else do we select content to edit like this? What Would Core Do?
  • 16. The wrong way: cformsII Where did these icon conventions come from? What Would Core Do?
  • 17. The wrong way: cformsII What is a “Save form settings” option doing in the admin bar? What Would Core Do?
  • 18. The wrong way: cformsII Why are forms at the bottom instead of with content? And should we just call it “Forms”? What Would Core Do?
  • 19. The wrong way: cformsII Why is there a “Help” menu item? What Would Core Do?
  • 20. Case Study: Simple Local Avatars Why did I build it? I just wanted to upload avatars. Weren‟t there other plug-ins that do that? Sure, if you want a page full of settings (including a default option to include a plug-in author credit), a completely new user admin page to manage the avatars, want to retrieve avatars from Twitter and Facebook, want SnapShot integration, and… What Would Core Do?
  • 21. The Alternative: Add Local Avatars Do I really need a whole new user list screen? What Would Core Do?
  • 22. Oh come on. Really? What Would Core Do?
  • 23. Who cares where it’s saved?? What Would Core Do?
  • 24. Isn’t size a parameter in “get_avatar” already? What Would Core Do?
  • 25. Save it for another plug-in. What Would Core Do?
  • 26. No. What Would Core Do?
  • 27. Case Study: Simple Local Avatars Number of new admin screens: None. What Would Core Do?
  • 28. Simple Local Avatars Number of new setting fields: One. What Would Core Do?
  • 29. Simple Local Avatars Number of new user profile fields: One. What Would Core Do?
  • 30. Simple Local Avatars Value of “it just works”: Priceless. What Would Core Do?
  • 31. It‟s not just plug-ins Where else do we have tabs like We get it. these? Heading… 5? What’s with the font? Hex only? What Would Core Do?
  • 32. It‟s not just plug-ins Oh god. What Would Core Do?
  • 33. Best Practices: Think About Design What would core do? Heck, what does WordPress do? What Would Core Do?
  • 34. Best Practices: Think About Settings • Should it be a top level menu or submenu? • Does it need its own page? Or is it part of, say, “writing” settings? • Should it be a drop down or a radio button? • Do really you even need any settings? What Would Core Do?
  • 35. Best Practices: Leave Dashboard Alone! (a.k.a. stop advertising to us) I love you, Frederick, but frankly, my dear, I don’t give a damn. What Would Core Do?
  • 36. Yep. This isn’t Best Practices: even the advanced tab. Less is More For users: the paradox of choice. Save it for another plug-in. Decisions > Options. What Would Core Do?
  • 37. Coding Techniques: Settings API add_settings_field & add_settings_section http://codex.wordpress.org/Settings_API You can add setting fields and sections to existing setting screens. Don’t make a page for two media settings. What Would Core Do?
  • 38. Coding Techniques: Screen API Add help and documentation using the native “Help” pull down. wpdevel.wordpress.com/2011/12/06/help-and-screen-api-changes-in-3-3/ What Would Core Do?
  • 39. Coding Techniques: Add Hooks Instead of two dozen options, add your own hooks so that other developers can override behavior for the 5% in the long tail. (Like core does!) do_action( „my_plugin_save‟ ); $output = apply_filter( „my_plugin_output‟, $output ) ; What Would Core Do?
  • 40. Coding Techniques: Uninstall Hook codex.wordpress.org/Function_Reference/register_uninstall_hook “Thank goodness that plug-in is gone!” What Would Core Do?
  • 41. WWCD? What would core do? by Jake Goldman @jakemgold slides & code will be available at get10up.com What Would Core Do?