A prototype is not:
• Polished
• Fully featured
• Production ready
Slide 5
Slide 5 text
A prototype is:
• Single minded
• Well thought out
• Ready to put in front of users
Slide 6
Slide 6 text
Prototyping is
hard
Slide 7
Slide 7 text
Agenda
• The problems with prototypes
• How we came to a solution
• How to code a perfect prototype
Slide 8
Slide 8 text
Problems with prototypes
• Slip
• Bloat
• Lack of focus
Slide 9
Slide 9 text
Slip
• Lack of deadline
• Hard decisions get put off
Slide 10
Slide 10 text
Deadlines Are
GREAT!
Slide 11
Slide 11 text
Bloat
• Trying to build out the whole project
• Extra, unnecessary features
Slide 12
Slide 12 text
Lack of focus
• No full time attention
• Other priorities
Slide 13
Slide 13 text
Finding a solution
Slide 14
Slide 14 text
How a solution
found us
Slide 15
Slide 15 text
No content
Slide 16
Slide 16 text
WebApp
Weekender
Slide 17
Slide 17 text
Hacking
Slide 18
Slide 18 text
Going to the pub
Slide 19
Slide 19 text
Dressing gowns
Slide 20
Slide 20 text
Hacking
Slide 21
Slide 21 text
Hack week
Slide 22
Slide 22 text
Hacks over the years
• Snppr
• What the Tweet?
• Rafiki
• Quizables
Slide 23
Slide 23 text
No content
Slide 24
Slide 24 text
Then we got
serious
Slide 25
Slide 25 text
No content
Slide 26
Slide 26 text
Hack days are the
answer?
Slide 27
Slide 27 text
The story
continues...
Slide 28
Slide 28 text
Hack weeks as a training scheme
• Tightly focused prototypes
• All round team agreement
• A clear proposition
Slide 29
Slide 29 text
Hack weeks with
a client
Slide 30
Slide 30 text
Hack weeks with a client
• Deadline
• Tight set of features
• Focus
Slide 31
Slide 31 text
No content
Slide 32
Slide 32 text
Problems with prototypes
• Slip
• Bloat
• Lack of focus
Slide 33
Slide 33 text
The perfect prototype
• Small, dedicated team
• Fast decision making
• Clear proposition
• A testable application
Slide 34
Slide 34 text
Coding the
perfect prototype
Slide 35
Slide 35 text
Confession
I lied, you cannot code a perfect prototype.
Especially in 4 days.
No software is perfect.
Slide 36
Slide 36 text
Coding the best
prototype you
can in a short
space of time
Slide 37
Slide 37 text
Frameworks
Slide 38
Slide 38 text
Frameworks
Use everything available to you to get a headstart.
• Rails
• Devise
• Active Admin/Rails Admin
• JQuery
• Bootstrap (if you must)
Slide 39
Slide 39 text
No time for new
things
Slide 40
Slide 40 text
Templates
Slide 41
Slide 41 text
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.
Slide 42
Slide 42 text
Templates
$ rails new app_name
Slide 43
Slide 43 text
Templates
$ rails new app_name -m http://example.com/template.rb
Slide 44
Slide 44 text
Templates
Have a preprepared project that is ready to jump into.
Slide 45
Slide 45 text
Templates
Concentrate on the domain problem
Slide 46
Slide 46 text
Testing
Slide 47
Slide 47 text
TAFT
Slide 48
Slide 48 text
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
Slide 49
Slide 49 text
Deploying
Slide 50
Slide 50 text
Deploying
We want to be able to deploy as often as possible to show our progress
to the rest of the team.
Slide 51
Slide 51 text
No content
Slide 52
Slide 52 text
Shipping
• Start shipping from day 1
• Make it easy to ship
• Be aware of the limitations of your server
Slide 53
Slide 53 text
It's a marathon,
not a sprint
Slide 54
Slide 54 text
It's 4 days, not 24
hours
Slide 55
Slide 55 text
It's a marathon, not a sprint
• Get some sleep
• Write good code, not more code
Slide 56
Slide 56 text
Throw it all away
Slide 57
Slide 57 text
Throw it all away
Not before you test with users!
Slide 58
Slide 58 text
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
Slide 59
Slide 59 text
Coding the best prototype you can in
a short space of time
• Frameworks
• Templates
• Testing
• Shipping
• Sleeping
• Iteration
Slide 60
Slide 60 text
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
Slide 61
Slide 61 text
Thank you
Slide 62
Slide 62 text
Any questions?
Phil Nash
@philnash
http://philna.sh
Mint Digital
http://mintdigital.com