97
Building elements and experiences at Net-A-Porter Robin Glen [email protected] @arielwithlegs

Building elements and experiences at Net-A-Porter

Embed Size (px)

Citation preview

Page 1: Building elements and experiences at Net-A-Porter

Building elements and experiences at Net-A-Porter

Robin Glen

[email protected]

@arielwithlegs

Page 2: Building elements and experiences at Net-A-Porter
Page 3: Building elements and experiences at Net-A-Porter

David Boddy

Principle Digital Designer

@threetwotwo

Matthew Green

Developer

@mjgreen145

Page 4: Building elements and experiences at Net-A-Porter

who am I?

Page 5: Building elements and experiences at Net-A-Porter

Robin Glen

Lead Developer

@arielwithlegs

Page 6: Building elements and experiences at Net-A-Porter
Page 7: Building elements and experiences at Net-A-Porter

LLANDELIO

Page 8: Building elements and experiences at Net-A-Porter

LONDON

Page 9: Building elements and experiences at Net-A-Porter
Page 10: Building elements and experiences at Net-A-Porter

a little bit of history

Page 11: Building elements and experiences at Net-A-Porter

founded

2000

Page 12: Building elements and experiences at Net-A-Porter
Page 13: Building elements and experiences at Net-A-Porter

Java Spring

Page 14: Building elements and experiences at Net-A-Porter

founded

2000

Fresca forked

Page 15: Building elements and experiences at Net-A-Porter

founded

2000 2009

launchesFresca forked

Page 16: Building elements and experiences at Net-A-Porter
Page 17: Building elements and experiences at Net-A-Porter

Java Spring

+

Page 18: Building elements and experiences at Net-A-Porter

founded

2000 2009

launchFresca forked

2011

launch

Page 19: Building elements and experiences at Net-A-Porter
Page 20: Building elements and experiences at Net-A-Porter

Java Spring

+ +

Page 21: Building elements and experiences at Net-A-Porter

growing pains

Page 22: Building elements and experiences at Net-A-Porter

releasing and regression

Page 23: Building elements and experiences at Net-A-Porter

all three brands shared code base

multiple brands, multiple development streams

no automated tests

Page 24: Building elements and experiences at Net-A-Porter

2 week development sprint

1 week building test candidate

2 week QA testing process

1 week hot patching and removing bugs

1 day to release code

Page 25: Building elements and experiences at Net-A-Porter

scaling

Page 26: Building elements and experiences at Net-A-Porter

we couldn’t handle sale traffic… not even close

Page 27: Building elements and experiences at Net-A-Porter
Page 28: Building elements and experiences at Net-A-Porter
Page 29: Building elements and experiences at Net-A-Porter

redundancy

time

traffi

c

actual

maximum capacity

normal day

Page 30: Building elements and experiences at Net-A-Porter

time

traffi

c

maximum capacity

actual

errors

sale day

Page 31: Building elements and experiences at Net-A-Porter

how can we get better

Page 32: Building elements and experiences at Net-A-Porter

going it alone

Page 33: Building elements and experiences at Net-A-Porter

founded

2000 2009

launchFresca forked

2011

launch

2012

Forking webapps

Page 34: Building elements and experiences at Net-A-Porter

Java Spring Java Spring Java Spring

Page 35: Building elements and experiences at Net-A-Porter

scaling horizontally

Page 36: Building elements and experiences at Net-A-Porter

founded

2000 2009

launchFresca forked

2011

launch

2012

Forking webapps

2013

Sale App

Page 37: Building elements and experiences at Net-A-Porter

Amazon Web Services

Sale Application NodeJS

Product Data Scala

Java SpringJava Spring Java Spring

Page 38: Building elements and experiences at Net-A-Porter

daily releases

DevOps

sale stayed up!

Page 39: Building elements and experiences at Net-A-Porter

a change in culture

Page 40: Building elements and experiences at Net-A-Porter

product focused teams

Page 41: Building elements and experiences at Net-A-Porter

founded

2000 2009

launchFresca forked

2011

launch

2012

Forking webapps

2013

Sale App

2014

Product focused teams

Page 42: Building elements and experiences at Net-A-Porter

short feedback loops

Page 43: Building elements and experiences at Net-A-Porter

ideas

data product

buildlearn

measure

Page 44: Building elements and experiences at Net-A-Porter

continuous integration

Page 45: Building elements and experiences at Net-A-Porter

work directly on master

TDD

pair programming

Page 46: Building elements and experiences at Net-A-Porter

cross functional teams

Page 47: Building elements and experiences at Net-A-Porter

empathy

customer focused

Page 48: Building elements and experiences at Net-A-Porter

customer journey focused applications

Page 49: Building elements and experiences at Net-A-Porter
Page 50: Building elements and experiences at Net-A-Porter
Page 51: Building elements and experiences at Net-A-Porter
Page 52: Building elements and experiences at Net-A-Porter

Polymer in Production

http://techblog.net-a-porter.com/2016/02/polymer-in-production/

+

Page 53: Building elements and experiences at Net-A-Porter

2015

Google I/O

2016

Product Details Application

Polymer Live

Polymer Summit

Chrome Dev Summitfounded

2000 2009

launchFresca forked

2011

launch

2012

Forking webapps

2013

Sale App

2014

Product focused teams

Page 54: Building elements and experiences at Net-A-Porter

atomic components

Page 55: Building elements and experiences at Net-A-Porter
Page 56: Building elements and experiences at Net-A-Porter

Brad Frost: http://atomicdesign.bradfrost.com/table-of-contents/

moleculeatom organism

Page 57: Building elements and experiences at Net-A-Porter
Page 58: Building elements and experiences at Net-A-Porter

principles

Page 59: Building elements and experiences at Net-A-Porter

one

standardising the rhetoric

Page 60: Building elements and experiences at Net-A-Porter

two

granular thinking

Page 61: Building elements and experiences at Net-A-Porter

case study

Page 62: Building elements and experiences at Net-A-Porter

Creation of a responsive listing to house our New Arrivals product list in

Q2, with an iterative rollout of features there after to enable the migration of

the entire NET-A-PORTER [product list] catalogue in 2016

Page 63: Building elements and experiences at Net-A-Porter

950px1300 - 1400px

Page 64: Building elements and experiences at Net-A-Porter
Page 65: Building elements and experiences at Net-A-Porter

nucleus

Page 66: Building elements and experiences at Net-A-Porter

N E W S E A S O N

LANVIN

Fringed boucle-tweed mini dress

£2,325

product image

badgedesigner name

product descriptionprice

Page 67: Building elements and experiences at Net-A-Porter

states

nucleus

Page 68: Building elements and experiences at Net-A-Porter

states

N E W S E A S O N

LANVIN

Fringed boucle-tweed mini dress

£2,325 £1,162.50 50% OFF

Page 69: Building elements and experiences at Net-A-Porter

statesinteractions

nucleus

Page 70: Building elements and experiences at Net-A-Porter

N E W S E A S O N

LANVIN

Fringed boucle-tweed mini dress

£2,325

interactions

N E W S E A S O N

LANVIN

Fringed boucle-tweed mini dress

£2,325

Page 71: Building elements and experiences at Net-A-Porter

statesinteractions

behaviours and rules

nucleus

Page 72: Building elements and experiences at Net-A-Porter

N E W S E A S O N

LANVIN

Fringed boucle-tweed mini dress

£2,325

behaviours and rules

N E W S E A S O N

LANVIN

Fringed boucle-tweed mini dress

£2,325

Page 73: Building elements and experiences at Net-A-Porter

product image badge designer

nameproduct

description price

Currency

Sale state

Rounding

Schema

Offers

Price & Currency

text translations

scaling of text size

truncation rules

Schema

Brand

rollover image

carousel of images

missing images

broken images

loading state

Schema

Image

<nap-responsive-image> .product-badge .designer-name.product-description <nap-price>

Page 74: Building elements and experiences at Net-A-Porter

testing

statesinteractions

behaviours and rules

nucleus

Page 75: Building elements and experiences at Net-A-Porter

unit

Page 76: Building elements and experiences at Net-A-Porter

SEO

Page 77: Building elements and experiences at Net-A-Porter

visualvisual

Page 78: Building elements and experiences at Net-A-Porter

memory and performance

Page 79: Building elements and experiences at Net-A-Porter

testing

statesinteractions

behaviours and rules

nucleus

documentation

Page 80: Building elements and experiences at Net-A-Porter

self documenting

Page 81: Building elements and experiences at Net-A-Porter
Page 82: Building elements and experiences at Net-A-Porter

testing

documentation

versioning

statesinteractions

behaviours and rules

nucleus

Page 83: Building elements and experiences at Net-A-Porter
Page 84: Building elements and experiences at Net-A-Porter

testing

documentation

versioning

statesinteractions

behaviours and rules

nucleus

monitoring

Page 85: Building elements and experiences at Net-A-Porter

RAIL: http://bit.ly/1T5ZF7R

Page 86: Building elements and experiences at Net-A-Porter

atom

monitoring

testing

versioning

documentation

states

behaviours and rules

interactions

nucleus

Page 87: Building elements and experiences at Net-A-Porter

building up

Page 88: Building elements and experiences at Net-A-Porter

N E W S E A S O N

LANVIN

Fringed boucle-tweed mini dress

£2,325

<nap-product-summary>

Page 89: Building elements and experiences at Net-A-Porter

<nap-product-list>

Page 90: Building elements and experiences at Net-A-Porter
Page 91: Building elements and experiences at Net-A-Porter

time

deliv

ery

applying principles

Page 92: Building elements and experiences at Net-A-Porter

before and after

Page 93: Building elements and experiences at Net-A-Porter

Java Spring

+ +

Page 94: Building elements and experiences at Net-A-Porter

Customer Services

Atomic Components

Listing Pages

Magazine

Site Furniture

Check Out

Product Pages

Search

Editorial

Product Data

Recommend- ations

buttons

icons

product- price

ymal- module

htwi- module

product- summary

product- list-page

Amazon Web Services

Page 95: Building elements and experiences at Net-A-Porter

single page commerce experience

offline shopping

white labelling services

open source (hopefully)

Page 96: Building elements and experiences at Net-A-Porter

questions?

Page 97: Building elements and experiences at Net-A-Porter

thanks

@arielwithlegs