paranoid android
Post on 12-May-2015
1.139 Views
Preview:
DESCRIPTION
TRANSCRIPT
Paranoid AndroidMurat Yener
Sunday, April 21, 13
who (the hell) am I?!?
Java, Flex, GWT, iOS, Android developer
Principle Mentor at Eteration
Eclipse Committer
GDG (GTUG) Istanbul Organizer
Conference Speaker
Sunday, April 21, 13
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.”
Sunday, April 21, 13
My Story: 1.5 Cupcake
My First Android Device!!
Sunday, April 21, 13
1.6 Donut
My First Apps!!Sunday, April 21, 13
2.0 Eclair
First Real Apps!!Sunday, April 21, 13
2.2 Froyo
Hey I am an android developer!!Sunday, April 21, 13
2.3 Gingerbread
and I go Paranoid,
UI
Performance
Navigation
...
Sunday, April 21, 13
3.0 Honeycomb
tablets anyone?!?
Sunday, April 21, 13
4.0 Ice Cream Sandwich
everyone goes paranoid!!!Sunday, April 21, 13
4.2 Jelly Bean
even Google!!!
android design
best practices
...
Sunday, April 21, 13
from paranoid to magical
UI
UX
Performance
Google Play
Sunday, April 21, 13
from paranoid to magical
UI
UX
Performance
Google Play
and promise, last photo of me..
Sunday, April 21, 13
Paranoid AndroidMurat Yener
Sunday, April 21, 13
Paranoid AndroidMurat Yener
Sunday, April 21, 13
Paranoid AndroidMurat Yener
Magical
Sunday, April 21, 13
Developers and Magic
Don’t know the trick - Muggles
Know the trick - Squib
Can do the trick - Wizard
Sunday, April 21, 13
Developers and Magic
Don’t know the trick - Muggles
Know the trick - Squib
Can do the trick - Wizard
the user
Sunday, April 21, 13
Developers and Magic
Don’t know the trick - Muggles
Know the trick - Squib
Can do the trick - Wizard
the userI.T. guy
Sunday, April 21, 13
Developers and Magic
Don’t know the trick - Muggles
Know the trick - Squib
Can do the trick - Wizard
the userI.T. guythe developer
Sunday, April 21, 13
The User Experience
Sunday, April 21, 13
Users are (simply) users
Controller
USBethernet
video in?
Touch Screen
Sunday, April 21, 13
Users are (simply) users
Controller
USBethernet
video in?
Touch Screen
Sunday, April 21, 13
Users are (simply) users
Controller
USBethernet
video in?
Touch Screen
which one is magical??Sunday, April 21, 13
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
Sunday, April 21, 13
Test UX with Users
Users are not developers
nor designers!!
Rule of the magician: Consider your auidienceSunday, April 21, 13
Test UX with Users
Users are not developers
nor designers!!
Rule of the magician: Consider your auidienceSunday, April 21, 13
Test UX with Users
Users are not developers
nor designers!!
Rule of the magician: Consider your auidienceSunday, April 21, 13
Test UX with Users
Users are not developers
nor designers!!
Rule of the magician: Consider your auidienceSunday, April 21, 13
Case Study
not even one successful app order!!Sunday, April 21, 13
The User Interface
Sunday, April 21, 13
Design, the android way
Android has its own design, USE IT www.developer.android.com/design
Don’t just copy from other platforms
Sunday, April 21, 13
Design, responsively!
Different Devices
Sunday, April 21, 13
Design, responsively!
Different Devices
Sunday, April 21, 13
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!!!
Sunday, April 21, 13
Design, responsively!!!
Don’t just scale! or next time Apple may make fun of you!
Use Fragments
Sunday, April 21, 13
Fragments
Phone
Tablet
Portrait
Landscape
Do not assume device is portrait or landscape default orientations: Nexus7/portrait, Nexus10/landscape
Sunday, April 21, 13
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
Sunday, April 21, 13
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
Sunday, April 21, 13
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
Sunday, April 21, 13
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
Sunday, April 21, 13
more on design
make use of ADT (localization, themes, screen sizes)
visit Android Design
work with a designer
and use stencils!
Sunday, April 21, 13
more on design
make use of ADT (localization, themes, screen sizes)
visit Android Design
work with a designer
and use stencils!
Sunday, April 21, 13
more on design
make use of ADT (localization, themes, screen sizes)
visit Android Design
work with a designer
and use stencils!
Sunday, April 21, 13
Performance
Sunday, April 21, 13
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
Sunday, April 21, 13
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
Sunday, April 21, 13
Respect the Battery
You are on the list? You are doing it wrong!!
A phone’s main job is being a phone, no app can change it!
unregister services and listeners
Sunday, April 21, 13
Use less network
Smaller data
less transfers
caching
*cookie model by Reto Meier
**Making good apps great, Google I/O 2012
Sunday, April 21, 13
The big Cookie Model
**Making good apps great, Google I/O 2012Sunday, April 21, 13
Defragment Network
**Making good apps great, Google I/O 2012Sunday, April 21, 13
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
Sunday, April 21, 13
Stability
Test!
Use Lint
Use real devices
Sunday, April 21, 13
Google Play
Sunday, April 21, 13
Respect Users
UX
UI
Performance
there is more...
notifications!!!
Sunday, April 21, 13
Feedback
Happy users don’t rate
but sad ones do...
Don’t ask user to rate you
But ask for feedback
Sunday, April 21, 13
Feedback
Happy users don’t rate
but sad ones do...
Don’t ask user to rate you
But ask for feedback
Sunday, April 21, 13
Feedback
Happy users don’t rate
but sad ones do...
Don’t ask user to rate you
But ask for feedback
Sunday, April 21, 13
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
Sunday, April 21, 13
</slides>Like what you see?
GDG Istanbul (every 3. or 4. Saturday)Android Developer Days
...and contact me :)murat@muratyener.com@yenermdevchronicles.comblogs.eteration.com
Sunday, April 21, 13
</slides>Like what you see?
GDG Istanbul (every 3. or 4. Saturday)Android Developer Days
...and contact me :)murat@muratyener.com@yenermdevchronicles.comblogs.eteration.com
Sunday, April 21, 13
top related