AVOIDING                       REGRESSIONS                          IN 3pjs                       Cameron Westland        ...
TOC 1/5                       How to iterate really fast                       What is 3pjs?                       How we ...
CONTINUOUS DEPLOYMENT                        Go fast and break things.Monday, 18 March, 13
TOC 2/5                       How to iterate really fast                       What is 3pjs?                       How we ...
WHAT IS 3pjs?Monday, 18 March, 13
1. User authors walkthrough using our tool               2. Deploys it to their website               3. The walkthrough g...
Monday, 18 March, 13
Monday, 18 March, 13
Monday, 18 March, 13
TOC 3/5                       How to iterate really fast                       What is 3pjs?                       How we ...
How we completely busted                       Verold Studio…                       AKA: Why not to trust third           ...
Monday, 18 March, 13
CONTINUOUS                           DEPLOYMENT                       +          3pjsMonday, 18 March, 13
KERA’S CONTROLLER                       Verold’s fixed elements                       occluded by KeraMonday, 18 March, 13
Bad.                                                SCROLLED                                ORIGINAL PAGE                 ...
Awesome.                                                 SCROLLED                                ORIGINAL PAGE            ...
Monday, 18 March, 13
Monday, 18 March, 13
Verold uses fixed position                               elements.Monday, 18 March, 13
WEB GL               MENU                                                            SCROLLED                             ...
So, should we get rid of                       continuous deployment?Monday, 18 March, 13
TOC 4/5                       How to iterate really fast                       What is 3pjs?                       How we ...
VERSIONING                              Web APIs               Web Apps                        Client                     ...
IMMUTABILITY            • “The quality of being incapable of mutation”            • Version 1.1.1 never changes           ...
DATA DRIVEN VERSIONINGMonday, 18 March, 13
DATA DRIVEN VERSIONING                                     Lock versionMonday, 18 March, 13
DATA DRIVEN VERSIONING                                     Lock versionMonday, 18 March, 13
HOSTING OLD VERSIONS                               lastest.json                               1.1.1                       ...
SELECTING A NEW VERSIONMonday, 18 March, 13
No more regressions.Monday, 18 March, 13
Delight your customers.Monday, 18 March, 13
TOC 5/5                       How to iterate really fast                       What is 3pjs?                       How we ...
SUMMARY                  • Version both your server and client                    • Server slow (based on API)            ...
Thanks!                       @camwest                        kera.ioMonday, 18 March, 13
Upcoming SlideShare
Loading in …5
×

Avoiding Regressions in 3rd Party JavaScript

0 views
321 views

Published on

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
0
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
3
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Avoiding Regressions in 3rd Party JavaScript

  1. 1. AVOIDING REGRESSIONS IN 3pjs Cameron Westland Kera Software @camwestMonday, 18 March, 13
  2. 2. TOC 1/5 How to iterate really fast What is 3pjs? How we broke our customers website How we won’t break any more websites Wrap-upMonday, 18 March, 13
  3. 3. CONTINUOUS DEPLOYMENT Go fast and break things.Monday, 18 March, 13
  4. 4. TOC 2/5 How to iterate really fast What is 3pjs? How we broke our customers website How we won’t break any more websites Wrap-upMonday, 18 March, 13
  5. 5. WHAT IS 3pjs?Monday, 18 March, 13
  6. 6. 1. User authors walkthrough using our tool 2. Deploys it to their website 3. The walkthrough guides users through tough workflowsMonday, 18 March, 13
  7. 7. Monday, 18 March, 13
  8. 8. Monday, 18 March, 13
  9. 9. Monday, 18 March, 13
  10. 10. TOC 3/5 How to iterate really fast What is 3pjs? How we broke our customers website How we won’t break any more websites Wrap-upMonday, 18 March, 13
  11. 11. How we completely busted Verold Studio… AKA: Why not to trust third party javascript startups.Monday, 18 March, 13
  12. 12. Monday, 18 March, 13
  13. 13. CONTINUOUS DEPLOYMENT + 3pjsMonday, 18 March, 13
  14. 14. KERA’S CONTROLLER Verold’s fixed elements occluded by KeraMonday, 18 March, 13
  15. 15. Bad. SCROLLED ORIGINAL PAGE VIEWPORT KERA TARGET CONTROLLERMonday, 18 March, 13
  16. 16. Awesome. SCROLLED ORIGINAL PAGE VIEWPORT TARGET KERA NEW SPACE CONTROLLERMonday, 18 March, 13
  17. 17. Monday, 18 March, 13
  18. 18. Monday, 18 March, 13
  19. 19. Verold uses fixed position elements.Monday, 18 March, 13
  20. 20. WEB GL MENU SCROLLED VIEWPORT WTF… KERA NEW SPACE CONTROLLER TARGETMonday, 18 March, 13
  21. 21. So, should we get rid of continuous deployment?Monday, 18 March, 13
  22. 22. TOC 4/5 How to iterate really fast What is 3pjs? How we broke our customers website How we won’t break any more websites Wrap-upMonday, 18 March, 13
  23. 23. VERSIONING Web APIs Web Apps Client version applies push when Libraries to the interface green ??? onlyMonday, 18 March, 13
  24. 24. IMMUTABILITY • “The quality of being incapable of mutation” • Version 1.1.1 never changes • Version 1.1.2 is different than 1.1.1Monday, 18 March, 13
  25. 25. DATA DRIVEN VERSIONINGMonday, 18 March, 13
  26. 26. DATA DRIVEN VERSIONING Lock versionMonday, 18 March, 13
  27. 27. DATA DRIVEN VERSIONING Lock versionMonday, 18 March, 13
  28. 28. HOSTING OLD VERSIONS lastest.json 1.1.1 1.1.0 1.0.7 1.0.6 1.0.5 1.0.4 1.0.3 1.0.2 1.0.1 1.0.0Monday, 18 March, 13
  29. 29. SELECTING A NEW VERSIONMonday, 18 March, 13
  30. 30. No more regressions.Monday, 18 March, 13
  31. 31. Delight your customers.Monday, 18 March, 13
  32. 32. TOC 5/5 How to iterate really fast What is 3pjs? How we broke our customers website How we won’t break any more websites Wrap-upMonday, 18 March, 13
  33. 33. SUMMARY • Version both your server and client • Server slow (based on API) • Client fast (every push) • Data drive which version your customer is using • Don’t delete old versions that are still being used • Go fast and break thingsMonday, 18 March, 13
  34. 34. Thanks! @camwest kera.ioMonday, 18 March, 13

×