SlideShare ist ein Scribd-Unternehmen logo
1 von 29
Downloaden Sie, um offline zu lesen
Standing on the
Shoulders of Giants :
How Community Shapes
Development in EllisLab
           Derek Allard
    Technology Architect, EllisLab
        derek.allard@ellislab.com
         http://derekallard.com
        http://twitter.com/dallard
Feature to Function
• Look at a new feature in EE2 - File
  Management
• See how the idea came about
• Planning the feature
• Implementing the Feature
• Judge its success, and ongoing improvement
About Allard
          (I promise this relates to my talk)



• 1999 I graduated with an Honours Degree
  in Environmental Studies.
• Fell into teaching about web technology
  almost by accident
• For 10 years I spent half my time freelance
  building sites and web apps, and half my
  time teaching.
If I have seen further it
is by standing on the
shoulders of Giants.
             - Isaac Newton, 1676
Feature to Function

• Acquiring the Feature Idea
• The Planning Stage
• The Build Process
• Release and Review
* where do ideas for features come from?




               Where do features
                 come from?
    • Development team
    • Other staff
    • A website or blog entry about EE
    • Usually, from the forums
Interlude while I Gripe
• “I can haz YouTube?” (What?!?)
• “$other_CMS has it!”
• “Are you not smart enough to build it?”
• “I would request you add more innovative
  features too”


• Logical, well reasoned ideas that fill a niche.
So we have an idea.
      Now what?
• Ideas need to fit into our vision for
  ExpressionEngine
• Ideas need to fit into our development
  process (features don’t just emerge, they
  need to be planned and built)
How We Plan and Build

• We are a remote company - major obstacle
• Subversion, experimenting with Git
• IM (jabber), skype, email
• Technology is not the problem, its social
The “Scrum”
• We develop using a process called Scrum,
  that we’ve adapted a little bit for our needs.
• Scrum is an agile development
  methodology that breaks complex tasks
  (ie: building EE2), into smaller, manageable,
  groups of tasks.
• How do you eat an elephant?
The Scrum Team

• Product Owner - ultimately responsible for
  project direction and release.
• Development Team
• The Scrum-Master
Scrum in 5 bullets
• Product Owner decides what will get built
• Work in 1-3 week “sprints”, 2 most common
• Each sprint is preceded by a planning session
• Daily “scrum meetings”, 15 minutes run by
  scrum master
• Each sprint ends with a wrap-up meeting
Feature to Function

• Acquiring the Feature Idea
• The Planning Stage
• The Build Process
• Release and Review
Estimating Hours
• We can only work so many hours in a day.
• Building stuff takes time.
• We need a way to gauge staff time/productivity



• Assign it to a team member
Planning Stage

• Look at other implementations, particularly
  non-web
• We aimed to bridge the gap between
  desktop and web application
• OSX was a big influence for us in EE2
Feature to Function

• Acquiring the Feature Idea
• The Planning Stage
• The Build Process
• Release and Review
Image Editing

• Demo of the EE2 File Manager
• In EE 1.6, you could only resize and only
  from a form field (no graphical interface).
• You could only resize at the time of
  upload, meaning EE didn’t work for the way
  some people thought of their content.
Showing off: The
   missing component
• Question: Feature is built, now what?
• Answer: Show off!

• (real answer: share, collaborate, and feed off
  each other’s energy)
EE 1.6 File Manager
Publish File Management



•
Experiments in coverflow

 • It was a comfortable, known interface
 • It was proven
 • Keyboard navigation
 • Looked “sexy”
 • Handles large volumes of information well
Experiments in coverflow
 • EPIC FAIL!
 • Flipping between directories sucked
 • It was just enough like coverflow to set
   unrealistic expectations
 • No logical way to tie uploading to it
 • Was unintuitive, and most people needed
   to have the interface explained.
File Management
Publish Files
        Reconsidered
• Bandwidth stingy
• Previews (ie: thumbnails)
• More natural “flow” between upload
  locations. Integrated file upload
• Keyboard navigation
Feature to Function

• Acquiring the Feature Idea
• The Planning Stage
• The Build Process
• Release and Review
Release and Review
• Are we happy?
• Is the community happy?
• Does it help solve problems?
• How can we improve it?

• All aspects of EE are under this
  scrutiny.
Questions?

Weitere ähnliche Inhalte

Was ist angesagt?

DevOps, Agile, Scrum, ITIL, & ITSM: Excerpts From ITx 2016
DevOps, Agile, Scrum, ITIL, & ITSM: Excerpts From ITx 2016DevOps, Agile, Scrum, ITIL, & ITSM: Excerpts From ITx 2016
DevOps, Agile, Scrum, ITIL, & ITSM: Excerpts From ITx 2016Ritchie Grijaldo
 
Change the Language, Change the Rules
Change the Language, Change the RulesChange the Language, Change the Rules
Change the Language, Change the RulesTom Hoyland
 
Untangling spring week2
Untangling spring week2Untangling spring week2
Untangling spring week2Derek Jacoby
 
Some well known people
Some well known peopleSome well known people
Some well known peopleStanly Lau
 
AtlasCamp 2015: Bruce Lee and the essence of Agile
AtlasCamp 2015: Bruce Lee and the essence of AgileAtlasCamp 2015: Bruce Lee and the essence of Agile
AtlasCamp 2015: Bruce Lee and the essence of AgileAtlassian
 
(Best) Practices for the Solo Developer
(Best) Practices for the Solo Developer(Best) Practices for the Solo Developer
(Best) Practices for the Solo DeveloperMichael Eaton
 
Pair PM-ing, An Exploration of an Idea
Pair PM-ing, An Exploration of an IdeaPair PM-ing, An Exploration of an Idea
Pair PM-ing, An Exploration of an IdeaScott Gilbert
 
How to grow learning multi-site agile organizations
How to grow learning multi-site agile organizationsHow to grow learning multi-site agile organizations
How to grow learning multi-site agile organizationsAlexey Krivitsky
 
The "Run Anywhere" Mindset
The "Run Anywhere" MindsetThe "Run Anywhere" Mindset
The "Run Anywhere" MindsetDevOpsDays DFW
 
Becoming A Technical Project Manager
Becoming A Technical Project ManagerBecoming A Technical Project Manager
Becoming A Technical Project ManagerScott Massey
 
Using HipChat For Real Time Communication in Social Media - Thad West
Using HipChat For Real Time Communication in Social Media - Thad WestUsing HipChat For Real Time Communication in Social Media - Thad West
Using HipChat For Real Time Communication in Social Media - Thad WestAtlassian
 
Minimum Viable Architecture -- Good Enough is Good Enough in a Startup
Minimum Viable Architecture -- Good Enough is Good Enough in a StartupMinimum Viable Architecture -- Good Enough is Good Enough in a Startup
Minimum Viable Architecture -- Good Enough is Good Enough in a StartupRandy Shoup
 
Open Agile Romania 2011/Catalin Sindelaru - Scrum Pain
Open Agile Romania 2011/Catalin Sindelaru  - Scrum PainOpen Agile Romania 2011/Catalin Sindelaru  - Scrum Pain
Open Agile Romania 2011/Catalin Sindelaru - Scrum PainMozaic Works
 
Enabling Distributed Agile Teams
Enabling Distributed Agile TeamsEnabling Distributed Agile Teams
Enabling Distributed Agile TeamsTimothy Wise
 
Emergent design @ Pronto 24/11/2013
Emergent design @ Pronto 24/11/2013Emergent design @ Pronto 24/11/2013
Emergent design @ Pronto 24/11/2013Varokas Panusuwan
 
How to survive continuous innovation - Sebastien Goasguen - DevOpsDays Tel Av...
How to survive continuous innovation - Sebastien Goasguen - DevOpsDays Tel Av...How to survive continuous innovation - Sebastien Goasguen - DevOpsDays Tel Av...
How to survive continuous innovation - Sebastien Goasguen - DevOpsDays Tel Av...DevOpsDays Tel Aviv
 
Introduction to agile and Scrum
Introduction to agile and ScrumIntroduction to agile and Scrum
Introduction to agile and ScrumScrum & Kanban
 
React talk, GrunnJs 24 September 2014
React talk, GrunnJs 24 September 2014React talk, GrunnJs 24 September 2014
React talk, GrunnJs 24 September 2014_jjoos_
 

Was ist angesagt? (20)

DevOps, Agile, Scrum, ITIL, & ITSM: Excerpts From ITx 2016
DevOps, Agile, Scrum, ITIL, & ITSM: Excerpts From ITx 2016DevOps, Agile, Scrum, ITIL, & ITSM: Excerpts From ITx 2016
DevOps, Agile, Scrum, ITIL, & ITSM: Excerpts From ITx 2016
 
Change the Language, Change the Rules
Change the Language, Change the RulesChange the Language, Change the Rules
Change the Language, Change the Rules
 
Untangling spring week2
Untangling spring week2Untangling spring week2
Untangling spring week2
 
Some well known people
Some well known peopleSome well known people
Some well known people
 
AtlasCamp 2015: Bruce Lee and the essence of Agile
AtlasCamp 2015: Bruce Lee and the essence of AgileAtlasCamp 2015: Bruce Lee and the essence of Agile
AtlasCamp 2015: Bruce Lee and the essence of Agile
 
(Best) Practices for the Solo Developer
(Best) Practices for the Solo Developer(Best) Practices for the Solo Developer
(Best) Practices for the Solo Developer
 
Solr pattern
Solr patternSolr pattern
Solr pattern
 
Pair PM-ing, An Exploration of an Idea
Pair PM-ing, An Exploration of an IdeaPair PM-ing, An Exploration of an Idea
Pair PM-ing, An Exploration of an Idea
 
How to grow learning multi-site agile organizations
How to grow learning multi-site agile organizationsHow to grow learning multi-site agile organizations
How to grow learning multi-site agile organizations
 
The "Run Anywhere" Mindset
The "Run Anywhere" MindsetThe "Run Anywhere" Mindset
The "Run Anywhere" Mindset
 
Becoming A Technical Project Manager
Becoming A Technical Project ManagerBecoming A Technical Project Manager
Becoming A Technical Project Manager
 
Using HipChat For Real Time Communication in Social Media - Thad West
Using HipChat For Real Time Communication in Social Media - Thad WestUsing HipChat For Real Time Communication in Social Media - Thad West
Using HipChat For Real Time Communication in Social Media - Thad West
 
Minimum Viable Architecture -- Good Enough is Good Enough in a Startup
Minimum Viable Architecture -- Good Enough is Good Enough in a StartupMinimum Viable Architecture -- Good Enough is Good Enough in a Startup
Minimum Viable Architecture -- Good Enough is Good Enough in a Startup
 
Open Agile Romania 2011/Catalin Sindelaru - Scrum Pain
Open Agile Romania 2011/Catalin Sindelaru  - Scrum PainOpen Agile Romania 2011/Catalin Sindelaru  - Scrum Pain
Open Agile Romania 2011/Catalin Sindelaru - Scrum Pain
 
Enabling Distributed Agile Teams
Enabling Distributed Agile TeamsEnabling Distributed Agile Teams
Enabling Distributed Agile Teams
 
Emergent design @ Pronto 24/11/2013
Emergent design @ Pronto 24/11/2013Emergent design @ Pronto 24/11/2013
Emergent design @ Pronto 24/11/2013
 
How to survive continuous innovation - Sebastien Goasguen - DevOpsDays Tel Av...
How to survive continuous innovation - Sebastien Goasguen - DevOpsDays Tel Av...How to survive continuous innovation - Sebastien Goasguen - DevOpsDays Tel Av...
How to survive continuous innovation - Sebastien Goasguen - DevOpsDays Tel Av...
 
Introduction to agile and Scrum
Introduction to agile and ScrumIntroduction to agile and Scrum
Introduction to agile and Scrum
 
OpenSource и Вы
OpenSource и ВыOpenSource и Вы
OpenSource и Вы
 
React talk, GrunnJs 24 September 2014
React talk, GrunnJs 24 September 2014React talk, GrunnJs 24 September 2014
React talk, GrunnJs 24 September 2014
 

Ähnlich wie Standing on the Shoulders of Giants: How Community Shapes Development in EllisLab

Dev ops lessons learned - Michael Collins
Dev ops lessons learned  - Michael CollinsDev ops lessons learned  - Michael Collins
Dev ops lessons learned - Michael CollinsDevopsdays
 
Improve performance of developer - Khodak
Improve performance of developer  - KhodakImprove performance of developer  - Khodak
Improve performance of developer - KhodakIgor Bronovskyy
 
International pbl conf_5b-c_kizaki
International pbl conf_5b-c_kizakiInternational pbl conf_5b-c_kizaki
International pbl conf_5b-c_kizakiSatoru Kizaki
 
OpenStack Upstream Training Report
OpenStack Upstream Training ReportOpenStack Upstream Training Report
OpenStack Upstream Training ReportRakuten Group, Inc.
 
Devops in with the old, in with the new
Devops   in with the old, in with the newDevops   in with the old, in with the new
Devops in with the old, in with the newJan Collijs
 
The Ideas of Clojure - Things I learn from Clojure
The Ideas of Clojure - Things I learn from ClojureThe Ideas of Clojure - Things I learn from Clojure
The Ideas of Clojure - Things I learn from ClojureHsuan Fu Lien
 
Back To Square One: Building a WordPress Starter Development Kit
Back To Square One: Building a WordPress Starter Development KitBack To Square One: Building a WordPress Starter Development Kit
Back To Square One: Building a WordPress Starter Development Kitkyleu
 
LinuxCon2009: What does it mean being an Open Source project manager in Enter...
LinuxCon2009: What does it mean being an Open Source project manager in Enter...LinuxCon2009: What does it mean being an Open Source project manager in Enter...
LinuxCon2009: What does it mean being an Open Source project manager in Enter...Toshiharu Harada, Ph.D
 
Getting agile with drupal
Getting agile with drupalGetting agile with drupal
Getting agile with drupalPromet Source
 
Green hopper webinar(1)
Green hopper webinar(1)Green hopper webinar(1)
Green hopper webinar(1)Cprime
 
Tooling for the JavaScript Era
Tooling for the JavaScript EraTooling for the JavaScript Era
Tooling for the JavaScript Eramartinlippert
 
An introduction to Eclipse Mylyn
An introduction to Eclipse MylynAn introduction to Eclipse Mylyn
An introduction to Eclipse MylynJeffrey Groneberg
 
It's XP Stupid (2019)
It's XP Stupid (2019)It's XP Stupid (2019)
It's XP Stupid (2019)Mike Harris
 
Devconf 2011 - PHP - How Yii framework is developed
Devconf 2011 - PHP - How Yii framework is developedDevconf 2011 - PHP - How Yii framework is developed
Devconf 2011 - PHP - How Yii framework is developedAlexander Makarov
 
Colin sullivan successful-project-presentation
Colin sullivan successful-project-presentationColin sullivan successful-project-presentation
Colin sullivan successful-project-presentationmskmoorthy
 
Don't get blamed for your choices - Techorama 2019
Don't get blamed for your choices - Techorama 2019Don't get blamed for your choices - Techorama 2019
Don't get blamed for your choices - Techorama 2019Hannes Lowette
 
What IS SharePoint Development?
What IS SharePoint Development?What IS SharePoint Development?
What IS SharePoint Development?Mark Rackley
 

Ähnlich wie Standing on the Shoulders of Giants: How Community Shapes Development in EllisLab (20)

Dev ops lessons learned - Michael Collins
Dev ops lessons learned  - Michael CollinsDev ops lessons learned  - Michael Collins
Dev ops lessons learned - Michael Collins
 
Improve performance of developer - Khodak
Improve performance of developer  - KhodakImprove performance of developer  - Khodak
Improve performance of developer - Khodak
 
International pbl conf_5b-c_kizaki
International pbl conf_5b-c_kizakiInternational pbl conf_5b-c_kizaki
International pbl conf_5b-c_kizaki
 
306 belmont ssp08agileit
306 belmont ssp08agileit306 belmont ssp08agileit
306 belmont ssp08agileit
 
OpenStack Upstream Training Report
OpenStack Upstream Training ReportOpenStack Upstream Training Report
OpenStack Upstream Training Report
 
Devops in with the old, in with the new
Devops   in with the old, in with the newDevops   in with the old, in with the new
Devops in with the old, in with the new
 
The Ideas of Clojure - Things I learn from Clojure
The Ideas of Clojure - Things I learn from ClojureThe Ideas of Clojure - Things I learn from Clojure
The Ideas of Clojure - Things I learn from Clojure
 
Usable Software Design
Usable Software DesignUsable Software Design
Usable Software Design
 
Back To Square One: Building a WordPress Starter Development Kit
Back To Square One: Building a WordPress Starter Development KitBack To Square One: Building a WordPress Starter Development Kit
Back To Square One: Building a WordPress Starter Development Kit
 
LinuxCon2009: What does it mean being an Open Source project manager in Enter...
LinuxCon2009: What does it mean being an Open Source project manager in Enter...LinuxCon2009: What does it mean being an Open Source project manager in Enter...
LinuxCon2009: What does it mean being an Open Source project manager in Enter...
 
Getting agile with drupal
Getting agile with drupalGetting agile with drupal
Getting agile with drupal
 
Green hopper webinar(1)
Green hopper webinar(1)Green hopper webinar(1)
Green hopper webinar(1)
 
Tooling for the JavaScript Era
Tooling for the JavaScript EraTooling for the JavaScript Era
Tooling for the JavaScript Era
 
An introduction to Eclipse Mylyn
An introduction to Eclipse MylynAn introduction to Eclipse Mylyn
An introduction to Eclipse Mylyn
 
It's XP Stupid (2019)
It's XP Stupid (2019)It's XP Stupid (2019)
It's XP Stupid (2019)
 
SlideShare culture
SlideShare cultureSlideShare culture
SlideShare culture
 
Devconf 2011 - PHP - How Yii framework is developed
Devconf 2011 - PHP - How Yii framework is developedDevconf 2011 - PHP - How Yii framework is developed
Devconf 2011 - PHP - How Yii framework is developed
 
Colin sullivan successful-project-presentation
Colin sullivan successful-project-presentationColin sullivan successful-project-presentation
Colin sullivan successful-project-presentation
 
Don't get blamed for your choices - Techorama 2019
Don't get blamed for your choices - Techorama 2019Don't get blamed for your choices - Techorama 2019
Don't get blamed for your choices - Techorama 2019
 
What IS SharePoint Development?
What IS SharePoint Development?What IS SharePoint Development?
What IS SharePoint Development?
 

Kürzlich hochgeladen

Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 

Kürzlich hochgeladen (20)

Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 

Standing on the Shoulders of Giants: How Community Shapes Development in EllisLab

  • 1. Standing on the Shoulders of Giants : How Community Shapes Development in EllisLab Derek Allard Technology Architect, EllisLab derek.allard@ellislab.com http://derekallard.com http://twitter.com/dallard
  • 2. Feature to Function • Look at a new feature in EE2 - File Management • See how the idea came about • Planning the feature • Implementing the Feature • Judge its success, and ongoing improvement
  • 3. About Allard (I promise this relates to my talk) • 1999 I graduated with an Honours Degree in Environmental Studies. • Fell into teaching about web technology almost by accident • For 10 years I spent half my time freelance building sites and web apps, and half my time teaching.
  • 4. If I have seen further it is by standing on the shoulders of Giants. - Isaac Newton, 1676
  • 5. Feature to Function • Acquiring the Feature Idea • The Planning Stage • The Build Process • Release and Review
  • 6. * where do ideas for features come from? Where do features come from? • Development team • Other staff • A website or blog entry about EE • Usually, from the forums
  • 7. Interlude while I Gripe • “I can haz YouTube?” (What?!?) • “$other_CMS has it!” • “Are you not smart enough to build it?” • “I would request you add more innovative features too” • Logical, well reasoned ideas that fill a niche.
  • 8. So we have an idea. Now what? • Ideas need to fit into our vision for ExpressionEngine • Ideas need to fit into our development process (features don’t just emerge, they need to be planned and built)
  • 9. How We Plan and Build • We are a remote company - major obstacle • Subversion, experimenting with Git • IM (jabber), skype, email • Technology is not the problem, its social
  • 10. The “Scrum” • We develop using a process called Scrum, that we’ve adapted a little bit for our needs. • Scrum is an agile development methodology that breaks complex tasks (ie: building EE2), into smaller, manageable, groups of tasks. • How do you eat an elephant?
  • 11. The Scrum Team • Product Owner - ultimately responsible for project direction and release. • Development Team • The Scrum-Master
  • 12. Scrum in 5 bullets • Product Owner decides what will get built • Work in 1-3 week “sprints”, 2 most common • Each sprint is preceded by a planning session • Daily “scrum meetings”, 15 minutes run by scrum master • Each sprint ends with a wrap-up meeting
  • 13. Feature to Function • Acquiring the Feature Idea • The Planning Stage • The Build Process • Release and Review
  • 14. Estimating Hours • We can only work so many hours in a day. • Building stuff takes time. • We need a way to gauge staff time/productivity • Assign it to a team member
  • 15. Planning Stage • Look at other implementations, particularly non-web • We aimed to bridge the gap between desktop and web application • OSX was a big influence for us in EE2
  • 16.
  • 17. Feature to Function • Acquiring the Feature Idea • The Planning Stage • The Build Process • Release and Review
  • 18. Image Editing • Demo of the EE2 File Manager • In EE 1.6, you could only resize and only from a form field (no graphical interface). • You could only resize at the time of upload, meaning EE didn’t work for the way some people thought of their content.
  • 19. Showing off: The missing component • Question: Feature is built, now what? • Answer: Show off! • (real answer: share, collaborate, and feed off each other’s energy)
  • 20. EE 1.6 File Manager
  • 22. Experiments in coverflow • It was a comfortable, known interface • It was proven • Keyboard navigation • Looked “sexy” • Handles large volumes of information well
  • 23. Experiments in coverflow • EPIC FAIL! • Flipping between directories sucked • It was just enough like coverflow to set unrealistic expectations • No logical way to tie uploading to it • Was unintuitive, and most people needed to have the interface explained.
  • 24.
  • 26. Publish Files Reconsidered • Bandwidth stingy • Previews (ie: thumbnails) • More natural “flow” between upload locations. Integrated file upload • Keyboard navigation
  • 27. Feature to Function • Acquiring the Feature Idea • The Planning Stage • The Build Process • Release and Review
  • 28. Release and Review • Are we happy? • Is the community happy? • Does it help solve problems? • How can we improve it? • All aspects of EE are under this scrutiny.