SlideShare a Scribd company logo
1 of 48
Download to read offline
The Lean Tech Stack
Engineering Nimble Experiences
Bill Scott
Sr. Director UI Engineering
PayPal

July 14
Open Web Camp 2012
The Way it Was
Building a game
in 1985
Original Mac Quickdraw Toolkit
provided some GUI framework
pieces (like the Open File Box)

This bit of “path of least
resistance” was a powerful boost
to consistency and creating nice
looking Macintosh UIs

But there was still a lot le* to
create on your own
Developing a UI was still hard work




No internet. Open source was practically non-existent.

Hard to build (all native & assembly)

Long shelf life (long release cycles with 3.5” disk deployment

Reuse was something we longed for
Developing a UI was still hard work




No internet. Open source was practically non-existent.

Hard to build (all native & assembly)

Long shelf life (long release cycles with 3.5” disk deployment

Reuse was something we longed for
Developing a UI was still hard work




No internet. Open source was practically non-existent.

Hard to build (all native & assembly)

Long shelf life (long release cycles with 3.5” disk deployment

Reuse was something we longed for
’85-’05. Lots of proprietary frameworks.
       Orbiter. 3D Graphics Library

       ESYView. Wargame simulator & briefing tool. Almost
       everything had to be written from the ground up (mapping
       projection library, double buffering, display lists, canvas)

       C++ Frameworks for Motif

       Tcl/TK Frameworks

       3 JSP Frameworks (i2 Technologies, Sabre, Netflix)

       Rico. One of first Ajax/JS frameworks 2005.
Sharing with the world
         Rico. One of the early Ajax/JS frameworks (2005)



         Launched Yahoo! Design Pattern Library (2006)



         Worked closely with YUI team (and built first
         carousel version)
Sharing with the world
            Rico. One of the early Ajax/JS frameworks (2005)



            Launched Yahoo! Design Pattern Library (2006)



            Worked closely with YUI team (and built first
            carousel version)




 Lesson: The power of sharing and multiplying!
The Epiphany
Netflix way of working
Different way of working, different culture
Netflix way of working
Different way of working, different culture

1. Working Model - Experience-Driven
  Start with experience
  Only customer is the member (no internal customers)
  We rarely talked about the “machine”. We talked about members.
Netflix way of working
Different way of working, different culture

1. Working Model - Experience-Driven
  Start with experience
  Only customer is the member (no internal customers)
  We rarely talked about the “machine”. We talked about members.


2. Culture - Rapid Experimentation
  Get it out live as fast as possible
  Fail fast
  Learn fast
  Don’t over think it
Epiphany
Epiphany

   A       A'

   B       B'

   C       C'

   D   C   D'   A'
   E       E'
   F       F'
   G       G'
Epiphany

   A            A'

   B            B'

   C            C'

   D   C        D'    A'
   E            E'
   F            F'
   G            G'


           93% thrown away
Epiphany
                             Follow Build-Test-Learn
   A            A'           Design for volatility, throwaway-
   B            B'
                             ability
   C            C'

   D   C        D'    A'
   E            E'           At Netflix 90% or more of the UI
   F
   G
                F'
                G'
                             code was thrown away every year

           93% thrown away   Doesn’t take too many tests to result
                             in lots of throw away code
Epiphany
                             Follow Build-Test-Learn
   A            A'           Design for volatility, throwaway-
   B            B'
                             ability
   C            C'

   D   C        D'    A'
   E            E'           At Netflix 90% or more of the UI
   F
   G
                F'
                G'
                             code was thrown away every year

           93% thrown away   Doesn’t take too many tests to result
                             in lots of throw away code



         U I Layer =
          mentatio n Layer
    Experi
Lessons Learned


Engineering experiences
   in a nimble world
# 1 Design for
   Volatility
Stewart Brand - How Buildings Learn
User Interface
                                      Shears Fastest
                                      Our so*ware is always tearing
                                      itself apart (or should be)

                                      Recognize that different layers
                                      change at different velocities



Stewart Brand - How Buildings Learn
User Interface
                                      Shears Fastest
                                      Our so*ware is always tearing
                                      itself apart (or should be)

                                      Recognize that different layers
                                      change at different velocities



Stewart Brand - How Buildings Learn




                                      All buildings are predictions. All
                                      predictions are wrong. There's no
                                      escape from this grim syllogism, but it
                                      can be softened. - Brand
Design at different velocities by layer
Design at different velocities by layer



Recognize that different parts of Stack change at different velocities

    “ a n y b u ild in g is a c t u a lly a h ie ra r c h y o f p ie c e s , e a c h o f w h ic h
    in h e r e n t ly c h a n g e s a t d iff e r e n t ra t e s ”
    - S t e w a r t B ra n d . H o w B u ild in g s L e a r n .

Design for throwaway-ability (Volatility)!

Use before you Reuse (optimize for change)

Utilize packaging or Paths to capture experiments
# 2 Start with
the  Expe rience
Experience vs Components
Experience vs Components
Experience & Experimentation First
Why start with experience?
Stay honest & pure by having experience be the driver
(not what your boss thinks or what looks good on your resume or
what the loudest one in the room thinks)



Remember...
Use before you reuse

Let the experience drive the engineering

Reuse is an engineering optimization. Use is what users do.
#3 Build in Rapid
Expe rimen  tation
Build in Rapid Experimentation
Think of the UI Layer as “The Experimentation Layer”
Early rapid prototyping leads to learnings to get into the right ballpark




Follow with live A/B Testing. Lots of it.



Creates a healthy environment with constant customer feedback loops
Contrast this with “Long Shelf Life” culture
Lean UX: Key to Rapid Iteration



Before
Most sales of TurboTax at tax season led to conservative culture
One major initiative a year.

Now
Test over 500 different changes in a 2 1/2 month tax season.
Running up to seventy different tests per week.
Make a change live on its website on Thursday, run it over the
weekend, read the results on Monday, and come to conclusions
starting Tuesday; then they rebuild new tests

Ries, Eric (2011-09-13). The Lean Startup: How Today’s Entrepreneurs Use Continuous Innovation to Create Radically
Successful Businesses (p. 33). Random House, Inc.. Kindle Edition.
Lean UX: Key to Rapid Iteration
Lean UX: Key to Rapid Iteration
Lean UX - co-located
Lean UX: Key to Rapid Iteration
Lean UX - co-located




 Product/Design team                UIEs               Usability/Customers



                                                                             And back
                                                                              again...
                       Whiteboard          Code to
                        to code            Usability
Lean UX: Key to Rapid Iteration
Lean UX - co-located




 Product/Design team                UIEs               Usability/Customers



                                                                             And back
                                                                              again...
                       Whiteboard          Code to
                        to code            Usability



Remove the walls between teams

Use shared understanding instead of documentation

Make living code the design

Everyone has skin in the game
#4 Reuse W  here
    Possible
Requirements for Lean UI Stack
Independent of the backend language

Flexible enough to run in either the server or in the client

Equally good at building web sites as it is building web applications

Pushable outside of the application stack (publish model)

Cleanly separated from the backend/app code (ideally by JSON)

Utilize what is common to developers in the valley (what they use at
night)

Quick & easy to build & tear down components
Example of Lean Stack
Startups move at Lean Speed
Meebo - Power of Python/Django
Spawned Instagram, GameClosure, Clover
Acquired by Google 2012

Rypple - Rapid prototyping/Starbucks Usability
Acquired by Salesforce 2011

Togetherville - Many Pivots
Acquired by Disney 2010

BagCheck - Mobile first, get it live early, build on open source stack
Acquired by Twitter 2011
Engineering Lean
It’s not all reuse. It is the experience.

Stop re-inventing what has already been invented

Github is your best friend. Make reuse your bootstrap.

Remember Zuck’s Law
“If I had to build this in a garage, how would I build it?”




The bottom line: get the user feedback loop flowing and
keep it flowing.
The Mission
Bringing Design to Life
       Quickly
Presentation
billwscott.com/share/presentations/2012/ow/

Blogs
http://looksgoodworkswell.com
http://designingwebinterfaces.com

Follow me on twitter!
@billwscott
               Book
               http://designingwebinterfaces.com




Picture Credits (Creative Commons)
http://www.flickr.com/photos/neilsingapore/4047105116/sizes/l/
http://www.flickr.com/photos/smb_flickr/439040132/
http://www.flickr.com/photos/therevsteve/3104267109/sizes/o/
http://www.flickr.com/photos/st3f4n/4193370268/sizes/l/
http://www.flickr.com/photos/eole/380316678/sizes/z/
http://www.flickr.com/photos/cobalt/3035453914/sizes/z/
http://www.flickr.com/photos/mbiskoping/6075387388/
http://www.flickr.com/photos/fragglerawker/2370316759/sizes/z/
http://www.flickr.com/photos/soldiersmediacenter/4685688778/sizes/z/

More Related Content

What's hot

Lean engineering for lean/balanced teams: lessons learned (and still learning...
Lean engineering for lean/balanced teams: lessons learned (and still learning...Lean engineering for lean/balanced teams: lessons learned (and still learning...
Lean engineering for lean/balanced teams: lessons learned (and still learning...Balanced Team
 
Lean Engineering: How to make Engineering a full Lean UX partner
Lean Engineering: How to make Engineering a full Lean UX partnerLean Engineering: How to make Engineering a full Lean UX partner
Lean Engineering: How to make Engineering a full Lean UX partnerBill Scott
 
It is not supposed to fly but it does
It is not supposed to fly but it doesIt is not supposed to fly but it does
It is not supposed to fly but it doesGabriele Lana
 
Getting Started with IntelliJ IDEA as an Eclipse User
Getting Started with IntelliJ IDEA as an Eclipse UserGetting Started with IntelliJ IDEA as an Eclipse User
Getting Started with IntelliJ IDEA as an Eclipse UserZeroTurnaround
 
10 Reasons Your Software Sucks - Election 2012 Edition
10 Reasons Your Software Sucks - Election 2012 Edition10 Reasons Your Software Sucks - Election 2012 Edition
10 Reasons Your Software Sucks - Election 2012 EditionCaleb Jenkins
 
10 Reasons Your Software Sucks 2014 - Tax Day Edition!
10 Reasons Your Software Sucks 2014 - Tax Day Edition!10 Reasons Your Software Sucks 2014 - Tax Day Edition!
10 Reasons Your Software Sucks 2014 - Tax Day Edition!Caleb Jenkins
 
Scaling Scrum with UX in the Enterprise
Scaling Scrum with UX in the EnterpriseScaling Scrum with UX in the Enterprise
Scaling Scrum with UX in the EnterpriseCaleb Jenkins
 
Coding With JRebel - Java Forever Changed
Coding With JRebel - Java Forever ChangedCoding With JRebel - Java Forever Changed
Coding With JRebel - Java Forever ChangedElizabeth Quinn-Woods
 
Don't hate, automate. lessons learned from implementing continuous delivery
Don't hate, automate. lessons learned from implementing continuous deliveryDon't hate, automate. lessons learned from implementing continuous delivery
Don't hate, automate. lessons learned from implementing continuous deliverySolano Labs
 
Losing Sight of DevOps in an Automation Forest - devopsdays Atlanta 2013
Losing Sight of DevOps in an Automation Forest - devopsdays Atlanta 2013Losing Sight of DevOps in an Automation Forest - devopsdays Atlanta 2013
Losing Sight of DevOps in an Automation Forest - devopsdays Atlanta 2013XebiaLabs
 
Testing and beyond at startups
Testing and beyond at startupsTesting and beyond at startups
Testing and beyond at startupsMona Soni
 
JDD Effective Code Review In Agile Teams
JDD Effective Code Review In Agile TeamsJDD Effective Code Review In Agile Teams
JDD Effective Code Review In Agile TeamsWojciech Seliga
 
Short Introduction of software engineering for bioinformatics
Short Introduction of software engineering for bioinformatics Short Introduction of software engineering for bioinformatics
Short Introduction of software engineering for bioinformatics 丈 宮本
 
Des ops101 : Overview - RH CoP UI/UX 9nov2018
Des ops101 : Overview - RH  CoP UI/UX 9nov2018Des ops101 : Overview - RH  CoP UI/UX 9nov2018
Des ops101 : Overview - RH CoP UI/UX 9nov2018Samir Dash
 

What's hot (19)

Enabling Lean at Enterprise Scale: Lean Engineering in Action
Enabling Lean at Enterprise Scale: Lean Engineering in ActionEnabling Lean at Enterprise Scale: Lean Engineering in Action
Enabling Lean at Enterprise Scale: Lean Engineering in Action
 
Lean engineering for lean/balanced teams: lessons learned (and still learning...
Lean engineering for lean/balanced teams: lessons learned (and still learning...Lean engineering for lean/balanced teams: lessons learned (and still learning...
Lean engineering for lean/balanced teams: lessons learned (and still learning...
 
Lean Engineering: How to make Engineering a full Lean UX partner
Lean Engineering: How to make Engineering a full Lean UX partnerLean Engineering: How to make Engineering a full Lean UX partner
Lean Engineering: How to make Engineering a full Lean UX partner
 
It is not supposed to fly but it does
It is not supposed to fly but it doesIt is not supposed to fly but it does
It is not supposed to fly but it does
 
Getting Started with IntelliJ IDEA as an Eclipse User
Getting Started with IntelliJ IDEA as an Eclipse UserGetting Started with IntelliJ IDEA as an Eclipse User
Getting Started with IntelliJ IDEA as an Eclipse User
 
10 Reasons Your Software Sucks - Election 2012 Edition
10 Reasons Your Software Sucks - Election 2012 Edition10 Reasons Your Software Sucks - Election 2012 Edition
10 Reasons Your Software Sucks - Election 2012 Edition
 
10 Reasons Your Software Sucks 2014 - Tax Day Edition!
10 Reasons Your Software Sucks 2014 - Tax Day Edition!10 Reasons Your Software Sucks 2014 - Tax Day Edition!
10 Reasons Your Software Sucks 2014 - Tax Day Edition!
 
01-a-Intro-BetterDev
01-a-Intro-BetterDev01-a-Intro-BetterDev
01-a-Intro-BetterDev
 
Eclipse Vs Netbeans
Eclipse Vs NetbeansEclipse Vs Netbeans
Eclipse Vs Netbeans
 
Scaling Scrum with UX in the Enterprise
Scaling Scrum with UX in the EnterpriseScaling Scrum with UX in the Enterprise
Scaling Scrum with UX in the Enterprise
 
Coding With JRebel - Java Forever Changed
Coding With JRebel - Java Forever ChangedCoding With JRebel - Java Forever Changed
Coding With JRebel - Java Forever Changed
 
Explicit architecture
Explicit architectureExplicit architecture
Explicit architecture
 
Don't hate, automate. lessons learned from implementing continuous delivery
Don't hate, automate. lessons learned from implementing continuous deliveryDon't hate, automate. lessons learned from implementing continuous delivery
Don't hate, automate. lessons learned from implementing continuous delivery
 
Losing Sight of DevOps in an Automation Forest - devopsdays Atlanta 2013
Losing Sight of DevOps in an Automation Forest - devopsdays Atlanta 2013Losing Sight of DevOps in an Automation Forest - devopsdays Atlanta 2013
Losing Sight of DevOps in an Automation Forest - devopsdays Atlanta 2013
 
Testing and beyond at startups
Testing and beyond at startupsTesting and beyond at startups
Testing and beyond at startups
 
JDD Effective Code Review In Agile Teams
JDD Effective Code Review In Agile TeamsJDD Effective Code Review In Agile Teams
JDD Effective Code Review In Agile Teams
 
Short Introduction of software engineering for bioinformatics
Short Introduction of software engineering for bioinformatics Short Introduction of software engineering for bioinformatics
Short Introduction of software engineering for bioinformatics
 
Des ops101 : Overview - RH CoP UI/UX 9nov2018
Des ops101 : Overview - RH  CoP UI/UX 9nov2018Des ops101 : Overview - RH  CoP UI/UX 9nov2018
Des ops101 : Overview - RH CoP UI/UX 9nov2018
 
Openoffice and Linux
Openoffice and LinuxOpenoffice and Linux
Openoffice and Linux
 

Similar to The Lean Tech Stack

Online gas booking project in java
Online gas booking project in javaOnline gas booking project in java
Online gas booking project in javas4al_com
 
Wds leanengineering-141103233017-conversion-gate02
Wds leanengineering-141103233017-conversion-gate02Wds leanengineering-141103233017-conversion-gate02
Wds leanengineering-141103233017-conversion-gate02Shivam Prajapati
 
Lean Engineering: Engineering for Learning & Experimentation in the Enterpris...
Lean Engineering: Engineering for Learning & Experimentation in the Enterpris...Lean Engineering: Engineering for Learning & Experimentation in the Enterpris...
Lean Engineering: Engineering for Learning & Experimentation in the Enterpris...Rosenfeld Media
 
Availability in a cloud native world v1.6 (Feb 2019)
Availability in a cloud native world v1.6 (Feb 2019)Availability in a cloud native world v1.6 (Feb 2019)
Availability in a cloud native world v1.6 (Feb 2019)Haytham Elkhoja
 
Continuous Delivery of (y)our infrastructure.
Continuous Delivery of (y)our infrastructure.Continuous Delivery of (y)our infrastructure.
Continuous Delivery of (y)our infrastructure.Kris Buytaert
 
30 days or less: New Features to Production
30 days or less: New Features to Production30 days or less: New Features to Production
30 days or less: New Features to ProductionKarthik Gaekwad
 
Pipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as CodePipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as CodeKris Buytaert
 
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 languageMarco Cedaro
 
Trunk Based Development in the Enterprise - Its Relevance and Economics
Trunk Based Development in the Enterprise - Its Relevance and EconomicsTrunk Based Development in the Enterprise - Its Relevance and Economics
Trunk Based Development in the Enterprise - Its Relevance and EconomicsPerforce
 
Continous Delivery of your Infrastructure
Continous Delivery of your InfrastructureContinous Delivery of your Infrastructure
Continous Delivery of your InfrastructureKris Buytaert
 
Prototyping - 2015 PhillyCHI UX Workshop Series
Prototyping - 2015 PhillyCHI UX Workshop SeriesPrototyping - 2015 PhillyCHI UX Workshop Series
Prototyping - 2015 PhillyCHI UX Workshop SeriesMatthew Thomas
 
Reverse engineering
Reverse engineeringReverse engineering
Reverse engineeringSaswat Padhi
 
Container Soup for Your Soul: The Microservice Edition, Building Deployment ...
 Container Soup for Your Soul: The Microservice Edition, Building Deployment ... Container Soup for Your Soul: The Microservice Edition, Building Deployment ...
Container Soup for Your Soul: The Microservice Edition, Building Deployment ...Amazon Web Services
 
(java2days) Is the Future of Java Cloudy?
(java2days) Is the Future of Java Cloudy?(java2days) Is the Future of Java Cloudy?
(java2days) Is the Future of Java Cloudy?Steve Poole
 
Enabling Java in Latency Sensitive Environments
Enabling Java in Latency Sensitive EnvironmentsEnabling Java in Latency Sensitive Environments
Enabling Java in Latency Sensitive EnvironmentsC4Media
 
DevSecOps and Drupal: Securing your applications in a modern IT landscape
DevSecOps and Drupal: Securing your applications in a modern IT landscapeDevSecOps and Drupal: Securing your applications in a modern IT landscape
DevSecOps and Drupal: Securing your applications in a modern IT landscapeWill Hall
 
What Is Open Source Hardware?
What Is Open Source Hardware?What Is Open Source Hardware?
What Is Open Source Hardware?inthebitz
 
DWX 2013 Nuremberg
DWX 2013 NurembergDWX 2013 Nuremberg
DWX 2013 NurembergMarcel Bruch
 

Similar to The Lean Tech Stack (20)

Online gas booking project in java
Online gas booking project in javaOnline gas booking project in java
Online gas booking project in java
 
Wds leanengineering-141103233017-conversion-gate02
Wds leanengineering-141103233017-conversion-gate02Wds leanengineering-141103233017-conversion-gate02
Wds leanengineering-141103233017-conversion-gate02
 
Lean Engineering: Engineering for Learning & Experimentation in the Enterpris...
Lean Engineering: Engineering for Learning & Experimentation in the Enterpris...Lean Engineering: Engineering for Learning & Experimentation in the Enterpris...
Lean Engineering: Engineering for Learning & Experimentation in the Enterpris...
 
Availability in a cloud native world v1.6 (Feb 2019)
Availability in a cloud native world v1.6 (Feb 2019)Availability in a cloud native world v1.6 (Feb 2019)
Availability in a cloud native world v1.6 (Feb 2019)
 
Continuous Delivery of (y)our infrastructure.
Continuous Delivery of (y)our infrastructure.Continuous Delivery of (y)our infrastructure.
Continuous Delivery of (y)our infrastructure.
 
30 days or less: New Features to Production
30 days or less: New Features to Production30 days or less: New Features to Production
30 days or less: New Features to Production
 
Pipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as CodePipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as Code
 
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
 
Trunk Based Development in the Enterprise - Its Relevance and Economics
Trunk Based Development in the Enterprise - Its Relevance and EconomicsTrunk Based Development in the Enterprise - Its Relevance and Economics
Trunk Based Development in the Enterprise - Its Relevance and Economics
 
Continous Delivery of your Infrastructure
Continous Delivery of your InfrastructureContinous Delivery of your Infrastructure
Continous Delivery of your Infrastructure
 
Prototyping - 2015 PhillyCHI UX Workshop Series
Prototyping - 2015 PhillyCHI UX Workshop SeriesPrototyping - 2015 PhillyCHI UX Workshop Series
Prototyping - 2015 PhillyCHI UX Workshop Series
 
Reverse engineering
Reverse engineeringReverse engineering
Reverse engineering
 
Container Soup for Your Soul: The Microservice Edition, Building Deployment ...
 Container Soup for Your Soul: The Microservice Edition, Building Deployment ... Container Soup for Your Soul: The Microservice Edition, Building Deployment ...
Container Soup for Your Soul: The Microservice Edition, Building Deployment ...
 
(java2days) Is the Future of Java Cloudy?
(java2days) Is the Future of Java Cloudy?(java2days) Is the Future of Java Cloudy?
(java2days) Is the Future of Java Cloudy?
 
Enabling Java in Latency Sensitive Environments
Enabling Java in Latency Sensitive EnvironmentsEnabling Java in Latency Sensitive Environments
Enabling Java in Latency Sensitive Environments
 
DevSecOps and Drupal: Securing your applications in a modern IT landscape
DevSecOps and Drupal: Securing your applications in a modern IT landscapeDevSecOps and Drupal: Securing your applications in a modern IT landscape
DevSecOps and Drupal: Securing your applications in a modern IT landscape
 
Semiconductor IT Management
Semiconductor IT ManagementSemiconductor IT Management
Semiconductor IT Management
 
What Is Open Source Hardware?
What Is Open Source Hardware?What Is Open Source Hardware?
What Is Open Source Hardware?
 
DWX 2013 Nuremberg
DWX 2013 NurembergDWX 2013 Nuremberg
DWX 2013 Nuremberg
 
TDD and Getting Paid
TDD and Getting PaidTDD and Getting Paid
TDD and Getting Paid
 

More from Bill Scott

Keeping a Startup Ethos
Keeping a Startup EthosKeeping a Startup Ethos
Keeping a Startup EthosBill Scott
 
Bringing Change to Life
Bringing Change to LifeBringing Change to Life
Bringing Change to LifeBill Scott
 
Anti-Patterns that Stifle Lean UX Teams
Anti-Patterns that Stifle Lean UX TeamsAnti-Patterns that Stifle Lean UX Teams
Anti-Patterns that Stifle Lean UX TeamsBill Scott
 
Real World Lessons Using Lean UX (Workshop)
Real World Lessons Using Lean UX (Workshop)Real World Lessons Using Lean UX (Workshop)
Real World Lessons Using Lean UX (Workshop)Bill Scott
 
Lean UX Anti-Patterns
Lean UX Anti-PatternsLean UX Anti-Patterns
Lean UX Anti-PatternsBill Scott
 
Designing With Lenses (UxLx, CHIFOO, BigD)
Designing With Lenses (UxLx, CHIFOO, BigD)Designing With Lenses (UxLx, CHIFOO, BigD)
Designing With Lenses (UxLx, CHIFOO, BigD)Bill Scott
 
DHTML Prototyping: Silicon Valley Code Camp
DHTML Prototyping: Silicon Valley Code CampDHTML Prototyping: Silicon Valley Code Camp
DHTML Prototyping: Silicon Valley Code CampBill Scott
 
Designing for Interesting Moments
Designing for Interesting MomentsDesigning for Interesting Moments
Designing for Interesting MomentsBill Scott
 
Bringing Design to Life
Bringing Design to LifeBringing Design to Life
Bringing Design to LifeBill Scott
 
Designing Web Interfaces Book - O'Reilly Webcast
Designing Web Interfaces Book - O'Reilly WebcastDesigning Web Interfaces Book - O'Reilly Webcast
Designing Web Interfaces Book - O'Reilly WebcastBill Scott
 
Designing Web Interfaces
Designing Web InterfacesDesigning Web Interfaces
Designing Web InterfacesBill Scott
 
Back To The Future
Back To The FutureBack To The Future
Back To The FutureBill Scott
 
Hacking Netflix - Netflix APIs
Hacking Netflix - Netflix APIsHacking Netflix - Netflix APIs
Hacking Netflix - Netflix APIsBill Scott
 
Improving Netflix Performance Experience
Improving Netflix Performance ExperienceImproving Netflix Performance Experience
Improving Netflix Performance ExperienceBill Scott
 
Design Anti Patterns - How to Design a Poor Web Experience
Design Anti Patterns - How to Design a Poor Web ExperienceDesign Anti Patterns - How to Design a Poor Web Experience
Design Anti Patterns - How to Design a Poor Web ExperienceBill Scott
 
Protoscript - Simplified prototype scripting
Protoscript - Simplified prototype scriptingProtoscript - Simplified prototype scripting
Protoscript - Simplified prototype scriptingBill Scott
 
Ajax 101 Workshop
Ajax 101 WorkshopAjax 101 Workshop
Ajax 101 WorkshopBill Scott
 
Designing For Ajax
Designing For AjaxDesigning For Ajax
Designing For AjaxBill Scott
 

More from Bill Scott (18)

Keeping a Startup Ethos
Keeping a Startup EthosKeeping a Startup Ethos
Keeping a Startup Ethos
 
Bringing Change to Life
Bringing Change to LifeBringing Change to Life
Bringing Change to Life
 
Anti-Patterns that Stifle Lean UX Teams
Anti-Patterns that Stifle Lean UX TeamsAnti-Patterns that Stifle Lean UX Teams
Anti-Patterns that Stifle Lean UX Teams
 
Real World Lessons Using Lean UX (Workshop)
Real World Lessons Using Lean UX (Workshop)Real World Lessons Using Lean UX (Workshop)
Real World Lessons Using Lean UX (Workshop)
 
Lean UX Anti-Patterns
Lean UX Anti-PatternsLean UX Anti-Patterns
Lean UX Anti-Patterns
 
Designing With Lenses (UxLx, CHIFOO, BigD)
Designing With Lenses (UxLx, CHIFOO, BigD)Designing With Lenses (UxLx, CHIFOO, BigD)
Designing With Lenses (UxLx, CHIFOO, BigD)
 
DHTML Prototyping: Silicon Valley Code Camp
DHTML Prototyping: Silicon Valley Code CampDHTML Prototyping: Silicon Valley Code Camp
DHTML Prototyping: Silicon Valley Code Camp
 
Designing for Interesting Moments
Designing for Interesting MomentsDesigning for Interesting Moments
Designing for Interesting Moments
 
Bringing Design to Life
Bringing Design to LifeBringing Design to Life
Bringing Design to Life
 
Designing Web Interfaces Book - O'Reilly Webcast
Designing Web Interfaces Book - O'Reilly WebcastDesigning Web Interfaces Book - O'Reilly Webcast
Designing Web Interfaces Book - O'Reilly Webcast
 
Designing Web Interfaces
Designing Web InterfacesDesigning Web Interfaces
Designing Web Interfaces
 
Back To The Future
Back To The FutureBack To The Future
Back To The Future
 
Hacking Netflix - Netflix APIs
Hacking Netflix - Netflix APIsHacking Netflix - Netflix APIs
Hacking Netflix - Netflix APIs
 
Improving Netflix Performance Experience
Improving Netflix Performance ExperienceImproving Netflix Performance Experience
Improving Netflix Performance Experience
 
Design Anti Patterns - How to Design a Poor Web Experience
Design Anti Patterns - How to Design a Poor Web ExperienceDesign Anti Patterns - How to Design a Poor Web Experience
Design Anti Patterns - How to Design a Poor Web Experience
 
Protoscript - Simplified prototype scripting
Protoscript - Simplified prototype scriptingProtoscript - Simplified prototype scripting
Protoscript - Simplified prototype scripting
 
Ajax 101 Workshop
Ajax 101 WorkshopAjax 101 Workshop
Ajax 101 Workshop
 
Designing For Ajax
Designing For AjaxDesigning For Ajax
Designing For Ajax
 

Recently uploaded

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
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...apidays
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
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 Scriptwesley chun
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
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 2024The Digital Insurer
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 

Recently uploaded (20)

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
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...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
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
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 

The Lean Tech Stack

  • 1. The Lean Tech Stack Engineering Nimble Experiences Bill Scott Sr. Director UI Engineering PayPal July 14 Open Web Camp 2012
  • 3. Building a game in 1985 Original Mac Quickdraw Toolkit provided some GUI framework pieces (like the Open File Box) This bit of “path of least resistance” was a powerful boost to consistency and creating nice looking Macintosh UIs But there was still a lot le* to create on your own
  • 4. Developing a UI was still hard work No internet. Open source was practically non-existent. Hard to build (all native & assembly) Long shelf life (long release cycles with 3.5” disk deployment Reuse was something we longed for
  • 5. Developing a UI was still hard work No internet. Open source was practically non-existent. Hard to build (all native & assembly) Long shelf life (long release cycles with 3.5” disk deployment Reuse was something we longed for
  • 6. Developing a UI was still hard work No internet. Open source was practically non-existent. Hard to build (all native & assembly) Long shelf life (long release cycles with 3.5” disk deployment Reuse was something we longed for
  • 7. ’85-’05. Lots of proprietary frameworks. Orbiter. 3D Graphics Library ESYView. Wargame simulator & briefing tool. Almost everything had to be written from the ground up (mapping projection library, double buffering, display lists, canvas) C++ Frameworks for Motif Tcl/TK Frameworks 3 JSP Frameworks (i2 Technologies, Sabre, Netflix) Rico. One of first Ajax/JS frameworks 2005.
  • 8. Sharing with the world Rico. One of the early Ajax/JS frameworks (2005) Launched Yahoo! Design Pattern Library (2006) Worked closely with YUI team (and built first carousel version)
  • 9. Sharing with the world Rico. One of the early Ajax/JS frameworks (2005) Launched Yahoo! Design Pattern Library (2006) Worked closely with YUI team (and built first carousel version) Lesson: The power of sharing and multiplying!
  • 11. Netflix way of working Different way of working, different culture
  • 12. Netflix way of working Different way of working, different culture 1. Working Model - Experience-Driven Start with experience Only customer is the member (no internal customers) We rarely talked about the “machine”. We talked about members.
  • 13. Netflix way of working Different way of working, different culture 1. Working Model - Experience-Driven Start with experience Only customer is the member (no internal customers) We rarely talked about the “machine”. We talked about members. 2. Culture - Rapid Experimentation Get it out live as fast as possible Fail fast Learn fast Don’t over think it
  • 15. Epiphany A A' B B' C C' D C D' A' E E' F F' G G'
  • 16. Epiphany A A' B B' C C' D C D' A' E E' F F' G G' 93% thrown away
  • 17. Epiphany Follow Build-Test-Learn A A' Design for volatility, throwaway- B B' ability C C' D C D' A' E E' At Netflix 90% or more of the UI F G F' G' code was thrown away every year 93% thrown away Doesn’t take too many tests to result in lots of throw away code
  • 18. Epiphany Follow Build-Test-Learn A A' Design for volatility, throwaway- B B' ability C C' D C D' A' E E' At Netflix 90% or more of the UI F G F' G' code was thrown away every year 93% thrown away Doesn’t take too many tests to result in lots of throw away code U I Layer = mentatio n Layer Experi
  • 20. # 1 Design for Volatility
  • 21. Stewart Brand - How Buildings Learn
  • 22. User Interface Shears Fastest Our so*ware is always tearing itself apart (or should be) Recognize that different layers change at different velocities Stewart Brand - How Buildings Learn
  • 23. User Interface Shears Fastest Our so*ware is always tearing itself apart (or should be) Recognize that different layers change at different velocities Stewart Brand - How Buildings Learn All buildings are predictions. All predictions are wrong. There's no escape from this grim syllogism, but it can be softened. - Brand
  • 24. Design at different velocities by layer
  • 25. Design at different velocities by layer Recognize that different parts of Stack change at different velocities “ a n y b u ild in g is a c t u a lly a h ie ra r c h y o f p ie c e s , e a c h o f w h ic h in h e r e n t ly c h a n g e s a t d iff e r e n t ra t e s ” - S t e w a r t B ra n d . H o w B u ild in g s L e a r n . Design for throwaway-ability (Volatility)! Use before you Reuse (optimize for change) Utilize packaging or Paths to capture experiments
  • 26. # 2 Start with the Expe rience
  • 29.
  • 30.
  • 32. Why start with experience? Stay honest & pure by having experience be the driver (not what your boss thinks or what looks good on your resume or what the loudest one in the room thinks) Remember... Use before you reuse Let the experience drive the engineering Reuse is an engineering optimization. Use is what users do.
  • 33. #3 Build in Rapid Expe rimen tation
  • 34. Build in Rapid Experimentation Think of the UI Layer as “The Experimentation Layer” Early rapid prototyping leads to learnings to get into the right ballpark Follow with live A/B Testing. Lots of it. Creates a healthy environment with constant customer feedback loops Contrast this with “Long Shelf Life” culture
  • 35. Lean UX: Key to Rapid Iteration Before Most sales of TurboTax at tax season led to conservative culture One major initiative a year. Now Test over 500 different changes in a 2 1/2 month tax season. Running up to seventy different tests per week. Make a change live on its website on Thursday, run it over the weekend, read the results on Monday, and come to conclusions starting Tuesday; then they rebuild new tests Ries, Eric (2011-09-13). The Lean Startup: How Today’s Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses (p. 33). Random House, Inc.. Kindle Edition.
  • 36. Lean UX: Key to Rapid Iteration
  • 37. Lean UX: Key to Rapid Iteration Lean UX - co-located
  • 38. Lean UX: Key to Rapid Iteration Lean UX - co-located Product/Design team UIEs Usability/Customers And back again... Whiteboard Code to to code Usability
  • 39. Lean UX: Key to Rapid Iteration Lean UX - co-located Product/Design team UIEs Usability/Customers And back again... Whiteboard Code to to code Usability Remove the walls between teams Use shared understanding instead of documentation Make living code the design Everyone has skin in the game
  • 40. #4 Reuse W here Possible
  • 41. Requirements for Lean UI Stack Independent of the backend language Flexible enough to run in either the server or in the client Equally good at building web sites as it is building web applications Pushable outside of the application stack (publish model) Cleanly separated from the backend/app code (ideally by JSON) Utilize what is common to developers in the valley (what they use at night) Quick & easy to build & tear down components
  • 43.
  • 44. Startups move at Lean Speed Meebo - Power of Python/Django Spawned Instagram, GameClosure, Clover Acquired by Google 2012 Rypple - Rapid prototyping/Starbucks Usability Acquired by Salesforce 2011 Togetherville - Many Pivots Acquired by Disney 2010 BagCheck - Mobile first, get it live early, build on open source stack Acquired by Twitter 2011
  • 45. Engineering Lean It’s not all reuse. It is the experience. Stop re-inventing what has already been invented Github is your best friend. Make reuse your bootstrap. Remember Zuck’s Law “If I had to build this in a garage, how would I build it?” The bottom line: get the user feedback loop flowing and keep it flowing.
  • 46. The Mission Bringing Design to Life Quickly
  • 47.
  • 48. Presentation billwscott.com/share/presentations/2012/ow/ Blogs http://looksgoodworkswell.com http://designingwebinterfaces.com Follow me on twitter! @billwscott Book http://designingwebinterfaces.com Picture Credits (Creative Commons) http://www.flickr.com/photos/neilsingapore/4047105116/sizes/l/ http://www.flickr.com/photos/smb_flickr/439040132/ http://www.flickr.com/photos/therevsteve/3104267109/sizes/o/ http://www.flickr.com/photos/st3f4n/4193370268/sizes/l/ http://www.flickr.com/photos/eole/380316678/sizes/z/ http://www.flickr.com/photos/cobalt/3035453914/sizes/z/ http://www.flickr.com/photos/mbiskoping/6075387388/ http://www.flickr.com/photos/fragglerawker/2370316759/sizes/z/ http://www.flickr.com/photos/soldiersmediacenter/4685688778/sizes/z/