Download - Tying Your Shoes
Tying Your ShoesA Whirlwind Guide Tov
z
What Is Shoes ?T
A Little Historyd
A Little Historyd
A Little Historyd
A Little Historyd
This Is Familiarl
gem install shoese
gem install shoese
NO!
How Do I Get Shoes ?v
http://shoooes.net
3 “o”s in shoooes3 eyelets in a shoe
beware the “o”s
2
2
1
1
3
3
Shoes Is For Everyoneh
Loop It, Swoop It& Pulla
How To Tie Your Shoes
p
Shoes.app do
end
Shoes.app :title => 'Talon' do background '#fff'end
Shoes.app :title => 'Talon' do background '#fff' background 'talon.jpg', :bottom => 0, :right => -20 flow :width => '100%' do background '#df9', :curve => 12 title 'Talon', :stroke => '#691FFF', :align => 'center' endend
stack :margin => ['10%', '15%', '10%', '0px'] do background '#df9', :curve => 12 title "Who goes there?", :stroke => '#691FFF', :align => 'center' # ... entries and buttons go hereend
STACKS
STACKS
iFlows
flow do stack :width => '150px' do para 'Nom de tweet' end @user_box = edit_line :width => '-170px' stack :width => '150px' do para 'Sekrit' end @pass_box = edit_line :width => '-170px', :secret => trueendbutton 'That is who I am!', :width => '100%' do do_loginend
Shoes & Gemsz
Shoes.setup do gem 'twitter'end
require 'twitter'
Shoes.setup do gem 'twitter'end
require 'twitter'
def do_login user = @user_box.text pass = @pass_box.text @twitter =
Twitter::Base.new(user, pass) begin @twitter.verify_credentials @login.hide show_logged_in_timeline rescue Twitter::CantConnect => e incorrect_login endend
def incorrect_login if @incorrect_login_anim.nil? @incorrect_login_anim = animate do |i| @login.displace((Math.sin(i) * 6).to_i, 0) end end @incorrect_login_anim.start timer(2) do @incorrect_login_anim.stop @login.displace(0,0) endend
def incorrect_login if @incorrect_login_anim.nil? @incorrect_login_anim = animate do |i| @login.displace((Math.sin(i) * 6).to_i, 0) end end @incorrect_login_anim.start timer(2) do @incorrect_login_anim.stop @login.displace(0,0) endend
def incorrect_login if @incorrect_login_anim.nil? @incorrect_login_anim = animate do |i| @login.displace((Math.sin(i) * 6).to_i, 0) end end @incorrect_login_anim.start timer(2) do @incorrect_login_anim.stop @login.displace(0,0) endend
TyingMore Complicated
Knotsd
Drawingk
Custom Controlsv
Organising Your Shoesw
Organising Your Shoesw
class Book < Shoes url '/', :index url '/incidents/(\d+)', :incident
def index incident(0) end # More code goes here...
Packaging Your Appi
Find Out Moreb
“shoes --manual” or ⌘m in a Shoes apphttp://hackety.org/press - Nobody Knows Shoes
http://shoooes.net - the main placehttp://the-shoebox.org - gallery of apps
http://github.com/why/shoes - code and wikihttp://hackety.org - why’s blog
http://github.com/hlame/talon - my awesome app
Without Whoma
tying shoes - http://flickr.com/photos/fil/2127072888/paint background - http://flickr.com/photos/shaireproductions/2315054854/
html book - http://flickr.com/photos/ianlloyd/2542795166/ruby gemstone - http://flickr.com/photos/alphadesigner/354936159/
3-eyelet brogue - http://flickr.com/photos/diamondgeyser/3028055172/old poster - http://flickr.com/photos/ulikleafar/2146994022/
matches - http://flickr.com/photos/bitzi/265057397/ruby books - http://flickr.com/photos/maguisso/1028969342/jewelled shoes - http://flickr.com/photos/roaz/2279682461/packages - http://flickr.com/photos/pleasewait/476789507/drawing - http://flickr.com/photos/squintlog/272876653/
control panel - http://flickr.com/photos/electropod/2922782588/