Tapping into Mobile UI with HTML5

Yael Sahar
Yael SaharHead of UX and Creative Director um Yapp
Tapping into Mobile UI
     with HTML5
      Luke Melia + Yael Sahar
Mobile UX
principles
Direct manipulation
Ergonomics:
Operated with a single hand.
      Finger tip size.
Immediate feedback
Be consistent
with platform conventions
“I should always know
     where I am”
“Show me what I want
 to seewhen I need it”
“Don’t make me type”
The HTML5
 tradeoff
You get a single code base
in exchange for implementing
    all UI elements yourself
Mobile UI
patterns
Buttons
[ used for actions ]
Designer says:

Touch target size: 44px on iOS, 48px on Android
                    iOS



             44px                           30px


                    Android




                                          ----------------------------------
                                          UI principles:
                                          • Ergonomics
Designer says:
Position on screen
iOS                  Android




                               ------------------------------------
                               UI principles:
                               • Be consistent with
                                    platform conventions
                               • Immediate feedback
Designer says:
Visual appearance (frames on iOSvs. no frame on
   Android, use system fonts)
   iOS                          Android




                                          ------------------------------------
                                          UI principles:
                                          • Be consistent with
                                               platform conventions
                                          • Ergonomics
                                          • Immediate feedback
Designer says:

Back / Cancel actions on iOSuse a button vs. the
   hardware Back button on Android.
    iOS                           Android




                                            ------------------------------------
                                            UI principles:
                                            • Be consistent with
                                                 platform conventions
                                            • I should always know
                                                 where I am
                                            • Immediate feedback
Designer tip: how to create an iOS looking button
               Challenge: have a single button image background
               across all app themes
               Button background image:
               •   Button height: 60px (30px actual) -> image is double size
                   for high retina display
               •   Shape: rounded rectangle, 12px round corner (6px
                   actual)
               •   Drop shadow: white @45% opacity; Angle: 90; Blend
                   mode: normal; Distance: 2; Spread: 0; Size: 0
               •   Inner shadow: black @65% opacity; Angle: 90; Blend
                   mode: Normal; Distance: 3; Choke: 0; Size: 1
               •   Stroke: 1 px, black @65% opacity
               •   Gradient overlay: 30% opacity white to full transparency;
                   linear gradient; Angle: 90
               Button font:
               •   Helvetica bold white, 11pt.
               •   Drop shadow: black @65% opacity; angle -90; distance 1;
                   spread 0; size 1
Developer says_


The #1 reason that many
mobile web apps feel
slow:
Developer says_


Instead,
respond immediately!
Developer says_

“What aboutdeveloping on my laptop???”


Implement a mouse-friendly path...




 ...or emulate!
Developer says_




                  Touch targets

           Handle them case-by-case
                   with CSS
Developer says_



        Cross-platform visual
            conventions


Help yourself with some Javascript, and handle visual
                 differences in CSS.
Alternatives
Direct manipulation of content is usually better
Camera                       Flipboard                 Clear
Zoom In / Out with Pinch &   Flip Pages with a swipe   No Buttons. All actions are
spread gestures              gesture                   done with gestures
Tab bars
[ used to navigate through
 the sections of your app]
Designer says:
Position on screen
iOS                  Android




                               ---------------------------
                               UI principles:
                               • Be consistent
                                    with platform
                                    conventions
                               • I should always
                                    know where I
                                    am
                               • Show me what I
                                    need when I
                                    need it
Designer says:
 Bar height.50px on iOS, 48px on Android
  iOS                     Android



50px
                        48px




                                           ------------------------------
                                           UI principles:
                                           • Ergonomics
Designer says:
#of tabs in view: 5on iOS, 3 words on Android
iOS                      Android




                                       ---------------------------------
                                       -
                                       UI principles:
                                       • I should always know
                                            where I am
                                       • Show me what I
                                            need when I need it
Designer says:



       Do not use the tab
         bar for actions
Developer says_




   Position and size your tab bar for each platform
                       using CSS
Developer says_




         @font-face
      A custom web font for your icons
             can be good, bro.
Developer says_


Tab bar icons works like
“push” buttons.

As soon as you tap
them, they highlight and
activate.

Easy, right?
Developer says_




Give the browser time to render the highlight.
Cross platform solution with CSS
Twitter
App UI implementation
on iOS and Android
Identifying common
elements and
positioning them in
consistency with
platform.
Cross platform solution with CSS
Yapp
UI implementation on
iOS and Android.
Identifying common
elements and
positioning them in
consistency with
platform.
Alternatives
Main Menu page:               Facebook                       Pinterest:
Creates more drill downs      Side menu. Still requires an   Tab bar disappears when
I always need to go back in   extra tap to go back to        scrolling down and appears
order to navigate             menu. I know where I was.      when scrolling up
Drilling down
[ used to navigate to sub sections ]
[ Drill downs on iOS and Android]
Designer says:
Show user’s path and current location (title bar
and Back button)
 iOS                        Android




                                            ----------------------------
                                            UI principles:
                                            • I should always
                                                 know where I am
                                            • Immediate
                                                 feedback
Designer says:
#of drill downs (more than 2-3 feels like too much
   drilling especially if you don’t use a tab bar to
   navigate)



                                                ---------------------------
                                                UI principles:
                                                • I should always
                                                     know where I
                                                     am
                                                • Show me what I
                                                     need when I
                                                     need it
Designer says:

• Animated feedback
• Information hierarchy




                          --------------------------------
                          UI principles:
                          • Immediate feedback
Developer says_


Title bar and body animate
differently


350ms
easeInOutQuint
Developer says_


Animation tips

1) Avoid DOM changes or other callbacks firing
during animation

2) Use hardware-accelerated animations
Developer says_


Show compositing
borders


defaults write
com.apple.SafariIncludeInternalDebugMenu 1
Alternatives

Facebook
Modal
Slide up to
Drill into
content
Segmented controls
 / tabs & spinners
 [ used to show different vies
     of the same content]
Designer says:
Use segmented controls to avoid a level of
drill downs




                                      -------------------------------
                                      UI principles:
                                      • I should always know
                                           where I am
                                      • Immediate feedback
[ Tab controls or drop down menus on Android ]


                                            Spinner
Designer says:

iOS: use on app’s main
   sections where back
   button is not needed
   Highlight current
   segment (no title bar)

   -------------------------------
   UI principles:
   • I should always know
        where I am
   • Immediate feedback
Developer says_



                  Tab bar tips apply.



     Use a scrolling library with snap-to for
        horizontal scrolling on Android.
Interlude
 A word about
Skeumorphic UI
Tapping into Mobile UI with HTML5
Tapping into Mobile UI with HTML5
Tapping into Mobile UI with HTML5
Tapping into Mobile UI with HTML5
Tapping into Mobile UI with HTML5
Tapping into Mobile UI with HTML5
Tapping into Mobile UI with HTML5
Tapping into Mobile UI with HTML5
Scrollbars
Designer says:



          Scrollbars appear only
         when you need them


                            -----------------------------------
                            UI principles:
                            • Show me what I want
                                 to see when I need it
Designer says:



     Make sure scrollbar is visible on any
   background. (ios uses a semi transparent
     black scrollbar with a white outline)


                                 -----------------------------------
                                 UI principles:
                                 • Immediate feedback
Designer says:


        Overshoot animation (ios) vs.
  overscrollcolor (android). Overshoot on ios
    created a new UI layer for actions and
   messages that occur below the Zero line

                                 -----------------------------------
                                 UI principles:
                                 • Show me what I want
                                      to see when I need it
                                 • Discoverability
Overshoot:below the ZERO line

 Pull to refresh             Yapp
 Gesture action discovered   Promo message
 at overshoot
Developer says_




        Duuuude, really?
                  Unfortunately, yes.

         No usable native scrolling yet.
Developer says_



                  Use a library.

              iScroll, Zyngascroller
Text Fields
Designer says:

• Auto-populate text field and auto-complete
• Use text field Clear button




                                    -------------------------------
                                    UI principles:
                                    • Don’t make me type
Developer says_




    No browser events for
  keyboard hiding/showing.
Developer says_




             Doesn’t work
Developer says_


          Virtual keyboard

     Resizes          Overlays
    viewport          window
Developer says_



                  Clear field

  Position the icon with CSS, clear
      the text with Javascript
Developer says_


  When you need to implement your own
        autocomplete (iOS only):
Q&A
@lukemelia
 @yaelsahar
  @yapp

http://yapp.us
we are hiring!
Resources
Apple Human Interface Guidelines:
https://developer.apple.com/library/ios/#documentation/UserExperience/Conce
ptual/MobileHIG/Introduction/Introduction.html

Android Interface Guidelines:
http://developer.android.com/design/index.html

Luke Wroblewski
Blog: http://www.lukew.com/ff
Book: Mobile First: http://www.lukew.com/resources/mobile_first.asp
Touch Gesture Reference Guide: http://www.lukew.com/ff/entry.asp?1071

Quirksmode
http://caniuse.com/

Coachmarks:
http://pttrns.com/coachmarks
1 von 76

Recomendados

Tapping into Mobile UI with HTML 5 von
Tapping into Mobile UI with HTML 5Tapping into Mobile UI with HTML 5
Tapping into Mobile UI with HTML 5Yael Sahar
1.1K views76 Folien
Session 8 - Xcode 5 and interface builder for iOS 7 application von
Session 8 - Xcode 5 and interface builder for iOS 7 applicationSession 8 - Xcode 5 and interface builder for iOS 7 application
Session 8 - Xcode 5 and interface builder for iOS 7 applicationVu Tran Lam
3.5K views80 Folien
How to deal with Fragmentation on Android von
How to deal with Fragmentation on AndroidHow to deal with Fragmentation on Android
How to deal with Fragmentation on AndroidSittiphol Phanvilai
9.8K views80 Folien
Mobile sketching von
Mobile sketching Mobile sketching
Mobile sketching Ciklum Ukraine
736 views19 Folien
All production von
All productionAll production
All productionkiandevine
32 views8 Folien
Working better together designers & developers von
Working better together   designers & developersWorking better together   designers & developers
Working better together designers & developersVitali Pekelis
173 views240 Folien

Más contenido relacionado

Similar a Tapping into Mobile UI with HTML5

Android Design - Dropping iOS Patterns von
Android Design - Dropping iOS PatternsAndroid Design - Dropping iOS Patterns
Android Design - Dropping iOS PatternsJason Fry
9.8K views80 Folien
Android User Interface Design von
Android User Interface Design Android User Interface Design
Android User Interface Design Ahmad Firoz
2.6K views32 Folien
Game Design 2: Lecture 12 - Platform Specific Design von
Game Design 2: Lecture 12 - Platform Specific DesignGame Design 2: Lecture 12 - Platform Specific Design
Game Design 2: Lecture 12 - Platform Specific DesignDavid Farrell
758 views28 Folien
West Coast DevCon 2014: The Slate UI Framework (Part 2) - Game UI & Unreal Mo... von
West Coast DevCon 2014: The Slate UI Framework (Part 2) - Game UI & Unreal Mo...West Coast DevCon 2014: The Slate UI Framework (Part 2) - Game UI & Unreal Mo...
West Coast DevCon 2014: The Slate UI Framework (Part 2) - Game UI & Unreal Mo...Gerke Max Preussner
2K views22 Folien
Create great UIs for budget phones von
Create great UIs for budget phonesCreate great UIs for budget phones
Create great UIs for budget phonesMicrosoft Mobile Developer
1.1K views30 Folien
Design Workshop I @ Cornell Tech von
Design Workshop I @ Cornell TechDesign Workshop I @ Cornell Tech
Design Workshop I @ Cornell TechZaid Haque
884 views48 Folien

Similar a Tapping into Mobile UI with HTML5(20)

Android Design - Dropping iOS Patterns von Jason Fry
Android Design - Dropping iOS PatternsAndroid Design - Dropping iOS Patterns
Android Design - Dropping iOS Patterns
Jason Fry9.8K views
Android User Interface Design von Ahmad Firoz
Android User Interface Design Android User Interface Design
Android User Interface Design
Ahmad Firoz2.6K views
Game Design 2: Lecture 12 - Platform Specific Design von David Farrell
Game Design 2: Lecture 12 - Platform Specific DesignGame Design 2: Lecture 12 - Platform Specific Design
Game Design 2: Lecture 12 - Platform Specific Design
David Farrell758 views
West Coast DevCon 2014: The Slate UI Framework (Part 2) - Game UI & Unreal Mo... von Gerke Max Preussner
West Coast DevCon 2014: The Slate UI Framework (Part 2) - Game UI & Unreal Mo...West Coast DevCon 2014: The Slate UI Framework (Part 2) - Game UI & Unreal Mo...
West Coast DevCon 2014: The Slate UI Framework (Part 2) - Game UI & Unreal Mo...
Design Workshop I @ Cornell Tech von Zaid Haque
Design Workshop I @ Cornell TechDesign Workshop I @ Cornell Tech
Design Workshop I @ Cornell Tech
Zaid Haque884 views
Android UI Design Tips von Luis Abreu
Android UI Design TipsAndroid UI Design Tips
Android UI Design Tips
Luis Abreu9.8K views
【Unite 2017 Tokyo】Unity UI最適化ガイド 〜ベストプラクティスと新機能 von Unity Technologies Japan K.K.
【Unite 2017 Tokyo】Unity UI最適化ガイド 〜ベストプラクティスと新機能【Unite 2017 Tokyo】Unity UI最適化ガイド 〜ベストプラクティスと新機能
【Unite 2017 Tokyo】Unity UI最適化ガイド 〜ベストプラクティスと新機能
Designing for User Experience (UX) with Atlassian Tools von Atlassian
Designing for User Experience (UX) with Atlassian ToolsDesigning for User Experience (UX) with Atlassian Tools
Designing for User Experience (UX) with Atlassian Tools
Atlassian10.2K views
East Coast DevCon 2014: The Slate UI Framework - Architecture & Tools von Gerke Max Preussner
East Coast DevCon 2014: The Slate UI Framework - Architecture & ToolsEast Coast DevCon 2014: The Slate UI Framework - Architecture & Tools
East Coast DevCon 2014: The Slate UI Framework - Architecture & Tools
Gerke Max Preussner2.5K views
Games Design 2 - Lecture 12 - Usability, Metaphor and Layout von David Farrell
Games Design 2 - Lecture 12 - Usability, Metaphor and LayoutGames Design 2 - Lecture 12 - Usability, Metaphor and Layout
Games Design 2 - Lecture 12 - Usability, Metaphor and Layout
David Farrell1.3K views
Practical UI Guidelines for Wearable Apps von Victor Dibia
Practical UI Guidelines for Wearable AppsPractical UI Guidelines for Wearable Apps
Practical UI Guidelines for Wearable Apps
Victor Dibia2.2K views
Unreal Engine Basics 05 - User Interface von Nick Pruehs
Unreal Engine Basics 05 - User InterfaceUnreal Engine Basics 05 - User Interface
Unreal Engine Basics 05 - User Interface
Nick Pruehs805 views
Native Mobile Testing for Newbies von Susan Hewitt
Native Mobile Testing for NewbiesNative Mobile Testing for Newbies
Native Mobile Testing for Newbies
Susan Hewitt131 views

Último

iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas... von
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...Bernd Ruecker
40 views69 Folien
HTTP headers that make your website go faster - devs.gent November 2023 von
HTTP headers that make your website go faster - devs.gent November 2023HTTP headers that make your website go faster - devs.gent November 2023
HTTP headers that make your website go faster - devs.gent November 2023Thijs Feryn
22 views151 Folien
Mini-Track: AI and ML in Network Operations Applications von
Mini-Track: AI and ML in Network Operations ApplicationsMini-Track: AI and ML in Network Operations Applications
Mini-Track: AI and ML in Network Operations ApplicationsNetwork Automation Forum
10 views24 Folien
PRODUCT LISTING.pptx von
PRODUCT LISTING.pptxPRODUCT LISTING.pptx
PRODUCT LISTING.pptxangelicacueva6
14 views1 Folie
Igniting Next Level Productivity with AI-Infused Data Integration Workflows von
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Safe Software
280 views86 Folien
Network Source of Truth and Infrastructure as Code revisited von
Network Source of Truth and Infrastructure as Code revisitedNetwork Source of Truth and Infrastructure as Code revisited
Network Source of Truth and Infrastructure as Code revisitedNetwork Automation Forum
27 views45 Folien

Último(20)

iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas... von Bernd Ruecker
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
Bernd Ruecker40 views
HTTP headers that make your website go faster - devs.gent November 2023 von Thijs Feryn
HTTP headers that make your website go faster - devs.gent November 2023HTTP headers that make your website go faster - devs.gent November 2023
HTTP headers that make your website go faster - devs.gent November 2023
Thijs Feryn22 views
Igniting Next Level Productivity with AI-Infused Data Integration Workflows von Safe Software
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Safe Software280 views
Five Things You SHOULD Know About Postman von Postman
Five Things You SHOULD Know About PostmanFive Things You SHOULD Know About Postman
Five Things You SHOULD Know About Postman
Postman36 views
STPI OctaNE CoE Brochure.pdf von madhurjyapb
STPI OctaNE CoE Brochure.pdfSTPI OctaNE CoE Brochure.pdf
STPI OctaNE CoE Brochure.pdf
madhurjyapb14 views
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院 von IttrainingIttraining
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive von Network Automation Forum
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLiveAutomating a World-Class Technology Conference; Behind the Scenes of CiscoLive
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive
Powerful Google developer tools for immediate impact! (2023-24) von wesley chun
Powerful Google developer tools for immediate impact! (2023-24)Powerful Google developer tools for immediate impact! (2023-24)
Powerful Google developer tools for immediate impact! (2023-24)
wesley chun10 views

Tapping into Mobile UI with HTML5

  • 1. Tapping into Mobile UI with HTML5 Luke Melia + Yael Sahar
  • 4. Ergonomics: Operated with a single hand. Finger tip size.
  • 7. “I should always know where I am”
  • 8. “Show me what I want to seewhen I need it”
  • 11. You get a single code base in exchange for implementing all UI elements yourself
  • 13. Buttons [ used for actions ]
  • 14. Designer says: Touch target size: 44px on iOS, 48px on Android iOS 44px 30px Android ---------------------------------- UI principles: • Ergonomics
  • 15. Designer says: Position on screen iOS Android ------------------------------------ UI principles: • Be consistent with platform conventions • Immediate feedback
  • 16. Designer says: Visual appearance (frames on iOSvs. no frame on Android, use system fonts) iOS Android ------------------------------------ UI principles: • Be consistent with platform conventions • Ergonomics • Immediate feedback
  • 17. Designer says: Back / Cancel actions on iOSuse a button vs. the hardware Back button on Android. iOS Android ------------------------------------ UI principles: • Be consistent with platform conventions • I should always know where I am • Immediate feedback
  • 18. Designer tip: how to create an iOS looking button Challenge: have a single button image background across all app themes Button background image: • Button height: 60px (30px actual) -> image is double size for high retina display • Shape: rounded rectangle, 12px round corner (6px actual) • Drop shadow: white @45% opacity; Angle: 90; Blend mode: normal; Distance: 2; Spread: 0; Size: 0 • Inner shadow: black @65% opacity; Angle: 90; Blend mode: Normal; Distance: 3; Choke: 0; Size: 1 • Stroke: 1 px, black @65% opacity • Gradient overlay: 30% opacity white to full transparency; linear gradient; Angle: 90 Button font: • Helvetica bold white, 11pt. • Drop shadow: black @65% opacity; angle -90; distance 1; spread 0; size 1
  • 19. Developer says_ The #1 reason that many mobile web apps feel slow:
  • 21. Developer says_ “What aboutdeveloping on my laptop???” Implement a mouse-friendly path... ...or emulate!
  • 22. Developer says_ Touch targets Handle them case-by-case with CSS
  • 23. Developer says_ Cross-platform visual conventions Help yourself with some Javascript, and handle visual differences in CSS.
  • 24. Alternatives Direct manipulation of content is usually better Camera Flipboard Clear Zoom In / Out with Pinch & Flip Pages with a swipe No Buttons. All actions are spread gestures gesture done with gestures
  • 25. Tab bars [ used to navigate through the sections of your app]
  • 26. Designer says: Position on screen iOS Android --------------------------- UI principles: • Be consistent with platform conventions • I should always know where I am • Show me what I need when I need it
  • 27. Designer says: Bar height.50px on iOS, 48px on Android iOS Android 50px 48px ------------------------------ UI principles: • Ergonomics
  • 28. Designer says: #of tabs in view: 5on iOS, 3 words on Android iOS Android --------------------------------- - UI principles: • I should always know where I am • Show me what I need when I need it
  • 29. Designer says: Do not use the tab bar for actions
  • 30. Developer says_ Position and size your tab bar for each platform using CSS
  • 31. Developer says_ @font-face A custom web font for your icons can be good, bro.
  • 32. Developer says_ Tab bar icons works like “push” buttons. As soon as you tap them, they highlight and activate. Easy, right?
  • 33. Developer says_ Give the browser time to render the highlight.
  • 34. Cross platform solution with CSS Twitter App UI implementation on iOS and Android Identifying common elements and positioning them in consistency with platform.
  • 35. Cross platform solution with CSS Yapp UI implementation on iOS and Android. Identifying common elements and positioning them in consistency with platform.
  • 36. Alternatives Main Menu page: Facebook Pinterest: Creates more drill downs Side menu. Still requires an Tab bar disappears when I always need to go back in extra tap to go back to scrolling down and appears order to navigate menu. I know where I was. when scrolling up
  • 37. Drilling down [ used to navigate to sub sections ]
  • 38. [ Drill downs on iOS and Android]
  • 39. Designer says: Show user’s path and current location (title bar and Back button) iOS Android ---------------------------- UI principles: • I should always know where I am • Immediate feedback
  • 40. Designer says: #of drill downs (more than 2-3 feels like too much drilling especially if you don’t use a tab bar to navigate) --------------------------- UI principles: • I should always know where I am • Show me what I need when I need it
  • 41. Designer says: • Animated feedback • Information hierarchy -------------------------------- UI principles: • Immediate feedback
  • 42. Developer says_ Title bar and body animate differently 350ms easeInOutQuint
  • 43. Developer says_ Animation tips 1) Avoid DOM changes or other callbacks firing during animation 2) Use hardware-accelerated animations
  • 44. Developer says_ Show compositing borders defaults write com.apple.SafariIncludeInternalDebugMenu 1
  • 46. Segmented controls / tabs & spinners [ used to show different vies of the same content]
  • 47. Designer says: Use segmented controls to avoid a level of drill downs ------------------------------- UI principles: • I should always know where I am • Immediate feedback
  • 48. [ Tab controls or drop down menus on Android ] Spinner
  • 49. Designer says: iOS: use on app’s main sections where back button is not needed Highlight current segment (no title bar) ------------------------------- UI principles: • I should always know where I am • Immediate feedback
  • 50. Developer says_ Tab bar tips apply. Use a scrolling library with snap-to for horizontal scrolling on Android.
  • 51. Interlude A word about Skeumorphic UI
  • 61. Designer says: Scrollbars appear only when you need them ----------------------------------- UI principles: • Show me what I want to see when I need it
  • 62. Designer says: Make sure scrollbar is visible on any background. (ios uses a semi transparent black scrollbar with a white outline) ----------------------------------- UI principles: • Immediate feedback
  • 63. Designer says: Overshoot animation (ios) vs. overscrollcolor (android). Overshoot on ios created a new UI layer for actions and messages that occur below the Zero line ----------------------------------- UI principles: • Show me what I want to see when I need it • Discoverability
  • 64. Overshoot:below the ZERO line Pull to refresh Yapp Gesture action discovered Promo message at overshoot
  • 65. Developer says_ Duuuude, really? Unfortunately, yes. No usable native scrolling yet.
  • 66. Developer says_ Use a library. iScroll, Zyngascroller
  • 68. Designer says: • Auto-populate text field and auto-complete • Use text field Clear button ------------------------------- UI principles: • Don’t make me type
  • 69. Developer says_ No browser events for keyboard hiding/showing.
  • 70. Developer says_ Doesn’t work
  • 71. Developer says_ Virtual keyboard Resizes Overlays viewport window
  • 72. Developer says_ Clear field Position the icon with CSS, clear the text with Javascript
  • 73. Developer says_ When you need to implement your own autocomplete (iOS only):
  • 74. Q&A
  • 75. @lukemelia @yaelsahar @yapp http://yapp.us we are hiring!
  • 76. Resources Apple Human Interface Guidelines: https://developer.apple.com/library/ios/#documentation/UserExperience/Conce ptual/MobileHIG/Introduction/Introduction.html Android Interface Guidelines: http://developer.android.com/design/index.html Luke Wroblewski Blog: http://www.lukew.com/ff Book: Mobile First: http://www.lukew.com/resources/mobile_first.asp Touch Gesture Reference Guide: http://www.lukew.com/ff/entry.asp?1071 Quirksmode http://caniuse.com/ Coachmarks: http://pttrns.com/coachmarks

Hinweis der Redaktion

  1. Introduce Yael and Luke. Designer? Developer? Introduce Yapp.Quick talk overview.
  2. There are many more but we chose the ones we think are most important to UX on Mobile
  3. Ppl interact directlywith the screen. The use of gestures help ppl understand the results of their actions. Tap, drag, flick, pinch, spread are example to gestures users perform when touching the screen.
  4. Ppl expect immediate feedback when they operate a control.tap color or a subtle animation for a gesture provides them a meaningful feedback.
  5. Consistency means that ppl can transfer their knowledge and skills from one app to another. They also know what to expect when they operate a control.
  6. Give ppl confidence that they know the way around your app.
  7. Ppl get overwhelmed when they see too much at once. Focus on the primary task you need users to perform in your app and design your information accordingly.
  8. Device keyboard is small. Make ppl type as less as possible.
  9. Buttons are positions on side of the title bar (ios), and on the action bar (android). Always keep the left position of the Back button on ios for consistent behavior across apps.
  10. Frames ios vs. no frames (android). The use of icons and words. Look & feel of a physical button (ios) vs. flat design on Android.
  11. ios: you know where you came from. The button indicates your pathandroid: no need for a Cancel button, you simply go back to previous screen.
  12. We could not get the same level of accuracy with CSS and performance was slower.
  13. A library to help with this:https://github.com/cheeaun/tappable from Lim CheeAun in Singapore.
  14. Highlight on touchstart for feedback. It’s more complicated than this, though. You need to make sure the touchend was on the same button the touchstart was on, and/or that the user didn’t move her finger in a way indicative of a scrolling. And you may need to account for a long-hold differently.
  15. Test for touch support and decide whether to listen for touch events or mouse events, or try the new feature in Chrome Canary dev channel
  16. I’ve dreamed about what a Javascript library to do this automatically might look like.
  17. varisAndroid = (/android/gi).test(navigator.appVersion);if (isAndroid) $('body').addClass('android');
  18. Bottom onios, top on Android
  19. Consider the # of sections in your app.Ios: more buttonAndroid: scrollable tabs / icon bar that can fit more tabs
  20. Not to confuse actions and navigation.
  21. You get vectors, which means you get sharp results on any pixel density and can scale using font-size for cross-platform differences like 44px vs 48px
  22. You get vectors, which means you get sharp results on any pixel density and can scale using font-size for cross-platform differences like 44px vs 48px
  23. Send the action after a brief delay to allow the browser a cycle to renderthe UX feedback resulting from the isActive property change. In testing inMobile Safari on an iPhone 4, a delay of less 10ms resulted in the highlight statenot being rendered.
  24. Tab bar is moved to the top of the page on Android. No back button on Android
  25. Main menu page: more drill downs, not know where you areFacebook: still an extra step but I see where I was before. Swipe gesture is more intuitive.Pinterest: reveal and hide tab bar based on user’s task.
  26. On Android there is no indication where you are because of the hardware back button.
  27. Slide animation
  28. Note that the highlight state stays onImage from Lim CheeAunSencha Touch Navigation View
  29. http://www.chromium.org/developers/design-documents/gpu-accelerated-compositing-in-chromehttp://www.slideshare.net/mattmccarthy_nflx/netflix-webkitbased-ui-for-tv-devices-9168822
  30. Android are using the tabs system and spinners to show different views of the content
  31. iScroll with snap option: http://cubiq.org/iscrollZyngascroller with snapping option: https://github.com/zynga/scrollerMore on scrolling in the next section.
  32. Moneybook
  33. Camera+
  34. Apple Find My Friends
  35. The Early Edition
  36. iPad virtual keyboard. Note the “bumps” on the F & J keys.
  37. KorgiElectribe
  38. Obsolete media orsave icon?
  39. iDial
  40. iScroll: http://cubiq.org/iscrollZyngascroller: https://github.com/zynga/scroller
  41. A good library will use the Hardware Accelleration techniques we talked about earlier.You will need to keep it informed when the height of your content changes. iScroll#refresh, scroller#setDimensionsEither library can implemented the overshoot content that Yael showed, but Zyngascroller has a pull-to-refresh implementation you can plug into.iScroll: http://cubiq.org/iscrollZyngascroller: https://github.com/zynga/scroller
  42. Things related to text input are a tough spot for mobile web apps.
  43. Things related to text input are a tough spot for mobile web apps.
  44. Both try to scroll and zoom
  45. To Yael’s specific recommendations:
  46. Autocomplete is trickier. These attributes suppress default behavior on iOS, but Android’s can’t be suppressed.