clash of the titans: releasing the kraken | nodejs @paypal

Post on 17-Oct-2014

5.825 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

FluentConf 2013 Plenary. http://www.youtube.com/watch?v=tZWGb0HU2QM&list=SP055Epbe6d5avZGXwE5u039VQq_oQFgrc&index=9 How do you take a large titan like PayPal and move it from a culture of a long shelf life to a culture of rapid experimentation? You set the UI free by adding liberal doses of NodeJS, JavaScript templating & libraries, JSON, Github and Lean Startup/UX. Bill will explain the transformation that is in process to revolutionize the technical and experience stack at PayPal.

TRANSCRIPT

clash of the titans

@billwscott on twitterbill scott. sr. dir. user interface engineering @paypal

fluent plenary. may 30, 2013. san francisco.

releasing the kraken: nodejs @paypal

16 different test cells in the initial PS3 Launch (2010)

focus is on build/measure/learn

four distinct PS3 experiences launched on same day

typical netflix release

the epiphanyengineer for volatility. for change. for learning.

however, paypal circa 2011...

not invented here. risk averse. culture

of long shelf life.

In 2011, even a simple content copy change

could take as much as 6 weeks to get live to site

tangled up technologyone of the root problems

technology and processes not suited for • rapid experimentation• build/measure/learn

existing stack wasn’t designed for experimentation

this new stack was not conducive to prototyping

followed an “enterprise application” model. ui gets built into the “server app”

ajax/components all done server-side (subclass java controller)!

java(components)

jsp

proprietary uiprototyping was hard

“ui bits” mostly lived here

paypal vs netflix

new dna @paypaljanuary 2012fleshed out ui layer that could support rapid experimentation

march 2012david Marcus becomes president of PayPal

april 2012kick off of lean project using nodejs & dustjs

hermes project lean ux in action

from whiteboard to code from code to usabilitylearningsstart again

1st step: fire up a prototype stack (nodejs)

utilize opens source stack

express, connect, require.js

bring in javascript templating and other open source ui goodness

node.js

ui bits

prototypestack

2nd step: bootstrap with bootstrap

able to create a new branded look in a few hours

enabled sketch to codenode.js

ui bits

prototypestack

3rd step: use javascript templating

text templates get compiled to javascript<p>Hello {name}</p>

dustjs templates execute wherever there is javascript

templates = JS{dust}

JavaScriptcompiles to...

javascript isevaluatedto render ui

4th step: make ui bits portable to legacy

JS templating can be run in client browser or server on the production stack

we can drag & drop the ui bits from prototyping stack to the production stack

rhinoscript enabled stack parity

java (rhinoscript)node.js

{dust}JS template

prototypestack

productionstack

{dust}JS template

client ORserver

either stack

before node &leanux

after node & leanux

5th step: bring node to productionproject kraken

enable all of the standard paypal services

but do it in a friendly npm waymonitoring, logging, security, content, locale resolution, analytics,authentication, dust rendering,experimentation, packaging, application framework, deployment,session management, service access, etc.

CLI MVC framework/scaffolding. hello world in 1 minute

java (rhinoscript)

productionstack

{dust}JS template

6th step: one stack to rule them all

node.js

{dust}JS template

prototypestack

6th step: one stack to rule them all

choose where you want to run the templates

kraken

prototype & production stack

clientserver

contains “webcore” for scaffolding and providing a lightweight framework for dev & production

npm.paypal.com

bower.paypal.com

enables building in standard components & styles in less than a

minuteprovides blessed set of modules first. can provide protection

from blacklist modules

modules for easy integration

github for CI/CD

start like walmart labsuse as an api server to proxy old services and then retire them

or start like us, trello and othersuse as a rapid prototyping stackprove it out in a sandbox and then scaledo it in parallel and test till scales

do it with talentensure best developers are on the initial work to set the standard

getting node into your tent

I am hiring!

top related