paranoid android

63
Paranoid Android Murat Yener Wednesday, October 9, 13

Upload: mobile-istanbul

Post on 06-Aug-2015

493 views

Category:

Mobile


2 download

TRANSCRIPT

Page 1: Paranoid Android

Paranoid AndroidMurat Yener

Wednesday, October 9, 13

Page 2: Paranoid Android

who (the hell) am I?!?

Java, Flex, GWT, iOS, Android developer

Android Developer at Intel

Eclipse Committer

GDG (GTUG) Istanbul Organizer

Conference Speaker

Wednesday, October 9, 13

Page 3: Paranoid Android

paranoid?!?“is a mental disorder characterized by paranoia and a pervasive, long-standing suspiciousness and generalized mistrust of others. Individuals with this personality disorder may be hypersensitive, easily feel slighted, and habitually relate to the world by vigilant scanning of the environment for clues or suggestions that may validate their fears or biases. Paranoid individuals are eager observers. They think they are in danger and look for signs and threats of that danger, potentially not appreciating other evidence.”

Wednesday, October 9, 13

Page 4: Paranoid Android

My Story: 1.5 Cupcake

My First Android Device!!

Wednesday, October 9, 13

Page 5: Paranoid Android

1.6 Donut

My First Apps!!Wednesday, October 9, 13

Page 6: Paranoid Android

2.0 Eclair

First Real Apps!!Wednesday, October 9, 13

Page 7: Paranoid Android

2.2 Froyo

Hey I am an android developer!!Wednesday, October 9, 13

Page 8: Paranoid Android

2.3 Gingerbread

and I go Paranoid,

UI

Performance

Navigation

...

Wednesday, October 9, 13

Page 9: Paranoid Android

3.0 Honeycomb

tablets anyone?!?

Wednesday, October 9, 13

Page 10: Paranoid Android

4.0 Ice Cream Sandwich

everyone goes paranoid!!!Wednesday, October 9, 13

Page 11: Paranoid Android

4.2 Jelly Bean

even Google!!!

android design

best practices

...

Wednesday, October 9, 13

Page 12: Paranoid Android

4.2 Jelly Bean

even Google!!!

android design

best practices

...

Wednesday, October 9, 13

Page 13: Paranoid Android

from paranoid to magical

UI

UX

Performance

Google Play

Wednesday, October 9, 13

Page 14: Paranoid Android

from paranoid to magical

UI

UX

Performance

Google Play

and promise, last photo of me..

Wednesday, October 9, 13

Page 15: Paranoid Android

Paranoid AndroidMurat Yener

Wednesday, October 9, 13

Page 16: Paranoid Android

Paranoid AndroidMurat Yener

Wednesday, October 9, 13

Page 17: Paranoid Android

Paranoid AndroidMurat Yener

Magical

Wednesday, October 9, 13

Page 18: Paranoid Android

Developers and Magic

Don’t know the trick - Muggles

Know the trick - Squib

Can do the trick - Wizard

Wednesday, October 9, 13

Page 19: Paranoid Android

Developers and Magic

Don’t know the trick - Muggles

Know the trick - Squib

Can do the trick - Wizard

the user

Wednesday, October 9, 13

Page 20: Paranoid Android

Developers and Magic

Don’t know the trick - Muggles

Know the trick - Squib

Can do the trick - Wizard

the userI.T. guy

Wednesday, October 9, 13

Page 21: Paranoid Android

Developers and Magic

Don’t know the trick - Muggles

Know the trick - Squib

Can do the trick - Wizard

the userI.T. guythe developer

Wednesday, October 9, 13

Page 22: Paranoid Android

The User Experience

Wednesday, October 9, 13

Page 23: Paranoid Android

Users are (simply) users

Controller

USBethernet

video in?

Touch Screen

Wednesday, October 9, 13

Page 24: Paranoid Android

Users are (simply) users

Controller

USBethernet

video in?

Touch Screen

Wednesday, October 9, 13

Page 25: Paranoid Android

Users are (simply) users

Controller

USBethernet

video in?

Touch Screen

which one is magical??Wednesday, October 9, 13

Page 26: Paranoid Android

User eXperienceless is more

be invisible! just as if you’re part of the OS

splash screens

simple navigation

popups or launching the browser

forced login

extensive use of tutorials

Wednesday, October 9, 13

Page 27: Paranoid Android

Test UX with Users

Users are not developers

nor designers!!

Rule of the magician: Consider your auidienceWednesday, October 9, 13

Page 28: Paranoid Android

Test UX with Users

Users are not developers

nor designers!!

Rule of the magician: Consider your auidienceWednesday, October 9, 13

Page 29: Paranoid Android

Test UX with Users

Users are not developers

nor designers!!

Rule of the magician: Consider your auidienceWednesday, October 9, 13

Page 30: Paranoid Android

Test UX with Users

Users are not developers

nor designers!!

Rule of the magician: Consider your auidienceWednesday, October 9, 13

Page 31: Paranoid Android

Case Study

not even one successful app order!!Wednesday, October 9, 13

Page 32: Paranoid Android

The User Interface

Wednesday, October 9, 13

Page 33: Paranoid Android

Design, the android way

Android has its own design, USE IT www.developer.android.com/design

Don’t just copy from other platforms

Wednesday, October 9, 13

Page 34: Paranoid Android

Design, responsively!

Different Devices

Wednesday, October 9, 13

Page 35: Paranoid Android

Design, responsively!

Different Devices

Wednesday, October 9, 13

Page 36: Paranoid Android

Design, responsively!!Let your apps scale, use RelativeLayout, GridLayout, LinearLayout

Let your resources scale! use 9 patch.

Never resize images. Use different sizes (mdpi, hdpi, xhdpi...)

Draw in XML or code (gradient..)

http://developer.android.com/tools/help/draw9patch.html

for adapters!!!

Wednesday, October 9, 13

Page 37: Paranoid Android

Design, responsively!!!

Don’t just scale! or next time Apple may make fun of you!

Use Fragments

Wednesday, October 9, 13

Page 38: Paranoid Android

Fragments

Phone

Tablet

Portrait

Landscape

Do not assume device is portrait or landscape default orientations: Nexus7/portrait, Nexus10/landscape

Wednesday, October 9, 13

Page 39: Paranoid Android

Control your hardware

boolean  haveCamera=getPackageManager.hasSystemFeature(PackageManager.FEATURE_CAMERA);

boolean  haveNFC=getPackageManager.hasSystemFeature(PackageManager.FEATURE_NFC);

boolean  haveHost=getPackageManager.hasSystemFeature(PackageManager.FEATURE_USB_HOST);

boolean  havePhone=getPackageManager.hasSystemFeature(PackageManager.FEATURE_TELEPHONY);

boolean  haveBarometer=getPackageManager.hasSystemFeature(PackageManager.FEATURE_SENSOR_BAROMOTER);

http://developer.android.com/reference/android/content/pm/PackageManager.html

Wednesday, October 9, 13

Page 40: Paranoid Android

more on design!

android tabs are at the top!

use swipe views (even in tabs)

we (already) have back button

options hard button has gone

so does soft menu button

Wednesday, October 9, 13

Page 41: Paranoid Android

more on design!

android tabs are at the top!

use swipe views (even in tabs)

we (already) have back button

options hard button has gone

so does soft menu button

Wednesday, October 9, 13

Page 42: Paranoid Android

more on design!

android tabs are at the top!

use swipe views (even in tabs)

we (already) have back button

options hard button has gone

so does soft menu button

Wednesday, October 9, 13

Page 43: Paranoid Android

more on design

make use of ADT (localization, themes, screen sizes)

visit Android Design

work with a designer

and use stencils!

Wednesday, October 9, 13

Page 44: Paranoid Android

more on design

make use of ADT (localization, themes, screen sizes)

visit Android Design

work with a designer

and use stencils!

Wednesday, October 9, 13

Page 45: Paranoid Android

more on design

make use of ADT (localization, themes, screen sizes)

visit Android Design

work with a designer

and use stencils!

Wednesday, October 9, 13

Page 46: Paranoid Android

Performance

Wednesday, October 9, 13

Page 47: Paranoid Android

Keep your UI responsive

Linear Layout? ok only if not nesting views

use Hierarchy View to cut down

Never lock UI thread use AsyncTask!!

make use of services

Wednesday, October 9, 13

Page 48: Paranoid Android

Respect the Battery

You are on the list? You are doing it wrong!!

The main job of a phone is being a phone, no app can change it!

unregister services and listeners

Wednesday, October 9, 13

Page 49: Paranoid Android

Use less network

Smaller data

less transfers

caching

*cookie model by Reto Meier

**Making good apps great, Google I/O 2012

Wednesday, October 9, 13

Page 50: Paranoid Android

The big Cookie Model

**Making good apps great, Google I/O 2012Wednesday, October 9, 13

Page 51: Paranoid Android

Defragment Network

**Making good apps great, Google I/O 2012Wednesday, October 9, 13

Page 52: Paranoid Android

but how?

Cache data

Queue requests (also good for offline)

Check connection (get more data when on wifi and again cache!)

Get needed data at once

http://developer.android.com/training/efficient-downloads

Wednesday, October 9, 13

Page 53: Paranoid Android

Stability

Test!

Use Lint

Use real devices

Wednesday, October 9, 13

Page 54: Paranoid Android

Stability

Test!

Use Lint

Use real devices

Wednesday, October 9, 13

Page 55: Paranoid Android

Google Play

Wednesday, October 9, 13

Page 56: Paranoid Android

Respect Users

UX

UI

Performance

there is more...

notifications!!!

Wednesday, October 9, 13

Page 57: Paranoid Android

Feedback

Happy users don’t rate

but sad ones do...

Don’t ask user to rate you

But ask for feedback

Wednesday, October 9, 13

Page 58: Paranoid Android

Feedback

Happy users don’t rate

but sad ones do...

Don’t ask user to rate you

But ask for feedback

Wednesday, October 9, 13

Page 59: Paranoid Android

Feedback

Happy users don’t rate

but sad ones do...

Don’t ask user to rate you

But ask for feedback

Wednesday, October 9, 13

Page 60: Paranoid Android

Feedback

Happy users don’t rate

but sad ones do...

Don’t ask user to rate you

But ask for feedback

Wednesday, October 9, 13

Page 61: Paranoid Android

Feedback

Happy users don’t rate

but sad ones do...

Don’t ask user to rate you

But ask for feedback

Wednesday, October 9, 13

Page 62: Paranoid Android

TricksDon’t let your app not updated

But not too often

Don’t ask hw requirements (camera, nfc...)

Always use latest sdk

But try staying compatible

Test before publishing

Wednesday, October 9, 13

Page 63: Paranoid Android

</slides>

Like what you see?

GDG Istanbul (every 3. or 4. Saturday)DevFest Istanbul devfesttr.com

...and contact me :)[email protected]@yenermdevchronicles.com

http://slidesha.re/ZaEbzy

Wednesday, October 9, 13