SlideShare ist ein Scribd-Unternehmen logo
1 von 49
architecture is
  for everyone
a gentle introduction to thinking big
hi. i’m eaton.
who are you?
who are you?
   member of a dev team
    someone with client
someone responsible for a site
    a module maintainer
        a core dev
who are you?
   member of a dev team
    someone with client
someone responsible for a site
    a module maintainer
        a core dev

  frustrated!
Bahahahahahah.
     hahah.
      ahem.
“no devs” means
  “smart” code
 smart systems are complicated
we’re architects, now



http://www.flickr.com/photos/47325272@N00/2541408630/
we’re architects, now



http://www.flickr.com/photos/47325272@N00/2541408630/
•   7 stories (then 3)

•   160 rooms

•   20,500 gallons

•   10,000 windows

•   17 chimneys (maybe?)

•   Elevators! Central heat!
    Chaos and madness!
•   7 stories (then 3)

•   160 rooms

•   20,500 gallons

•   10,000 windows

•   17 chimneys (maybe?)

•   Elevators! Central heat!
    Chaos and madness!
•   7 stories (then 3)

•   160 rooms

•   20,500 gallons

•   10,000 windows

•   17 chimneys (maybe?)

•   Elevators! Central heat!
    Chaos and madness!
complexity
                  requires
                 a roadmap

http://www.flickr.com/photos/47325272@N00/2541408630/
what makes an
  architect?
  no, seriously, what?
goals before features

http://www.flickr.com/photos/16057786@N00/2956432732/
see the forest



http://www.flickr.com/photos/cmefish/3039477633
know
                                            the tools


http://www.flickr.com/photos/thefangmonster/490423135
choices,
tradeoffs
coordinate,
communicate
coordinate,
communicate
identify
     patterns


http://www.flickr.com/photos/evaekeblad/916121820
identify
     patterns


http://www.flickr.com/photos/evaekeblad/916121820
look
                                                around
http://www.flickr.com/photos/gerlos/3119891607
building a site
(architect style)
•   Views, of course!

•   ImageAPI, ImageField...

•   Panels? Nodequeue?

•   Workflow!

•   Organic Groups!

•   And that’ll be custom...
WRONG!
GOALS
CONTEXT
PROCESS
ROAD
not as fun

but now
we have
 a plan.
but... drupal?
   road maps...?
YES
what is
drupal’s goal?
what are our
constraints?
where are we now?
where are we now?
how do we reduce
  complexity?
*cough*
smallcore
 *cough*
think big,
build small
suggested reading
suggested reading

Weitere ähnliche Inhalte

Andere mochten auch

Baby Got Backend (CMS Expo 2011)
Baby Got Backend (CMS Expo 2011)Baby Got Backend (CMS Expo 2011)
Baby Got Backend (CMS Expo 2011)
Jeff Eaton
 

Andere mochten auch (8)

The Platypus Problem
The Platypus ProblemThe Platypus Problem
The Platypus Problem
 
Baby Got Backend (CMS Expo 2011)
Baby Got Backend (CMS Expo 2011)Baby Got Backend (CMS Expo 2011)
Baby Got Backend (CMS Expo 2011)
 
ROI in a GPL World
ROI in a GPL WorldROI in a GPL World
ROI in a GPL World
 
Promiscuous Drupal
Promiscuous DrupalPromiscuous Drupal
Promiscuous Drupal
 
Deblobbing In The Real World
Deblobbing In The Real WorldDeblobbing In The Real World
Deblobbing In The Real World
 
Drupal in Action
Drupal in ActionDrupal in Action
Drupal in Action
 
Drupal Development
Drupal DevelopmentDrupal Development
Drupal Development
 
Recoupling
RecouplingRecoupling
Recoupling
 

Ähnlich wie Architecture Is For Everyone

How I failed to present on using DVCS to control archival metadata
How I failed to present on using DVCS to control archival metadataHow I failed to present on using DVCS to control archival metadata
How I failed to present on using DVCS to control archival metadata
Mark Matienzo
 
GTALUG Presentation on CouchDB
GTALUG Presentation on CouchDBGTALUG Presentation on CouchDB
GTALUG Presentation on CouchDB
Myles Braithwaite
 
Coworking 7th Floor
Coworking 7th FloorCoworking 7th Floor
Coworking 7th Floor
fabiomasetti
 

Ähnlich wie Architecture Is For Everyone (20)

What Can I Do Now V1.01
What Can I Do Now V1.01What Can I Do Now V1.01
What Can I Do Now V1.01
 
Ideation to Production
Ideation to ProductionIdeation to Production
Ideation to Production
 
RailsConf 2008
RailsConf 2008RailsConf 2008
RailsConf 2008
 
Semantic Web For Distributed Social Networks
Semantic Web For Distributed Social NetworksSemantic Web For Distributed Social Networks
Semantic Web For Distributed Social Networks
 
Map Analytics - Ignite Spatial
Map Analytics - Ignite SpatialMap Analytics - Ignite Spatial
Map Analytics - Ignite Spatial
 
Designing The Digital Experience
Designing The Digital ExperienceDesigning The Digital Experience
Designing The Digital Experience
 
How I failed to present on using DVCS to control archival metadata
How I failed to present on using DVCS to control archival metadataHow I failed to present on using DVCS to control archival metadata
How I failed to present on using DVCS to control archival metadata
 
Library Skunk Works: User Experience Design for the 21st Century Library
Library Skunk Works: User Experience Design for the 21st Century LibraryLibrary Skunk Works: User Experience Design for the 21st Century Library
Library Skunk Works: User Experience Design for the 21st Century Library
 
GTALUG Presentation on CouchDB
GTALUG Presentation on CouchDBGTALUG Presentation on CouchDB
GTALUG Presentation on CouchDB
 
“Public Library 2.0: Making it Happen”
“Public Library 2.0: Making it Happen”“Public Library 2.0: Making it Happen”
“Public Library 2.0: Making it Happen”
 
Functional Interaction Design
Functional Interaction DesignFunctional Interaction Design
Functional Interaction Design
 
Web 2.0 Pedagogy v1.2
Web 2.0 Pedagogy v1.2Web 2.0 Pedagogy v1.2
Web 2.0 Pedagogy v1.2
 
Coworking 7th Floor
Coworking 7th FloorCoworking 7th Floor
Coworking 7th Floor
 
Snakes on the Web
Snakes on the WebSnakes on the Web
Snakes on the Web
 
Picture Perfect: Images for Coders
Picture Perfect: Images for CodersPicture Perfect: Images for Coders
Picture Perfect: Images for Coders
 
Agile Estimation
Agile EstimationAgile Estimation
Agile Estimation
 
WDE08 BULLETPROOF A to Z
WDE08 BULLETPROOF A to ZWDE08 BULLETPROOF A to Z
WDE08 BULLETPROOF A to Z
 
Fundamental Design Principles
Fundamental Design PrinciplesFundamental Design Principles
Fundamental Design Principles
 
Design Disrepair
Design DisrepairDesign Disrepair
Design Disrepair
 
Kill Your Darlings: Solving Design by Throwing Away Your Prototypes
Kill Your Darlings: Solving Design by Throwing Away Your PrototypesKill Your Darlings: Solving Design by Throwing Away Your Prototypes
Kill Your Darlings: Solving Design by Throwing Away Your Prototypes
 

Mehr von Jeff Eaton

Workflow That Works Under Pressure
Workflow That Works Under PressureWorkflow That Works Under Pressure
Workflow That Works Under Pressure
Jeff Eaton
 
Planning Beyond the Page
Planning Beyond the PagePlanning Beyond the Page
Planning Beyond the Page
Jeff Eaton
 
Building Your Agency's Content Strategy Practice
Building Your Agency's Content Strategy PracticeBuilding Your Agency's Content Strategy Practice
Building Your Agency's Content Strategy Practice
Jeff Eaton
 
Prepare for the Mobilacalypse
Prepare for the MobilacalypsePrepare for the Mobilacalypse
Prepare for the Mobilacalypse
Jeff Eaton
 
Building Apis That Rock
Building Apis That RockBuilding Apis That Rock
Building Apis That Rock
Jeff Eaton
 

Mehr von Jeff Eaton (19)

This Is not a Place of Honor
This Is not a Place of HonorThis Is not a Place of Honor
This Is not a Place of Honor
 
An API Won't Fix Your Content Problem
An API Won't Fix Your Content ProblemAn API Won't Fix Your Content Problem
An API Won't Fix Your Content Problem
 
Hello, {{FIRSTNAME}}, My Old Friend
Hello, {{FIRSTNAME}}, My Old FriendHello, {{FIRSTNAME}}, My Old Friend
Hello, {{FIRSTNAME}}, My Old Friend
 
Maps, Models, and Teams
Maps, Models, and TeamsMaps, Models, and Teams
Maps, Models, and Teams
 
Collaborative Content Modeling
Collaborative Content ModelingCollaborative Content Modeling
Collaborative Content Modeling
 
Adventures in Drupal 8
Adventures in Drupal 8Adventures in Drupal 8
Adventures in Drupal 8
 
Modeling Rich Narrative Content
Modeling Rich Narrative ContentModeling Rich Narrative Content
Modeling Rich Narrative Content
 
Battle for the Body Field (DrupalCon)
Battle for the Body Field (DrupalCon)Battle for the Body Field (DrupalCon)
Battle for the Body Field (DrupalCon)
 
The Battle For The Body Field
The Battle For The Body FieldThe Battle For The Body Field
The Battle For The Body Field
 
Workflow That Works Under Pressure
Workflow That Works Under PressureWorkflow That Works Under Pressure
Workflow That Works Under Pressure
 
Planning Beyond the Page
Planning Beyond the PagePlanning Beyond the Page
Planning Beyond the Page
 
Building Your Agency's Content Strategy Practice
Building Your Agency's Content Strategy PracticeBuilding Your Agency's Content Strategy Practice
Building Your Agency's Content Strategy Practice
 
Prepare for the Mobilacalypse
Prepare for the MobilacalypsePrepare for the Mobilacalypse
Prepare for the Mobilacalypse
 
Building Apis That Rock
Building Apis That RockBuilding Apis That Rock
Building Apis That Rock
 
Drupal Deployment
Drupal DeploymentDrupal Deployment
Drupal Deployment
 
Building Twitter in Drupal
Building Twitter in DrupalBuilding Twitter in Drupal
Building Twitter in Drupal
 
O'Reilly Drupal Webcast
O'Reilly Drupal WebcastO'Reilly Drupal Webcast
O'Reilly Drupal Webcast
 
The Future of Nodes
The Future of NodesThe Future of Nodes
The Future of Nodes
 
Form API 3
Form API 3Form API 3
Form API 3
 

Kürzlich hochgeladen

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Kürzlich hochgeladen (20)

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 

Architecture Is For Everyone

Hinweis der Redaktion

  1. Work with clients who need sustainable sites Training, Planning, and suffering
  2. Dries has talked about this for years Who here used to be a webmaster? You didn’t go away - you became a developer.
  3. “Eliminate the developer” - CCK, Views, Panels, OG, d7ux! I wrote “Using Drupal” - code free site recipes! Are we dying?
  4. More pieces than ever Pieces are bigger Nontrivial changes require deep understanding “No-code” requires knowing the code enough to avoid it
  5. Sarah Winchester’s mansion
  6. cool features. total chaos. no master plan.
  7. cool features. total chaos. no master plan.
  8. that’s software architecture.
  9. this is not canon, it’s fuzzy. What’s the difference between a dev and an architect?
  10. Too quick to jump to modules, features, “can we do X?” Need context: Winchester house was fine for its goal “Divide articles into pages!” break up long articles, or increase clicks? “We need a content staging server!” Or use workflow? OR NOT “We need X in core!” Do we?
  11. Balance Features, legacy code, performance, growth, real-world workflow, external environment (business AND tech), timelines, available resources we “know” many of these, but must be explicit
  12. the flip side: my grandfather was a machinist, and he hated architects. understand the details too, even if you delegate otherwise you’re just project manager, not an architect.
  13. If you only have one option, you’re doing it wrong Might be only one GOOD option Understand goals & constraints lets you get the spirit of the requests, not just the letter
  14. silos are good -- but only if they’re planned mismatched APIs in core overlapping modules, duplicated work, performance collisions in sites this is why architects love their diagrams
  15. Things you’re doing over and over (nodes, taxonomy, flag) Things you’re doing that others have (Pattern language) Christopher Alexander Patterns aren’t magic: they are lessons that have been learned
  16. "Use Wordpress." "Farm that out to an outside service." "Learn lessons from Movable Type's template system..." "How does the django team deal with scaling?" Don't have to become an expert at everything, but knowing how to learn from others - and get help from them - is critical.
  17. increase page views! more social features! escape $400,000 a year CMS! simplify editorial!
  18. Publication cycle? User participation levels? Traffic? Servers? Migrating newsroom to drupal, or just display? Legacy systems? Priorities? This is why specs are gold.
  19. How will we test? How will we launch/transition? How will we roll out new stuff AFTER launch? See the Economist presentation for a great example
  20. How are we going to get there? What portions are most important?
  21. Become wordpress? Become django? Facilitate distributions? Avoid commitment?
  22. Mostly volunteers Shared hosting Now Public (current client w/85,000 logged in users) PHP Language
  23. 100 fewer lines of PHP? 10,000 new sites? Code “feels better?” Ghosts leave us alone?
  24. Finding places where APIs collide Finding cruft of half-implemented features Eliminating things that are edge cases Adding pieces that are constantly re-implemented
  25. Not a code idea, but manifests in code Split APIs (fapi, dbtng, menus, hooks...) from “features” Push “features” to distros and profiles Plan silos, reduce assumptions, allow specialization