terça-feira, 12 de junho de 2012

Panorama de mercado, dicas e experiências

Hoje o post será um pouco diferente. Não será um tutorial ensinando a fazer algo, como tem sido em todos os posts. Hoje irei compartilhar um pouco da minha experiência como desenvolvedor independente nesse mundo de aplicativos móveis para Android, além de dar algumas dicas que acho importante para quem quer ou já estar se aventurando nesse meio.


Queria começar falando de como eu entrei nessa. Comecei a me interessar pelo Android como plataforma de desenvolvimento no final de 2010. No inicio de 2011 comecei a assistir uns videos sobre desenvolvimento na plataforma e ler algumas paginas da documentação (d.android.com). Então comprei meu primeiro Android para sentir nas mãos como funcionava a plataforma, se era amigável comigo como usuário, ver na prática se enxergava futuro. Mas graças a Submarino, meu aparelho veio com defeito e demoraram horrores para oferecer uma solução, no fim acabei por precisar comprar através de outra loja, meses depois. Devido a esses problemas e por eu estar estagiando e estudando acabei postergando meu aprendizado no Android.

Apenas em julho de 2011, resolvi ir a fundo nessa. Larguei o estágio, comprei uns livros de desenvolvimento (na Amazon e em inglês, pois pelo menos nas livrarias daqui ainda não tinha nenhum sobre), e comecei a estudar. Fiz o Hit Fallux! de forma despretensiosa, apenas para aprendizagem mesmo, e depois junto com Fred decidimos fazer um aplicativo comercial, ou seja, que tinha o objetivo de conseguir muitos downloads, ter boa satisfação entre os usuários e com isso gerar uma grana. Assim nasceu o Amor por SMS, que surpreendentemente chegou na página principal do Android Market com relativa facilidade.

Depois disso não parei mais. Lancei esse blog, que têm me forçado a manter uma rotina de estudo constante, e continuei crescendo. Pessoas me procuraram (e ainda procuram) para fazer aplicativos para elas, fiz alguns, e meu portfólio cresce cada vez mais.

O Mercado

No momento que escrevo esse post, possuo 10 aplicativos publicados. Alguns fizeram sucesso, a maioria não. A maioria foi desenvolvida para fazer sucesso, outros não. Então a primeira coisa que você precisa saber se quiser se tornar um desenvolvedor independente é: como a maioria dos trabalhos autônomos, esse também é de risco. É possível que você gaste meses fazendo um aplicativo e não ganhe mais que $50 de retorno, entretanto você pode gastar 3 horas e ganhar mais de $700 (aconteceu comigo).

Entretanto, eu enxergo como o melhor mercado para se trabalhar atualmente. Primeiro porque você pode trabalhar de qualquer lugar do mundo, inclusive de sua casa, e vender para qualquer lugar do mundo em questão de minutos. Não consigo enxergar outro mercado que ofereça isso. Talvez a web em si, entretanto ela não possui um distribuidor centralizado de conteúdo como o Android possui com o Google Play. Falo sobre o Android pois ele se mostra como tendência, mas o mercado geral de aplicativos móveis fazem parte dessa realidade.

E o Brasil? Pelo que percebo, há uma grande falta de bons profissionais, logo há poucos bons aplicativos brasileiros, e isso está gerando uma corrida do ouro. Há uns dois meses atrás ocorreu o 1º Encontro de 'Startupeiros' de Salvador, e estava presente uma empresa focada em aplicativos móveis. No segundo encontro, que aconteceu há uma semana, havia pelo menos umas cinco, inclusive a minha que está em processo de formação.  Então, a oportunidade está aí, e é uma grande oportunidade.

A seguir algumas dicas:

1. Comece

Se você quer se tornar um desenvolvedor Android qualquer coisa a primeira coisa que você tem que fazer é começar. Corra atrás. Não espere por um curso, ou aula, você tem toda a internet a sua disposição! Basta sentar e começar!

2. Faça bem feito

Detalhes fazem a diferença. Não importa se sua ideia é a melhor do mundo, se não for bem implementada não valerá de nada. Isso incluí  aspectos computacionais, como consistência, tolerância a falhas, performance, segurança e aspectos do design, como interface com usuário, navegabilidade, estética, etc. Um bom aplicativo tem que ter dois aspectos fundamentais: ser fácil de usar e responder bem ao usuário. Então se você é apenas um programador, é bom começar a se preocupar com esses "detalhes" ou procurar alguém que faça isso com você.

3. Cuidado com atualizações

Eu diria que é muito mais importante você se preocupar com atualizações do que com o lançamento em si do aplicativo. Se você lançar um aplicativo com muitos bugs, ou ruim de alguma outra forma, algumas pessoas vão baixar, te xingar, desinstalar e seu aplicativo não irá se espalhar. Simples assim. Mas se você tem um aplicativo de sucesso, funcionando, com usuários ativos e que gostem do conteúdo, preste muita atenção a esses aspectos quando for fazer uma atualização:
  1. Bugs e Falhas: Se o usuário tem um aplicativo que funciona e ao ser atualizado ele deixa de funcionar, ele vai ficar muito puto, principalmente se for um aplicativo pago. Pois além de fornecer algo que não funciona você está tirando algo que funcionava.
  2. Mudanças: Pessoas geralmente não gostam que as coisas mudem sem ser consultadas, ou pelo menos avisadas.  Se você mudou algo importante no aplicativo, dê uma opção de deixar as coisas serem feitas como eram antes, ou pelo menos avise-as da mudança.
  3. Você nunca vai agradar a todos. Por mais interessante que seja uma funcionalidade que a atualização está trazendo, provavelmente ela trará algo que alguém não vai gostar. E é aí que entra a próxima dica.

4. Ouça o seu usuário

Se você é um desenvolvedor independente você não é apenas um desenvolvedor. Você será o gerente, o engenheiro, o publicitário, o relações públicas, o administrador, o contador, o suporte e o secretário. Então se você tem um projeto grande, talvez seja uma boa ouvir possíveis usuários antes do produto ser lançado, seja apresentando protótipos a amigos, fazendo questionários, discutindo ideias, etc. Mas depois de lançado, a quantidade usuários que você terá facilmente pode ultrapassar 50 mil. É importante ficar ligado no feedback deles, através dos comentários no Google Play, ou até mesmo fornecer seu e-mail para contato direto. E sempre que receber um contato direto, seja atencioso, gentil e trate seu cliente bem, ele vai gostar de saber que o produto que ele usa ouve as necessidades dele.

5. Pense globalmente

Você tem a possibilidade de vender para o mundo todo, e quando falo vender não necessariamente me refiro a downloads pago do aplicativo, download de aplicativos gratuitos que possuem outras formas de receita, como propagandas, também é uma venda. Então a menos que seu aplicativo seja algo estritamente local, como a linha de metro da sua cidade, por exemplo, sempre considere pelo menos fazer seu aplicativo em português e inglês. Se possui conhecimento básico em alguma outra língua, não exite. E se você acha, ou percebe que seu aplicativo é ou será bastante usado em determinado país, se esforce um pouco para coloca-lo na língua local.

6. Se atente a oportunidades

Esse é um mercado extremamente rápido. Oportunidades surgem e desaparecem na mesma velocidade. Fique ligado para notar as oportunidades, e assim que percebe-las desenvolva-as o mais rápido possível. Comigo aconteceu o caso do Para nossa alegria, onde cheguei em casa num sábado de noite e minha prima me mostrou o vídeo. Achei uma grande besteira, mas enxerguei uma oportunidade, afinal brasileiro gosta de besteiras. Na mesma hora sentei e pesquisei sobre aplicativos sobre isso e não existia nenhum. Então em 3 horas fiz esse daí. Quando terminei de fazer e pesquisei novamente, apareceu o meu e um outro também do para nossa alegria recém lançado. Mesmo assim acredito que tive um bom timming, pois até agora ganhei R$ 1400 com ele.

7. Aprenda sempre

Não deixe para fazer seu produto quando você já souber tudo que tem que saber. Comece a desenvolver, e assim que as dificuldades forem aparecendo vá aprendendo a implementando. Assim seu aprendizado será muito mais consistente, pois você aplicará na pratica o conhecimento recém adquirido. Procure sempre desenvolver tipos diferentes de aplicativos, assim como jogos, utilizando diferentes recursos que a plataforma pode oferecer, assim você terá um amplo conhecimento sobre as possibilidades da plataforma.

8. Guarde bem guardado sua keystore

Pra quem não sabe a keystore é uma chave necessária para assinar os aplicativos a serem distribuídos pelo Google Play. Se você assinar com uma keystore e lançar no Play, você só poderá atualizar se continuar assinando com a mesma chave, ou seja, com o mesmo arquivo keystore. Então mantenha um copia da keystore em um pen-drive, no seu e-mail, no dropbox, no HD, no HD externo e em qualquer outro lugar a fim de manter seguro. Eu não fiz isso, deu problema no meu PC e perdi a keystore que usei no Amor por SMS, então não posso mais atualiza-lo.


Por enquanto é isso. No mais só posso dizer que é muito bom trabalhar em casa, e que vale a pena. Financeiramente falando também.

Até mais.

26 comentários:

Estrela at 13 de junho de 2012 às 22:09 disse...

Tem que aprender quais linguagens para trabalhar com a plataforma android?
Esse negócio de propaganda no aplicativo rende mesmo?
Qual é o seu app mais rentável?
Qual você tem mais orgulho de ter feito?
Qual você se arrependeu de ter feito?
Qual faz mais sucesso?
Quantas perguntas kkkk, mas sou curiosa, desculpa.

Gustavo Carvalho at 14 de junho de 2012 às 09:58 disse...

1. De forma simples, Java e XML (apenas o básico dos conceitos de XML).
2. Rende sim! Se você obtiver cerca de 50 mil downloads, o que não é muito difícil, ele irá render constantemente a depender de quanto os usuários utilizem o aplicativo.
3. Considerando tempo de desenvolvimento e o lucro, acho que foi o Para nossa alegria. Considerando receita bruta, é o Mensagens para Celular.
4. Difícil... Acho que o Amor por SMS, por ser o primeiro, que passei mais tempo fazendo, acabei criando um laço afetivo.
5. Não tem nenhum que tenha me arrependido de ter feito, pois aprendi com todos eles, mas o Bora Bahea não chegou nem perto da quantidade de downloads e da aceitação que eu esperava.
6. Para nossa alegria foi o que teve mais downloads, mais de 200 mil, entretanto acho que o Mensagens para Celular, que já tem quase 140 mil downloads, foi o que teve melhor aceitação, com um monte de reviews positivos.

Fique a vontade para perguntar, isso é bom! =]

Cezar Vinícius at 18 de junho de 2012 às 15:22 disse...

Brother, me tira uma dúvida:

O desenvolvedor de um aplicativo gratuito com propagandas como o "Para nossa alegria" seu, por exemplo, ganha dinheiro no Google Play pela qtde de downloads ou pela qtde de cliques no link da propaganda dentro do app? Se for pela qtde de downloads, vc recebeu cerca de R$0,007 por download desse app (1400/200000)? É isso mesmo?

Abraços!!!

Lucas at 18 de junho de 2012 às 17:06 disse...

Eu também tenho dúvidas... :)

Me responde uma coisa Gustavo: Jogo vs Programa, qual rende mais?

Eu sei que jogo tem uma grande quantidade de downloads, mas entre ter downloads e realmente render dinheiro, qual tipo de app rende mais?

Abraços

Gustavo Carvalho at 18 de junho de 2012 às 18:48 disse...

@Cezar

Ganha pelas propagandas. Usando AdMob é por clique na propagandas. Há outras formas de anúncio, como o Airpush, que faz notificações e você ganha por cada anúncio exibido.


@Lucas

Essa é uma questão muito complicada e não existe uma resposta absoluta. Ainda não fiz nenhum jogo comercial (estou desenvolvendo), mas vou dar minha opinião com base no que vejo.
Acho que jogo, de uma forma geral, é mais arriscado pois tem como objetivo algo que é muito subjetivo, que é uma passar uma boa experiência, em geral, ser divertido. Um aplicativo, ou programa como você falou, tem objetivos mais específicos, ele foi criado para realizar uma (ou mais) tarefas específicas. Se for bem feito com certeza os usuários interessados em realizar essa tarefa ficarão satisfeitos e você terá um bom retorno. Com jogos, a possibilidade de você investir horas fazendo algo que você considera bom e acabar por ser considerado ruim é muito maior, mas isso vale pros dois lados. Você pode fazer algo que não seja tão complexo assim, mas o público adorar e você ganhar muito "com pouco".
O que eu recomendo é: faça o que gostar mais. Os dois oferecem grandes possibilidades, então ao ter uma bom ideia, invista nela.

Lucas at 18 de junho de 2012 às 18:57 disse...

Obrigado Gustavo.

Então o aplicativo é mais interessante porque você, mesmo que sendo mais específico, consegue, desde que o aplicativo seja bom, atingir o grupo certo.

Mas isso acabou me gerando mais uma dúvida: aplicativo pago ou aplicativo gratuito? Ambos são lucrativos a partir do momento em que se atinge um determinado número de usuários ( na resposta há Estrela, você disse 50 mil ), mas o volume de dinheiro recebido com o pago é melhor que o gratuito?

Abraços

Gustavo Carvalho at 18 de junho de 2012 às 19:33 disse...

Essa é outra questão complicada, e novamente depende do aplicativo. Se seu aplicativo for muito bom, mas tiver um público alvo pequeno, talvez o mais interessante seja vende-lo. Mas se seu aplicativo não é nada muito extraordinário e tiver um público alvo grande então talvez seja melhor deixa-lo gratuito. Por exemplo, acho que eu não teria ganhado nem 10% com o Para nossa alegria se ele fosse pago.

Lembre-se que brasileiro não é um bom comprador quanto a aplicativos. Primeiro pela própria cultura de sempre conseguir tudo de graça na internet, e além disso é preciso ter um cartão internacional para fazer a compra.

Thiago Pacheco at 4 de julho de 2012 às 16:32 disse...

Gustavo, qual a melhor forma do programador cobrar pelos desenvolvimento de um aplicativo?

Gustavo Carvalho at 5 de julho de 2012 às 00:06 disse...

Pelo que entendi você está perguntando no caso de alguém contratar um programador para fazer o aplicativo, né isso?

Não existe uma melhor forma, tudo depende do aplicativo, do cliente e do desenvolvedor. Você pode cobrar basicamente de duas formas: preço fixo pelo aplicativo completo e negociar atualizações/correção de bugs ou pode-se fazer uma parceira onde o lucro é dividido em uma certa proporção entre o desenvolvedor e o cliente. Tudo depende do objetivo do aplicativo e de como o desenvolvedor e cliente se sentem confortáveis de trabalhar.

Anônimo at 12 de julho de 2012 às 10:33 disse...

Estou estudando superior em informática e achei sua materia superinteressante, parabéns.

Vitor at 16 de julho de 2012 às 23:48 disse...

Parabens pelo post e pelos seus apps gustavo! Estou iniciando no desenvolvimento para android esse seu post me esclareceu muita coisa! Parabens e obrigado! Abraço!

Gustavo Carvalho at 17 de julho de 2012 às 09:23 disse...

É muito bom ver que o blog está ajudando pessoas. Obrigado a todos!

Igor Sousa at 4 de novembro de 2012 às 22:47 disse...

Cara, achei seu texto procurando sobre qual o retorno em propagando que um app p/ android traz e fiquei muito feliz em saber que vc é/mora/estuda/trabalha em Salvador, normalmente esse tipo de conteúdo sempre vem de SP, Parabéns.

Igor Sousa at 4 de novembro de 2012 às 22:57 disse...

e ainda torce pro Bahia.\o/

Anônimo at 26 de novembro de 2012 às 13:31 disse...

Bacana cara! Estou começando a ler sobre o assunto, a instalar a SDK (bem basicão mesmo) e seu texto serviu pra dar uma luz! valeu

Gustavo Carvalho at 7 de dezembro de 2012 às 05:37 disse...

@Igor: É isso aí... com internet não há mais fronteiras! Posso estar em qualquer parte do mundo fazendo o mesmo trabalho e ainda entregar para todas as partes do mundo.

David Bandeira at 31 de janeiro de 2013 às 16:48 disse...

Olá Gustavo, boa tarde.

Uma pergunta..

Quando se utiliza o AdMob, você é que tem que adicionar os anúncios ou o próprio AdMob faz isso?

Excelente matéria, parabéns!

Gustavo Carvalho at 4 de fevereiro de 2013 às 09:05 disse...

@David: Olá David, bom dia.

Você como desenvolvedor do aplicativo apenas instala a plataforma de exibição de anúncios no seu aplicativo e então o próprio AdMob manda os anúncios mais "relevantes" ao contexto. Da mesma forma que o AdSense funciona. Então você não tem que se preocupar com o que anunciar para gerar retorno.

Unknown at 6 de fevereiro de 2013 às 21:48 disse...

é muito complicado abrir sua conta pra começar a desenvolver?...
é preciso que tipo de conta no banco para eles efetuarem seu pagamento?...
eles fazem o pagamento em reias?

Unknown at 19 de fevereiro de 2013 às 06:20 disse...

Não sei se é uma pergunta muito ignorante, mas.....o desenvolvedor só ganha com aplicativos gratuitos se eles estiverem com propagandas? Digo, o google play não paga por downloads ou algo do tipo? não sei se você tem algum post explicando como funciona essa parte de ganhos em relação a aplicativos, você poderia me dar uma resumida.

E parabéns pelo blog.

Gustavo Carvalho at 21 de fevereiro de 2013 às 10:31 disse...

@Poliana: Abrir a conta não é complicado, o mais complicado é desenvolver mesmo. =)
Uma conta corrente normal em qualquer banco serve.
No fim o pagamento é convertido em reais.

@Fabricio: Se o aplicativo for gratuito, você não ganha nada diretamente do Google Play. Nesse caso você precisa de alguma forma de gerar a renda e um dos modelos mais simples e fáceis é colocando uma plataforma de propagandas. Falo um pouco mais disso aqui: http://www.tutoriandroid.com/2012/04/adicionando-propagandas-com-admob.html

Claro, há outras formas de fazer dinheiro com aplicativos gratuitos, ele pode ser um demo para o app pago, ele pode vender melhoramentos ou itens digitais, ou ser apenas mais um acesso ao um serviço maior (que tem outros modelos de negócio).

Obrigado =]

Rodrigo Otavio Passos Ferreira at 25 de março de 2013 às 10:18 disse...

Otimo Post! algumas dicas que gostaria de te pedir :)

1- Sempre optar pela API mais antiga possível? ou vale a pena mesmo para apps simples utilizar as API do 4.0 por ter mais recursos e, imagino eu, ser mais otimizada e sem bugs?

2- Qual sua opiniao sobre os tamanhos de tela? sempre faz pra todos os tamanhos de tela, e em landscape e portrait ?

3- Para os bancos de dados, vale a pena uma lib mais simples ou vc sempre utiliza a api oficial mesmo ?

Obrigado pela atenção!

Gustavo Carvalho at 25 de março de 2013 às 10:35 disse...

@Rodrigo: Obrigado!

1 - Sempre tento utilizar a API mais nova, pois assim você tem acesso a mais recursos e formas melhores de fazer as coisas, e com o ADT ele indica se você está usando algum recurso não disponível para versões anteriores e assim você pode contornar com uma condicional simples. Vale lembrar também que mesmo utilizando a API mais nova, tente sempre deixar compatível (minSdkVersion) com o menor API possível (geralmente api 7 já é bom o suficiente). Talvez alguém não saiba (como eu não sabia no inicio), desenvolver utilizando a API versão X NÃO implica que o app só vai ser rodado em versões >= X.

2 - Depende muito do app. Quanto mais complexa for sua activity em termos de widgets, componentes, mais você terá que se preocupar com isso. Se sua activity tem poucos items, é possível que o próprio Android consiga adapter bem para vários tamanhos, tanto portrait quanto landscape. Acho que você deveria testar seu app em varias telas e orientações e se achar algo que não está legal, consertar.

3 - Até hoje o SQLite do próprio Android supriu todas as minhas necessidades, logo nunca usei outra lib, mas se for o seu caso, teste-a!

Rafael at 21 de julho de 2013 às 00:03 disse...

Oi tudo bem ai na sua vida de developer android? bom eu estou iniciando o 4º semestre do curso do SI aqui mesmo em salvador e quero muito ser um developer android tenho boas ideias mais tenho algumas duvidas bem para desenvolver nesta plataforma tenho que ter conhecimento avançado em java ou mediano? e em xml? se eu no caso vir a fazer um app que sendo gratuito ira ter digamos 70mil downloads e os usuarios venham a abrir meu app no minimo uma ou duas vezes no dia sendo que meu app tem propagandas seria melhor isto ou tornalo pago vender por 2 reais e ter 10mil downloads?

Gustavo Carvalho at 23 de julho de 2013 às 07:33 disse...

@Rafael: Tudo otimo! Depende da complexidade do app. Para apps simples precisa de conhecimento basico em java e xml, e quanto mais complexo o app mais conhecimento você precisa. Mas acredito que você pode adiquirir esse conhecimento na prática. Na minha experiencia, se o app gratuito teve 70mil downloads, ele não teria 10mil pagos. Acredito que teria algo em torno de 500 a 1000 pagos. A depender do app, eu provavelmente iria preferir a versão grátis com propaganda.

Anônimo at 19 de outubro de 2014 às 13:27 disse...

Muito bom cara.. ajudou muito .. continue

Postar um comentário

 
© 2011 Tutoriandroid | Recode by Ardhiansyam | Based on Android Developers Blog