Paranoid Android

1,688 views

Published on

Android Development best practices. GDG Istanbul, Murat Yener

Published in: Technology
  • Be the first to comment

Paranoid Android

  1. 1. Paranoid AndroidMurat YenerSunday, April 21, 13
  2. 2. who (the hell) am I?!?Java, Flex, GWT, iOS, Android developerPrinciple Mentor at EterationEclipse CommitterGDG (GTUG) Istanbul OrganizerConference SpeakerSunday, April 21, 13
  3. 3. paranoid?!?“is a mental disorder characterized by paranoia anda pervasive, long-standing suspiciousness andgeneralized mistrust of others. Individuals withthis personality disorder may be hypersensitive,easily feel slighted, and habitually relate to theworld by vigilant scanning of the environment forclues or suggestions that may validate their fearsor biases. Paranoid individuals are eagerobservers. They think they are in danger and lookfor signs and threats of that danger, potentiallynot appreciating other evidence.”Sunday, April 21, 13
  4. 4. My Story: 1.5 CupcakeMy First Android Device!!Sunday, April 21, 13
  5. 5. 1.6 DonutMy First Apps!!Sunday, April 21, 13
  6. 6. 2.0 EclairFirst Real Apps!!Sunday, April 21, 13
  7. 7. 2.2 FroyoHey I am an android developer!!Sunday, April 21, 13
  8. 8. 2.3 Gingerbreadand I go Paranoid,UIPerformanceNavigation...Sunday, April 21, 13
  9. 9. 3.0 Honeycombtablets anyone?!?Sunday, April 21, 13
  10. 10. 4.0 Ice Cream Sandwicheveryone goes paranoid!!!Sunday, April 21, 13
  11. 11. 4.2 Jelly Beaneven Google!!!android designbest practices...Sunday, April 21, 13
  12. 12. from paranoid to magicalUIUXPerformanceGoogle PlaySunday, April 21, 13
  13. 13. from paranoid to magicalUIUXPerformanceGoogle Playand promise, last photo of me..Sunday, April 21, 13
  14. 14. Paranoid AndroidMurat YenerSunday, April 21, 13
  15. 15. Paranoid AndroidMurat YenerSunday, April 21, 13
  16. 16. Paranoid AndroidMurat YenerMagicalSunday, April 21, 13
  17. 17. Developers and MagicDon’t know the trick - MugglesKnow the trick - SquibCan do the trick - WizardSunday, April 21, 13
  18. 18. Developers and MagicDon’t know the trick - MugglesKnow the trick - SquibCan do the trick - Wizardthe userSunday, April 21, 13
  19. 19. Developers and MagicDon’t know the trick - MugglesKnow the trick - SquibCan do the trick - Wizardthe userI.T. guySunday, April 21, 13
  20. 20. Developers and MagicDon’t know the trick - MugglesKnow the trick - SquibCan do the trick - Wizardthe userI.T. guythe developerSunday, April 21, 13
  21. 21. The User ExperienceSunday, April 21, 13
  22. 22. Users are (simply) usersControllerUSBethernetvideo in?Touch ScreenSunday, April 21, 13
  23. 23. Users are (simply) usersControllerUSBethernetvideo in?Touch ScreenSunday, April 21, 13
  24. 24. Users are (simply) usersControllerUSBethernetvideo in?Touch Screenwhich one is magical??Sunday, April 21, 13
  25. 25. User eXperienceless is morebe invisible! just as if you’re part of the OSsplash screenssimple navigationpopups or launching the browserforced loginextensive use of tutorialsSunday, April 21, 13
  26. 26. Test UX with UsersUsers are not developersnor designers!!Rule of the magician: Consider your auidienceSunday, April 21, 13
  27. 27. Test UX with UsersUsers are not developersnor designers!!Rule of the magician: Consider your auidienceSunday, April 21, 13
  28. 28. Test UX with UsersUsers are not developersnor designers!!Rule of the magician: Consider your auidienceSunday, April 21, 13
  29. 29. Test UX with UsersUsers are not developersnor designers!!Rule of the magician: Consider your auidienceSunday, April 21, 13
  30. 30. Case Studynot even one successful app order!!Sunday, April 21, 13
  31. 31. The User InterfaceSunday, April 21, 13
  32. 32. Design, the android wayAndroid has its own design, USE ITwww.developer.android.com/designDon’t just copy from otherplatformsSunday, April 21, 13
  33. 33. Design, responsively!Different DevicesSunday, April 21, 13
  34. 34. Design, responsively!Different DevicesSunday, April 21, 13
  35. 35. Design, responsively!!Let your apps scale, useRelativeLayout, GridLayout,LinearLayoutLet your resources scale! use 9patch.Never resize images. Use differentsizes (mdpi, hdpi, xhdpi...)Draw in XML or code (gradient..)http://developer.android.com/tools/help/draw9patch.htmlfor adapters!!!Sunday, April 21, 13
  36. 36. Design, responsively!!!Don’t just scale! ornext time Applemay make fun ofyou!Use FragmentsSunday, April 21, 13
  37. 37. FragmentsPhoneTabletPortraitLandscapeDo not assume device is portrait or landscapedefault orientations: Nexus7/portrait, Nexus10/landscapeSunday, April 21, 13
  38. 38. Control your hardwareboolean  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.htmlSunday, April 21, 13
  39. 39. more on design!android tabs are at the top!use swipe views (even in tabs)we (already) have back buttonoptions hard button has goneso does soft menu buttonSunday, April 21, 13
  40. 40. more on design!android tabs are at the top!use swipe views (even in tabs)we (already) have back buttonoptions hard button has goneso does soft menu buttonSunday, April 21, 13
  41. 41. more on design!android tabs are at the top!use swipe views (even in tabs)we (already) have back buttonoptions hard button has goneso does soft menu buttonSunday, April 21, 13
  42. 42. more on designmake use of ADT(localization, themes,screen sizes)visit Android Designwork with a designerand use stencils!Sunday, April 21, 13
  43. 43. more on designmake use of ADT(localization, themes,screen sizes)visit Android Designwork with a designerand use stencils!Sunday, April 21, 13
  44. 44. more on designmake use of ADT(localization, themes,screen sizes)visit Android Designwork with a designerand use stencils!Sunday, April 21, 13
  45. 45. PerformanceSunday, April 21, 13
  46. 46. Keep your UI responsiveLinear Layout? okonly if not nestingviewsuse Hierarchy Viewto cut downNever lock UI threaduse AsyncTask!!make use of servicesSunday, April 21, 13
  47. 47. Keep your UI responsiveLinear Layout? okonly if not nestingviewsuse Hierarchy Viewto cut downNever lock UI threaduse AsyncTask!!make use of servicesSunday, April 21, 13
  48. 48. Respect the BatteryYou are on the list?You are doing it wrong!!A phone’s main job isbeing a phone, no appcan change it!unregister services andlistenersSunday, April 21, 13
  49. 49. Use less networkSmaller dataless transferscaching*cookie modelby Reto Meier**Making good apps great, Google I/O 2012Sunday, April 21, 13
  50. 50. The big Cookie Model**Making good apps great, Google I/O 2012Sunday, April 21, 13
  51. 51. Defragment Network**Making good apps great, Google I/O 2012Sunday, April 21, 13
  52. 52. but how?Cache dataQueue requests (also good for offline)Check connection (get more data when onwifi and again cache!)Get needed data at oncehttp://developer.android.com/training/efficient-downloadsSunday, April 21, 13
  53. 53. StabilityTest!Use LintUse real devicesSunday, April 21, 13
  54. 54. Google PlaySunday, April 21, 13
  55. 55. Respect UsersUXUIPerformancethere is more...notifications!!!Sunday, April 21, 13
  56. 56. FeedbackHappy users don’t ratebut sad ones do...Don’t ask user to rate youBut ask for feedbackSunday, April 21, 13
  57. 57. FeedbackHappy users don’t ratebut sad ones do...Don’t ask user to rate youBut ask for feedbackSunday, April 21, 13
  58. 58. FeedbackHappy users don’t ratebut sad ones do...Don’t ask user to rate youBut ask for feedbackSunday, April 21, 13
  59. 59. TricksDon’t let your app not updatedBut not too oftenDon’t ask hw requirements (camera, nfc...)Always use latest sdkBut try staying compatibleTest before publishingSunday, April 21, 13
  60. 60. </slides>Like what you see?GDG Istanbul (every 3. or 4. Saturday)Android Developer Days...and contact me :)murat@muratyener.com@yenermdevchronicles.comblogs.eteration.comSunday, April 21, 13
  61. 61. </slides>Like what you see?GDG Istanbul (every 3. or 4. Saturday)Android Developer Days...and contact me :)murat@muratyener.com@yenermdevchronicles.comblogs.eteration.comSunday, April 21, 13

×