SlideShare ist ein Scribd-Unternehmen logo
1 von 51
Downloaden Sie, um offline zu lesen
STORYBOARDING
                                OUDL iOS mini-workshop
                            December 6, 2012 @ TheBoxJelly.com




Tuesday, December 11, 12
Tuesday, December 11, 12

Welcome to OUDL
THANKS




Tuesday, December 11, 12
Greetings
                                       Kyle Oba
                                       @mudphone
                                       mudphone on #hicapacity


Tuesday, December 11, 12
OBJECTIVES

                   • PROTOTYPING: intro, tool, techniques
                   • WHY
                   • WHAT: storyboard basics
                   • BUILD: & sprinkled throughout
                   •       !!! CODE !!!


                   • RESOURCES
Tuesday, December 11, 12
PROTOTYPING




Tuesday, December 11, 12

INTRODUCTION - Main Objectives:
- Prototypes for iOS apps
- Learn Storyboarding
Why use prototyping?

                           •   Communication

                           •   Common Model

                           •   Dog & Pony

                           •   UX Testing




Tuesday, December 11, 12

Communication - Get an idea out and communicate it to your team.
Common Model - Teams work better if they have a common model. A common visual
vocabulary.
Dog & Pony - Sharing a concept with clients, customers, investors, God.
UX Testing - Checking the feel of a UI, interactions.
A desirable process

                              •   Easy Creation

                              •   Accessible

                              •   Fast Output

                              •   Low Cost




Tuesday, December 11, 12

Sometimes these conflicts with your goals.
They’re not necessarily intrinsic in prototyping.
Compromises
Dead Trees




Tuesday, December 11, 12

Moleskine optional
Homemade Worksheets




Tuesday, December 11, 12

Downloadable templates, for printing, photocopying
UIStencils.com
White Boards




Tuesday, December 11, 12

Showerboard can be had for less than $20 a panel at HD/Lowe’s
UI Stencils




Tuesday, December 11, 12

stencils, mockup notepads, and sticky notes
See also, AI and PS stencils
Balsamiq Mockups




Tuesday, December 11, 12
Keynotopia




Tuesday, December 11, 12

Requires Keynote on Mac and on device
Storyboards, in general...




Tuesday, December 11, 12

Creates a visual outline describing scenes
and relationships between scenes
Xcode Storyboards




Tuesday, December 11, 12

Uses scenes and segue/transition metaphor of movie storyboards
This is a real app. It uses the same transitions and UI elements
Interactions are real (slider, button press)
Animations are real (switch)
Transitions have the same timing
Can be used as a basis for the final product
Xcode Storyboards

                      “The right tool is the one you will use.”




      https://blog.bloomfire.com/posts/487150-the-right-tool-is-the-one-you-will-use/public

Tuesday, December 11, 12

We use some combination of all these tools.
If your team doesn’t learn Storyboarding, you have to pass a picture from the design team to
the development team.
This happens


                                   pass a picture
                   designer
                                                          developer

                                  build something




Tuesday, December 11, 12

This happens (and it’s fine)
Rinse, repeat
This is why the apartment I live in is horrible
The greatness of our product is limited by these cycles
This is better


                   designer
                                                       developer




                                common model

Tuesday, December 11, 12

Communication required here.
We have to know where the other side is coming from.
I’m also a customer.
Tuesday, December 11, 12
I also convert (to iOS 6)
Tuesday, December 11, 12

Treed originally released for iOS 4, upgraded to iOS 5
Now revising for iOS 6 w/ Storyboards
XCODE STORYBOARDS


                    Exactly what are they?



Tuesday, December 11, 12
Xcode Storyboards

                             scenes
                                         segues      outlet
                                                           s   & acti
                                                                        ons




Tuesday, December 11, 12

A scene is like a screen (or page)
Scenes are related by segues
Transitions are specific types of segue
Outlets & actions make coding easier (not covered)
A collection of scenes
                                      Storyboard




                           Scene                         Scene

                                         View                    View




                               View       View     Control




                  Control               Control



Tuesday, December 11, 12

View is a visual element, like a table view or red square.
- Contain basics for display and interaction.
Control, like a button (is a specific type of view)
Layers omitted for brevity.
Views and Controls
                                     Scene

                                             View




                              View                  Control




Tuesday, December 11, 12
Segues
                 Scene:                                                  Scene:
                                      button pressed
            login screen                                             home screen




                                           swipe
              side menu                                             hidden content




                                           touch
          custom control                                           birds in slingshot




Tuesday, December 11, 12

Other segue triggers: shake, rotation, timing, geo fencing, etc.
Freeze Dried
                           scenes
                                    segues         outlet
                                                         s   & acti
                                                                      ons




                                       serialize




Tuesday, December 11, 12
Rehydration


                                                   initialize




Tuesday, December 11, 12

Can be faster than other editors which emit code to create objects.
PROJECT TEMPLATES
                 iPhone                           iPad

                •      Single View                •   Single View

                •      Master-Detail              •   Master-Detail

                •      Page Based

                •      Tabbed




Tuesday, December 11, 12

iPhone
- Single View: This is a blank slate; we’ll use this one
- Master-Detail Application (Dynamic UITableView): Just take a look
- Page Based: Just take a look
- Tabbed: Add another tab

    
   - Add new view controller

    
   - Ctrl drag from UITabViewController to new view controller
iPad
- Master-Detail Application (Split View)
- Single View: Demo’s here
What should we build?



Tuesday, December 11, 12
Single View




Tuesday, December 11, 12
Master-Detail iPhone




Tuesday, December 11, 12
Page-Based




Tuesday, December 11, 12
Tabbed




Tuesday, December 11, 12
Master-Detail iPad




Tuesday, December 11, 12
What should we build?
                     (Insta-Kitteh)


Tuesday, December 11, 12
LABS OVERVIEW
                   •       Create projects

                   •       Run app on simulator

                   •       Add views, such as buttons and labels

                   •       Create new scenes

                   •       Move from scene to scene via segues, triggered by
                           buttons or gestures

                   •       Create a configuration screen, using a static table
                           view

                   •       Use container views, such as tab bars and
                           navigations controllers
Tuesday, December 11, 12
LAB1: Single View
                           1. Create a new folder on your desktop: OUDL

                           2. Create a new “Single View” Project, saving it in
                              the new OUDL folder

                           3. Drag a UILabel onto the scene

                           4. Change the label text

                           5. Run this project in the simulator




Tuesday, December 11, 12

Show all the steps of creating a new project.
Show each pane of Xcode.
Show all objects that could be dragged in.
Show attributes panel, change color.
Run in simulator.
Show how to change device type.
Show how to re-open a project after it is closed.
LAB2: Modal Segue
                     1. Create a new “Single View” Project, or use the old one

                     2. Drag a button onto the scene

                     3. Drag another UIViewController onto the scene

                     4. Change the background color of the new view
                        controller (anything but white)

                     5. Control-click from the button to the new view
                        controller. When you release, select the “modal” segue
                        option.

                     6. Run this project in the simulator

Tuesday, December 11, 12

This is a modal segue, so you can’t get back (unless you use code).
Check out the other modal segue types.
Show what happens when you try a push (boom!).
LAB3: Nav Controller
                     1. Create a new “Single View” Project
                     2. Drag a UINavigationController onto the storyboard
                     3. Drag “initial scene” arrow to point to “Navigation Controller”
                     4. Control-click and from the navigation controller to the original scene (not
                        the Table View). When you release, select the “root view controller” segue
                        option.
                     5. Click on the very top of the Table View scene to select it. Then delete it.
                     6. Drag a UIButton onto the original scene (not the Navigation Controller)
                     7. Add another UIViewController onto the storyboard
                     8. Add a UILabel to the new UIViewController
                     9. Control-click and from the button to the new UIViewController (the one
                        with the label). When you release, select the “push” segue option.
                     10. Run simulator, tap button to go to new screen (tap “back” to go back)


Tuesday, December 11, 12

Show “Is Initial View Controller” checkbox in Attributes Inspector
CTRL-OPT-CMD 3: focus on object library’s search field
CMD-R: to start simulator
Now you can get back.
Explain the container view type.
LAB4: Table View
                     1. Create a new “Single View” Project
                     2. Drag a UITableViewController (not a UITableView) onto the storyboard
                     3. Drag “initial scene” arrow to point to “Table View Controller”
                     4. In Attributes Inspector, change Table View Content type from “Dynamic
                        Prototypes” to “Static Cells”
                     5. Change the Style to “Grouped”
                     6. Change Sections to 2
                     7. In the Document Outline, select the first section. Change the number of
                        rows to 5
                     8. Give the first section a “Header” and “Footer”
                     9. Run simulator




Tuesday, December 11, 12

Show change to cell selection color
Show cell accessory types
Show cell style types
LAB5: Configuration Screen
                     1. Create a new “Single View” Project
                     2. Drag a UINavigationController onto the storyboard
                     3. Change the Table View Controller’s table view content type to “Static
                        Cells”
                     4. Change the Style to “Grouped”
                     5. Change the first cell’s style to “Basic”
                     6. Double click the text in the first cell and change it to “My Setting”
                     7. Change the first cell’s Accessory to “Disclosure Indicator”
                     8. Drag a UIViewController onto the storyboard
                     9. Control-click and from the first cell to the new view controller. When
                        you release, select the Selection Segue “push” option.
                     10. Run simulator (tap on the first cell)



Tuesday, December 11, 12

Change “Root View Controller” title
Add another UIViewController (add a different label to it), use detail disclosure to trigger
segue
LAB6: Tabs
                           1. Create a new “Tabbed Application” Project

                           2. Run this project in the simulator




Tuesday, December 11, 12
LAB7: More Tabs
                           1. Reuse your old “Tabbed Application” Project

                           2. Drag a new UIViewController to the storyboard

                           3. Control-click from the Tab Bar Controller to the
                              new view controller. When you release, select
                              the relationship segue “view controllers” option.

                           4. Change the new view controller’s Bar Item -
                              Title (the default value is “Item”)

                           5. Add a label to the new view controller

                           6. Run this project in the simulator

Tuesday, December 11, 12

Explain that the Tab Bar Controller is another container view controller
Extra Credit: Embed the new view controller in a navigation controller, then add a button that
pushes another view controller
LAB8: Gestures
                 1.        Create a new “Single View” Project

                 2.        Drag a UINavigationController onto the storyboard

                 3.        Delete the Table View Controller

                 4.        Drag “initial scene” arrow to point to the “Navigation Controller”

                 5.        Make the original blank view controller the root view controller of the navigation controller (i.e.
                           embed the original blank view controller in the navigation controller)

                 6.        Drag a Swipe Gesture Recognizer onto the original blank view controller. Change the swipe direction
                           to “Left”

                 7.        Drag a new UIView Controller onto the storyboard

                 8.        Change to the Top Bar - Navigation Bar attribute of the new view controller (found in the Simulated
                           Metrics section of the Attributes Inspector).

                 9.        Double click the middle of the new navigation bar, and change the title to “Swipe!”

                 10. Find the Swipe Gesture Recognizer in the Document Outline. Control-click and from the Swipe
                     Gesture Recognizer to the “Swipe!” view controller. When you release, select the Action Segue
                     “push” option.

                 11. Run simulator (Swipe to the left to trigger the segue)




Tuesday, December 11, 12

Change the swipe direction.
Try this with other gestures.
Doing it in code.


                           Display a red square in code.

                   Display a red square with a Storyboard.



Tuesday, December 11, 12

Code is sometimes required.
It is certainly required for dynamic interactivity.
But, do as much as you can in the Storyboard.
Things not appearing...

                   • Scroll Views, Web Views, etc.
                   • Layers, Core Graphics, Core Image, etc.
                   • Rotation
                   • Auto Layout, a.k.a. handling rotation &
                           different screen sizes, resolutions
                   • Dynamic UI elements, a.k.a. interactivity
Tuesday, December 11, 12
Resources

                   •       http://fortawesome.github.com/Font-Awesome/

                   •       http://www.glyphish.com

                   •       WWDC 2011, 2012 videos having anything to do
                           with storyboarding

                   •       http://www.raywenderlich.com/tutorials

                   •       http://placekitten.com



Tuesday, December 11, 12
Merci!




Tuesday, December 11, 12
Appendix



Tuesday, December 11, 12
LAB0: Deploying to a device
                           1.   Register as a developer at:
                                1.   https://developer.apple.com/devcenter/ios/index.action
                           2.   After registering, you will have access to the documentation.You can then follow
                                these instructions to prepare your development environment for builds on a
                                device:
                                1.   http://developer.apple.com/library/ios/#documentation/Xcode/Conceptual/
                                     ios_development_workflow/10-
                                     Configuring_Development_and_Distribution_Assets/
                                     identities_and_devices.html#//apple_ref/doc/uid/TP400079
                           3.   You'll need to pay $99 to become a licensed iOS developer. This fee is also
                                required if you would like to publish your app on the iOS App Store. Please note
                                that there are two Apple developer programs, one is for iOS (iPhone, iPad, iPod
                                Touch) apps, the other is for Mac (desktop) apps. Be sure to sign up and pay for
                                the correct one.
                           4.   After registering, you will have access to the documentation.You can then follow
                                these instructions to prepare your development environment for builds on a
                                device:
                                1.   http://developer.apple.com/library/ios/#documentation/Xcode/Conceptual/
                                     ios_development_workflow/10-
                                     Configuring_Development_and_Distribution_Assets/
                                     identities_and_devices.html#//apple_ref/doc/uid/TP400079
                           5.   Read:
                                1.   https://developer.apple.com/ios/manage/overview/index.action (You can’t read
                                     this without a developer account.)


Tuesday, December 11, 12

Weitere ähnliche Inhalte

Andere mochten auch

A Workshop on UX Design and Storyboarding
A Workshop on UX Design and StoryboardingA Workshop on UX Design and Storyboarding
A Workshop on UX Design and StoryboardingKevin Hoxie
 
Storyboarding Workshop
Storyboarding WorkshopStoryboarding Workshop
Storyboarding WorkshopAlex Cowan
 
Storytelling: The Ultimate Survival Tool?
Storytelling: The Ultimate Survival Tool?Storytelling: The Ultimate Survival Tool?
Storytelling: The Ultimate Survival Tool?Park Howell
 
Storyboarding In User Experience Workshop (at Mobile UX London)
Storyboarding In User Experience Workshop (at Mobile UX London)Storyboarding In User Experience Workshop (at Mobile UX London)
Storyboarding In User Experience Workshop (at Mobile UX London)Sarah Doody
 
Storyboarding : Workshop for TMC|X
Storyboarding : Workshop for TMC|XStoryboarding : Workshop for TMC|X
Storyboarding : Workshop for TMC|XGrace Rodriguez
 
Storytelling in Product Development: Knowing your users & their stories
Storytelling in Product Development: Knowing your users & their storiesStorytelling in Product Development: Knowing your users & their stories
Storytelling in Product Development: Knowing your users & their storiesSarah Doody
 
Storyboarding csa2013 - Simple sketching for UX, user research & content stra...
Storyboarding csa2013 - Simple sketching for UX, user research & content stra...Storyboarding csa2013 - Simple sketching for UX, user research & content stra...
Storyboarding csa2013 - Simple sketching for UX, user research & content stra...Deb Aoki
 
Storyboarding for Content Strategy and UX Design - U of W Continuing Ed. Nov....
Storyboarding for Content Strategy and UX Design - U of W Continuing Ed. Nov....Storyboarding for Content Strategy and UX Design - U of W Continuing Ed. Nov....
Storyboarding for Content Strategy and UX Design - U of W Continuing Ed. Nov....Deb Aoki
 
Users' Story: UX Storyboarding
Users' Story: UX StoryboardingUsers' Story: UX Storyboarding
Users' Story: UX StoryboardingFrank Garofalo
 
5 Secrets to Killer Lead Generation Using SlideShare
5 Secrets to Killer Lead Generation Using SlideShare5 Secrets to Killer Lead Generation Using SlideShare
5 Secrets to Killer Lead Generation Using SlideShareEugene Cheng
 

Andere mochten auch (11)

A Workshop on UX Design and Storyboarding
A Workshop on UX Design and StoryboardingA Workshop on UX Design and Storyboarding
A Workshop on UX Design and Storyboarding
 
Storyboarding Workshop
Storyboarding WorkshopStoryboarding Workshop
Storyboarding Workshop
 
Storytelling: The Ultimate Survival Tool?
Storytelling: The Ultimate Survival Tool?Storytelling: The Ultimate Survival Tool?
Storytelling: The Ultimate Survival Tool?
 
Storyboarding In User Experience Workshop (at Mobile UX London)
Storyboarding In User Experience Workshop (at Mobile UX London)Storyboarding In User Experience Workshop (at Mobile UX London)
Storyboarding In User Experience Workshop (at Mobile UX London)
 
Storyboarding : Workshop for TMC|X
Storyboarding : Workshop for TMC|XStoryboarding : Workshop for TMC|X
Storyboarding : Workshop for TMC|X
 
Storytelling in Product Development: Knowing your users & their stories
Storytelling in Product Development: Knowing your users & their storiesStorytelling in Product Development: Knowing your users & their stories
Storytelling in Product Development: Knowing your users & their stories
 
Storyboarding csa2013 - Simple sketching for UX, user research & content stra...
Storyboarding csa2013 - Simple sketching for UX, user research & content stra...Storyboarding csa2013 - Simple sketching for UX, user research & content stra...
Storyboarding csa2013 - Simple sketching for UX, user research & content stra...
 
Storyboarding for Content Strategy and UX Design - U of W Continuing Ed. Nov....
Storyboarding for Content Strategy and UX Design - U of W Continuing Ed. Nov....Storyboarding for Content Strategy and UX Design - U of W Continuing Ed. Nov....
Storyboarding for Content Strategy and UX Design - U of W Continuing Ed. Nov....
 
Storyboarding
StoryboardingStoryboarding
Storyboarding
 
Users' Story: UX Storyboarding
Users' Story: UX StoryboardingUsers' Story: UX Storyboarding
Users' Story: UX Storyboarding
 
5 Secrets to Killer Lead Generation Using SlideShare
5 Secrets to Killer Lead Generation Using SlideShare5 Secrets to Killer Lead Generation Using SlideShare
5 Secrets to Killer Lead Generation Using SlideShare
 

Ähnlich wie iOS Prototyping with Xcode Storyboards

iPad Apps for teachers
iPad Apps for teachersiPad Apps for teachers
iPad Apps for teachersRod Martin
 
TripCase Unit Testing with Jasmine
TripCase Unit Testing with JasmineTripCase Unit Testing with Jasmine
TripCase Unit Testing with JasmineStephen Pond
 
Adaptive Experiences
Adaptive ExperiencesAdaptive Experiences
Adaptive ExperiencesWINTR
 
Interfaces Inteligentes para Android
Interfaces Inteligentes para AndroidInterfaces Inteligentes para Android
Interfaces Inteligentes para AndroidNelson Glauber Leal
 
Introduction To MongoDB
Introduction To MongoDBIntroduction To MongoDB
Introduction To MongoDBYnon Perek
 
Design process
Design processDesign process
Design processTim Wright
 
JS Tooling in Rails 3.1
JS Tooling in Rails 3.1JS Tooling in Rails 3.1
JS Tooling in Rails 3.1Duda Dornelles
 
Big app design for Node.js
Big app design for Node.jsBig app design for Node.js
Big app design for Node.jsSergi Mansilla
 
OmniOS Motivation and Design ~ LISA 2012
OmniOS Motivation and Design ~ LISA 2012OmniOS Motivation and Design ~ LISA 2012
OmniOS Motivation and Design ~ LISA 2012Theo Schlossnagle
 
Velocity Marketing and Growth Hacking, Nov '12
Velocity Marketing and Growth Hacking, Nov '12Velocity Marketing and Growth Hacking, Nov '12
Velocity Marketing and Growth Hacking, Nov '12Ken Rutsky
 
HTML5 Touch Interfaces: SXSW extended version.
HTML5 Touch Interfaces: SXSW extended version.HTML5 Touch Interfaces: SXSW extended version.
HTML5 Touch Interfaces: SXSW extended version.Stephen Woods
 
iFixit @ Monterey Bay Aquarium
iFixit @ Monterey Bay AquariumiFixit @ Monterey Bay Aquarium
iFixit @ Monterey Bay AquariumKyle Wiens
 
Sebastian Burkhart — Berlin.apps.js Nov 2012 Talk
Sebastian Burkhart — Berlin.apps.js Nov 2012 TalkSebastian Burkhart — Berlin.apps.js Nov 2012 Talk
Sebastian Burkhart — Berlin.apps.js Nov 2012 TalkSebastian Burkhart
 
Voices of the 4.5 Million: A Sound Visualization of the US Housing Crisis
Voices of the 4.5 Million: A Sound Visualization of the US Housing CrisisVoices of the 4.5 Million: A Sound Visualization of the US Housing Crisis
Voices of the 4.5 Million: A Sound Visualization of the US Housing CrisisLiz Khoo
 
Mobile Accessibility - Accessibility Camp Toronto
Mobile Accessibility - Accessibility Camp TorontoMobile Accessibility - Accessibility Camp Toronto
Mobile Accessibility - Accessibility Camp TorontoTed Drake
 
MongoDB Hadoop and Humongous Data
MongoDB Hadoop and Humongous DataMongoDB Hadoop and Humongous Data
MongoDB Hadoop and Humongous DataMongoDB
 
Make something real for Firefox OS with Mozilla app templates
Make something real  for Firefox OS with Mozilla app templatesMake something real  for Firefox OS with Mozilla app templates
Make something real for Firefox OS with Mozilla app templatesPiotr Zalewa
 
Performance test - YaJUG Octobre 2012
Performance test - YaJUG Octobre 2012Performance test - YaJUG Octobre 2012
Performance test - YaJUG Octobre 2012Claude Falguiere
 

Ähnlich wie iOS Prototyping with Xcode Storyboards (20)

iPad Apps for teachers
iPad Apps for teachersiPad Apps for teachers
iPad Apps for teachers
 
TripCase Unit Testing with Jasmine
TripCase Unit Testing with JasmineTripCase Unit Testing with Jasmine
TripCase Unit Testing with Jasmine
 
Mobile? WT... F?
Mobile? WT... F?Mobile? WT... F?
Mobile? WT... F?
 
Adaptive Experiences
Adaptive ExperiencesAdaptive Experiences
Adaptive Experiences
 
Interfaces Inteligentes para Android
Interfaces Inteligentes para AndroidInterfaces Inteligentes para Android
Interfaces Inteligentes para Android
 
Introduction To MongoDB
Introduction To MongoDBIntroduction To MongoDB
Introduction To MongoDB
 
Design process
Design processDesign process
Design process
 
JS Tooling in Rails 3.1
JS Tooling in Rails 3.1JS Tooling in Rails 3.1
JS Tooling in Rails 3.1
 
Big app design for Node.js
Big app design for Node.jsBig app design for Node.js
Big app design for Node.js
 
OmniOS Motivation and Design ~ LISA 2012
OmniOS Motivation and Design ~ LISA 2012OmniOS Motivation and Design ~ LISA 2012
OmniOS Motivation and Design ~ LISA 2012
 
Velocity Marketing and Growth Hacking, Nov '12
Velocity Marketing and Growth Hacking, Nov '12Velocity Marketing and Growth Hacking, Nov '12
Velocity Marketing and Growth Hacking, Nov '12
 
HTML5 Touch Interfaces: SXSW extended version.
HTML5 Touch Interfaces: SXSW extended version.HTML5 Touch Interfaces: SXSW extended version.
HTML5 Touch Interfaces: SXSW extended version.
 
iFixit @ Monterey Bay Aquarium
iFixit @ Monterey Bay AquariumiFixit @ Monterey Bay Aquarium
iFixit @ Monterey Bay Aquarium
 
Sebastian Burkhart — Berlin.apps.js Nov 2012 Talk
Sebastian Burkhart — Berlin.apps.js Nov 2012 TalkSebastian Burkhart — Berlin.apps.js Nov 2012 Talk
Sebastian Burkhart — Berlin.apps.js Nov 2012 Talk
 
Voices of the 4.5 Million: A Sound Visualization of the US Housing Crisis
Voices of the 4.5 Million: A Sound Visualization of the US Housing CrisisVoices of the 4.5 Million: A Sound Visualization of the US Housing Crisis
Voices of the 4.5 Million: A Sound Visualization of the US Housing Crisis
 
Mobile Accessibility - Accessibility Camp Toronto
Mobile Accessibility - Accessibility Camp TorontoMobile Accessibility - Accessibility Camp Toronto
Mobile Accessibility - Accessibility Camp Toronto
 
MongoDB Hadoop and Humongous Data
MongoDB Hadoop and Humongous DataMongoDB Hadoop and Humongous Data
MongoDB Hadoop and Humongous Data
 
HTML5 and Sencha Touch
HTML5 and Sencha TouchHTML5 and Sencha Touch
HTML5 and Sencha Touch
 
Make something real for Firefox OS with Mozilla app templates
Make something real  for Firefox OS with Mozilla app templatesMake something real  for Firefox OS with Mozilla app templates
Make something real for Firefox OS with Mozilla app templates
 
Performance test - YaJUG Octobre 2012
Performance test - YaJUG Octobre 2012Performance test - YaJUG Octobre 2012
Performance test - YaJUG Octobre 2012
 

Kürzlich hochgeladen

FW25-26 Knit Cut & Sew Trend Book Peclers Paris
FW25-26 Knit Cut & Sew Trend Book Peclers ParisFW25-26 Knit Cut & Sew Trend Book Peclers Paris
FW25-26 Knit Cut & Sew Trend Book Peclers ParisPeclers Paris
 
world health day 2024.pptxgbbvggvbhjjjbbbb
world health day 2024.pptxgbbvggvbhjjjbbbbworld health day 2024.pptxgbbvggvbhjjjbbbb
world health day 2024.pptxgbbvggvbhjjjbbbbpreetirao780
 
Piece by Piece Magazine
Piece by Piece Magazine                      Piece by Piece Magazine
Piece by Piece Magazine CharlottePulte
 
DAKSHIN BIHAR GRAMIN BANK: REDEFINING THE DIGITAL BANKING EXPERIENCE WITH A U...
DAKSHIN BIHAR GRAMIN BANK: REDEFINING THE DIGITAL BANKING EXPERIENCE WITH A U...DAKSHIN BIHAR GRAMIN BANK: REDEFINING THE DIGITAL BANKING EXPERIENCE WITH A U...
DAKSHIN BIHAR GRAMIN BANK: REDEFINING THE DIGITAL BANKING EXPERIENCE WITH A U...Rishabh Aryan
 
Karim apartment ideas 01 ppppppppppppppp
Karim apartment ideas 01 pppppppppppppppKarim apartment ideas 01 ppppppppppppppp
Karim apartment ideas 01 pppppppppppppppNadaMohammed714321
 
AI and Design Vol. 2: Navigating the New Frontier - Morgenbooster
AI and Design Vol. 2: Navigating the New Frontier - MorgenboosterAI and Design Vol. 2: Navigating the New Frontier - Morgenbooster
AI and Design Vol. 2: Navigating the New Frontier - Morgenbooster1508 A/S
 
guest bathroom white and blue ssssssssss
guest bathroom white and blue ssssssssssguest bathroom white and blue ssssssssss
guest bathroom white and blue ssssssssssNadaMohammed714321
 
simpson-lee_house_dt20ajshsjsjsjsjj15.pdf
simpson-lee_house_dt20ajshsjsjsjsjj15.pdfsimpson-lee_house_dt20ajshsjsjsjsjj15.pdf
simpson-lee_house_dt20ajshsjsjsjsjj15.pdfLucyBonelli
 
Giulio Michelon, Founder di @Belka – “Oltre le Stime: Sviluppare una Mentalit...
Giulio Michelon, Founder di @Belka – “Oltre le Stime: Sviluppare una Mentalit...Giulio Michelon, Founder di @Belka – “Oltre le Stime: Sviluppare una Mentalit...
Giulio Michelon, Founder di @Belka – “Oltre le Stime: Sviluppare una Mentalit...Associazione Digital Days
 
NBA power point presentation final copy y
NBA power point presentation final copy yNBA power point presentation final copy y
NBA power point presentation final copy ysrajece
 
The spirit of digital place - game worlds and architectural phenomenology
The spirit of digital place - game worlds and architectural phenomenologyThe spirit of digital place - game worlds and architectural phenomenology
The spirit of digital place - game worlds and architectural phenomenologyChristopher Totten
 
Map of St. Louis Parks
Map of St. Louis Parks                              Map of St. Louis Parks
Map of St. Louis Parks CharlottePulte
 
Unit1_Syllbwbnwnwneneneneneneentation_Sem2.pptx
Unit1_Syllbwbnwnwneneneneneneentation_Sem2.pptxUnit1_Syllbwbnwnwneneneneneneentation_Sem2.pptx
Unit1_Syllbwbnwnwneneneneneneentation_Sem2.pptxNitish292041
 
10 must-have Chrome extensions for designers
10 must-have Chrome extensions for designers10 must-have Chrome extensions for designers
10 must-have Chrome extensions for designersPixeldarts
 
Making and Unmaking of Chandigarh - A City of Two Plans2-4-24.ppt
Making and Unmaking of Chandigarh - A City of Two Plans2-4-24.pptMaking and Unmaking of Chandigarh - A City of Two Plans2-4-24.ppt
Making and Unmaking of Chandigarh - A City of Two Plans2-4-24.pptJIT KUMAR GUPTA
 
Top 10 Modern Web Design Trends for 2025
Top 10 Modern Web Design Trends for 2025Top 10 Modern Web Design Trends for 2025
Top 10 Modern Web Design Trends for 2025Rndexperts
 
General Simple Guide About AI in Design By: A.L. Samar Hossam ElDin
General Simple Guide About AI in Design By: A.L. Samar Hossam ElDinGeneral Simple Guide About AI in Design By: A.L. Samar Hossam ElDin
General Simple Guide About AI in Design By: A.L. Samar Hossam ElDinSamar Hossam ElDin Ahmed
 
Interior Design for Office a cura di RMG Project Studio
Interior Design for Office a cura di RMG Project StudioInterior Design for Office a cura di RMG Project Studio
Interior Design for Office a cura di RMG Project StudioRMG Project Studio
 
CAPITAL GATE CASE STUDY -regional case study.pdf
CAPITAL GATE CASE STUDY -regional case study.pdfCAPITAL GATE CASE STUDY -regional case study.pdf
CAPITAL GATE CASE STUDY -regional case study.pdfAlasAlthaher
 
Niintendo Wii Presentation Template.pptx
Niintendo Wii Presentation Template.pptxNiintendo Wii Presentation Template.pptx
Niintendo Wii Presentation Template.pptxKevinYaelJimnezSanti
 

Kürzlich hochgeladen (20)

FW25-26 Knit Cut & Sew Trend Book Peclers Paris
FW25-26 Knit Cut & Sew Trend Book Peclers ParisFW25-26 Knit Cut & Sew Trend Book Peclers Paris
FW25-26 Knit Cut & Sew Trend Book Peclers Paris
 
world health day 2024.pptxgbbvggvbhjjjbbbb
world health day 2024.pptxgbbvggvbhjjjbbbbworld health day 2024.pptxgbbvggvbhjjjbbbb
world health day 2024.pptxgbbvggvbhjjjbbbb
 
Piece by Piece Magazine
Piece by Piece Magazine                      Piece by Piece Magazine
Piece by Piece Magazine
 
DAKSHIN BIHAR GRAMIN BANK: REDEFINING THE DIGITAL BANKING EXPERIENCE WITH A U...
DAKSHIN BIHAR GRAMIN BANK: REDEFINING THE DIGITAL BANKING EXPERIENCE WITH A U...DAKSHIN BIHAR GRAMIN BANK: REDEFINING THE DIGITAL BANKING EXPERIENCE WITH A U...
DAKSHIN BIHAR GRAMIN BANK: REDEFINING THE DIGITAL BANKING EXPERIENCE WITH A U...
 
Karim apartment ideas 01 ppppppppppppppp
Karim apartment ideas 01 pppppppppppppppKarim apartment ideas 01 ppppppppppppppp
Karim apartment ideas 01 ppppppppppppppp
 
AI and Design Vol. 2: Navigating the New Frontier - Morgenbooster
AI and Design Vol. 2: Navigating the New Frontier - MorgenboosterAI and Design Vol. 2: Navigating the New Frontier - Morgenbooster
AI and Design Vol. 2: Navigating the New Frontier - Morgenbooster
 
guest bathroom white and blue ssssssssss
guest bathroom white and blue ssssssssssguest bathroom white and blue ssssssssss
guest bathroom white and blue ssssssssss
 
simpson-lee_house_dt20ajshsjsjsjsjj15.pdf
simpson-lee_house_dt20ajshsjsjsjsjj15.pdfsimpson-lee_house_dt20ajshsjsjsjsjj15.pdf
simpson-lee_house_dt20ajshsjsjsjsjj15.pdf
 
Giulio Michelon, Founder di @Belka – “Oltre le Stime: Sviluppare una Mentalit...
Giulio Michelon, Founder di @Belka – “Oltre le Stime: Sviluppare una Mentalit...Giulio Michelon, Founder di @Belka – “Oltre le Stime: Sviluppare una Mentalit...
Giulio Michelon, Founder di @Belka – “Oltre le Stime: Sviluppare una Mentalit...
 
NBA power point presentation final copy y
NBA power point presentation final copy yNBA power point presentation final copy y
NBA power point presentation final copy y
 
The spirit of digital place - game worlds and architectural phenomenology
The spirit of digital place - game worlds and architectural phenomenologyThe spirit of digital place - game worlds and architectural phenomenology
The spirit of digital place - game worlds and architectural phenomenology
 
Map of St. Louis Parks
Map of St. Louis Parks                              Map of St. Louis Parks
Map of St. Louis Parks
 
Unit1_Syllbwbnwnwneneneneneneentation_Sem2.pptx
Unit1_Syllbwbnwnwneneneneneneentation_Sem2.pptxUnit1_Syllbwbnwnwneneneneneneentation_Sem2.pptx
Unit1_Syllbwbnwnwneneneneneneentation_Sem2.pptx
 
10 must-have Chrome extensions for designers
10 must-have Chrome extensions for designers10 must-have Chrome extensions for designers
10 must-have Chrome extensions for designers
 
Making and Unmaking of Chandigarh - A City of Two Plans2-4-24.ppt
Making and Unmaking of Chandigarh - A City of Two Plans2-4-24.pptMaking and Unmaking of Chandigarh - A City of Two Plans2-4-24.ppt
Making and Unmaking of Chandigarh - A City of Two Plans2-4-24.ppt
 
Top 10 Modern Web Design Trends for 2025
Top 10 Modern Web Design Trends for 2025Top 10 Modern Web Design Trends for 2025
Top 10 Modern Web Design Trends for 2025
 
General Simple Guide About AI in Design By: A.L. Samar Hossam ElDin
General Simple Guide About AI in Design By: A.L. Samar Hossam ElDinGeneral Simple Guide About AI in Design By: A.L. Samar Hossam ElDin
General Simple Guide About AI in Design By: A.L. Samar Hossam ElDin
 
Interior Design for Office a cura di RMG Project Studio
Interior Design for Office a cura di RMG Project StudioInterior Design for Office a cura di RMG Project Studio
Interior Design for Office a cura di RMG Project Studio
 
CAPITAL GATE CASE STUDY -regional case study.pdf
CAPITAL GATE CASE STUDY -regional case study.pdfCAPITAL GATE CASE STUDY -regional case study.pdf
CAPITAL GATE CASE STUDY -regional case study.pdf
 
Niintendo Wii Presentation Template.pptx
Niintendo Wii Presentation Template.pptxNiintendo Wii Presentation Template.pptx
Niintendo Wii Presentation Template.pptx
 

iOS Prototyping with Xcode Storyboards

  • 1. STORYBOARDING OUDL iOS mini-workshop December 6, 2012 @ TheBoxJelly.com Tuesday, December 11, 12
  • 2. Tuesday, December 11, 12 Welcome to OUDL
  • 4. Greetings Kyle Oba @mudphone mudphone on #hicapacity Tuesday, December 11, 12
  • 5. OBJECTIVES • PROTOTYPING: intro, tool, techniques • WHY • WHAT: storyboard basics • BUILD: & sprinkled throughout • !!! CODE !!! • RESOURCES Tuesday, December 11, 12
  • 6. PROTOTYPING Tuesday, December 11, 12 INTRODUCTION - Main Objectives: - Prototypes for iOS apps - Learn Storyboarding
  • 7. Why use prototyping? • Communication • Common Model • Dog & Pony • UX Testing Tuesday, December 11, 12 Communication - Get an idea out and communicate it to your team. Common Model - Teams work better if they have a common model. A common visual vocabulary. Dog & Pony - Sharing a concept with clients, customers, investors, God. UX Testing - Checking the feel of a UI, interactions.
  • 8. A desirable process • Easy Creation • Accessible • Fast Output • Low Cost Tuesday, December 11, 12 Sometimes these conflicts with your goals. They’re not necessarily intrinsic in prototyping. Compromises
  • 9. Dead Trees Tuesday, December 11, 12 Moleskine optional
  • 10. Homemade Worksheets Tuesday, December 11, 12 Downloadable templates, for printing, photocopying UIStencils.com
  • 11. White Boards Tuesday, December 11, 12 Showerboard can be had for less than $20 a panel at HD/Lowe’s
  • 12. UI Stencils Tuesday, December 11, 12 stencils, mockup notepads, and sticky notes See also, AI and PS stencils
  • 14. Keynotopia Tuesday, December 11, 12 Requires Keynote on Mac and on device
  • 15. Storyboards, in general... Tuesday, December 11, 12 Creates a visual outline describing scenes and relationships between scenes
  • 16. Xcode Storyboards Tuesday, December 11, 12 Uses scenes and segue/transition metaphor of movie storyboards This is a real app. It uses the same transitions and UI elements Interactions are real (slider, button press) Animations are real (switch) Transitions have the same timing Can be used as a basis for the final product
  • 17. Xcode Storyboards “The right tool is the one you will use.” https://blog.bloomfire.com/posts/487150-the-right-tool-is-the-one-you-will-use/public Tuesday, December 11, 12 We use some combination of all these tools. If your team doesn’t learn Storyboarding, you have to pass a picture from the design team to the development team.
  • 18. This happens pass a picture designer developer build something Tuesday, December 11, 12 This happens (and it’s fine) Rinse, repeat This is why the apartment I live in is horrible The greatness of our product is limited by these cycles
  • 19. This is better designer developer common model Tuesday, December 11, 12 Communication required here. We have to know where the other side is coming from.
  • 20. I’m also a customer. Tuesday, December 11, 12
  • 21. I also convert (to iOS 6) Tuesday, December 11, 12 Treed originally released for iOS 4, upgraded to iOS 5 Now revising for iOS 6 w/ Storyboards
  • 22. XCODE STORYBOARDS Exactly what are they? Tuesday, December 11, 12
  • 23. Xcode Storyboards scenes segues outlet s & acti ons Tuesday, December 11, 12 A scene is like a screen (or page) Scenes are related by segues Transitions are specific types of segue Outlets & actions make coding easier (not covered)
  • 24. A collection of scenes Storyboard Scene Scene View View View View Control Control Control Tuesday, December 11, 12 View is a visual element, like a table view or red square. - Contain basics for display and interaction. Control, like a button (is a specific type of view) Layers omitted for brevity.
  • 25. Views and Controls Scene View View Control Tuesday, December 11, 12
  • 26. Segues Scene: Scene: button pressed login screen home screen swipe side menu hidden content touch custom control birds in slingshot Tuesday, December 11, 12 Other segue triggers: shake, rotation, timing, geo fencing, etc.
  • 27. Freeze Dried scenes segues outlet s & acti ons serialize Tuesday, December 11, 12
  • 28. Rehydration initialize Tuesday, December 11, 12 Can be faster than other editors which emit code to create objects.
  • 29. PROJECT TEMPLATES iPhone iPad • Single View • Single View • Master-Detail • Master-Detail • Page Based • Tabbed Tuesday, December 11, 12 iPhone - Single View: This is a blank slate; we’ll use this one - Master-Detail Application (Dynamic UITableView): Just take a look - Page Based: Just take a look - Tabbed: Add another tab - Add new view controller - Ctrl drag from UITabViewController to new view controller iPad - Master-Detail Application (Split View) - Single View: Demo’s here
  • 30. What should we build? Tuesday, December 11, 12
  • 36. What should we build? (Insta-Kitteh) Tuesday, December 11, 12
  • 37. LABS OVERVIEW • Create projects • Run app on simulator • Add views, such as buttons and labels • Create new scenes • Move from scene to scene via segues, triggered by buttons or gestures • Create a configuration screen, using a static table view • Use container views, such as tab bars and navigations controllers Tuesday, December 11, 12
  • 38. LAB1: Single View 1. Create a new folder on your desktop: OUDL 2. Create a new “Single View” Project, saving it in the new OUDL folder 3. Drag a UILabel onto the scene 4. Change the label text 5. Run this project in the simulator Tuesday, December 11, 12 Show all the steps of creating a new project. Show each pane of Xcode. Show all objects that could be dragged in. Show attributes panel, change color. Run in simulator. Show how to change device type. Show how to re-open a project after it is closed.
  • 39. LAB2: Modal Segue 1. Create a new “Single View” Project, or use the old one 2. Drag a button onto the scene 3. Drag another UIViewController onto the scene 4. Change the background color of the new view controller (anything but white) 5. Control-click from the button to the new view controller. When you release, select the “modal” segue option. 6. Run this project in the simulator Tuesday, December 11, 12 This is a modal segue, so you can’t get back (unless you use code). Check out the other modal segue types. Show what happens when you try a push (boom!).
  • 40. LAB3: Nav Controller 1. Create a new “Single View” Project 2. Drag a UINavigationController onto the storyboard 3. Drag “initial scene” arrow to point to “Navigation Controller” 4. Control-click and from the navigation controller to the original scene (not the Table View). When you release, select the “root view controller” segue option. 5. Click on the very top of the Table View scene to select it. Then delete it. 6. Drag a UIButton onto the original scene (not the Navigation Controller) 7. Add another UIViewController onto the storyboard 8. Add a UILabel to the new UIViewController 9. Control-click and from the button to the new UIViewController (the one with the label). When you release, select the “push” segue option. 10. Run simulator, tap button to go to new screen (tap “back” to go back) Tuesday, December 11, 12 Show “Is Initial View Controller” checkbox in Attributes Inspector CTRL-OPT-CMD 3: focus on object library’s search field CMD-R: to start simulator Now you can get back. Explain the container view type.
  • 41. LAB4: Table View 1. Create a new “Single View” Project 2. Drag a UITableViewController (not a UITableView) onto the storyboard 3. Drag “initial scene” arrow to point to “Table View Controller” 4. In Attributes Inspector, change Table View Content type from “Dynamic Prototypes” to “Static Cells” 5. Change the Style to “Grouped” 6. Change Sections to 2 7. In the Document Outline, select the first section. Change the number of rows to 5 8. Give the first section a “Header” and “Footer” 9. Run simulator Tuesday, December 11, 12 Show change to cell selection color Show cell accessory types Show cell style types
  • 42. LAB5: Configuration Screen 1. Create a new “Single View” Project 2. Drag a UINavigationController onto the storyboard 3. Change the Table View Controller’s table view content type to “Static Cells” 4. Change the Style to “Grouped” 5. Change the first cell’s style to “Basic” 6. Double click the text in the first cell and change it to “My Setting” 7. Change the first cell’s Accessory to “Disclosure Indicator” 8. Drag a UIViewController onto the storyboard 9. Control-click and from the first cell to the new view controller. When you release, select the Selection Segue “push” option. 10. Run simulator (tap on the first cell) Tuesday, December 11, 12 Change “Root View Controller” title Add another UIViewController (add a different label to it), use detail disclosure to trigger segue
  • 43. LAB6: Tabs 1. Create a new “Tabbed Application” Project 2. Run this project in the simulator Tuesday, December 11, 12
  • 44. LAB7: More Tabs 1. Reuse your old “Tabbed Application” Project 2. Drag a new UIViewController to the storyboard 3. Control-click from the Tab Bar Controller to the new view controller. When you release, select the relationship segue “view controllers” option. 4. Change the new view controller’s Bar Item - Title (the default value is “Item”) 5. Add a label to the new view controller 6. Run this project in the simulator Tuesday, December 11, 12 Explain that the Tab Bar Controller is another container view controller Extra Credit: Embed the new view controller in a navigation controller, then add a button that pushes another view controller
  • 45. LAB8: Gestures 1. Create a new “Single View” Project 2. Drag a UINavigationController onto the storyboard 3. Delete the Table View Controller 4. Drag “initial scene” arrow to point to the “Navigation Controller” 5. Make the original blank view controller the root view controller of the navigation controller (i.e. embed the original blank view controller in the navigation controller) 6. Drag a Swipe Gesture Recognizer onto the original blank view controller. Change the swipe direction to “Left” 7. Drag a new UIView Controller onto the storyboard 8. Change to the Top Bar - Navigation Bar attribute of the new view controller (found in the Simulated Metrics section of the Attributes Inspector). 9. Double click the middle of the new navigation bar, and change the title to “Swipe!” 10. Find the Swipe Gesture Recognizer in the Document Outline. Control-click and from the Swipe Gesture Recognizer to the “Swipe!” view controller. When you release, select the Action Segue “push” option. 11. Run simulator (Swipe to the left to trigger the segue) Tuesday, December 11, 12 Change the swipe direction. Try this with other gestures.
  • 46. Doing it in code. Display a red square in code. Display a red square with a Storyboard. Tuesday, December 11, 12 Code is sometimes required. It is certainly required for dynamic interactivity. But, do as much as you can in the Storyboard.
  • 47. Things not appearing... • Scroll Views, Web Views, etc. • Layers, Core Graphics, Core Image, etc. • Rotation • Auto Layout, a.k.a. handling rotation & different screen sizes, resolutions • Dynamic UI elements, a.k.a. interactivity Tuesday, December 11, 12
  • 48. Resources • http://fortawesome.github.com/Font-Awesome/ • http://www.glyphish.com • WWDC 2011, 2012 videos having anything to do with storyboarding • http://www.raywenderlich.com/tutorials • http://placekitten.com Tuesday, December 11, 12
  • 51. LAB0: Deploying to a device 1. Register as a developer at: 1. https://developer.apple.com/devcenter/ios/index.action 2. After registering, you will have access to the documentation.You can then follow these instructions to prepare your development environment for builds on a device: 1. http://developer.apple.com/library/ios/#documentation/Xcode/Conceptual/ ios_development_workflow/10- Configuring_Development_and_Distribution_Assets/ identities_and_devices.html#//apple_ref/doc/uid/TP400079 3. You'll need to pay $99 to become a licensed iOS developer. This fee is also required if you would like to publish your app on the iOS App Store. Please note that there are two Apple developer programs, one is for iOS (iPhone, iPad, iPod Touch) apps, the other is for Mac (desktop) apps. Be sure to sign up and pay for the correct one. 4. After registering, you will have access to the documentation.You can then follow these instructions to prepare your development environment for builds on a device: 1. http://developer.apple.com/library/ios/#documentation/Xcode/Conceptual/ ios_development_workflow/10- Configuring_Development_and_Distribution_Assets/ identities_and_devices.html#//apple_ref/doc/uid/TP400079 5. Read: 1. https://developer.apple.com/ios/manage/overview/index.action (You can’t read this without a developer account.) Tuesday, December 11, 12