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

Seu app é seu castelo: construindo aplicações p...

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
  2. 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.
  3. 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
  4. 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.
  5. 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.
  6. Mas o que define se um aplicativo é bom ou

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

    a chave de muitas situações desafiadoras e importantes.
  9. 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)
  10. 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.
  11. 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º
  12. 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.
  13. 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
  14. 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
  15. 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
  16. 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
  17. Óbvio que existe uma série de outras coisas super importantes,

    mas existe uma base sólida necessária para toda aplicação.
  18. Disclaimer: Vou passar algumas recomendações que eu acredito que colaboram

    para esses pilares que comentei, mas nada aqui é escrito em pedra!
  19. 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.
  20. Os resultados foram excelentes, inclusive com empresas convertendo mais após

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

    perdiam um pouco a sua marca no meio de tantos aplicativos similares.
  22. O Material Theming é a possibilidade de se flexibilizar o

    Material Design para melhor refletir a marca do seu produto.
  23. 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.
  24. Ou seja, com as bibliotecas do Jetpack você consegue construir

    aplicações sólidas, confiáveis e redundantes em situações adversas.
  25. 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
  26. 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