introduction to android for quality engineers

Post on 14-Jul-2015

322 Views

Category:

Software

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Introduction to Android for Quality

Engineers

Agenda

• Introduction

• Android Diversity

• The Android Experience

• Building Blocks ’Controls’

• First Things First

• Content

• App Reporting

• Google Play Listing

• Tips and Tricks

• UX Don’ts

• Inspiring Apps

Introduction

• A multi-screen world

• Android Domination

A multi-Screen world

Pope Benedict XVI

Pope Francis

Android+multi-screen world

• Powering tablets, mobiles and much more…

AOSP

Android Market Share

• #1 mobile OS

• Open platform

Android, 84%

iOS, 11.70%

Windows Phone, 2.50%

Blackberry, 0.50%

Others, 0.60%

IDC worldwide Smartphone Marketshare,Q2 2014

Android Diversity (AKA Fragmentation)

• Tailored Experiences

• Versions

• Versions distribution

• Screen sizes distribution

Tailored Experiences

TouchWiz

Tailored Experiences

Versions

9.1%

7%

7.8%

20.4%

21.3% 33.9%0.5%

4.1

4.2

4.3

2.3 4.0 4.4

Data collected during a 7-day period ending on December 1,

2014.

Screen Sizes

• Dips and PPI

UI UI UI

UI

UI

UI

Unit Units / physical inch Density independentSame physical size on every screen

px varies no no

in 1 yes yes

mm 25.4 yes yes

pt 72 yes yes

dp ~160 yes no

sp ~160 yes no

Screen Sizes

Screen Sizes Distributionldpi mdpi tvdpi hdpi xhdpi xxhdpi Total

Small 5.4% 5.4%

Normal 9.4% 0.2% 36.9% 18.8% 16.3% 81.6%

Large 0.5% 4.6% 2% 0.6% 0.6% 8.3%

Xlarge 3.8% 0.3% 0.6% 4.7%

Total 5.9% 17.8% 2.2% 37.8% 20% 16.3%

Data collected during a 7-day period ending on December 1, 2014.

The Android Experience

• OS UI

• Common app UI

• Responsiveness

• Icons

• Spacing

• Activity Lifecycle

OS UI

• System buttons

• System bars

• Apps

• Notifications

• Widgets

Common App UI

1. Main Action Bar

2. Navigation Drawer

3. Content Area

Responsiveness

• Button states

• Communication

• Boundaries

Icons

• Launcher: 3d effect

• Action bar: Flat, not too detailed

Icons

• Contextual icons: Neutral, flat

and simple

• Notifications icons: Like the launcher

icon yet flat and simple(white)

Spacing

How it works

• Activity

• Service

• Content provider

Activity States

Check activitydemo.apk for deeper understanding

Building Blocks ‘Controls’• Basic Controls

• Progress and Activity

• Dialogs

Basic Controls

Progress and Activity

Dialogs Clicking back dismisses the dialogs

First Things First

App Installation

App Onboarding

Top Level Navigation

Action Bar

App Installation

• From Play Store

• Side loading– Allow installation from unknown sources

– Install the apk directly

• Check the permissions

You can use: adb install ‘Path to apk’

Check app after moving to SDCard

App Onboarding

• Don’t require registration upfront

• Splash screens are not recommended

• Integrate with popular login providers

App Onboarding

• Display tips at the first use of

the application

• Help page->Action Bar

overflow or navigation drawer

Top Level Navigation

• Tabs

Top Level Navigation

• Spinner

Top Level Navigation

• Navigation

Drawer

Action Bar

• Structure

1. App icon

2. View control

3. Action buttons

4. Action overflow

Action Bar

• Split Action Bar

1. Main action bar

2. Top bar

3. Bottom bar

Action Bar

• Checklist

Use the FIT scheme

–Frequent

– Important

–Typical

Up vs. Back

• Up brings the home screen of the application

• Back brings the previous screen

Up vs. Back

• Special Cases

–A screen with multiple entry points

–The application is opened from a widget or a

notification

Overflow Button Behavior

• Old app(2.3-), new device

Overflow Button Behavior

• Phones with physical buttons

Overflow Button Behavior

• New app(4.0+), virtual navigation

Break

ContentLists and Grids

Contextual Action Bar

Action Shortcuts

Confirming and acknowledging

Swiping

Full Screen

Top Level Navigation

Action Bar

Views and Orientation

Lists & Grids

Contextual Action Bars

• Appears after long press on

an element

• Enters selection mode

• Dismissed by clicking back

Action Shortcuts

Confirming and Acknowledging

• Visual feedback

• Displaying a confirmation popup

• Displaying a toast to acknowledge

• Acknowledging an action with undo

Swiping

• Between tabs

• Between content

• Swiping to dismiss

Swiping

• Swipe to refresh

Swiping

• Sliding Up panel

Full Screen

• Lean Back

Full Screen

• Immersive

Full Screen

• Lights Out(4.0-4.3)

Combining Multiple Views

Compound Views and Orientation

• Stretch/compress

Adjust the column

width of your left pane

to achieve a balanced layout

The view is refreshed on changing the orientation

Compound Views and Orientation

• Stack

Rearrange the panels

on your screen

Compound Views and Orientation

• Expand/Collapse

collapse the left pane view

to only show the most

important information

Compound Views and Orientation

• Show/hide

Use the Up icon to show

the parent screen.

Compound Views and Orientation

• Sliding Pane layout

Cards

http://www.google.com/design/spec/components/cards.html

Notifications and widgets

Notifications

• Display important information

• Actionable(4.1+)

• Expandable(4.1+)

• Sorted by priority(4.1+)

Notifications

Structure

• The application's notification icon or the sender's

photo

• A notification title and message

• A timestamp

• A secondary icon

Notifications

Ongoing Notifications

Notifications

• Popup Notifications

Notifications

• Checklist

Actions should be essential(max:3)

Opens the app to the right place

Stacked if there are more than one notification

Widgets

• Showing important data

on the home screen

• Easy access to app

Widgets

Widget Types

• Information widgets

• Collection widgets

• Control widgets

• Hybrid widgets

Widgets

Guidelines

• Interaction by touch & Vertical

swipe

• Resizable

• Can fit on different screen sizes

• Configurable

App Reporting

Internal Error Reporting

• Extracting the error log

–Using Android ADT LogCat for all versions

–Using CatLog/alogCat for Android 4.0-

Top Crash Reporting Tools

Free Free

HTML5

HTML5

HTML5

Top App Analytics Tools

• Use analytics tools to track how the app is used

Free

Free

Free

Google Play Listing

Market Checklist

Alpha & Beta testing

Staged Rollout

Market Checklist

One APK/multiple APKs

Determine app distribution

Max size of apk: 50 MB

Expansion files

Free/priced

Listing Details

• Language

• Title

• Description

• Recent Changes

• Promo Text

• Application Type

• Category

Graphics for Play

• Screenshots(2 minimum)

• High Resolution app icon

• Feature Graphic(optional)

• Promotional Graphic(optional)

• Video link(optional)

Alpha & Beta Testing

• Alpha/beta test apps will appear only for testers

• Testers access the app from:

–Google+ Community

–Google Groups

Staged Rollout

• Updates rollout can start with a small percentage

of your userbase

• Monitor crashes and issues

• Fix issues and update affected users

Tips and Tricks• Common Issues

• Clear Data

• Compatibility

• RTL Support

• Lock Screen Widgets

• Process Stats

• Memory allocation

• Android Screenshooter

• Performance Check

• Stay Updated

Common Issues

• Sync

• Crash on opening from recents screen

• Crash on a call

• App drains battery

Common Issues

• Selection in the list view

• Keyboard + Popups

• App auto-sleep

Clear Data

• Restores the app to a working state

Compatibility

• Forward compatibility for new versions is

supported by Google.

• Backward compatibility can be handled.

RTL Support (4.2+)

Lock Screen Widgets(4.2+)

Process Stats(4.4)

BLE(4.3+)

• Effective connectivity

• Low power consumption

Performance Check

• Ram Read/Write speed

• Ram Size

• Internal Memory Read/Write speed

• Processor

• GPU

Memory Allocation

Screen Size Screen Density Application Memory

small / normal / large ldpi / mdpi 16 MB

small / normal / large tvdpi / hdpi 32 MB

small / normal / large xhdpi 64 MB

small / normal / large 400dpi 96 MB

small / normal /large xxhdpi 128 MB

xlarge mdpi 32 MB

xlarge tvdpi / hdpi 64 MB

xlarge xhdpi 128 MB

xlarge 400dpi 192 MB

xlarge xxhdpi 256 MB

This is the baseline for the max ram that OEMs can support per app. App will crash if it crossed this line.

Android Screenshooter

• Takes a screenshot, saves it to your pc and

deletes it from the device in seconds

https://github.com/faidy/AndroidScreenshooter/

Adb-multi-device-installer

• You can use it to install the same apk on multiple

devices connected to a mac at the same time

https://github.com/faidy/adb-multi-device-

installer/

Rooting(Not recommended)

• Rooting is getting super user access.

• It allows you to add hosts

• You can access the db of the tested app

Google Unification

This will change, check

Stay Updated

• Predict issues for new android versions

• Find new areas of enhancement

UX Don’ts

UX Don’ts

Blocking loading progress indicator

UX Don’ts

UX Don’ts

Always offer the option to explore the app without signing in

UX Don’ts

UX Don’ts

UX Don’ts

Back button doesn’t close the app

Inspiring Apps

Inspiring Apps

Using DDMS

Workshop

Thank You!Questions?

top related