Memórias das 
trincheiras
O que?
Dicas, truques, experiências de 
uma equipe desenvolvendo 
projetos mobile nos últimos 4 
anos. O que deu certo, o que 
deu errado, as armadilhas, os 
sucessos e problemas.
Quem?
Elton Minetto 
Desenvolvedor/sócio da Coderockr 
@eminetto 
Thiago Vieira 
Designer/UX da Coderockr 
@thiagovieiracom 
Julia Possamai 
Desenvolvedora iOS/sócia da Coderockr 
Guilherme Oliveira 
Desenvolvedor Android da Coderockr 
@_holiveira
O bonito sai 
caro!
Ofereça algo antes de pedir 
Ofereça algo ao usuário antes de pedir 
seus dados, ele quer experimentar antes 
de se dispor a um compromisso
Explicar melhor as coisas 
Explicar o uso de 
serviços como 
“Localização” 
e“Push 
Notifications” 
antes de pedir a 
permissão do 
usuário
Walkthrough 
Walkthrough para 
atividades/ 
fluxos“complexos" 
ou novos
Contexto 
Atenha-se ao 
escopo e não 
fuja do objetivo 
principal
Teclado Inteligente 
Ofereça ao 
usuário uma 
forma de inserir 
os dados sem 
que ele tenha 
que sair do 
ambiente
Teclado Inteligente 
Ofereça ao 
usuário uma 
forma de inserir 
os dados sem 
que ele tenha 
que sair do 
ambiente
Feedbacks 
Mantenha o 
usuário ciente do 
que seu app está 
fazendo, para 
ele não é tudo 
tão óbvio
Feedbacks 
Mantenha o 
usuário ciente do 
que seu app está 
fazendo, para 
ele não é tudo 
tão óbvio
Notificações 
Segmente as 
notificações para 
facilitar a leitura
iOS não é Android e vice 
versa
Cuide bem 
do seu 
backend!
Não subestime a 
complexidade 
Sincronização, login, sistemas legados, 
JSON, SOAP, etc
Se for feito pelo cliente 
Cobre especificação detalhada 
Cobre testes 
Cobre versões estáveis
Se for feito por você 
Existem diversas ferramentas. Escolha 
uma que seja madura e que sua 
equipe tenha experiência. 
Silex, Zend Framework 2, Rails, Django, 
NodeJS, etc
Parse 
Ótimo para 
projetos simples
Parse 
Para projetos 
maiores a 
complexidade 
aumenta muito
Não, não 
vai rodar no 
seu Android 
de R$ 50!
Não subestime a diversidade 
de versões e aparelhos 
Especifique no contrato com o cliente as 
versões mínimas de hardware e software
Use e abuse de bibliotecas 
de suporte 
Support v4 e Appcompat v7 trazem as 
funcionalidades de Action Bar, Fragments, 
entre outras features, para versões mais 
antigas, e mimifica o comportamento 
delas entre as versões
Defina corretamente a 
arquitetura 
SyncAdapter 
Ideal para processos que tem uma 
sincronia não mandatória. É muito 
recomendado para sync paralelo, onde 
você não tem uma necessidade de 
tempo real
Defina corretamente a 
arquitetura 
Activity ou Fragment 
Os desenvolvedores logo que descobrem 
o Fragment, querem usá-los para tudo, 
mas é um erro que pode custar a forma 
com que o app se comporta, 
principalmente com o botão voltar, a 
restauração do aplicativo para 
foreground, etc.
Defina corretamente a 
arquitetura 
Tabs ou 
NavigationDrawer 
Um aplicativo 
apresenta poucos 
itens no menu não 
existe a necessidade 
de um navigation 
que demanda dois 
toques para atingir o 
conteúdo desejado
Hamburger não!
Resumindo 
"A escolha dos patterns e arquitetura 
correta, vai diminuir drasticamente (FOR 
REAL!) os seus problemas com 
comportamentos inesperados.” 
Guilherme Oliveira
Cuidado 
com a 
maçã!
Prazos e aprovação 
Lembre-se sempre do prazo da Apple 
para aprovações 
Determine no contrato que você não 
tem controle sobre isso 
Mostre ao cliente funcionalidades que 
podem causar problemas na aprovação
Não, não é 
igual a um 
site!
Qual o valor de um app? 
Clientes ainda não sabem o real valor 
de um app
Quão complexo é um app? 
Clientes ainda não tem a real noção da 
complexidade
App mobile não é site
Contato
http://eltonminetto.net 
@eminetto 
eminetto@coderockr.com 
Preciso do seu feedback! 
plp.io/tfvf

Memorias das trincheiras

  • 1.
  • 2.
  • 3.
    Dicas, truques, experiênciasde uma equipe desenvolvendo projetos mobile nos últimos 4 anos. O que deu certo, o que deu errado, as armadilhas, os sucessos e problemas.
  • 4.
  • 5.
    Elton Minetto Desenvolvedor/sócioda Coderockr @eminetto Thiago Vieira Designer/UX da Coderockr @thiagovieiracom Julia Possamai Desenvolvedora iOS/sócia da Coderockr Guilherme Oliveira Desenvolvedor Android da Coderockr @_holiveira
  • 6.
  • 7.
    Ofereça algo antesde pedir Ofereça algo ao usuário antes de pedir seus dados, ele quer experimentar antes de se dispor a um compromisso
  • 8.
    Explicar melhor ascoisas Explicar o uso de serviços como “Localização” e“Push Notifications” antes de pedir a permissão do usuário
  • 9.
    Walkthrough Walkthrough para atividades/ fluxos“complexos" ou novos
  • 10.
    Contexto Atenha-se ao escopo e não fuja do objetivo principal
  • 11.
    Teclado Inteligente Ofereçaao usuário uma forma de inserir os dados sem que ele tenha que sair do ambiente
  • 12.
    Teclado Inteligente Ofereçaao usuário uma forma de inserir os dados sem que ele tenha que sair do ambiente
  • 13.
    Feedbacks Mantenha o usuário ciente do que seu app está fazendo, para ele não é tudo tão óbvio
  • 14.
    Feedbacks Mantenha o usuário ciente do que seu app está fazendo, para ele não é tudo tão óbvio
  • 15.
    Notificações Segmente as notificações para facilitar a leitura
  • 16.
    iOS não éAndroid e vice versa
  • 17.
    Cuide bem doseu backend!
  • 18.
    Não subestime a complexidade Sincronização, login, sistemas legados, JSON, SOAP, etc
  • 19.
    Se for feitopelo cliente Cobre especificação detalhada Cobre testes Cobre versões estáveis
  • 20.
    Se for feitopor você Existem diversas ferramentas. Escolha uma que seja madura e que sua equipe tenha experiência. Silex, Zend Framework 2, Rails, Django, NodeJS, etc
  • 21.
    Parse Ótimo para projetos simples
  • 22.
    Parse Para projetos maiores a complexidade aumenta muito
  • 23.
    Não, não vairodar no seu Android de R$ 50!
  • 24.
    Não subestime adiversidade de versões e aparelhos Especifique no contrato com o cliente as versões mínimas de hardware e software
  • 25.
    Use e abusede bibliotecas de suporte Support v4 e Appcompat v7 trazem as funcionalidades de Action Bar, Fragments, entre outras features, para versões mais antigas, e mimifica o comportamento delas entre as versões
  • 26.
    Defina corretamente a arquitetura SyncAdapter Ideal para processos que tem uma sincronia não mandatória. É muito recomendado para sync paralelo, onde você não tem uma necessidade de tempo real
  • 27.
    Defina corretamente a arquitetura Activity ou Fragment Os desenvolvedores logo que descobrem o Fragment, querem usá-los para tudo, mas é um erro que pode custar a forma com que o app se comporta, principalmente com o botão voltar, a restauração do aplicativo para foreground, etc.
  • 28.
    Defina corretamente a arquitetura Tabs ou NavigationDrawer Um aplicativo apresenta poucos itens no menu não existe a necessidade de um navigation que demanda dois toques para atingir o conteúdo desejado
  • 29.
  • 30.
    Resumindo "A escolhados patterns e arquitetura correta, vai diminuir drasticamente (FOR REAL!) os seus problemas com comportamentos inesperados.” Guilherme Oliveira
  • 31.
    Cuidado com a maçã!
  • 32.
    Prazos e aprovação Lembre-se sempre do prazo da Apple para aprovações Determine no contrato que você não tem controle sobre isso Mostre ao cliente funcionalidades que podem causar problemas na aprovação
  • 33.
    Não, não é igual a um site!
  • 34.
    Qual o valorde um app? Clientes ainda não sabem o real valor de um app
  • 35.
    Quão complexo éum app? Clientes ainda não tem a real noção da complexidade
  • 36.
  • 37.
  • 38.
    http://eltonminetto.net @eminetto eminetto@coderockr.com Preciso do seu feedback! plp.io/tfvf