Upgrade to Pro — share decks privately, control downloads, hide ads and more …

How to create the perfect prototype

8ec1383b240b5ba15ffb9743fceb3c0e?s=47 Phil Nash
October 03, 2013

How to create the perfect prototype

Prototyping is hard. As a digital agency, Mint Digital has created a number of prototype applications for clients, however these have been some of our least satisfying projects. Whilst we have been inspired by the project and put in the extra mile to delight, things sometimes just don't quite click.

It's taken us a while, and we've been through quite an experience to get to this point, but at Mint, we think we have solved the issue in a way that works for us, for our clients and for the end product. And all it takes is 4 days!

We'll look at the problems that prototypes can face; slippage, lack of focus and bloat. We'll see how our solution materialised out of Mint's company culture in a way that truly surprised us. We'll recap those initial issues and how we solve them and finally we'll look over how Rails helps us as developers and how we can help ourselves when creating prototype applications. By the end, 4 days is all you will need to create anything!


Phil Nash

October 03, 2013

More Decks by Phil Nash

Other Decks in Programming


  1. How to create the perfect prototype

  2. Phil Nash @philnash MINTDIGITAL

  3. What is a prototype?

  4. A prototype is not: •  Polished •  Fully featured •

     Production ready
  5. A prototype is: •  Single minded •  Well thought out

    •  Ready to put in front of users
  6. Prototyping is hard

  7. Agenda •  The problems with prototypes •  How we came

    to a solution •  How to code a perfect prototype
  8. Problems with prototypes •  Slip •  Bloat •  Lack of

  9. Slip •  Lack of deadline •  Hard decisions get put

  10. Deadlines Are GREAT!

  11. Bloat •  Trying to build out the whole project •

     Extra, unnecessary features
  12. Lack of focus •  No full time attention •  Other

  13. Finding a solution

  14. How a solution found us

  15. None
  16. WebApp Weekender

  17. Hacking

  18. Going to the pub

  19. Dressing gowns

  20. Hacking

  21. Hack week

  22. Hacks over the years •  Snppr •  What the Tweet?

    •  Rafiki •  Quizables
  23. None
  24. Then we got serious

  25. None
  26. Hack days are the answer?

  27. The story continues...

  28. Hack weeks as a training scheme •  Tightly focused prototypes

    •  All round team agreement •  A clear proposition
  29. Hack weeks with a client

  30. Hack weeks with a client •  Deadline •  Tight set

    of features •  Focus
  31. None
  32. Problems with prototypes •  Slip •  Bloat •  Lack of

  33. The perfect prototype •  Small, dedicated team •  Fast decision

    making •  Clear proposition •  A testable application
  34. Coding the perfect prototype

  35. Confession I lied, you cannot code a perfect prototype. Especially

    in 4 days. No software is perfect.
  36. Coding the best prototype you can in a short space

    of time
  37. Frameworks

  38. Frameworks Use everything available to you to get a headstart.

    •  Rails •  Devise •  Active Admin/Rails Admin •  JQuery •  Bootstrap (if you must)
  39. No time for new things

  40. Templates

  41. Templates Use everything that your chosen framework gives you to

    jump even further ahead before you even start. There are certain things that you will always need.
  42. Templates $ rails new app_name

  43. Templates $ rails new app_name -m http://example.com/template.rb

  44. Templates Have a preprepared project that is ready to jump

  45. Templates Concentrate on the domain problem

  46. Testing

  47. TAFT

  48. Testing •  Tests are your insurance policy •  They allow

    you to be confident that, when you put even hastily written code in front of users, it will work •  You can write code quicker without breaking things
  49. Deploying

  50. Deploying We want to be able to deploy as often

    as possible to show our progress to the rest of the team.
  51. None
  52. Shipping •  Start shipping from day 1 •  Make it

    easy to ship •  Be aware of the limitations of your server
  53. It's a marathon, not a sprint

  54. It's 4 days, not 24 hours

  55. It's a marathon, not a sprint •  Get some sleep

    •  Write good code, not more code
  56. Throw it all away

  57. Throw it all away Not before you test with users!

  58. Throw it all away •  This is not your best

    code •  You will have made bad decisions •  Launching a full service will cause you pain in the future •  Iterate on the ideas in the prototype, don't launch the prototype
  59. Coding the best prototype you can in a short space

    of time •  Frameworks •  Templates •  Testing •  Shipping •  Sleeping •  Iteration
  60. How to create the perfect prototype •  Focus, over a

    short time scale •  Have a deadline •  Have the decision makers in the room •  Give yourself as many headstarts in the app as possible •  Ship it
  61. Thank you

  62. Any questions? Phil Nash @philnash http://philna.sh Mint Digital http://mintdigital.com