YOUR COMPANY NAME | LONG AND INTERESTING PRESENTATION TITLE | VERSION NO. XX | 06 /02/2012
“wearing my twitter shirt”
at RailsUnderground, London
Slide 3
Slide 3 text
YOUR COMPANY NAME | LONG AND INTERESTING PRESENTATION TITLE | VERSION NO. XX | 06 /02/2012
Tony Stark
at NordicRuby, Gothenburg
“wearing my twitter shirt”
at RailsUnderground, London
Slide 4
Slide 4 text
YOUR COMPANY NAME | LONG AND INTERESTING PRESENTATION TITLE | VERSION NO. XX | 06 /02/2012
Tony Stark
at NordicRuby, Gothenburg
Tinker Bell
at CodeConf, San Francisco
“wearing my twitter shirt”
at RailsUnderground, London
Slide 5
Slide 5 text
ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS
WHAT
You know a generator
when you see it
Slide 6
Slide 6 text
ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS
APPLICATION
GENERATORS
Let’s make a new app
Slide 7
Slide 7 text
ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS
xCode
Slide 8
Slide 8 text
ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS
visual studio
Slide 9
Slide 9 text
ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS
rails
Slide 10
Slide 10 text
ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS
app
generators
• All this code is needed but…
• “Just start editing here”
• Prepopulated defaults
Slide 11
Slide 11 text
ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS
COMPONENT
GENERATORS
Add something to an app
Slide 12
Slide 12 text
ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS
rails
Slide 13
Slide 13 text
ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS
plugins
Slide 14
Slide 14 text
ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS
component
generators
• Encourage best practise
• “This ‘test’ folder must be
important”
Slide 15
Slide 15 text
ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS
BUT WHY?
Why do we use them?
Why should you write them?
Slide 16
Slide 16 text
ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS
buy once
read never
Slide 17
Slide 17 text
ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS
learn in
10 mins
or less
Slide 18
Slide 18 text
ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS
development
and
production
different
Slide 19
Slide 19 text
ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS
old path to
adoption
• Microsoft releases something
• Microsoft Press sells a book
• Read the book
• Buy the Microsoft thing
• Use the Microsoft thing
Slide 20
Slide 20 text
ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS
because
i say so
Slide 21
Slide 21 text
ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS
1000s of
options
Slide 22
Slide 22 text
ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS
how to
choose?
Slide 23
Slide 23 text
ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS
try them all?!
Slide 24
Slide 24 text
ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS
Slide 25
Slide 25 text
ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS
because
i say so
Slide 26
Slide 26 text
ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS
because of
tweets
Slide 27
Slide 27 text
ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS
new path to
adoption
• Heard about something
• Try it - generators/scrolls
• Advocate it - “this is great”
• Learn about it
Slide 28
Slide 28 text
ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS
alternate
new path to
adoption
• Heard about something
• Advocate it “this looks great"
• Try it
• Learn about it
Slide 29
Slide 29 text
ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS
TRY IT
How fast can you be successful?
Slide 30
Slide 30 text
ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS
succeed fast
Slide 31
Slide 31 text
ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS
also great
ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS
Much better!
Slide 34
Slide 34 text
ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS
barriers to
adoption
• “How do I try it?”
• “How do I add it to my app?”
• “How do I know if I’m doing it
right?”
Slide 35
Slide 35 text
ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS
WIZARDS
Help me. For the love of God.
Slide 36
Slide 36 text
ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS
wizards
1. Question about something
2.Choose some option
3. Confirm something
4. Done
YOUR COMPANY NAME | LONG AND INTERESTING PRESENTATION TITLE | VERSION NO. XX | 06 /02/2012
dependencies
scrolls new myapp -s resque engineyard
=> redis, resque, git, github,
engineyard_recipes_on_deploy,
engineyard
Slide 49
Slide 49 text
ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS
gem 'cucumber-rails'
after_bundler do
generate 'cucumber:install'
end
after_everything do
end
three stages
Slide 50
Slide 50 text
ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS
three stages
1. Add gems
2.After bundler, run generators
3. After everything, deploy!
Slide 51
Slide 51 text
ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS
SCROLLS
USE
GENERATORS
ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS
powered by thor
Slide 54
Slide 54 text
ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS
Deploying
Slide 55
Slide 55 text
YOUR COMPANY NAME | LONG AND INTERESTING PRESENTATION TITLE | VERSION NO. XX | 06 /02/2012
deploying
scrolls new myapp -s engineyard
scrolls new myapp -s heroku
scrolls new myapp -s cloudfoundry
Slide 56
Slide 56 text
ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS
how to make
this work?!
chef: install & run
buildpacks: install
procfile: run
??
Slide 57
Slide 57 text
ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS
engineyard
Slide 58
Slide 58 text
ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS
engineyard
chef in rubygems