Por que sua estratégia de mobile começa com iOS?

Saiu a notícia hoje: Android ultrapassará Windows e será sistema mais usado do mundo, diz IDC.

Agora veja o gráfico:

Sistemas operacionais mobile navegando na web no Brasil de Fev/2011 a Fev/2012

Apesar disso, continuo recebendo das agências sites para construir que não tem versão mobile ou, quando tem, foi desenhada e deve ser construída para iPhone e iPad.

Cena comum numa reunião entre cliente e agência: todo mundo, de ambos os lados, coloca seu celular sobre a mesa. São todos iPhone. Logo, acho que até inconscientemente, eles deduzem que iPhone é o que importa. Alô pessoal! Vocês estão falando com 8,7% do público! Com um investimento semelhante, mas um pouquinho mais de planejamento, poderiam falar com praticamente todo mundo que está navegando no celular.

Sobre Windows, Linux, paixões e times de futebol

Discussões sobre o melhor sistema operacional, o melhor navegador ou a melhor linguagem de programação tendem a entrar em loop infinito. Cada um dos lados parece achar o outro um completo idiota por não se convencer de suas opiniões.

Semana passada troquei algumas mensagens com o René de Paula que me fizeram pensar bastante sobre o assunto. O René provavelmente não me conhece, mas eu tenho aprendido muito com ele nos últimos anos, principalmente em seu podcast, o Roda e Avisa. E esse post não é um desabafo “estou chateadinho”. Estou citando o nome do René porque a conversa se deu no Twitter, ou seja, em público, e realmente me fez pensar.

O René recomendou esse artigo da ZDNet, analisando um estudo de segurança dos navegadores web. O artigo começa apresentando os resultados do estudo, em que o Internet Explorer ganha de lavada, e segue explicando porque, na opinião do autor, o estudo patrocinado pela Microsoft é tendencioso e irrelevante.

Respondi ao René dizendo que concordava com o artigo que ele havia indicado, que realmente o estudo era tendencioso. E usei a frase “o rei está nu.” Para mim, a crônica da roupa nova do rei é uma excelente metáfora para a situação. Ele me respondeu que havia visto meu blog e que achava que havia um “viés oculto” em tudo o que eu dizia. Em seguida twittou sobre o fato de as pessoas tratarem essas discussões como se fossem sobre times de futebol. Isso me fez pensar um bocado.

Eu gosto de, numa discussão, ouvir o outro lado. Também gosto muito de lógica. Se tem uma coisa que eu vou defender numa discussão, mais do que meu time de futebol, é o bom uso da lógica. Tento nunca ser irrazoável. Sei que todos somos tendenciosos, mas sempre tento ser mais imparcial que a média.

Talvez seja o fato de a discussão ter acontecido no Twitter, meio pouco propício, mas confesso que fiquei muito preocupado com a impressão que o René teve. Quem me conhece, sabe, trabalho com Linux, Windows ou Mac, sem rabo preso, escolhendo sempre o jeito mais simples de resolver cada problema.

Cada cabeça, uma sentença

Em primeiro lugar, não há um sistema operacional “melhor” e outro “pior”. Há um “melhor para você”. O fato de aquele seu amigo usuário de Windows não ter enxergado ainda que o Linux é o melhor sistema operacional do mundo talvez seja porque, para o perfil de uso dele, o Windows seja realmente o melhor sistema operacional.

Dificilmente eu tento convencer alguém a usar exclusivamente Linux. Sempre tento convencer as pessoas a experimentar. Se o sujeito me diz que é um heavy gamer, por exemplo, recomendo o uso de Windows. Sei, o Wine está muito evoluído e tal, mas se ele tem dinheiro para pagar as licenças e pode rodar a versão mais nova de cada jogo no ambiente em que ele foi feito para rodar, por que complicar?

Sim, não me esqueci, para certos perfis de uso, Mac OS X também é um sistema fantástico. Estou quase comprando um para minha mulher.

Existem, porém, padrões absolutos

O fato de não existir uma solução “bala de prata” e a paixão que costuma cercar essas discussões têm levado muita gente, principalmente programadores, a uma posição morna tão irrazoável quanto os extremos. É comum ouvir frases como “a melhor linguagem é aquele com a qual você sabe trabalhar” ou “a melhor ferramenta é a que resolve seu problema.”

Acredito sim que há casos de uso os mais variados. Mas, dentro de determinado caso de uso, há métricas objetivas que você pode usar para dizer o que é melhor. Falando em linguagem de programação, por exemplo, a melhor não é aquela que faz você se “sentir bem”. A não ser que programar para você seja só um hobby, a melhor é aquela que vai te permitir resolver mais rápido o problema do cliente, com a qualidade e a performance necessárias.

Dado um determinado problema do cliente, e uma determinada métrica de performance, deve ser possível apontar a melhor linguagem para essa situação.

Que problema seu software se propõe a resolver?

Se você é desenvolvedor de software, é importante entender isso. Você dificilmente vai encontrar uma oportunidade de desenvolver um produto que é o melhor para todo mundo. Não há unanimidades.

Você pode desenvolver algo que é o melhor para a maioria, pode achar uma minoria endinheirada, ou pode desenvolver algo legal para você mesmo e torcer para que haja gente parecido com você lá fora.

Mas, se você tentar ouvir todas as sugestões que receber e superar os concorrentes em absolutamente todos os perfis de uso, nunca vai terminar de desenvolver.

Mente aberta

Na Visie hoje temos 7 máquinas Windows, 6 Linux e 3 Macs. Sem contar as VMs, o ambiente de testes, e os servidores onde estão hospedadas as aplicações. Desenvolvedor, abra sua mente. Aprenda uma linguagem de programação nova, experimente outro sistema operacional, teste outra solução. Você vai aprender muito.

Aprenda Python, Ruby, Haskell ou Scala. Isso vai tornar você um melhor programador PHP, Java ou .Net. Desenvolva um projeto com uma banco de dados não relacional (estou usando MongoDB em um projeto.) Se você ama WordPress, faça alguma coisa com Joomla, e vice-versa. Tente outro framework, outro editor, outro jeito.

Sobre navegadores

No dia seguinte a essa conversa estive no escritório do W3C Brasil, assistindo ao Café com Browser com o pessoal do Internet Explorer.

Eles passaram boa parte do tempo falando sobre os recursos do navegador para o usuário final. Coisas como abas (oh!) e favoritos mais legais, webclips, processos independentes em cada aba, melhorias de performance e segurança. Tudo muito interessante mas, eu acho, apresentado para o público errado. Estávamos dentro do W3C, afinal de contas. Queríamos saber sobre as melhorias para o desenvolvedor.

Ao final, a palestra sobre melhorias para o desenvolvedor foi, para mim, parte surpreendente, parte decepcionante. Me surpreendi principalmente pela reação dos desenvolvedores no Twitter. Muita gente não conhecia as developer tools do IE8, ou os modos de compatibilidade, por exemplo. Quando foi apresentado o querySelector, muita gente twittou revoltada, porque a Microsoft estava “inventando um novo jeito proprietário de fazer as coisas”. Gente, o querySelector é uma recomendação do W3C (está em Working Draft, mas está lá.)

A parte decepcionante, expressei em minha pergunta:

Em suma, não tenho ódio da Microsoft ou de quem quer que seja. Não quero que o Internet Explorer suma do mapa. Ainda tenho projetos em ASP, VB e .Net, e sou feliz com isso. Só quero poder desenvolver uma vez só minhas aplicações. Quero não ter que cobrar do cliente pelo custo de fazê-la funcionar no Internet Explorer. Quero entregar mais rápido aplicações melhores, mais estáveis, com menos código.

Microsoft, Google e o poder da massa crítica

Está todo mundo por aí falando sobre:

  • Microsoft Surface, um computador-mesa realmente impressionante. Entre no site e veja alguns dos videozinhos que você vai entender.
  • Google Gears, uma extensão para Firefox/Internet Explorer que permite ao desenvolvedor web guardar dados locais, na máquina do usuário.
  • O Orkut agora permite que você cadastre feeds em seu perfil.

Quando olhei cada um desses lançamentos, tive a mesma reação: “Ah, grande coisa!”

Nenhuma dessas idéias é nova ou revolucionária. Começando pelo Surface, é uma coleção de idéias velhas. Já vimos parte delas implementada no iPhone e na maneira como o sujeito pode usar os dedos nele. A idéia de colocar um computador numa mesa ou permitir seu uso por mais de uma pessoa também não é nova. E a maquininha da Microsoft está saindo por 10 mil. Dólares.

O Google Gears merece um pouquinho de explicação antes de dizer que a idéia não é nova. O Gears tem três componentes importantes. O primeiro é um tipo de servidor proxy com cache local. É um pouquinho mais do que isso, mas no fim permite a uma aplicação web responder dados ao usuário uma única vez, e ele terá esses dados em sua própria máquina a partir daí. O segundo é um banco de dados local, que permite a uma aplicação web, por exemplo, funcionar offline. O terceiro é um mecanismo para fazer com que seus scripts possam ser executados em segundo plano, sem congelar o navegador. De verdade? Isso não é nem tão novo, nem tão revolucionário assim. Para o sujeito que está desenvolvendo um Gmail, pode fazer diferença. Mas para pequenas aplicações, ou mesmo as medianas, dessas que a gente desenvolve todo dia, tudo poderia ser resolvido com cookies e um pouquinho de inteligência, sem demandar a instalação de um plugin.

Por fim, os feeds no Orkut. Aqui a experiência de quem esperava algo realmente novo pode ser decepcionante. Leia os comentários do Charles Pilger sobre o assunto, por exemplo.

Apesar disso, há algo que pode realmente fazer diferença nesse tipo de produto: massa crítica, quantidade de usuários, visibilidade. O Surface pode mostrar ao mundo a idéia nova. Talvez eu nunca venha a ter um Microsoft Surface, mas quem sabe eu daqui a algum tempo comecem a vender o XingLing Surface, o Itautec Surface ou o Positivo Surface? Tenho perguntado ao auditório, nos Encontros Locaweb, quem usa leitores de feeds e quem fornece RSS de qualquer maneira. Num público de desenvolvedores, o número de pessoas que levantam suas mãos é assombrosamente baixo. Imagino que entre os seres humanos comuns este números deve ser ainda menor. Feeds no Orkut podem ser um excelente recurso educativo. Isso pode fazer muita gente descobrir o RSS.

Em relação ao Gears, assim como em relação ao Silverlight, que não está na lista acima porque já tem um tempo, acontece algo curioso. Quem teria coragem de apostar hoje numa tecnologia que exige a instalação de um plugin para que seu site seja usado? Se fosse qualquer empresa pequena que estivesse lançando um desses produtos, ele logo seria descartado como algo ridículo. Mas todo mundo tem suas em relação ao poder de empresas como a Microsoft ou o Google de fazer com que as pessoas instalem algo em suas máquinas.

Em suma, quando você tem metade da Internet usando seus produtos, as regras podem ser diferentes para você. E quando você lança um Google Notebook ou um Zune, as pessoas parecem se esquecer muito rápido que você fracassou.

Em relação ao fato de não haver nenhuma novidade nesses produtos, vale lembrar o que diz o Getting Real: uma boa idéia não vale quase nada, o que vale mesmo é uma boa execução. Embora o Surface não seja novo, parece pelos vídeos que foi executado de maneira exímia.

E, claro, a história dos computadores mostra que nem sempre os melhores vencem. Nada de certezas, por enquanto.

Links interessantes:

Imite o Mac OS X você também

Dashboard, Exposè, estilo Aqua, tudo já foi copiado no elegante Mac OS X. Mas a marca registrada do sistema ainda é o Dock. Há uma porção de cópias interessantes para o Dock em diversos ambientes. Mas, com javascript e CSS, eu nunca tinha visto uma razoável. Até que vi essa aqui. Veja esse Dock rodando nesse exemplo.

Muito bom. Tanto o código quanto o resultado visual.

Ah, se você tiver um tempinho para estudar o código, vai passar a odiar um pouquinho mais o Internet Explorer 😉

Linux? Windows? Dreamweaver? Photoshop?

Duas dúvidas que recebi por e-mail hoje, com temas muito semelhantes. Embora eu não sinta falta de nada em meu notebook com Ubuntu, você vai notar que, nas duas respostas recomendei o Mac. Para quem quer trabalhar com Unix mas não pode abrir mão de MS Office, Dreamweaver ou Photoshop, é uma escolha que não se pode deixar de considerar.

eu como desenvolvedor web, dependente de softwares como DreamWeaver[bb](esse aqui nem é problema, é mais o photoshop mesmo rsrs) e Photoshop, gostaria de um motivo ou alguns para migrar para o linux e me tornar um desenvolvedor 100% linux, utilizando só softwares de desenvolvimento do linux.

Que vantagens teria? preciso de uma luz, se puder me dar uma dica fico grato pela atenção.

Olá, como vai?

Minha resposta, naturalmente, vai ser pessoal e baseada em minha experiência. Sugiro que você instale Linux em dual-boot com Windows em sua máquina e descubra por você mesmo se ele serve para você. Sugiro que comece com uma distro fácil de usar, como o Ubuntu ou o Suse.

Para mim a principal vantagem em desenvolver usando Linux é o fato de ter um ambiente de desenvolvimento completo em minha máquina. Meu notebook tem Ubuntu com Apache, MySQL, Postgre, PHP, Python, PSE e Django. Trabalhando assim, e com Subversion, e usando os flexíveis recursos do bash, torno o desenvolvimento muito mais simples. E tenho exatamente as mesmas versões de cada uma dessas ferramentas que terei no servidor de produção.

Outras boas vantagens são a possibilidade de automatizar processos com bash, comandos como find, grep, sed, tail, e, claro, o rsync. Para quem, como eu, trabalha em mais de uma máquina, rsync e svn são tudo. Além disso, tem o ssh. Não sei mais viver sem ssh.

Mas, para rodar Photoshop ou Dreamwever, vai precisar usar algum tipo de emulador ou virtualizador. Vai ter bugs, ou queda de performance, ou os dois 😉 Não é problema para mim, porque não uso nenhum dos dois.

Naturalmente, você pode ter um ambiente muito semelhante trabalhando com Windows, principalmente usando o CygWin. E, se você se sente produtivo e confortável trabalhando com Windows, não precisa migrar. De quebra, ainda vai ter Photoshop e Dreamweaver rodando legais.

Outra excelente alternativa é, se você tiver condições para isso, um Mac. Num Mac com chip Intel você pode ter um sistema Unix completo, rodando nativamente Dreamweaver e Photoshop. E, se precisar, pode rodar Windows numa janelinha com o Parallels.

Estou modificando a estrutura de minha empresa e vou vender meu servidor (que é Debian) e minha estação para trabalhar com um notebook, pois preciso de mobilidade. Mas não vivo mais sem o Linux e pretendo instalá-lo no novo equipamento.

Vc me aconselha utilizar o Ubuntu??? Vejo sempre vc falando sobre ele em seus posts. Utilizando o Linux[bb], consigo rodar dentro de um emulador softwares para Windows, como Photoshop e Dreamweaver, dos quais ainda dependo?

Salve, como vai?

Eu uso Ubuntu em meu notebook, e também no Desktop. Para mim, hoje, é a distribuição mais fácil de usar. Mas isso depende de seu perfil de usuário. Se você quiser performance a qualquer custo, vai preferir Gentoo. Se gosta de KDE, vai preferir o Suse (o Kubuntu é meio esquisito, na minha opinião.) E etc.

Agora, em relação ao Photoshop e Dreamweaver, depende de seu perfil de uso. Se você usa pouco esses softwares, pode tê-los rodando no Wine ou VMWare. A performance cai muito, mas é um quebra-galho razoável. Já se você trabalha bastante com eles, vai precisar de Windows em seu notebook. Você pode, por exemplo, trabalhar com dual-boot. Ou pode usar Windows e instalar Apache, PHP, Python[bb] e MySQL. E CygWin. Você vai ter até bash no seu Windows.

Uma outra excelente solução, se você puder, é comprar um MacBook. Você vai ter um sistema Unix que roda Dreamweaver e Photoshop. E vai poder rodar Windows ou Linux numa janelinha, com o Parallels.

Barreiras cada vez mais finas

Caramba, dá uma olhada nisso:

The Road to KDE 4: Full Mac OS X Support

Ou seja, além do Windows, você vai poder rodar o KDE 4 no Mac OS X.

Ou seja, acesso às excelentes aplicações do KDE, das quais eu simplesmente não consigo me livrar, mesmo usando Gnome, para todo mundo. Windows, Mac, Linux[bb], FreeBSD, não importa. Você vai poder usar Kmail, Kate, Konqueror e até Kreversi!

Navegando

Obsoleto

iPhone

Milhões de felizes proprietários de iPod[bb] devem ter olhado para seus aparelhos com desdém ontem. A tecnologia tem esse poder estranho, muito parecido com o da moda, de fazer com que você ache, em pouco tempo, que aquilo que comprou não serve mais.
Quanto tempo vai levar para o iPhone estar obsoleto e as pessoas correrem atrás do iPhone mini, do iPhone nano, do iPhone 2.0 ou seja lá o que vier depois?
Numa discussão muito interessante sobre isso na radinho:

Bom, eu tenho um iPobre, desses mp3[bb] chineses a pilha, de 1Gb. Paguei R$ 200,00 no Stand Center 😉
As vantagens em relação ao iPod: a pilha dura quase duas semanas, não preciso me lembrar de carregar cabo, e é pequeno, muito pequeno. Do tamanho de um shuffle, mas com uma telinha, de maneira que eu posso escolher o que vou ouvir. É um pen drive, sem precisar instalar nada. E grava.
As desvantagens: preciso comprar pilhas. Agora estou usando recarregáveis. Não posso ler e-books, nem tenho agenda de contatos, para isso continuo usando o celular. Inclusive, descobri que ler e-books online no celular é bom o suficiente para que eu gaste algumas horas nisso. E não tenho “a experiência”, como um amigo, dono de um iPod, definiu a diferença entre meu aparelho e o dele.

Sinceramente? Estou bastante feliz assim. É muito bom fazer caminhada ouvindo música. Ponto.

Já o celular eu gostaria de trocar. Quero qualquer um capaz de rodar isso aqui.

E chega, por enquanto… 😉