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

Seu app é seu castelo: construindo aplicações para Android que respeitem os usuários

Seu app é seu castelo: construindo aplicações para Android que respeitem os usuários

This talk was held during CapiConf 2019, one of the biggest tech conferences in Brazil, that happened on May 10th - 11th, 2019, in Curitiba, Brazil.

I've talked about what I consider an application that respect user needs and context and what could you do to improve your app quality in terms of design, architecture, network reliability and more, with proper demos of Material Components, Jetpack APIs and tools and some metrics tips.

The content is in pt-BR.

More info: https://capiconf.com/

Walmyr Carvalho

May 11, 2019
Tweet

More Decks by Walmyr Carvalho

Other Decks in Technology

Transcript

  1. Seu app é seu castelo.
    Construindo aplicações para Android que
    respeitam os usuários!
    Walmyr Carvalho
    Founder, Developer & Designer @ Kusudama

    Google Developer Expert, Android

    View full-size slide

  2. Olá CapiConf,
    meu nome é WalmyrCarvalho! :)

    View full-size slide

  3. CapiConf 2017
    Foi daora! ❤✨

    View full-size slide

  4. Trabalho com desenvolvimento Android há 9
    anos e sou um Google Developer Experts de
    Android no Brasil há 3 anos.
    Além disso, estou muito próximo da
    comunidade nacional de Android, sendo
    organizador do GDG São Paulo, Kotlin Meetup
    São Paulo e Android Dev BR, a maior
    comunidade brasileira de Android do mundo,
    com mais de 5.000 pessoas!


    Também apoio o empreendedorismo nacional,
    sendo mentor de Android e mobile no Google
    Developers Launchpad Accelerator e na ACE
    Startups.

    View full-size slide

  5. Já ajudei a evoluir produtos mobile
    para empresas como Loggi, 99, Cielo,
    CI&T, Hotel Urbano e Globo Esporte,
    durante mais de 8 anos de carreira
    como desenvolvedor Android.
    Fonte: Google Play

    View full-size slide

  6. Nesse ano fundei a Kusudama, um
    estúdio de design e desenvolvimento
    de produtos digitais para Android e
    iOS que tem como objetivo criar
    soluções que tratem os usuários
    mobile com respeito.

    View full-size slide

  7. Qual é a melhor aplicação
    que você já usou no seu smartphone?

    View full-size slide

  8. Fonte: Google Play

    View full-size slide

  9. Em boa parte desses projetos existe
    um time relativamente grande por trás,
    garantindo que o produto cresça e evolua
    de forma saudável e com agilidade.

    View full-size slide

  10. Mas o que define se um aplicativo é bom ou
    não? Qual é o critério que a gente usa?

    View full-size slide

  11. A "pior" resposta de todas: depende!

    • Sua aplicação é gratuita ou paga?
    • É uma ferramenta ou um serviço?
    • Só funciona no Brasil ou também no
    exterior?
    • Qual é a versão mínima do OS que ela
    suporta?
    • Funciona só em smartphones ou também
    em tablets?
    • Tem versões para iOS e Android?

    View full-size slide

  12. No desenvolvimento de aplicações mobile,
    ter o contexto certo é a chave de muitas
    situações desafiadoras e importantes.

    View full-size slide

  13. Pixel 3

    Galaxy S8

    Moto G

    View full-size slide

  14. Além da qualidade dos nossos dispositivos,
    existe outro desafio grande: internet!

    View full-size slide

  15. Internet é tudo, tanto pra quem faz
    quanto pra quem usa!

    • Carregamento de dados em geral (emails,
    tweets, etc)
    • Streaming de mídia (áudio, vídeo, etc)
    • Mapas e geolocalização
    • Sincronização entre dispositivos
    • Cache de informações importantes
    (passagens aéreas, documentos, etc)
    • Memes e gifs legais (importante)

    View full-size slide

  16. Do ponto de vista de produto, existem
    diversas soluções excelentes para mitigar
    situações ruins de conexão de internet nos
    dispositivos mobile das pessoas.

    View full-size slide

  17. Lite
    Normal
    Fonte: Google Play

    View full-size slide

  18. Offline Ride - Ola (ride sharing)
    Em 2016 a Ola, uma das maiores empresas de
    ride sharing da India e Austrália, anunciou o
    suporte a solicitação de corridas offline pelo
    celular, utilizando SMS.
    bit.do/ola-offline-rides
    Fonte: Gadgets 360º

    View full-size slide

  19. Tanto um bom smartphone quanto uma
    boa internet são privilégios em muitos
    lugares, portanto sempre precisamos ter
    empatia durante o desenvolvimento de
    aplicações mobile.

    View full-size slide

  20. bit.do/android-go

    View full-size slide

  21. Android Go, uma experiência pensada
    para devices mais simples e conexão
    reduzida!

    • Utiliza menos recursos do aparelho
    • Gerenciamento de armazenamento
    • Aplicações para gerenciar dados
    • Performance otimizada
    • Segurança reforçada
    bit.do/android-go

    View full-size slide

  22. Quais são os aspectos que
    tornam uma aplicação boa de fato?

    View full-size slide

  23. Tamanho do download
    Login e onboarding Experiência de uso
    Idioma e localização
    Baixa conectividade
    Suporte
    Acessibilidade Versão suportada
    Preço
    Crash-free
    Segurança
    Privacidade
    Ofuscação de código
    Feature toggles Tamanho de payloads (API)
    Métricas internas
    Login (Google, GitHub, etc) Push notifications
    Certificate Pinning
    SSL e HTTPS
    Tipo de API (REST, GraphQL)
    OAuth, JWT e sessões Leitor de digitais Performance

    View full-size slide

  24. Tamanho do download
    Login e onboarding
    Experiência de uso
    Idioma e localização
    Suporte
    Acessibilidade
    Versão suportada
    Preço
    Segurança
    Privacidade
    Ofuscação de código
    Feature toggles
    Tamanho de payloads (API)
    Métricas internas
    Login (Google, GitHub, etc)
    Push notifications
    Certificate Pinning
    SSL e HTTPS
    Tipo de API (REST, GraphQL)
    OAuth, JWT e sessões
    Leitor de digitais
    Performance
    Baixa conectividade
    Crash-free

    View full-size slide

  25. Tamanho do download
    Login e onboarding
    Experiência de uso
    Idioma e localização
    Suporte
    Acessibilidade
    Versão suportada
    Preço
    Segurança
    Privacidade
    Ofuscação de código
    Feature toggles
    Tamanho de payloads (API)
    Métricas internas
    Login (Google, GitHub, etc)
    Push notifications
    Certificate Pinning
    SSL e HTTPS
    Tipo de API (REST, GraphQL)
    OAuth, JWT e sessões
    Leitor de digitais
    Performance
    Baixa conectividade
    Crash-free
    Macro Micro

    View full-size slide

  26. Óbvio que existe uma série de outras coisas
    super importantes, mas existe uma base
    sólida necessária para toda aplicação.

    View full-size slide

  27. Métricas +
    Dados
    Arquitetura +
    Qualidade
    Offline +
    Redundância
    Experiência

    View full-size slide

  28. Disclaimer: Vou passar algumas
    recomendações que eu acredito que
    colaboram para esses pilares que comentei,
    mas nada aqui é escrito em pedra!

    View full-size slide

  29. De forma prática,
    como podemos construir aplicações
    Android e mobile melhores?

    View full-size slide

  30. Material Design:
    Um leve flashback… ⏳

    View full-size slide

  31. O Material Design é um design language
    criado pelo Google em 2014, com o
    objetivo de se unificar experiências entre
    produtos para mobile, tablet, desktop e
    até mesmo wearables, carros e TVs.

    View full-size slide

  32. Fonte: Google

    View full-size slide

  33. Os resultados foram excelentes, inclusive
    com empresas convertendo mais após
    adotarem o Material Design em seus
    projetos, por exemplo.

    View full-size slide

  34. Mas um ponto que se percebeu é que
    algumas aplicações perdiam um pouco
    a sua marca no meio de tantos
    aplicativos similares.

    View full-size slide

  35. Como flexibilizar o Material Design para
    resolver esse tipo de problema?

    View full-size slide

  36. Material Theming:
    “Make branding great again” ✨

    View full-size slide

  37. O Material Theming é a possibilidade de
    se flexibilizar o Material Design para
    melhor refletir a marca do seu produto.

    View full-size slide

  38. Material Components
    GitHub
    bit.do/material-components-github

    View full-size slide

  39. bit.do/talk-walmyr-material

    View full-size slide

  40. Android Jetpack:
    Estruturando minha aplicação de
    forma eficiente!

    View full-size slide

  41. O Android Jetpack é um conjunto de
    bibliotecas, ferramentas e guias que
    ajudam você a desenvolver aplicações de
    alto nível sem muita dor de cabeça.

    View full-size slide

  42. Android Jetpack - Android Developers
    Página oficial
    developers.android.com/jetpack
    Fonte: Android Developers

    View full-size slide

  43. Ou seja, com as bibliotecas do Jetpack
    você consegue construir aplicações
    sólidas, confiáveis e redundantes em
    situações adversas.

    View full-size slide

  44. Fonte: Google
    bit.do/android-jetpack-youtube

    View full-size slide

  45. Google - Android Sunflower
    GitHub
    bit.do/android-sunflower-github

    View full-size slide

  46. Métricas:
    O que, quando e como medir?

    View full-size slide

  47. As métricas de um aplicativo devem
    servir para alguns propósitos, como
    prover informações valiosas pra evolução
    do negócio, produto e

    View full-size slide

  48. Firebase Analytics
    Página oficial
    firebase.google.com/docs/analytics
    Fonte: Firebase

    View full-size slide

  49. Crashlytics - Firebase
    Página oficial
    firebase.google.com/docs/crashlytics
    Fonte: Firebase

    View full-size slide

  50. Importante: o usuário deve estar no
    centro das suas métricas como objetivo
    de melhorar o produto, sejamos
    sensatos ao usar dados sensíveis,
    respeitando sempre os usuários

    View full-size slide

  51. Se eu quiser aprender mais,
    onde eu posso ir?

    View full-size slide

  52. Android Developers
    Página oficial
    developers.android.com
    Fonte: Google

    View full-size slide

  53. Kotlin - Android Developers
    Página oficial
    developers.android.com/kotlin
    Fonte: Android Developers

    View full-size slide

  54. Android Jetpack - Android Developers
    Página oficial
    developers.android.com/jetpack
    Fonte: Android Developers

    View full-size slide

  55. Material Design
    Página oficial
    material.io
    Fonte: Material Design

    View full-size slide

  56. Kotlin/Everywhere
    Evento
    kotl.in/everywhere
    Fonte: JetBrains Blog

    View full-size slide

  57. Android Dev BR
    Comunidade
    slack.androiddevbr.org

    View full-size slide

  58. Tenho alguns stickers!
    Me conta mais do seu projeto
    pra ganhar um! :)

    View full-size slide

  59. Muito obrigado,
    qualquer tiver dúvida, fala comigo!
    @walmyrcarvalho
    /walmyrcarvalho
    [email protected]

    View full-size slide

  60. Perguntas?
    Ficou alguma dúvida?

    View full-size slide