Upgrade to Pro — share decks privately, control downloads, hide ads and more …

My Life in Android

Huyen Tue Dao
February 20, 2017
240

My Life in Android

Huyen's presentation at SINFO 24 about the joys, challenges, and lessons from working in Android.

Huyen Tue Dao

February 20, 2017
Tweet

More Decks by Huyen Tue Dao

Transcript

  1. HUYEN TUE DAO
    @QUEENCODEMONKEY
    My Life in
    Android

    View Slide

  2. Why I love Android
    (and why you might too)
    HUYEN TUE DAO
    @QUEENCODEMONKEY

    View Slide

  3. TECHNICAL
    EXPRESSION
    AND CHALLENGES
    OPPORTUNITIES
    TO DO COOL
    THINGS
    COMMUNITY

    View Slide

  4. WHY ANDROID?

    View Slide

  5. WHY MOBILE?

    View Slide

  6. MOBILE AFFECTS
    HOW WE DO THINGS.

    View Slide

  7. View Slide

  8. View Slide

  9. View Slide

  10. ANNYCE DAVIS
    @BRWNGRLDEV
    ANDROID APP HELPS COORDINATE WORKFORCE
    SALES/CUSTOMER COMMUNICATION
    DIAGNOSTICS FOR UTILITY BOXES VIA NFC

    View Slide

  11. “Book Dash gathers volunteer creative
    professionals to create new, African
    storybooks that anyone can freely translate
    and distribute.”
    REBECCA FRANKS
    @RIGGAROO
    BOOKS AVAILABLE IN 11 OFFICIAL LANGUAGES
    OF SOUTH AFRICA

    View Slide

  12. “As developers, we need to start
    thinking now about how to create
    applications that serve a diverse
    range of users.”
    KELLY SHUSTER
    @KELLYSHUSTER
    ANDROID IS FOR EVERYONE

    View Slide

  13. SO WHAT’S SPECIAL
    ABOUT ANDROID?
    THE ABILITY TO REACH
    MORE PEOPLE.

    View Slide

  14. ANDROID
    88% MARKET SHARE OF ALL SMARTPHONES
    AVG IPHONE PRICE 2.7X THAT OF ANDROID
    97% OF SMARTPHONE USERS IN INDIA HAVE
    ANDROIDS

    View Slide

  15. View Slide

  16. ANDROID
    RESPONSIBILITY TO ALL OF YOUR USERS.
    PART OF YOUR DESIGN AND DEVELOPMENT DECISIONS.
    EFFICIENCY SAVES YOUR USERS PRECIOUS DATA AND
    INCOME.
    MAKES YOU A BETTER ENGINEER.

    View Slide

  17. View Slide

  18. View Slide

  19. OFFLINE MODE
    WANT THE USER TO BE ABLE TO ACCESS THEIR BOARDS
    AND CARDS OFFLINE.
    EASY. DOWNLOAD THEM WHEN WE HAVE NETWORK.
    BUT WAIT! THAT CAN BE A LOT OF DATA.
    BRAZIL IS ONE OF LARGEST USER GROUPS.

    View Slide

  20. View Slide

  21. OFFLINE MODE
    HOW DO WE MAXIMIZE UTILITY OF OFFLINE WHILE MINIMIZING
    BATTERY/DATA DRAIN?
    PRIORITIZING “IMPORTANT” BOARDS AND CARDS.
    SELECTIVE BOARD/CARD DOWNLOADING.
    BATCHING TO MINIMIZE OVERHEAD.
    TEST. TEST. TEST. METRICS. METRICS. METRICS.

    View Slide

  22. “The #1 reason I like
    working in Android is
    because I feel like I’m
    building for the entire
    world. Not a niche, not a
    segment, but EVERYONE.”
    GONÇALO SILVA
    @GONCALOSSILVA

    View Slide

  23. MOBILE CAN HELP
    US EXPRESS
    OURSELVES.

    View Slide

  24. HOLD YOUR CREATIONS
    IN YOUR HAND.

    View Slide

  25. “…wanting to be able to have more of a
    connection with the product [that] I
    was building and doing a client app
    made it feel more tangible.”
    Lien Mamitsuka
    @lientm

    View Slide

  26. “What I loved about Android in the first
    place (and mobile development in
    general) was the fact that I could see
    my code actually running on my phone.”
    Bruno Aybar
    @brunoaybarg

    View Slide

  27. “THERE IS AN APP FOR
    EVERYTHING…”

    View Slide

  28. YOU CAN BUILD AN APP
    FOR ANYTHING.
    THE SKY IS THE LIMIT.

    View Slide

  29. View Slide

  30. DARIO MUNGOI
    @DARIOMUNGOI

    View Slide

  31. DARIO MUNGOI
    @DARIOMUNGOI
    PET PROJECT: DISPLAY INFORMATION AND SHOW TIMES
    FOR LUSOMUNDO IN MOZAMBIQUE
    EVOLVED INTO TICKET SALES FOR FIRST LUSOMUNDO
    AND THEN OTHER EVENTS
    WITH CO-FOUNDER STARTED A CONSULTING COMPANY ON
    TOP OF TICKET BUSINESS

    View Slide

  32. BRUNO AYBAR
    @BRUNOAYBARG
    IMPROVED UPON
    HIS UNIVERSITY’S
    OFFICIAL APP
    BY CREATING A “FAN APP”

    View Slide

  33. ANDROID CAN HELP
    YOU EXPRESS YOUR
    PASSIONS WHATEVER THEY
    MAY BE.

    View Slide

  34. “What I like about mobile is
    that it's so broad, that there
    are so many areas that you
    can be specialised in… and
    that if you're curious, you'll
    never get bored…”
    FLORINA MUNTENESCU
    @FMUNTENESCU

    View Slide

  35. SOFTWARE DESIGN
    ARCHITECTURE
    UI/UX
    HARDWARE
    MACHINE LEARNING
    SECURITY
    TESTING
    GRAPHICS
    MEDIA
    ETC.

    View Slide

  36. ARCHITECTURE
    PATTERNS FOR ORGANIZING AND ARCHITECTING APPS
    FINDING THE APPROACH TO MAXIMIZE MAINTAINABILITY,
    STABILITY, TESTABILITY
    HOW TO MAKE ALL THE DIFFERENT PIECES FIT TOGETHER.
    CREATING THE MOST EFFICIENT, ELEGANT ABSTRACTIONS
    WHILE STILL MAKING EVERYTHING WORK.

    View Slide

  37. View Slide

  38. ARCHITECTURE
    UI/UX
    SECURITY/PRIVACY

    View Slide

  39. HARDWARE
    ANDROID THINGS (PERIPHERAL I/O)
    BLUETOOTH LE
    WIFI P2P
    MANY OTHER HARDWARE APIS

    View Slide

  40. View Slide

  41. UI/UX
    MATERIAL DESIGN
    IMPLEMENTATION OF BEAUTIFUL INTERFACES
    CUSTOM-MADE VIEWS AND EXPERIENCES
    BUILDING A USEFUL, EFFECTIVE UX

    View Slide

  42. View Slide

  43. IMAGE PROCESSING
    UI/UX

    View Slide

  44. MACHINE LEARNING
    DESIGNED WITH MOBILE AND EMBEDDED
    PLATFORMS IN MIND
    EFFICIENT MODELS, REDUCED CODE FOOTPRINT
    INSTANT TRANSLATION LIKE GOOGLE
    TRANSLATE

    View Slide

  45. MOBILE
    CHALLENGES YOU.

    View Slide

  46. MOBILE TEACHES
    YOU NOT TO BE TOO
    COMFORTABLE.

    View Slide

  47. TECHNOLOGY CHANGES.
    …EVEN WHEN YOU WISH IT
    WOULDN’T.

    View Slide

  48. BACK IN
    2010…

    View Slide

  49. NO FLASH PLUGIN
    ON IOS

    View Slide

  50. NOVEMBER 8, 2011
    ADOBE CEASES DEVELOPMENT
    OF FLASH MOBILE PLUGINS

    View Slide

  51. NOVEMBER 12, 2011
    ADOBE DONATES FLEX TO THE
    APACHE FOUNDATION
    “In the long-term, we believe HTML5 will be the best
    technology for enterprise application development.”

    View Slide

  52. THANKS, STEVE.
    SO… GUESS I’M STAYING
    WITH ANDROID THEN?

    View Slide

  53. TECHNOLOGY CHANGES.
    SO SHOULD YOU.

    View Slide

  54. ANDROID FORCES
    YOU TO CHANGE AND
    LEARN.

    View Slide

  55. PLATFORM AND
    FEATURES CHANGE.

    View Slide

  56. ANDROID 7.0:
    MULTI-WINDOW
    CAN YOUR LAYOUTS
    HANDLE IT?

    View Slide

  57. ANDROID 6.0:
    RUNTIME PERMISSIONS
    MORE CONTROL AND
    INFORMATION FOR USER.
    MORE WORK AND UX FOR YOU.

    View Slide

  58. DESIGN AND UX
    CHANGE.

    View Slide

  59. UI/UX PATTERNS EVOLVE.
    TIME AND TESTING REVEAL NEW
    WAYS OF INTERACTING WITH
    THE USER.
    ALWAYS MOVING TOWARDS A
    BETTER EXPERIENCE.
    STILL ROOM TO THINK OUTSIDE THE BOX.

    View Slide

  60. CONVENTIONS AND
    BEST PRACTICES
    CHANGE.

    View Slide

  61. THE NEED FOR SOME
    LIBRARIES CAN COME
    AND GO…

    View Slide

  62. DANNY PREUSSLER
    @PREUSSLERBERLIN
    BERLIN, GERMANY

    View Slide

  63. View Slide

  64. View Slide

  65. ROBOLECTRIC FILLED
    GAPS IN UNIT TESTING
    ON ANDROID.

    View Slide

  66. LATER GOOGLE FILLED
    THAT GAP BY BRINGING
    UNIT TESTING SUPPORT.

    View Slide

  67. WE LEARN WHAT WORKS AND
    WHAT DOESN’T.
    TECHNOLOGY AND APIS
    IMPROVE.

    View Slide

  68. EVEN LANGUAGE
    CHANGES.

    View Slide

  69. 6, 7, + 7/8

    View Slide

  70. …ALSO

    View Slide

  71. “MODERN LANGUAGE”
    NOT OFFICIALLY SUPPORTED BY GOOGLE
    BEST PRACTICES/STYLES?

    View Slide

  72. ALWAYS SOMETHING NEW COMING.
    EVERYONE GETS SHAKEN UP.
    WE ALL LEARN AND ADAPT TOGETHER.
    ANDROID IS A COMMUNITY PROJECT.

    View Slide

  73. COMMUNITY IS AWESOME.
    IF YOU LISTEN TO ONE THING
    I SAY TODAY, PLEASE LET IT
    BE THIS…

    View Slide

  74. NO MATTER WHAT TECHNOLOGY OR
    INDUSTRY YOU ENTER, FIND A
    COMMUNITY TO RECEIVE AND TO GIVE
    SUPPORT AND KNOWLEDGE.

    View Slide

  75. COMMUNITY IS ONE OF THE MOST VALUABLE RESOURCES THAT AN ENGINEER CAN HAVE

    View Slide

  76. COMMUNITY
    PROVIDES OPPORTUNITY.
    GENERATES TECHNICAL KNOWLEDGE.
    PROVIDES GUIDANCE AND FEEDBACK.
    BRINGS SOCIAL INTERACTION TO THE SOMETIMES SHY ENGINEER.

    View Slide

  77. OKAY, LOOK…
    THE ANDROID COMMUNITY IS AMAZING.
    IT IS ONE OF MY FAVORITE THINGS
    ABOUT BEING AN ANDROID DEVELOPER.

    View Slide

  78. GOOGLE DEVELOPER GROUPS
    DEVELOPER GROUPS RECOGNIZED BY GOOGLE.
    VERY INDEPENDENT.
    RECEIVE SOME ASSISTANCE TO THROW EVENTS LIKE DEVFEST.
    THERE ARE MANY OF THEM.
    NOT STRICTLY ANDROID BUT ANDROID COMMUNITY IS AN IMPORTANT
    PART OF GDGS AND VICE VERSA.

    View Slide

  79. View Slide

  80. GDG LISBON
    JUST ONE PART OF A STRONG TECH COMMUNITY IN LISBON.
    COLLABORATES WITH OTHER LOCAL GROUPS: AndroidLx,
    MobileLx, AngularLx, Azure Cloud Pro, AzureLisbon,
    BigDataPortugal, MongoDbLx, SINFO
    COLLABORATES WITH LOCAL UNIVERSITIES: IST, FCUL, ISE

    View Slide

  81. GDG LISBON
    OPEN: ANYONE CAN SUGGESTION A TALK OR
    EVENT AND GDG LISBON WILL ORGANIZE IT.
    MONTHLY MEET UPS + DEVFEST + ANDROID
    STUDYJAM
    MEETUP.COM/GDGLISBON
    GDGPORTUGAL.XYZ
    FILIPE BARROSO
    @ABARROSO

    View Slide

  82. LUSOPHONE ANDROID
    COMMUNITY
    ORGANIZES GDG SÃO PAULO
    SLACK LUSOPHONE ANDROID COMMUNITY
    slack.androidevbr.org
    MEMBERS FROM BRAZIL, PORTUGAL, MOZAMBIQUE, AND
    OTHER PORTUGUESE-SPEAKING COUNTRIES
    COMMUNITY SHARES REAL-WORLD USE CASES OF ANDROID
    WALMYR CARVALHO
    @WALMYRCARVALHO

    View Slide

  83. DARIO MUNGOI
    @DARIOMUNGOI
    LUSOPHONE ANDROID
    COMMUNITY
    GDG MENTOR FOR THE AFRICAN LUSOPHONE COUNTRIES
    WRITES A SERIES OF ANDROID BEGINNER POSTS IN
    PORTUGUESE @ dariomungoi.wordpress.com
    “I really love the way the community is so vibrant: the
    large amount of content and resources to help developers
    succeed and build high quality apps.”

    View Slide

  84. AND OF COURSE, THE REST
    OF THE ANDROID
    COMMUNITY WELCOMES
    YOU AS WELL.

    View Slide

  85. THE ANDROID COMMUNITY
    TRULY GLOBAL, INCREDIBLY ACTIVE, COMES IN MANY DIFFERENT FORMS.
    LOTS OF PARTICIPATION AND ACTIVITY FROM ANDROID GOOGLERS.
    A HUGE NETWORK OF CONFERENCES AS WELL AS MEET UPS: DEVFESTS +
    DROIDCONS
    ONLINE COMMUNITIES LIKE SLACK CHANNELS
    ANDROID COMMUNITY MEDIA: PODCASTERS AND YOUTUBERS

    View Slide

  86. ANDROID IS VIBRANT.
    CHALLENGING.
    REWARDING.
    ANYWHERE.

    View Slide

  87. THANK YOU!
    SPEAKERDECK.COM/QUEENCODEMONKEY
    YOUTUBE.COM/ANDROIDDIALOGS
    RANDOMLYTYPING.COM
    HUYEN TUE DAO
    @QUEENCODEMONKEY

    View Slide

  88. REFERENCES
    ANDROID HISTORY
    http://www.androidcentral.com/android-history
    ANDROID | WIKIPEDIA
    https://en.wikipedia.org/wiki/Android_(operating_system)
    THE EVOLUTION OF CELL PHONE DESIGN BETWEEN 1983–2009
    http://www.webdesignerdepot.com/2009/05/the-evolution-of-cell-phone-design-between-1983-2009/
    BLACKBERRY 6210 | ALL-TIME 100 GADGETS
    http://content.time.com/time/specials/packages/article/0,28804,2023689_2023708_2023714,00.html
    OPEN HANDSET ALLIANCE
    http://www.openhandsetalliance.com/index.html
    OPEN HANDSET ALLIANCE | WIKIPEDIA
    https://en.wikipedia.org/wiki/Open_Handset_Alliance

    View Slide

  89. REFERENCES
    A LOOK BACK AT SOONER, GOOGLE’S FIRST ANDROID PHONE
    http://www.androidcentral.com/look-back-google-sooner-first-android-phone
    A BRIEF HISTORY OF ANDROID PHONES
    https://www.cnet.com/news/a-brief-history-of-android-phones/
    THE 20 GREATEST MILESTONES OF ANDROID’S FIRST FIVE YEARS
    http://www.cio.com/article/2369687/android-os/125072-The-20-greatest-milestones-of-Androids-first-five-
    years.html#slide21
    MOBILE INTERNET USE PASSES DESKTOP FOR THE FIRST TIME, STUDY FINDS
    https://techcrunch.com/2016/11/01/mobile-internet-use-passes-desktop-for-the-first-time-study-finds/
    ANDROID JUST HIT A RECORD 88% MARKET SHARE OF ALL SMARTPHONES
    https://qz.com/826672/android-goog-just-hit-a-record-88-market-share-of-all-smartphones/
    THE DATA TRAP: AFFORDABLE SMARTPHONES, EXPENSIVE MOBILE DATA
    http://blog.jana.com/blog/2015/05/21/the-data-trap-affordable-smartphones-expensive-data

    View Slide

  90. REFERENCES
    OFF GRID ELECTRIC
    http://offgrid-electric.com/
    BOOK DASH
    http://bookdash.org/
    LIEN MAMITSUKA, GESTURES | ANDROID DIALOGS
    https://youtu.be/2O1uz4Tpy0o
    MOOVI
    http://www.moovimz.com/
    APPLE AND ADOBE FLASH CONTROVERSY | WIKIPEDIA
    https://en.wikipedia.org/wiki/Apple_and_Adobe_Flash_controversy
    KOTLIN | JETBRAINS
    https://kotlinlang.org/
    SCALA
    https://www.scala-lang.org/

    View Slide

  91. REFERENCES
    ANDROID ARCHITECTURE BLUEPRINTS
    https://github.com/googlesamples/android-architecture
    GDG LISBOA - APRESENTAÇÃO
    https://docs.google.com/presentation/d/1jzi1txudTopHAcyvymffAPB7bNUG1Fs4j8oevxACNUM/
    edit#slide=id.p
    GDG PORTUGAL
    https://gdgportugal.xyz/

    View Slide