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/

B567f69eed037ed20536fc825305a38d?s=128

Walmyr Carvalho

May 11, 2019
Tweet

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
  2. Olá CapiConf, meu nome é WalmyrCarvalho! :)

  3. CapiConf 2017 Foi daora! ❤✨

  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.
  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
  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.
  7. Qual é a melhor aplicação que você já usou no

    seu smartphone?
  8. Fonte: Google Play

  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.
  10. Mas o que define se um aplicativo é bom ou

    não? Qual é o critério que a gente usa?
  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?
  12. No desenvolvimento de aplicações mobile, ter o contexto certo é

    a chave de muitas situações desafiadoras e importantes.
  13. Pixel 3 Galaxy S8 ☺ Moto G

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

    internet!
  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)
  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.
  17. Lite Normal Fonte: Google Play

  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º
  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.
  20. bit.do/android-go

  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
  22. Quais são os aspectos que tornam uma aplicação boa de

    fato?
  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
  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
  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
  26. Óbvio que existe uma série de outras coisas super importantes,

    mas existe uma base sólida necessária para toda aplicação.
  27. Métricas + Dados Arquitetura + Qualidade Offline + Redundância Experiência

  28. Disclaimer: Vou passar algumas recomendações que eu acredito que colaboram

    para esses pilares que comentei, mas nada aqui é escrito em pedra!
  29. De forma prática, como podemos construir aplicações Android e mobile

    melhores?
  30. Material Design: Um leve flashback… ⏳

  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.
  32. Fonte: Google

  33. Os resultados foram excelentes, inclusive com empresas convertendo mais após

    adotarem o Material Design em seus projetos, por exemplo.
  34. Mas um ponto que se percebeu é que algumas aplicações

    perdiam um pouco a sua marca no meio de tantos aplicativos similares.
  35. None
  36. Como flexibilizar o Material Design para resolver esse tipo de

    problema?
  37. Material Theming: “Make branding great again” ✨

  38. O Material Theming é a possibilidade de se flexibilizar o

    Material Design para melhor refletir a marca do seu produto.
  39. Material Components GitHub bit.do/material-components-github

  40. bit.do/talk-walmyr-material

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

  42. 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.
  43. Android Jetpack - Android Developers Página oficial developers.android.com/jetpack Fonte: Android

    Developers
  44. None
  45. None
  46. Ou seja, com as bibliotecas do Jetpack você consegue construir

    aplicações sólidas, confiáveis e redundantes em situações adversas.
  47. Fonte: Google bit.do/android-jetpack-youtube

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

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

  50. 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
  51. Firebase Analytics Página oficial firebase.google.com/docs/analytics Fonte: Firebase

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

  53. 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
  54. Se eu quiser aprender mais, onde eu posso ir?

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

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

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

    Developers
  58. Material Design Página oficial material.io Fonte: Material Design

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

  60. Android Dev BR Comunidade slack.androiddevbr.org

  61. Tenho alguns stickers! Me conta mais do seu projeto pra

    ganhar um! :)
  62. Muito obrigado, qualquer tiver dúvida, fala comigo! @walmyrcarvalho /walmyrcarvalho walmyr@kusudama.com.br

  63. Perguntas? Ficou alguma dúvida?