(even more) paranoid android

63
Paranoid Android Murat Yener Wednesday, October 9, 13

Upload: murat-yener

Post on 12-May-2015

775 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: (even more) Paranoid Android

Paranoid AndroidMurat Yener

Wednesday, October 9, 13

Page 2: (even more) 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: (even more) 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: (even more) Paranoid Android

My Story: 1.5 Cupcake

My First Android Device!!

Wednesday, October 9, 13

Page 5: (even more) Paranoid Android

1.6 Donut

My First Apps!!Wednesday, October 9, 13

Page 6: (even more) Paranoid Android

2.0 Eclair

First Real Apps!!Wednesday, October 9, 13

Page 7: (even more) Paranoid Android

2.2 Froyo

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

Page 8: (even more) Paranoid Android

2.3 Gingerbread

and I go Paranoid,

UI

Performance

Navigation

...

Wednesday, October 9, 13

Page 9: (even more) Paranoid Android

3.0 Honeycomb

tablets anyone?!?

Wednesday, October 9, 13

Page 10: (even more) Paranoid Android

4.0 Ice Cream Sandwich

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

Page 11: (even more) Paranoid Android

4.2 Jelly Bean

even Google!!!

android design

best practices

...

Wednesday, October 9, 13

Page 12: (even more) Paranoid Android

4.2 Jelly Bean

even Google!!!

android design

best practices

...

Wednesday, October 9, 13

Page 13: (even more) Paranoid Android

from paranoid to magical

UI

UX

Performance

Google Play

Wednesday, October 9, 13

Page 14: (even more) Paranoid Android

from paranoid to magical

UI

UX

Performance

Google Play

and promise, last photo of me..

Wednesday, October 9, 13

Page 15: (even more) Paranoid Android

Paranoid AndroidMurat Yener

Wednesday, October 9, 13

Page 16: (even more) Paranoid Android

Paranoid AndroidMurat Yener

Wednesday, October 9, 13

Page 17: (even more) Paranoid Android

Paranoid AndroidMurat Yener

Magical

Wednesday, October 9, 13

Page 18: (even more) 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: (even more) 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: (even more) 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: (even more) 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: (even more) Paranoid Android

The User Experience

Wednesday, October 9, 13

Page 23: (even more) Paranoid Android

Users are (simply) users

Controller

USBethernet

video in?

Touch Screen

Wednesday, October 9, 13

Page 24: (even more) Paranoid Android

Users are (simply) users

Controller

USBethernet

video in?

Touch Screen

Wednesday, October 9, 13

Page 25: (even more) Paranoid Android

Users are (simply) users

Controller

USBethernet

video in?

Touch Screen

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

Page 26: (even more) 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: (even more) Paranoid Android

Test UX with Users

Users are not developers

nor designers!!

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

Page 28: (even more) Paranoid Android

Test UX with Users

Users are not developers

nor designers!!

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

Page 29: (even more) Paranoid Android

Test UX with Users

Users are not developers

nor designers!!

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

Page 30: (even more) Paranoid Android

Test UX with Users

Users are not developers

nor designers!!

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

Page 31: (even more) Paranoid Android

Case Study

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

Page 32: (even more) Paranoid Android

The User Interface

Wednesday, October 9, 13

Page 33: (even more) 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: (even more) Paranoid Android

Design, responsively!

Different Devices

Wednesday, October 9, 13

Page 35: (even more) Paranoid Android

Design, responsively!

Different Devices

Wednesday, October 9, 13

Page 36: (even more) 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: (even more) 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: (even more) 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: (even more) 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: (even more) 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: (even more) 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: (even more) 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: (even more) 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: (even more) 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: (even more) 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: (even more) Paranoid Android

Performance

Wednesday, October 9, 13

Page 47: (even more) 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: (even more) 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: (even more) 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: (even more) Paranoid Android

The big Cookie Model

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

Page 51: (even more) Paranoid Android

Defragment Network

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

Page 52: (even more) 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: (even more) Paranoid Android

Stability

Test!

Use Lint

Use real devices

Wednesday, October 9, 13

Page 54: (even more) Paranoid Android

Stability

Test!

Use Lint

Use real devices

Wednesday, October 9, 13

Page 55: (even more) Paranoid Android

Google Play

Wednesday, October 9, 13

Page 56: (even more) Paranoid Android

Respect Users

UX

UI

Performance

there is more...

notifications!!!

Wednesday, October 9, 13

Page 57: (even more) 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: (even more) 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: (even more) 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: (even more) 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: (even more) 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: (even more) 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: (even more) 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