SlideShare a Scribd company logo
1 of 129
Designing an App
from Idea to Market




  PRESENTATION        ANDEVCON • MAY 14, 2012
A LITTLE ABOUT US




Juan Sanchez                        Tony Hillerson
Designer & Partner                  Software Architect & Partner   Mobile design and development
                                                                   company based in Denver, CO.
•   Creating Visual Experiences     •   Flex on Rails
•   Co-creator of FieldTest         •   Co-creator of FieldTest    @tackmobile
•   Senior Editor for UX Magazine   •   O’Reilly Screencasts       tackmobile.com


@juansanchez                        @thillerson
juan@tackmobile.com                 tony@tackmobile.com




PRESENTATION                                                                            tackmobile.com
WHO ARE YOU?

•   Developer
•   Designer
•   Entrepreneur
•   Etc.




PRESENTATION       tackmobile.com
WHAT ARE WE TALKING ABOUT?
•   Defining User Goals
•   Design Concepts
•   Translating Pixels
•   Development Tactics
•   Measurement & Feedback

We’ll be doing group exercises.

PRESENTATION                      tackmobile.com
EXERCISE 1




               Design an App
               for AnDevCon



PRESENTATION                   tackmobile.com
THE FEATURES
•   Chat
•   Take Pictures
    Edit Profile

                    GO!
•

•   View Schedule
•   See a Map
•   Check Weather
•   Scan QR Code
•   Watch Video
•   Review Slides


PRESENTATION              tackmobile.com
Who wants to share?



PRESENTATION                         tackmobile.com
A successful app is
               more than a list of
               features.


PRESENTATION                     ANDEVCON • MAY 14, 2012
Building an app is a
               process.



PRESENTATION                          tackmobile.com
THE ODDS ARE AGAINST YOU

•   Timeline
•   Budget
•   Scope
•   Resources




PRESENTATION               tackmobile.com
68% of IT projects fail.



PRESENTATION                          tackmobile.com
You can succeed but it’s
               a series of successes.



PRESENTATION                        tackmobile.com
IT’S A PROCESS
                                DEFINITION




               DISCOVERY                           DESIGN




                       DEPLOY                DEVELOPMENT



PRESENTATION                                                tackmobile.com
IT HAPPENS IN CYCLES




PRESENTATION           tackmobile.com
A lot happens before
               code is written and
               pixels are pushed.


PRESENTATION                    ANDEVCON • MAY 14, 2012
THERE’S SO MUCH TO LEARN
•   who are your users?
•   a current app?
•   an existing brand?
•   IT infrastructure already in place?
•   20 stakeholders?
•   established content?


PRESENTATION                              tackmobile.com
WHAT ARE THE OBJECTIVES?
•   increased business?
•   increased brand awareness?
•   increased users?
•   increased user engagement?




PRESENTATION                     tackmobile.com
Ask questions.



PRESENTATION                    tackmobile.com
WHO ARE YOUR USERS?




                      images © Jason Travis



PRESENTATION                tackmobile.com
KNOW YOUR USER
•   what’s their digital ecology?
•   what’s the demographic?
•   what are they trying to accomplish?
•   how can you make that easier?
•   where do you fit in?




PRESENTATION                              tackmobile.com
Referred to as
               personas.



PRESENTATION                    tackmobile.com
EXERCISE 2




               Let’s create a
               persona.



PRESENTATION                    tackmobile.com
QUESTIONS: AS A CONFERENCE GOER
•   what is the age range?
•   what do you do?
•   what devices do you use?
•   how many events do you go to?
•   are you here with a group?




PRESENTATION                        tackmobile.com
OUR PERSONA IS....

               Hilly Tonnerson
               •   Male, 19 - 45 years old
               •   mobile developer
               •   presenting on Android
                   topics
               •   relies on his Nexus S



PRESENTATION                                 tackmobile.com
Your persona(s) should
               be present throughout
               the process.


PRESENTATION                       tackmobile.com
Defining what to build
               is the hardest part.



PRESENTATION                     ANDEVCON • MAY 14, 2012
http://www.gogamestorm.com/


FIGURING IT OUT
•   definition exercises
•   proofs of concept
•   user interviews
•   sketching
•   prototyping
•   wireframes


PRESENTATION                           tackmobile.com
FIGURING IT OUT




via http://www.gogamestorm.com/?p=855   picture taken by Dave Gray http://www.davegrayinfo.com/




       PRESENTATION                                                                               tackmobile.com
This process isn’t
               meant to be pretty.



PRESENTATION                         tackmobile.com
EXERCISE 3




               Define user goals
               and features



PRESENTATION                       tackmobile.com
QUESTIONS: USER GOALS
•   what do you want to leave with?
•   what do you like about conferences?
•   what environment are you in?
•   what bothers you about
    conferences?
•   what’s your day at a conference like?



PRESENTATION                                tackmobile.com
Answers will help
               define the “what”.



PRESENTATION                        tackmobile.com
SOME OF OUR GOALS ARE...
•   we’re here to present
•   we want presenting to be easier
•   we want to share information
•   want to know our audience
•   we want to be able to interact with
    attendees without disruption


PRESENTATION                              tackmobile.com
Based on the “what”,
               define the “how”.



PRESENTATION                      tackmobile.com
OUR FEATURES
•   a presenter’s assistant app
•   control the presentation
•   people can ask questions
•   people can raise their hand
•   vibrates when there’s a questions




PRESENTATION                            tackmobile.com
Interaction Design



PRESENTATION                        ANDEVCON • MAY 14, 2012
Design is how it works.
               Steve Jobs




PRESENTATION                        tackmobile.com
This is just stupid.
               A User




PRESENTATION                          tackmobile.com
Why? What can we do
               to make it better?



PRESENTATION                     tackmobile.com
DON NORMAN’S DESIGN VOCABULARY
•   Visibility
•   Affordances
•   Feedback
•   Mapping
•   Constraint
•   Consistency


PRESENTATION                tackmobile.com
NATURAL DESIGN
               Use what people know from their environment.




PRESENTATION                                                  tackmobile.com
NATURAL DESIGN




PRESENTATION     tackmobile.com
NATURAL DESIGN




               http://www.subtraction.com/2011/03/28/an-illustration-for-stack-america
PRESENTATION                                                                             tackmobile.com
NATURAL DESIGN




PRESENTATION     tackmobile.com
Natural Design ≠
               Skeumorphism


PRESENTATION                      tackmobile.com
It doesn’t have to have
               to look like something
               that already exists.


PRESENTATION                        tackmobile.com
UNIVERSAL PRINCIPLES
•   Physics
•   Gravity
•   Friction
•   Constraints
•   Space




PRESENTATION           tackmobile.com
CONCEPTUAL MODEL
               The “model” a user of a system builds to reason about a system




PRESENTATION                                                              tackmobile.com
CONCEPTUAL MODEL
•   The user sees the interface, and that
    leads them to reason about the
    system behind it.
•   The interface can simplify the actual
    system




PRESENTATION                                tackmobile.com
CONCEPTUAL MODEL
               •   Hm, that looks like a
                   brush stroke
               •   I can change the
                   brush size
               •   I can change the
                   texture of the brush
               •   Wow, this preview
                   updates. Snap!
                   Gosh I love technology
PRESENTATION                                tackmobile.com
VISIBILITY
               Cues between the design of an object and its operation




PRESENTATION                                                            tackmobile.com
VISIBILITY




PRESENTATION   tackmobile.com
VISIBILITY




PRESENTATION   tackmobile.com
VISIBILITY




PRESENTATION   tackmobile.com
AFFORDANCE
               Perception that something can be interacted with




PRESENTATION                                                      tackmobile.com
AFFORDANCE




PRESENTATION   tackmobile.com
AFFORDANCE




PRESENTATION   tackmobile.com
AFFORDANCE




PRESENTATION   tackmobile.com
FEEDBACK
               The effect of user actions should be obvious




PRESENTATION                                                  tackmobile.com
FEEDBACK




PRESENTATION   tackmobile.com
FEEDBACK




PRESENTATION   tackmobile.com
MAPPING
               A relation between intentions and possible actions and between
               actions and their effect on a system or device




PRESENTATION                                                             tackmobile.com
MAPPING




PRESENTATION   tackmobile.com
MAPPING
               •   I can find my friends
               •   Oh look, pictures I
                   can slide
               •   I wonder if I have
                   notifications




PRESENTATION                            tackmobile.com
CONSTRAINTS
               Preventing errors before they can occur




PRESENTATION                                             tackmobile.com
CONSTRAINTS




PRESENTATION   tackmobile.com
CONSISTENCY
               The way visual objects are used




PRESENTATION                                     tackmobile.com
CONSISTENCY




PRESENTATION   tackmobile.com
How does this apply
               to mobile?



PRESENTATION                         tackmobile.com
KNOW THE DEVICE
•   dimensions
•   orientation
•   sensors
•   inputs
•   etc.




PRESENTATION      tackmobile.com
KNOW THE PLATFORM
•   this is not iOS
•   this is not WP7
•   this is not WebOS
•   etc.




PRESENTATION            tackmobile.com
STAY TRUE TO ANDROID




                       concept by Guenther Beyer



PRESENTATION                     tackmobile.com
MAKE IT FAST
•   performance
•   the illusion of fast
•   optimize




PRESENTATION               tackmobile.com
UPLOADING A PICTURE




    Instagram dudes



               https://speakerdeck.com/u/mikeyk/p/secrets-to-lightning-fast-mobile-design


PRESENTATION                                                                                tackmobile.com
EMBRACE TOUCH
•   people are using fingers,
    not cursors
•   content as interface
•   multi-touch and gestures
•   physical metaphors




PRESENTATION                    tackmobile.com
A RULE OF THUMB
•   44pt for touch
•   30pt minimum
•   Small items should still
    have decent hit areas




PRESENTATION                   tackmobile.com
GIVE EACH SCREEN A PURPOSE
•   what’s most important?
•   learn to eliminate
•   content vs. controls
•   smaller doesn’t mean it
    should do less




PRESENTATION                  tackmobile.com
ANIMATION & TRANSITIONS
•   the illusion of faster
•   just-in-time content
•   progressive disclosure
•   depth and space
•   guidance




PRESENTATION                 tackmobile.com
A lot of work has
               already been done.



PRESENTATION                        tackmobile.com
ESTABLISHED PATTERNS




PRESENTATION           tackmobile.com
ANDROID GUIDELINES




               http://developer.android.com/guide/practices/ui_guidelines/icon_design_launcher.html
PRESENTATION                                                                                          tackmobile.com
ANDROID DESIGN




               http://developer.android.com/design/
PRESENTATION                                          tackmobile.com
maisdcharlottes.blogspot.com




CONTEXT
•   what’s the environment?
•   what’s the weather?
•   what time is it?
•   what’s the device
    environment?
•   what are the usage
    patterns?


PRESENTATION                           tackmobile.com
WORKING WITH CONTENT

•   use real content
•   try avoiding lorem ipsum
•   know what you really have
    to work with




PRESENTATION                    tackmobile.com
DON’T FORGET TO PLAY

•   interface origami
•   video games
•   real world examples
•   bend the rules
•   swing by Best Buy
•   this is just the beginning


PRESENTATION                     tackmobile.com
Details, details, details.



PRESENTATION                          tackmobile.com
IT’S IN THE DETAILS




PRESENTATION          tackmobile.com
Android can be
               beautiful.



PRESENTATION                    tackmobile.com
EXERCISE 4




               Design an app for
               AnDevCon.



PRESENTATION                       tackmobile.com
DESCRIBE A FLOW
•   focus on a task
•   what are the screens?
•   what’s the flow?
•   where can the user go?




PRESENTATION                 tackmobile.com
MAP IT OUT




PRESENTATION   tackmobile.com
SKETCH OUT YOUR IDEAS
•   pick one screen and sketch it out
•   or, do multiple and describe how
    a user accomplishes a task




PRESENTATION                            tackmobile.com
THE FEATURES REVISITED
•   a presenter’s assistant app
•   control the presentation
•   people can ask questions
•   people can raise their hand
•   vibrates when there’s a questions
•   control information being pushed to
    the web

PRESENTATION                              tackmobile.com
HERE’S OURS
•   slides on top
•   view notes
•   view questions
•   share information
•   time check




PRESENTATION            tackmobile.com
Now what?



PRESENTATION               tackmobile.com
WIREFRAMES
•   content
•   structure
•   interactions
•   flow




PRESENTATION       tackmobile.com
VISUAL DESIGN
•   branding     •   layout
•   color        •   hierarchy
•   typography   •   spacing
•   animation    •   affordance




PRESENTATION                      tackmobile.com
MORE RESEARCH
•   get feedback through iterations
•   test assumptions
•   doesn’t have to be for the entire app
•   test specific things
•   early and often




PRESENTATION                                tackmobile.com
HOW MANY PEOPLE TO ASK?




PRESENTATION              tackmobile.com
WHO TO INTERVIEW?




                    images © Jason Travis



PRESENTATION              tackmobile.com
IT’S EASIER THAN YOU THINK




PRESENTATION                 tackmobile.com
YOU DON’T NEED A FINISHED APP




image via A List Apart article by Shawn Medero




      PRESENTATION                               tackmobile.com
ANALYZE YOUR RESULTS

•   content
•   structure
•   interactions
•   flow




PRESENTATION           tackmobile.com
EXERCISE 5




               Get feedback on
               your sketches.



PRESENTATION                     tackmobile.com
WHAT WE HEARD

•   how can I see all the slides?
•   how do I switch slides?
•   the icons don’t make sense
•   how do I know what slide I’m on?
•   I think this would be useful
•   I think this would be distracting


PRESENTATION                            tackmobile.com
Who wants to share?



PRESENTATION                         tackmobile.com
Development



PRESENTATION                 ANDEVCON • MAY 14, 2012
You know what to
               build, but how?



PRESENTATION                      tackmobile.com
OUR DESIGN




PRESENTATION   tackmobile.com
TRANSLATING PIXELS

•   what’s the source? Photoshop?
•   what is vector, what is bitmap?
•   can you use out-of-the-box
    components?




PRESENTATION                          tackmobile.com
9 PATCH VS. XML




PRESENTATION      tackmobile.com
DRAWING




               BUTTON



PRESENTATION            tackmobile.com
CODE
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/
android">
	 <item>
	 	 <shape android:shape="rectangle">
	 	 	 <stroke android:color="@color/
color_primary_light_stripe" android:width="1px" />
	 	 	 <solid android:color="@android:color/transparent" />
	 	      <corners
	 	 	 	 android:bottomRightRadius="6dip"
	 	 	 	 android:bottomLeftRadius="6dip"
	 	 	 	 android:topLeftRadius="6dip"
	 	 	 	 android:topRightRadius="6dip"/>
	 	 </shape>
	 </item>
...

PRESENTATION                                              tackmobile.com
CODE
  ...
  <item android:top="2px">
	 	 <shape android:shape="rectangle">
	 	 	 <stroke android:color="@color/color_primary_dark_stripe"
android:width="1px" />
	 	 	 <solid android:color="@android:color/transparent" />
	 	      <corners
	 	 	 	 android:bottomRightRadius="6dip"
	 	 	 	 android:bottomLeftRadius="6dip"
	 	 	 	 android:topLeftRadius="6dip"
	 	 	 	 android:topRightRadius="6dip"/>
	 	 </shape>
	 </item>
...




 PRESENTATION                                             tackmobile.com
CODE
  ...
	 <item android:top="1px" android:bottom="1px">
	 	 <shape android:shape="rectangle">
	 	      <gradient
	 	         android:angle="270"
	 	         android:startColor="@color/button_color_top"
	 	         android:centerColor="@color/button_color_middle"
	 	         android:endColor="@color/button_color_bottom"
	 	      />
	 	      <corners
	 	 	 	 android:bottomRightRadius="6dip"
	 	 	 	 android:bottomLeftRadius="6dip"
	 	 	 	 android:topLeftRadius="6dip"
	 	 	 	 android:topRightRadius="6dip"/>
	 	 </shape>
	 </item>
</layer-list>

  PRESENTATION                                                 tackmobile.com
It’s a multi-screen
               world.



PRESENTATION                         tackmobile.com
WHAT TO TARGET




               http://developer.android.com/resources/dashboard/platform-versions.html



PRESENTATION                                                                             tackmobile.com
Unified code base for
               all devices.



PRESENTATION                       tackmobile.com
COMPATIBILITY LIBRARY + EXTENSIONS




PRESENTATION                   tackmobile.com
PHONE LAYOUT


 <?xml version="1.0" encoding="utf-8"?>
 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/
 android"
     android:layout_width="match_parent"
     android:layout_height="match_parent">
     <fragment class="com.example.android.TitlesFragment"
               android:id="@+id/list_frag"
               android:layout_width="match_parent"
               android:layout_height="match_parent"/>
 </FrameLayout>




PRESENTATION                                              tackmobile.com
TABLET LAYOUT
 <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/
 res/android"
   android:orientation="horizontal"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:id="@+id/frags">
   <fragment class="com.example.android.TitlesFragment"
             android:id="@+id/list_frag"
             android:layout_width="@dimen/titles_size"
             android:layout_height="match_parent"/>
   <fragment class="com.example.android.DetailsFragment"
             android:id="@+id/details_frag"
             android:layout_width="match_parent"
             android:layout_height="match_parent" />
 </LinearLayout>



PRESENTATION                                              tackmobile.com
CODE
 /** This is a callback that the list fragment (Fragment A) calls
     when a list item is selected */
 public void onItemSelected(int position) {
   DisplayFragment fragB = (DisplayFragment) getFragmentManager()
                               .findFragmentById(R.id.display_frag);
   if (fragB == null) {
       // DisplayFragment (Fragment B) is not in the layout,
       // start DisplayActivity (Activity B)
       // and pass it the info about the selected item
       Intent intent = new Intent(this, DisplayActivity.class);
       intent.putExtra("position", position);
       startActivity(intent);
   } else {
       // DisplayFragment (Fragment B) is in the layout, tell it to
 update
       fragB.updateContent(position);
   }
 }



PRESENTATION                                                   tackmobile.com
RESOURCES




 res/layout/main_activity.xml # For phones
 res/layout-sw600dp/main_activity.xml # 7” tablets
 res/layout-sw720dp/main_activity.xml # 10” tablets




         http://android-developers.blogspot.com/2011/07/new-tools-for-managing-screen-sizes.html



PRESENTATION                                                                                       tackmobile.com
SEE HOW GOOGLE DOES IT

•   RTFS
•   source.android.com
•   androiddrawableexplorer.appspot.com




PRESENTATION                          tackmobile.com
DRAWABLE EXPLORER




               androiddrawableexplorer.appspot.com



PRESENTATION                                         tackmobile.com
GO SEE JOSHUA

Advanced Design Implementation
• Tuesday

• 4:00 pm - 5:15 pm

• Joshua Jamison




PRESENTATION                     tackmobile.com
It’s a lot, we know.



PRESENTATION                          ANDEVCON • MAY 14, 2012
Questions?



PRESENTATION                tackmobile.com
Thanks!
@juansanchez
@thillerson

@tackmobile
tackmobile.com

More Related Content

What's hot

Advanced Android Design Implementation
Advanced Android Design ImplementationAdvanced Android Design Implementation
Advanced Android Design Implementation
Tack Mobile
 
Adolfo_Design Portfolio+R2016_HQ_012116
Adolfo_Design Portfolio+R2016_HQ_012116Adolfo_Design Portfolio+R2016_HQ_012116
Adolfo_Design Portfolio+R2016_HQ_012116
Adolfo De La Rosa
 
Anatomy of a button
Anatomy of a buttonAnatomy of a button
Anatomy of a button
Appsfire
 

What's hot (20)

PhoneGap: a brief history and apologia
PhoneGap: a brief history and apologiaPhoneGap: a brief history and apologia
PhoneGap: a brief history and apologia
 
Future of Mobile
Future of MobileFuture of Mobile
Future of Mobile
 
HTML5 Can't Do That
HTML5 Can't Do ThatHTML5 Can't Do That
HTML5 Can't Do That
 
Workshop on Hybrid App Development with Ionic Framework
Workshop on Hybrid App Development with Ionic FrameworkWorkshop on Hybrid App Development with Ionic Framework
Workshop on Hybrid App Development with Ionic Framework
 
A call to JS Developers - Let’s stop trying to impress each other and start b...
A call to JS Developers - Let’s stop trying to impress each other and start b...A call to JS Developers - Let’s stop trying to impress each other and start b...
A call to JS Developers - Let’s stop trying to impress each other and start b...
 
Hybrid Apps with Ionic Framework
Hybrid Apps with Ionic FrameworkHybrid Apps with Ionic Framework
Hybrid Apps with Ionic Framework
 
Mobile User Experience
Mobile User ExperienceMobile User Experience
Mobile User Experience
 
Advanced Android Design Implementation
Advanced Android Design ImplementationAdvanced Android Design Implementation
Advanced Android Design Implementation
 
Usability Speech (Jens Hoffmann) - T3CON08
Usability Speech (Jens Hoffmann) - T3CON08Usability Speech (Jens Hoffmann) - T3CON08
Usability Speech (Jens Hoffmann) - T3CON08
 
Cross Platform Mobile App Development
Cross Platform Mobile App DevelopmentCross Platform Mobile App Development
Cross Platform Mobile App Development
 
Adapting To Change (Owner Summit 2015)
Adapting To Change (Owner Summit 2015)Adapting To Change (Owner Summit 2015)
Adapting To Change (Owner Summit 2015)
 
Make Cross Platform Apps that Suck Less
Make Cross Platform Apps that Suck LessMake Cross Platform Apps that Suck Less
Make Cross Platform Apps that Suck Less
 
Adolfo_Design Portfolio+R2016_HQ_012116
Adolfo_Design Portfolio+R2016_HQ_012116Adolfo_Design Portfolio+R2016_HQ_012116
Adolfo_Design Portfolio+R2016_HQ_012116
 
Funsize Sprint School: Product Design Sprints Workshop
Funsize Sprint School: Product Design Sprints WorkshopFunsize Sprint School: Product Design Sprints Workshop
Funsize Sprint School: Product Design Sprints Workshop
 
DjangoSki
DjangoSkiDjangoSki
DjangoSki
 
Anatomy of a button
Anatomy of a buttonAnatomy of a button
Anatomy of a button
 
Group 2 powerpoint 2
Group 2 powerpoint 2Group 2 powerpoint 2
Group 2 powerpoint 2
 
Grossum Software Outsourcing
Grossum Software OutsourcingGrossum Software Outsourcing
Grossum Software Outsourcing
 
Mobile UX Design
Mobile UX DesignMobile UX Design
Mobile UX Design
 
Your choices for building a mobile app in 2016
Your choices for building a mobile app in 2016Your choices for building a mobile app in 2016
Your choices for building a mobile app in 2016
 

Viewers also liked

Asignación 2. unidad i partiendo de lo normal
Asignación 2. unidad i partiendo de lo normalAsignación 2. unidad i partiendo de lo normal
Asignación 2. unidad i partiendo de lo normal
Magditita
 
USAIN BOLT EXCLUSIVE
USAIN BOLT EXCLUSIVEUSAIN BOLT EXCLUSIVE
USAIN BOLT EXCLUSIVE
Euan Reedie
 
VITAMIN B3 NIACIN MUHAMMAD MUSTANSAR
VITAMIN B3   NIACIN MUHAMMAD MUSTANSARVITAMIN B3   NIACIN MUHAMMAD MUSTANSAR
VITAMIN B3 NIACIN MUHAMMAD MUSTANSAR
Dr Muhammad Mustansar
 

Viewers also liked (19)

Rails on HBase
Rails on HBaseRails on HBase
Rails on HBase
 
Dynamic Sound for iOS Apps and Games
Dynamic Sound for iOS Apps and GamesDynamic Sound for iOS Apps and Games
Dynamic Sound for iOS Apps and Games
 
Adrift: The Making of an iOS Game
Adrift: The Making of an iOS GameAdrift: The Making of an iOS Game
Adrift: The Making of an iOS Game
 
Prototyping with Framer.js
Prototyping with Framer.jsPrototyping with Framer.js
Prototyping with Framer.js
 
Assembly • Creative Mornings
Assembly • Creative MorningsAssembly • Creative Mornings
Assembly • Creative Mornings
 
Asignación 2. unidad i partiendo de lo normal
Asignación 2. unidad i partiendo de lo normalAsignación 2. unidad i partiendo de lo normal
Asignación 2. unidad i partiendo de lo normal
 
El darrer Maulet. Josep Lluís Bausset i Ciscar
El darrer Maulet. Josep Lluís Bausset i Ciscar   El darrer Maulet. Josep Lluís Bausset i Ciscar
El darrer Maulet. Josep Lluís Bausset i Ciscar
 
Contents
ContentsContents
Contents
 
Common sayings and proverbs
Common sayings and proverbsCommon sayings and proverbs
Common sayings and proverbs
 
Презентация Филиппа Нубеля "Play changegame"
Презентация Филиппа Нубеля "Play changegame"Презентация Филиппа Нубеля "Play changegame"
Презентация Филиппа Нубеля "Play changegame"
 
Tintuc.vn - Dạycon làm giàu - tập 3
Tintuc.vn - Dạycon làm giàu -  tập 3Tintuc.vn - Dạycon làm giàu -  tập 3
Tintuc.vn - Dạycon làm giàu - tập 3
 
USAIN BOLT EXCLUSIVE
USAIN BOLT EXCLUSIVEUSAIN BOLT EXCLUSIVE
USAIN BOLT EXCLUSIVE
 
Jordan Challenge Slideshare
Jordan Challenge SlideshareJordan Challenge Slideshare
Jordan Challenge Slideshare
 
Ft1.09.12
Ft1.09.12Ft1.09.12
Ft1.09.12
 
Mba project-report-consumert-behaviour
Mba project-report-consumert-behaviourMba project-report-consumert-behaviour
Mba project-report-consumert-behaviour
 
Comics in the Classroom
Comics in the ClassroomComics in the Classroom
Comics in the Classroom
 
U.S. Small Business Administration Overview
U.S. Small Business Administration OverviewU.S. Small Business Administration Overview
U.S. Small Business Administration Overview
 
Papeles de Trabajo de impuestos de PM 2017
Papeles de Trabajo de impuestos de PM 2017Papeles de Trabajo de impuestos de PM 2017
Papeles de Trabajo de impuestos de PM 2017
 
VITAMIN B3 NIACIN MUHAMMAD MUSTANSAR
VITAMIN B3   NIACIN MUHAMMAD MUSTANSARVITAMIN B3   NIACIN MUHAMMAD MUSTANSAR
VITAMIN B3 NIACIN MUHAMMAD MUSTANSAR
 

Similar to Designing an Android App from Idea to Market

Similar to Designing an Android App from Idea to Market (20)

Responsive Design Studio [Mountain View 2013]
Responsive Design Studio [Mountain View 2013]Responsive Design Studio [Mountain View 2013]
Responsive Design Studio [Mountain View 2013]
 
Erase and Rewind - Open Web Camp 2015
Erase and Rewind - Open Web Camp 2015Erase and Rewind - Open Web Camp 2015
Erase and Rewind - Open Web Camp 2015
 
UX, Agile and product management
UX, Agile and product managementUX, Agile and product management
UX, Agile and product management
 
Ride the Wave of Conversational UX
Ride the Wave of Conversational UXRide the Wave of Conversational UX
Ride the Wave of Conversational UX
 
Coolblue Behind the Scenes | Jeffrey Simons - The UX nerd and you.
Coolblue Behind the Scenes | Jeffrey Simons - The UX nerd and you.Coolblue Behind the Scenes | Jeffrey Simons - The UX nerd and you.
Coolblue Behind the Scenes | Jeffrey Simons - The UX nerd and you.
 
Coolblue Behind the Scenes | Jeffrey Simons - The UX nerd and you.
Coolblue Behind the Scenes | Jeffrey Simons - The UX nerd and you.Coolblue Behind the Scenes | Jeffrey Simons - The UX nerd and you.
Coolblue Behind the Scenes | Jeffrey Simons - The UX nerd and you.
 
Wireframe and prototyping google Campus talk by Zoe Guiraudon
Wireframe and prototyping google Campus talk by Zoe GuiraudonWireframe and prototyping google Campus talk by Zoe Guiraudon
Wireframe and prototyping google Campus talk by Zoe Guiraudon
 
URANUS
URANUSURANUS
URANUS
 
Designing for Interactive User Interfaces
Designing for Interactive User InterfacesDesigning for Interactive User Interfaces
Designing for Interactive User Interfaces
 
Designing for Interactive User Interfaces
Designing for Interactive User InterfacesDesigning for Interactive User Interfaces
Designing for Interactive User Interfaces
 
Designing for Interactive User Interfaces
Designing for Interactive User InterfacesDesigning for Interactive User Interfaces
Designing for Interactive User Interfaces
 
Hackers guide to UX
Hackers guide to UXHackers guide to UX
Hackers guide to UX
 
User Experience and your Intranet Brand
User Experience and your Intranet BrandUser Experience and your Intranet Brand
User Experience and your Intranet Brand
 
Michael Kowalski
Michael KowalskiMichael Kowalski
Michael Kowalski
 
Microservices: Lessons from the Trenches
Microservices: Lessons from the TrenchesMicroservices: Lessons from the Trenches
Microservices: Lessons from the Trenches
 
Designing for Today's Web
Designing for Today's WebDesigning for Today's Web
Designing for Today's Web
 
Resilient Enterprise Design (Craig Villamor at Enterprise UX 2017)
Resilient Enterprise Design (Craig Villamor at Enterprise UX 2017)Resilient Enterprise Design (Craig Villamor at Enterprise UX 2017)
Resilient Enterprise Design (Craig Villamor at Enterprise UX 2017)
 
The 10 Golden Usability Heuristics (Montreal Girl Geeks September 2014)
The 10 Golden Usability Heuristics (Montreal Girl Geeks September 2014)The 10 Golden Usability Heuristics (Montreal Girl Geeks September 2014)
The 10 Golden Usability Heuristics (Montreal Girl Geeks September 2014)
 
The Usability of Usability
The Usability of UsabilityThe Usability of Usability
The Usability of Usability
 
Startup Institute NYC: Styling
Startup Institute NYC: StylingStartup Institute NYC: Styling
Startup Institute NYC: Styling
 

Recently uploaded

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 

Designing an Android App from Idea to Market

  • 1. Designing an App from Idea to Market PRESENTATION ANDEVCON • MAY 14, 2012
  • 2. A LITTLE ABOUT US Juan Sanchez Tony Hillerson Designer & Partner Software Architect & Partner Mobile design and development company based in Denver, CO. • Creating Visual Experiences • Flex on Rails • Co-creator of FieldTest • Co-creator of FieldTest @tackmobile • Senior Editor for UX Magazine • O’Reilly Screencasts tackmobile.com @juansanchez @thillerson juan@tackmobile.com tony@tackmobile.com PRESENTATION tackmobile.com
  • 3. WHO ARE YOU? • Developer • Designer • Entrepreneur • Etc. PRESENTATION tackmobile.com
  • 4. WHAT ARE WE TALKING ABOUT? • Defining User Goals • Design Concepts • Translating Pixels • Development Tactics • Measurement & Feedback We’ll be doing group exercises. PRESENTATION tackmobile.com
  • 5. EXERCISE 1 Design an App for AnDevCon PRESENTATION tackmobile.com
  • 6. THE FEATURES • Chat • Take Pictures Edit Profile GO! • • View Schedule • See a Map • Check Weather • Scan QR Code • Watch Video • Review Slides PRESENTATION tackmobile.com
  • 7. Who wants to share? PRESENTATION tackmobile.com
  • 8. A successful app is more than a list of features. PRESENTATION ANDEVCON • MAY 14, 2012
  • 9. Building an app is a process. PRESENTATION tackmobile.com
  • 10. THE ODDS ARE AGAINST YOU • Timeline • Budget • Scope • Resources PRESENTATION tackmobile.com
  • 11. 68% of IT projects fail. PRESENTATION tackmobile.com
  • 12. You can succeed but it’s a series of successes. PRESENTATION tackmobile.com
  • 13. IT’S A PROCESS DEFINITION DISCOVERY DESIGN DEPLOY DEVELOPMENT PRESENTATION tackmobile.com
  • 14. IT HAPPENS IN CYCLES PRESENTATION tackmobile.com
  • 15. A lot happens before code is written and pixels are pushed. PRESENTATION ANDEVCON • MAY 14, 2012
  • 16. THERE’S SO MUCH TO LEARN • who are your users? • a current app? • an existing brand? • IT infrastructure already in place? • 20 stakeholders? • established content? PRESENTATION tackmobile.com
  • 17. WHAT ARE THE OBJECTIVES? • increased business? • increased brand awareness? • increased users? • increased user engagement? PRESENTATION tackmobile.com
  • 18. Ask questions. PRESENTATION tackmobile.com
  • 19. WHO ARE YOUR USERS? images © Jason Travis PRESENTATION tackmobile.com
  • 20. KNOW YOUR USER • what’s their digital ecology? • what’s the demographic? • what are they trying to accomplish? • how can you make that easier? • where do you fit in? PRESENTATION tackmobile.com
  • 21. Referred to as personas. PRESENTATION tackmobile.com
  • 22. EXERCISE 2 Let’s create a persona. PRESENTATION tackmobile.com
  • 23. QUESTIONS: AS A CONFERENCE GOER • what is the age range? • what do you do? • what devices do you use? • how many events do you go to? • are you here with a group? PRESENTATION tackmobile.com
  • 24. OUR PERSONA IS.... Hilly Tonnerson • Male, 19 - 45 years old • mobile developer • presenting on Android topics • relies on his Nexus S PRESENTATION tackmobile.com
  • 25. Your persona(s) should be present throughout the process. PRESENTATION tackmobile.com
  • 26. Defining what to build is the hardest part. PRESENTATION ANDEVCON • MAY 14, 2012
  • 27. http://www.gogamestorm.com/ FIGURING IT OUT • definition exercises • proofs of concept • user interviews • sketching • prototyping • wireframes PRESENTATION tackmobile.com
  • 28. FIGURING IT OUT via http://www.gogamestorm.com/?p=855 picture taken by Dave Gray http://www.davegrayinfo.com/ PRESENTATION tackmobile.com
  • 29. This process isn’t meant to be pretty. PRESENTATION tackmobile.com
  • 30. EXERCISE 3 Define user goals and features PRESENTATION tackmobile.com
  • 31. QUESTIONS: USER GOALS • what do you want to leave with? • what do you like about conferences? • what environment are you in? • what bothers you about conferences? • what’s your day at a conference like? PRESENTATION tackmobile.com
  • 32. Answers will help define the “what”. PRESENTATION tackmobile.com
  • 33. SOME OF OUR GOALS ARE... • we’re here to present • we want presenting to be easier • we want to share information • want to know our audience • we want to be able to interact with attendees without disruption PRESENTATION tackmobile.com
  • 34. Based on the “what”, define the “how”. PRESENTATION tackmobile.com
  • 35. OUR FEATURES • a presenter’s assistant app • control the presentation • people can ask questions • people can raise their hand • vibrates when there’s a questions PRESENTATION tackmobile.com
  • 36. Interaction Design PRESENTATION ANDEVCON • MAY 14, 2012
  • 37. Design is how it works. Steve Jobs PRESENTATION tackmobile.com
  • 38. This is just stupid. A User PRESENTATION tackmobile.com
  • 39. Why? What can we do to make it better? PRESENTATION tackmobile.com
  • 40. DON NORMAN’S DESIGN VOCABULARY • Visibility • Affordances • Feedback • Mapping • Constraint • Consistency PRESENTATION tackmobile.com
  • 41. NATURAL DESIGN Use what people know from their environment. PRESENTATION tackmobile.com
  • 42. NATURAL DESIGN PRESENTATION tackmobile.com
  • 43. NATURAL DESIGN http://www.subtraction.com/2011/03/28/an-illustration-for-stack-america PRESENTATION tackmobile.com
  • 44. NATURAL DESIGN PRESENTATION tackmobile.com
  • 45. Natural Design ≠ Skeumorphism PRESENTATION tackmobile.com
  • 46. It doesn’t have to have to look like something that already exists. PRESENTATION tackmobile.com
  • 47. UNIVERSAL PRINCIPLES • Physics • Gravity • Friction • Constraints • Space PRESENTATION tackmobile.com
  • 48. CONCEPTUAL MODEL The “model” a user of a system builds to reason about a system PRESENTATION tackmobile.com
  • 49. CONCEPTUAL MODEL • The user sees the interface, and that leads them to reason about the system behind it. • The interface can simplify the actual system PRESENTATION tackmobile.com
  • 50. CONCEPTUAL MODEL • Hm, that looks like a brush stroke • I can change the brush size • I can change the texture of the brush • Wow, this preview updates. Snap! Gosh I love technology PRESENTATION tackmobile.com
  • 51. VISIBILITY Cues between the design of an object and its operation PRESENTATION tackmobile.com
  • 52. VISIBILITY PRESENTATION tackmobile.com
  • 53. VISIBILITY PRESENTATION tackmobile.com
  • 54. VISIBILITY PRESENTATION tackmobile.com
  • 55. AFFORDANCE Perception that something can be interacted with PRESENTATION tackmobile.com
  • 56. AFFORDANCE PRESENTATION tackmobile.com
  • 57. AFFORDANCE PRESENTATION tackmobile.com
  • 58. AFFORDANCE PRESENTATION tackmobile.com
  • 59. FEEDBACK The effect of user actions should be obvious PRESENTATION tackmobile.com
  • 60. FEEDBACK PRESENTATION tackmobile.com
  • 61. FEEDBACK PRESENTATION tackmobile.com
  • 62. MAPPING A relation between intentions and possible actions and between actions and their effect on a system or device PRESENTATION tackmobile.com
  • 63. MAPPING PRESENTATION tackmobile.com
  • 64. MAPPING • I can find my friends • Oh look, pictures I can slide • I wonder if I have notifications PRESENTATION tackmobile.com
  • 65. CONSTRAINTS Preventing errors before they can occur PRESENTATION tackmobile.com
  • 66. CONSTRAINTS PRESENTATION tackmobile.com
  • 67. CONSISTENCY The way visual objects are used PRESENTATION tackmobile.com
  • 68. CONSISTENCY PRESENTATION tackmobile.com
  • 69. How does this apply to mobile? PRESENTATION tackmobile.com
  • 70. KNOW THE DEVICE • dimensions • orientation • sensors • inputs • etc. PRESENTATION tackmobile.com
  • 71. KNOW THE PLATFORM • this is not iOS • this is not WP7 • this is not WebOS • etc. PRESENTATION tackmobile.com
  • 72. STAY TRUE TO ANDROID concept by Guenther Beyer PRESENTATION tackmobile.com
  • 73. MAKE IT FAST • performance • the illusion of fast • optimize PRESENTATION tackmobile.com
  • 74. UPLOADING A PICTURE Instagram dudes https://speakerdeck.com/u/mikeyk/p/secrets-to-lightning-fast-mobile-design PRESENTATION tackmobile.com
  • 75. EMBRACE TOUCH • people are using fingers, not cursors • content as interface • multi-touch and gestures • physical metaphors PRESENTATION tackmobile.com
  • 76. A RULE OF THUMB • 44pt for touch • 30pt minimum • Small items should still have decent hit areas PRESENTATION tackmobile.com
  • 77. GIVE EACH SCREEN A PURPOSE • what’s most important? • learn to eliminate • content vs. controls • smaller doesn’t mean it should do less PRESENTATION tackmobile.com
  • 78. ANIMATION & TRANSITIONS • the illusion of faster • just-in-time content • progressive disclosure • depth and space • guidance PRESENTATION tackmobile.com
  • 79. A lot of work has already been done. PRESENTATION tackmobile.com
  • 81. ANDROID GUIDELINES http://developer.android.com/guide/practices/ui_guidelines/icon_design_launcher.html PRESENTATION tackmobile.com
  • 82. ANDROID DESIGN http://developer.android.com/design/ PRESENTATION tackmobile.com
  • 83. maisdcharlottes.blogspot.com CONTEXT • what’s the environment? • what’s the weather? • what time is it? • what’s the device environment? • what are the usage patterns? PRESENTATION tackmobile.com
  • 84. WORKING WITH CONTENT • use real content • try avoiding lorem ipsum • know what you really have to work with PRESENTATION tackmobile.com
  • 85. DON’T FORGET TO PLAY • interface origami • video games • real world examples • bend the rules • swing by Best Buy • this is just the beginning PRESENTATION tackmobile.com
  • 87. IT’S IN THE DETAILS PRESENTATION tackmobile.com
  • 88. Android can be beautiful. PRESENTATION tackmobile.com
  • 89. EXERCISE 4 Design an app for AnDevCon. PRESENTATION tackmobile.com
  • 90. DESCRIBE A FLOW • focus on a task • what are the screens? • what’s the flow? • where can the user go? PRESENTATION tackmobile.com
  • 91. MAP IT OUT PRESENTATION tackmobile.com
  • 92. SKETCH OUT YOUR IDEAS • pick one screen and sketch it out • or, do multiple and describe how a user accomplishes a task PRESENTATION tackmobile.com
  • 93. THE FEATURES REVISITED • a presenter’s assistant app • control the presentation • people can ask questions • people can raise their hand • vibrates when there’s a questions • control information being pushed to the web PRESENTATION tackmobile.com
  • 94. HERE’S OURS • slides on top • view notes • view questions • share information • time check PRESENTATION tackmobile.com
  • 95. Now what? PRESENTATION tackmobile.com
  • 96. WIREFRAMES • content • structure • interactions • flow PRESENTATION tackmobile.com
  • 97. VISUAL DESIGN • branding • layout • color • hierarchy • typography • spacing • animation • affordance PRESENTATION tackmobile.com
  • 98. MORE RESEARCH • get feedback through iterations • test assumptions • doesn’t have to be for the entire app • test specific things • early and often PRESENTATION tackmobile.com
  • 99. HOW MANY PEOPLE TO ASK? PRESENTATION tackmobile.com
  • 100. WHO TO INTERVIEW? images © Jason Travis PRESENTATION tackmobile.com
  • 101. IT’S EASIER THAN YOU THINK PRESENTATION tackmobile.com
  • 102. YOU DON’T NEED A FINISHED APP image via A List Apart article by Shawn Medero PRESENTATION tackmobile.com
  • 103. ANALYZE YOUR RESULTS • content • structure • interactions • flow PRESENTATION tackmobile.com
  • 104. EXERCISE 5 Get feedback on your sketches. PRESENTATION tackmobile.com
  • 105. WHAT WE HEARD • how can I see all the slides? • how do I switch slides? • the icons don’t make sense • how do I know what slide I’m on? • I think this would be useful • I think this would be distracting PRESENTATION tackmobile.com
  • 106. Who wants to share? PRESENTATION tackmobile.com
  • 107. Development PRESENTATION ANDEVCON • MAY 14, 2012
  • 108. You know what to build, but how? PRESENTATION tackmobile.com
  • 109. OUR DESIGN PRESENTATION tackmobile.com
  • 110. TRANSLATING PIXELS • what’s the source? Photoshop? • what is vector, what is bitmap? • can you use out-of-the-box components? PRESENTATION tackmobile.com
  • 111. 9 PATCH VS. XML PRESENTATION tackmobile.com
  • 112. DRAWING BUTTON PRESENTATION tackmobile.com
  • 113. CODE <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/ android"> <item> <shape android:shape="rectangle"> <stroke android:color="@color/ color_primary_light_stripe" android:width="1px" /> <solid android:color="@android:color/transparent" /> <corners android:bottomRightRadius="6dip" android:bottomLeftRadius="6dip" android:topLeftRadius="6dip" android:topRightRadius="6dip"/> </shape> </item> ... PRESENTATION tackmobile.com
  • 114. CODE ... <item android:top="2px"> <shape android:shape="rectangle"> <stroke android:color="@color/color_primary_dark_stripe" android:width="1px" /> <solid android:color="@android:color/transparent" /> <corners android:bottomRightRadius="6dip" android:bottomLeftRadius="6dip" android:topLeftRadius="6dip" android:topRightRadius="6dip"/> </shape> </item> ... PRESENTATION tackmobile.com
  • 115. CODE ... <item android:top="1px" android:bottom="1px"> <shape android:shape="rectangle"> <gradient android:angle="270" android:startColor="@color/button_color_top" android:centerColor="@color/button_color_middle" android:endColor="@color/button_color_bottom" /> <corners android:bottomRightRadius="6dip" android:bottomLeftRadius="6dip" android:topLeftRadius="6dip" android:topRightRadius="6dip"/> </shape> </item> </layer-list> PRESENTATION tackmobile.com
  • 116. It’s a multi-screen world. PRESENTATION tackmobile.com
  • 117. WHAT TO TARGET http://developer.android.com/resources/dashboard/platform-versions.html PRESENTATION tackmobile.com
  • 118. Unified code base for all devices. PRESENTATION tackmobile.com
  • 119. COMPATIBILITY LIBRARY + EXTENSIONS PRESENTATION tackmobile.com
  • 120. PHONE LAYOUT <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/ android"     android:layout_width="match_parent"     android:layout_height="match_parent">     <fragment class="com.example.android.TitlesFragment"               android:id="@+id/list_frag"               android:layout_width="match_parent"               android:layout_height="match_parent"/> </FrameLayout> PRESENTATION tackmobile.com
  • 121. TABLET LAYOUT <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/ res/android"   android:orientation="horizontal"   android:layout_width="match_parent"   android:layout_height="match_parent"   android:id="@+id/frags">   <fragment class="com.example.android.TitlesFragment"             android:id="@+id/list_frag"             android:layout_width="@dimen/titles_size"             android:layout_height="match_parent"/>   <fragment class="com.example.android.DetailsFragment"             android:id="@+id/details_frag"             android:layout_width="match_parent"             android:layout_height="match_parent" /> </LinearLayout> PRESENTATION tackmobile.com
  • 122. CODE /** This is a callback that the list fragment (Fragment A) calls     when a list item is selected */ public void onItemSelected(int position) {   DisplayFragment fragB = (DisplayFragment) getFragmentManager()                               .findFragmentById(R.id.display_frag);   if (fragB == null) {       // DisplayFragment (Fragment B) is not in the layout,       // start DisplayActivity (Activity B)       // and pass it the info about the selected item       Intent intent = new Intent(this, DisplayActivity.class);       intent.putExtra("position", position);       startActivity(intent);   } else {       // DisplayFragment (Fragment B) is in the layout, tell it to update       fragB.updateContent(position);   } } PRESENTATION tackmobile.com
  • 123. RESOURCES res/layout/main_activity.xml # For phones res/layout-sw600dp/main_activity.xml # 7” tablets res/layout-sw720dp/main_activity.xml # 10” tablets http://android-developers.blogspot.com/2011/07/new-tools-for-managing-screen-sizes.html PRESENTATION tackmobile.com
  • 124. SEE HOW GOOGLE DOES IT • RTFS • source.android.com • androiddrawableexplorer.appspot.com PRESENTATION tackmobile.com
  • 125. DRAWABLE EXPLORER androiddrawableexplorer.appspot.com PRESENTATION tackmobile.com
  • 126. GO SEE JOSHUA Advanced Design Implementation • Tuesday • 4:00 pm - 5:15 pm • Joshua Jamison PRESENTATION tackmobile.com
  • 127. It’s a lot, we know. PRESENTATION ANDEVCON • MAY 14, 2012
  • 128. Questions? PRESENTATION tackmobile.com