Sai 2011, entra 2012

Tudo que eu tenho pra falar sobre o final do ano não cabe em 140 caracteres, então para que todo mundo que me segue leia, seja via twitter ou facebook, segue um blog post:

2010 foi o pior ano da minha vida. Uma das únicas pessoas que se importavam comigo se foi, e além disso foi o ano em que finalmente eu tive que pagar pelos meus erros, tanto no literal quanto no figurado.

2011 foi um ano de recuperação, de aprendizado. Aprender sobre a vida, a me virar. Aprendi muito, e acho que pela segunda ou terceira vez na vida, foi um ano em que adquiri mais sabedoria do que conhecimento.

Se eu manter a minha atitude, os planos, a mentalidade, 2012 vai ser o ano do break-even. Espero poder no final de 2012 dizer que consegui tudo o que precisava sendo igual ao que fui em 2011.

Em ordem alfabética: Bani, Jacke, Dona Nice, Paula e Wil. Sem vocês eu não teria sobrevivido 2011. Todo e qualquer sucesso que eu tiver em 2012 e nos anos seguintes será por causa do que vocês foram para mim nesses últimos anos. Para os xucros e a galera do não tem três: muito obrigado pela cia (presencial ou virtual) e pelas risadas.

Eu aprendi faz um tempo que se eu manter metas ridiculamente simples elas se concretizam, portanto lá vai:

  • Parar de ser vagabundo e lançar o gnasio. Falta muito pouco. Não é difícil, mas fica quando se faz uma tela a cada 8 meses.
  • Aprender a me vestir. Muito provavelmente vocês vão continuar a me ver mulambento, mas conhecimento nunca é demais.
  • Aprender a cozinhar.
  • Ter foco na vida. Eu listei ler mais, jogar mais video-game, tocar guitarra, andar de patins, mas o que falta mesmo é foco. Se eu terminar o livro que comecei, o jogo que comecei e aproveitar melhor o tempo livre no lugar de dormir, vai ser um epic win!

Resumindo, é isso. Que venha 2012!

Posted in Uncategorized | 1 Comment

Final Fantasy XIII

Comprei o jogo no final do ano. Terminei só agora. Apesar de levar mais de um semestre para terminar, o contador mostrou 55 horas de jogo. O que é razoável, considerando que parei para fazer grinding algumas vezes, e somando tudo devo ter investido entre 10-12 horas de jogo.

O que eu gostei:

  • A mecânica de batalha: Leva um tempo para se acostumar, no começo você fica com a impressão de que não faz (ou não precisa fazer) nada além de apertar o A, mas com o tempo você aprende que se aprender o sistema de paradigmas consegue lutar de jeitos diferentes. O jogo também não te ajuda muito, você pode ir jogando com o que vem ao menos que queira explorar tudo. Gerenciar os personagens ao invés de controlá-los leva um tempo para se aprender, mas fica bacana no final.
  • Os gráficos: São lindos de morrer, o jogo dificilmente tem glitches ou lags.

O que eu não gostei:

  • Os tutoriais: O jogo te explica TUDO. Isso não é necessário, e no caso deles beira o inaceitável. O jogo vai rápido pelos DVDs 1 e 2, e no começo do 3 ainda tem um tutorial ou outro de vez em quando. Mais ou menos metade do jogo se passa no terceiro DVD. RPGs já são jogos que joga quem gosta, gente que é curiosa naturalmente e não precisa que alguém pegue na mão e explique tudo. Inclusive essa mania de tutoriais nessa nova geração de jogos e consoles já deu o que tinha que dar.
  • A mecânica de levels: Neste novo FF, você sobe o nível das armas e dos acessórios, usando scraps que os inimigos deixam ao morrer. Boa parte da sua força vem daí, o que é estranho, no mínimo. Tudo bem você montar ou fazer upgrade na sua arma com partes, mas soa estranho elas irem ficando mais fortes aos poucos. Uma coisa mais sensata seria você juntar um monte de peças e transformá-la numa arma nova. O que até acontece, mas inicialmente a arma nova é mais fraca(!) que a antiga. O bom senso faz pensarmos que uma arma nova é forte e o uso a desgasta, até que façamos manutenção e/ou troquemos peças de desgaste.
  • O plot: É fraco, deve ter novela com plot melhor. Principalmente para quem jogou qualquer Final Fantasy entre o IV e o VIII. Fica evidente que o foco foi nos gráficos.
  • Os jogos continuam vindo sem pontos nos números. Durante a batalha final eu fui ver os stats do chefe, e precisei contar zeros para saber o HP dele estava na casa dos milhões ou na casa das centenas de milhares. O mesmo serve para os números dos ataques. Nada que estrague o jogo, mas some pancadaria + vários ou até dezenas de ataques simultâneos + ângulos de câmera cortando parte do número + buffs + debuffs = você pode ficar sem saber se bateu mil cento e algo, ou onze mil e algo.

O jogo ainda tem algumas coisas para se fazer depois que termina, e você só consegue maximizar os stats dos personagens depois que termina uma vez e salva. Isso somado ao esquema de achievements faz com que eu ainda jogue mais um pouco antes de encostar o jogo.

Posted in Uncategorized | Leave a comment

Apple TV

Criei um costume de acompanhar ao vivo os eventos da Apple onde se lançam os novos produtos. Quase sempre o faço pelo feed ao vivo do Gizmodo, mas dessa vez eu deixei passar. Emprego novo, muita coisa pra fazer, sabe como é né.

Passaram-se algumas horas, li o resumo de tudo o que aconteceu pelo feed do InfoWester. Meh. Não digeri nada, apenas li.

Passaram-se alguns dias, eu resolvi entrar no site da Apple para ver fotos, specs e preços dos novos iPods Touch, que até estou considerando comprar depois que o meu iPhone 3G deu erro 28 (erro que basicamente significa leve para a assistência técnica por que você sifudel champs).

Foi aí que eu vi o link para o Keynote de lançamento. Madrugada de sábado para domingo, namorada viajando, bora lá assistir. Minha reação durante todo o keynote foi um gigante “meh”. Nada inovador, revolucionário, mas mesmo assim digno de nota. Parafraseando o titio Steve, “mesmo estando de longe à frente da concorrência, todo ano melhoramos ainda mais a nossa linha de produtos”. Verdade pura.

O que me deixou pensativo e me fez perceber tudo que vou tentar descrever aqui apareceu durante o lançamento do novo Apple TV. Foi legal ver que a Apple fez a lição de casa e foi ver por que o Apple TV (junto com o Mighty Mouse) faz parte do Hall de produtos que simplesmente não tem o padrão Apple de sucesso.

Bom, aqui vão os meus pitacos:

A Apple já resolveu o problema. Só não sabe disso. A indústria toda tenta criar a “TV 2.0″ mas não sabe como. O mesmo já aconteceu com o celular, e a Apple pownou todo mundo. Com areia, cola e vidro. A solução está em criar a iTV. Ou algo parecido. Pensem comigo: eu não preciso de um telefone para usar um iPhone. Eu não preciso de um notebook para usar um macbook. Por que eu preciso de uma TV para usar um Apple TV?

A simplicidade que a Apple traz para as coisas em que ela toca viria muito a calhar na TV. Imaginem uma TV que não leva quase um segundo pra trocar de canal. Que tivesse transições “silky smooth” ao se trocar de canal, que tivesse uma “click wheel” de canais, onde se pudesse achar o que assistir rapidamente. Imaginem mimar as donas de casa e os pais de família do mundo todo com os programas que eles sempre assistiram com uma interface da Apple.

Por favor: pare a leitura agora e compare o controle remoto da TV LCD que você comprou recentemente com esse aqui:

Esse é o controle remoto que os meus pais pediram aos céus. E que os seus pais também.

Se a Apple criasse uma TV com o seu padrão de qualidade e simplicidade, conquistaria todas as donas de casa e pais de família do mundo, que na minha humilde opinião, são as pessoas que de fato assistem TV. Aqui no Brasil, por exemplo, a seqüência jornal-novela-futebol numa iTV destruiria toda a concorrência. Sem dó.

Mas o que fazer com todos os menus e compras e rentals? Deixe lá, mas dentro uma opção “advanced” no menu. Os que sabem como usar vão achar. Eles sempre acham.

Seria infinitamente mais fácil extrair um Apple TV de uma iTV, depois que as pessoas que tem TVs de outras marcas começassem a querer a TV da Apple, do que tentar por um Apple TV para dentro das TVs que já existem hoje.

Apple, entrar de vez na sala de estar é (para vocês) simples. É só fazer o que vocês fizeram com o celular na televisão. Foquem em quem realmente se importa com TV.

Posted in Uncategorized | Leave a comment

Por que eu estou indo para o Android

Fiz meu primeiro (e único) jogo em 2005, como TCC. Apresentei o meu jogo de truco para celulares feito em Java. Me formei, pensei seriamente em fazer um site e por o jogo à venda, mas deixei pra lá, por que teria muitos problemas com pirataria e afins.

Fiquei sabendo da existência do iPhone pelo blog da Kathy Sierra (volta Kathy!), mais especificamente por este post. Tinha acabado de comprar o meu primeiro produto Apple, um iPod nano, e estava maravilhado com a Apple em si. Mesmo assim me mantive cético em relação a comprar um.

O principal motivo que me convenceu a comprar um iPhone não foi o iOS, o fato de poder tuitar do banheiro ou qualquer coisa do tipo: Simplesmente acordei um dia e falei: vou programar pra essa p*. Neste dia tinha percebido que o mercado de desenvolvimento para iOS era bom. Bom no sentido de que uma pessoa pode desenvolver uma aplicação, por pra vender em um canal de vendas acessível a todos os donos de iPhone e receber bem mais pela sua criação do que receberia em qualquer outro meio.

Me entupi de sites, blog posts e tutoriais de Objective-C, fui até a TIM e voltei com um iPhone 3G em mãos. A empresa onde eu trabalhava na época comprou um livro de programação para iPhone, que eu peguei e (pra variar) não terminei de ler. Na época tínhamos interesse e liberdade para desenvolver algo se uma ideia boa aparecesse.

Uma piada interna que acabei tomando como verdade é a seguinte:

O iPhone não é seu. Ele é do titio Steve. Só passa a ser seu depois do jailbreak.

Eu nunca tive sérios problemas com as coisas que a Apple impõe para os donos de iWhatever. Até atualizar o meu iPhone 3G para o iOS 4. Para os que estudaram, vejam o vídeo abaixo:

Eu sempre fui contra updates de software imporem updates de hardware. Desde antes ter o meu primeiro computador. E sempre admirei a Apple pelo fato de você atualizar as versões de seus softwares para eles ficarem mais rápidos ou ocuparem menos espaço no seu HD.

Só que o iPhone não é meu. Eu não posso, nas CNTP, voltar ao iOS 3.1.3, por que o iOS 4.0 leva 20 segundos pra abrir qualquer app, ou pq eu tenho um tocador de mp3 que leva mais tempo que o Foston pra trocar de música depois que eu clico no “next”. Eu não posso plugar o iPhone dos meus amigos no meu computador e passar uma app que eu tenha feito, como fazia com o meu jogo mequetrefe de truco em 2005.

Eu me virei, voltei para o 3.1.3. Sô ráquer. Um conhecido meu, que é desenvolvedor de iPhone, disse que o preview do iOS 4.1 para desenvolvedores já resolveu o problema de performance no 3G, mas é tarde demais. A questão é que você poderia resolver o problema em minutos, mas não pode. Por que o telefone não é seu.

Existe um bug de segurança relacionado a PDF que a Apple resolveu agora, no iOS 4.0.2. Só que o bugfix não foi feito para iPhone 2G, ou iPod Touch 1G. Tem um desses dois gadgets e quer a atualização? Você não pode, por que o telefone não é seu.

Enfim, vou para o Android, o Galaxy S e o HTC Desire me parecem ótimos aparelhos. Mas essa decisão é pra ser feita na hora de comprar, o que no meu caso poderá levar semanas ou meses.

Existe o Android Market, o qual eu ando meio por fora, mas se não é, logo será uma alternativa viável para as pessoas que pagam as contas desenvolvendo software mobile. O hardware chegou ao nível do iPhone e o software está inevitavelmente chegando perto.

Pra quem decidir começar a programar mobile hoje, recomendo aprender tanto iOS quanto Android.

Verdade seja dita: A Apple dividiu a história da telefonia celular em antes-iPhone e depois-iPhone. Você terá um iPhone. Eu falei mal de quem comprou e comprei. As pessoas que falaram mal de mim por ter comprado acabaram comprando. E você vai comprar um. Acontece, é a melhor interface. A gente acaba pagando a língua.

Mas ele não será seu.

Eu ainda pretendo fazer alguns aplicativos para iOS. Eu ainda tenho a Apple como referência para qualidade. Eu não quero cuspir para cima e falar que nunca mais usarei um iPhone. Sim, pode ser que eu tenha mais iPhones durante a minha vida.

Mas eles não serão meus.

Posted in Uncategorized | 1 Comment

Considerações sobre Flash

Tradução para o post do Steve Jobs no site da Apple, com as suas considerações sobre Flash e o relacionamento da Apple com a Adobe:

Texto original aqui.

A Apple tem um relacionamento de longa data com a Adobe. Na verdade, nós conhecemos os seus fundadores desde quando eles estavam naquela lendária garagem. A Apple foi o primeiro cliente grande, adotamos a linguagem Postscript para a nosssa impressora nova, a Laserwriter. A Apple investiu na Adobe e por muitos anos foi dona de 20% da Adobe. As duas empresas trabalharam bem de perto e foram pioneiras no mercado de publicação, e houveram muitos momentos bons. As empresas seguiram seus próprios rumos desde aquela era de ouro. A Apple passou pela experiência de quase morrer, e a Adobe foi levada para o mercado corporativo com a sua linha de produtos Acrobat. Hoje ambas as empresas trabalham juntas para servir o mercado de criação – Metade dos produtos da suíte de criação da Adobe são vendidos para usuários de Mac – mas além disso, existem outras áreas de interesse comum.

Eu queria anotar alguns pensamentos nossos sobre os produtos Flash, para que os nossos clientes e críticos entendam melhor por que nós barramos Flash nos iPhones, iPods e iPads. A Adobe definiu a nossa decisão como pura estratégia de negócios – eles dizem que queremos proteger a nossa App Store – quando na verdade a decisão é baseada em critérios tecnológicos. A Adobe diz que somos um sistema fechado, e que o Flash é aberto, quando na verdade é o contrário. Permita-me explicar:

Primeiro, há o “Aberto”.

O Adobe Flash é um produto 100% proprietário. Só é disponibilizado pela Adobe, a qual possui toda autoridade sobre seu desenvolvimento, preço, etc. Embora Flash seja amplamente disponível, isso não significa que seja um produto aberto, já que é controlado e disponibilizado exclusivamente pela Adobe. Baseando-se em praticamente toda e qualquer definição, Flash é um produto fechado.

A Apple possui mutos produtos proprietários também. Embora o sistema operacional do iPhone, iPod e iPad ser proprietário, acreditamos fortemente que os padrões relacionados a Web devem ser abertos. Ao invés do Flash, a Apple adotou HTML5, CSS e JavaScript – todos padrões abertos. Todo dispositivo móvel da Apple sai de fábrica com esses padrões abertos implementados de maneira que tenham alta performance e baixo consumo de energia. HTML5, o novo padrão da Web que está sendo adotado por Apple, Google e muitos outros, permite aos desenvolvedores criarem gráficos, tipografias, animações e transições sem fazer com que eles dependam de plugins de terceiros (como Flash, por exemplo). HTML5 é completamente aberto e é controlado por um comitê, do qual a Apple é membro.

A Apple até cria padrões abertos para a Web. Por exemplo, a Apple começou com um projeto open-source pequeno e criou o WebKit, um motor de renderização HTML5 open-source, que é o coração do navegador web Safari, browser usado em todos os nossos produtos. WebKit está sendo adotado bastante. Google o usa no navegador do Android, Palm o usa, Nokia o usa, e a RIM (Blackberry) anunciou que usará também. Quase todo smartphone que não é Microsoft usa WebKit. Ao abrir a tecnologia do WebKit, a Apple definiu o padrão para navegadores web mobile.

Segundo, há o conceito de “toda a web”.

Adobe tem insistido em dizer que os dispositivos móveis da Apple não podem acessar “toda a web” por que 75% dos vídeos na rede estão em Flash. O que eles não dizem é que quase todos esses vídeos estão disponíveis também em um formato mais moderno, o H.264, e está disponível para iPhones, iPods e iPads. O Youtube, que de acordo com estimativas possui 40% de todos os vídeos na internet, tem um aplicativo que vem em todos os dispositivos da Apple, sendo que o iPad talvez seja hoje quem oferece a melhor experiência para o usuário que existe. Adiciona e esta lista os vídeos do Vimeo, Netflix, Facebook, ABC, CBS, CNN, MSNBC, Fox News, ESPN, NPR, Time, The New York Times, The Wall Street Journal, Sports Illustrated, People, National Geographic e muitos, muitos outros. Os usuários de iPhone, iPod and iPad não estão perdendo muita coisa.

Outra reclamação da Adobe é de que os dispositivos da Apple não rodam jogos em Flash. Isso é verdade. Felizmente, existem mais de 50 mil jogos e títulos de entretenimento na App Store, e muitos deles são gratuítos. Existem mais jogos e títulos de entretenimento disponíveis para iPhone, iPod e iPad do que para qualquer outra plataforma no mundo.

Terceiro, há a confiabilidade, segurança e performance.

A Symantec destacou recentemente que Flash possui um dos piores históricos de segurança de 2009. Nós também sabemos de antemão que Flash é o motivo número 1 de travamentos nos Macs. Nós estamos trabalhando com a Adobe para resolver este problema, mas eles estão resistindo por muitos anos. Nós não queremos reduzir a confiabilidade e a segurança dos iPhones, iPods e iPads só para adicionarmos suporte à Flash.

Além disso, Flash não funciona bem nos dispositivos móveis. Nós andamos pedindo com frequencia para a Adobe nos mostrar Flash rodando bem em um dispositivo móvel, qualquer um, durante alguns anos. Nós nunca vimos. A Adobe disse publicamente que Flash sairia para smartphones no começo de 2009, depois disse que sairia no segundo semestre de 2009, depois no primeiro semestre de 2010, e agora disse que sairá no segundo semestre de 2010. Nós achamos que uma hora vai ser lançado, mas estamos felizes por não termos esperado por eles. Quem sabe como ele vai funcionar?

Quarto, há a bateria.

Para a bateria ter uma duração longa reproduzindo vídeo, os dispositivos móveis devem decodificar o vídeo via hardware; fazê-lo via software consome muita energia. Muitos dos chips usados em dispositivos móveis contém um decodificador chamado H.264 – um padrão da indústria que é usado em qualquer Blu-Ray DVD player e foi adotado por Apple, Google (YouTube), Vimeo, Netflix e muitas outras empresas.

Embora Flash tenha recebido recentemente suporte para H.264, os vídeos em quase todos os sites Flash precisam de um decodificador antigo, que não está implementado nos chips atuais, portanto é rodado via software. A diferença é impactante: em um iPhone, por exemplo, vídeos H.264 podem ser reproduzidos por até 10 horas, enquanto que vídeos decodificados via software são reproduzidos por não mais do que 5 horas até que a energia seja toda consumida.

Quando os websites re-codificam os vídeos para H.264, eles podem fornecer os vídeos sem usar Flash. Eles são reproduzidos com perfeição em navegadores como Apple Safari e Google Chrome sem usar plugin algum, e ficam ótimos em iPhones, iPods e iPads.

Quinto, há o “Touch”

Flash foi desenvolvido para PCs com mouse, e não para touch screen que usam os dedos. Por exemplo, muitos site em Flash dependem de “rollovers”, que mostram menus pop-up ou outras coisas quando o mouse passa por cima de um ponto específico. A interface multi-touch revolucionária da Apple não usa mouse, e não um conceito de “rollover”. A maioria dos websites em Flash precisará ser re-escrita para suportar dispositivos com interface touch. Se os desenvolvedores precisam refazer seus sites Flash, por que não já usar tecnologias modernas como HTML5, CSS e JavaScript?

Mesmo que iPhones, iPods and iPads rodassem Flash, isso não mudaria o fato de que sites em Flash teriam que ser re-escritos para suportar interface touch.

Sexto, o motivo mais importante de todos.

Além do fato de que Flash é fechado e proprietário, possui muitas desvantagens técnicas, e não suporta interfaces touch, existe uma razão ainda maior para não darmos suporta à Flash nos iPhones, iPods e iPads. Nós discutimos os contras de se usar Flash para reprodução de vídeos e conteúdo interativo nos sites, mas a Adobe quer também que os desenvolvedores adotem Flash como ferramenta de desenvolvimento para os nossos aplicativos móveis.

Nós aprendemos da pior maneira que deixar uma camada de software de terceiros entre a plataforma e os desenvolvedores resultará no final das contas em aplicativos com qualidade abaixo do esperado e no impedimento do progresso e da evolução da plataforma como um todo. Se os desenvolvedores ficarem dependentes das ferramentas e bibliotecas de terceiros, eles só tirarão proveito das melhorias da plataforma quando e se os terceiros resolverem adotá-las. Nós não podemos ficar a mercê de decisões de terceiros de quando e se as nossas melhorias e progressos ficarão disponíveis para os desenvolvedores.

Isso piora ainda mais quando os terceiros estão disponibilizando uma plataforma de desenvolvimento. O terceiro pode não adotar as melhorias até que todas elas sejam disponíveis em todas as suas próprias plataformas. Com isso, os desenvolvedores sempre só terão acesso ao menor denominador comum de funções. Novamente, não podemos aceitar um ambiente onde os desenvolvedores são impedidos de usar as nossas inovações e melhorias por que elas ainda não estão disponíveis na plataforma dos terceiros.

Flash é uma ferramenta de desenvolvimento para múltiplas plataformas. O objetivo da Adobe não é fazer o melhor aplicativo possível para iPhone, iPod and iPad. Seu objetivo é ajudar o desenvolvedor a fazer aplicações que rodem em múltiplas plataformas. E a Adobe tem sido dolorosamente lenta para adotar as melhorias das plataformas Apple. Por exemplo, embora Mac OS X tenha sido lançado há quase 10 anos, a Adobe só o adotou por completo (Cocoa) dois anos atrás, quando eles lançaram o CS5. A Adobe foi o último grande terceiro a adotar completamente o Mac OS X.

Nossa motivação é simples – nós queremos fornecer a mais avançada e mais inovadora plataforma possível para os nossos desenvolvedores, e nós queremos que eles estejam diretamente sobre os ombros dessa plataforma, e criem os melhores aplicativos que o mundo já viu. Nós queremos melhorar a plataforma continuamente para que os desenvolvedores possam  criar aplicações ainda mais surpreendentes, poderosas, divertidas e úteis. Todos ganham – nós vendemos mais dispositivos por que nós temos as melhores aplicações, os desenvolvedores alcançam uma base de clientes cada vez maior e os clientes são continuamente agradados com as melhores e maiores seleções de aplicativos de qualquer plataforma.

Conclusões.

Flash foi criado durante a era do PC – para PCs e mouses. Flash é um negócio de sucesso para a Adobe, e nós podemos entender por que eles querem levá-la para além dos PCs. Mas a era mobile é sobre dispositivos limitados, interfaces touch, e padrões abertos para a web – todas áreas nas quais o Flash é aquém.

A avalanche de sites e mídias que oferecem seus conteúdos para os dispositivos da Apple demonstra que Flash não é mais necessário para se assistir vídeos ou consumir qualquer tipo de conteúdo na web. E os mais de 200 mil aplicativos na App Store da Apple provam que Flash não é necessário para as dezenas de milhares de desenvolvedores criarem aplicativos com interfaces gráficas ricas, incluindo jogos.

Novos padrões abertos criados na era mobile, como HTML5, vão vencer em dispositivos móveis ( e no PC também ). Talvez a Adobe deveria focar mais em criar ferramentas boas para HTML5 para o futuro, e focar menos em criticar a Apple por ela ter deixado o passado para trás.

Steve Jobs

Abril, 2010

Texto original aqui.

Posted in Uncategorized | 1 Comment

Quem pode fazer algo a respeito desses legos azuis?

Tradução deste excelente artigo do Daring Fireball:

Robert Scoble tem uma analogia boa:

Voltemos alguns anos para a época em que o Firefox estava acabando de chegar. Vocês se lembram? Eu me lembro que não funcionava com um monte de websites. Bancos, e-commerces, entre outros. Porque? Porque na época esses sites foram escritos explicitamente para o Internet Explorer.

Algumas pessoas acharam que o Firefox ia fracassar por causa desses sites quebrados. Do mesmo jeito que a Abobe está tentando dizer que o iPad vai fracassar por causa dos seus sites quebrados.

Só se passaram alguns poucos anos e você vê site que não funciona no Firefox? Eu não vejo.

O que houve? O Firefox FORÇOU os desenvolvedores a usarem os padrões web.

A mesma coisa está acontecendo agora, baseando nas minhas conversas com os desenvolvedores: eles não estão incluindo Flash nos seus planos para o futuro.

No que diz respeito àquelas peças azuis de lego indicarem conteúdo Flash no MobileSafari, pense dessa forma: Quem tem o poder de dar sumiço nelas?

  1. A Adobe não pode. Ela não pode enfiar um player Flash goela abaixo do iPhone OS.
  2. A Apple pode, mas não vai.
  3. Os usuários poderiam convencer a Apple se recusando a comprar iPhones, iPod Touches e iPads pelo fato deles não suportarem Flash. Não parece ser o que está acontecendo. Na verdade, as vendas de iPhone estão aumentando.
  4. Os desenvolvedores podem arrancar os legos azuis, trocando Flash por uma outra tecnologia.

A reação inicial da Abode em relação ao iPad parece ter mais a ver com o item 3 – enfatizar publicamente que os dispositivos com iPhone OS não tem capacidade de renderizar os sites com Flash. Boa sorte para vocês.

Com certeza, o medo da Adobe é de que o item 4 aconteça. E não é pra menos, uma vez que já estamos vendo isso ocorrer. O evangelista de Flash Lee Brimelow fez um poster mostrando como os sites com Flash ficam sem Flash sem nem olhar antes como eles ficam no MobileSafari. No final um monte deles, incluindo o pornô, já possuem versões específicas para o iPhone, sem os legos azuis e vídeos H.264 que são reproduzidos bem o bastante. Usuários de iPhone que visitam esses sites não tem ideia do que estão perdendo por que, bem, não estão perdendo nada. Para os demais sites, existem apps nativas de iPhone para elas.

Kendall Helmstetter Gelner fez uma versão do poster usando screenshots reais, tirados direto do MobileSafari, direto da App Store, e das aplicações nativas. Os únicos sites com legos azuis que sobraram: FarmVille e Hulu.

A explicação é simples: Produtores de sites tendem a ser práticos. Os que usam Flash não o fazem por que são adeptos, mas sim por que Flash é fácil e ubíquo. Poucas tecnologias tem 100% de penetração de mercado. Flash chegou notoriamente perto desta marca. A alguns anos atrás você poderia dizer que, na prática, Flash estava em todo lugar. Para sites como Hulu e YouTube, fez todo o sentido usar Flash.

Flash não é mais ubíquo. Há uma grande diferença entre “em todo lugar” e “em quase todo lugar”. As próprias estatísticas da Adobe colocam o Flash com 99% de mercado no mês passado. Isso por que, de acordo com a sua metodologia de pesquisa eles só contam “PCs” – o que ignora toda a gama de dispositivos e gadgets que trouxeram essa discussão à tona. O argumento da Adobe é de que Flash é suportado em 99% dos browsers que suportam Flash, não de 99% de todos os browsers.

Você pode até argumentar que Flash, independente dos méritos, foi quem entregou o conteúdo para a sua audiência. Isso não é mais verdade, e a penetração do Flash está encolhendo a cada gadget movido à iPhone OS que a Apple vende.

O que a Hulu vai fazer? Sentar e esperar? Reclamar dos legos azuis? Ou fazer a coisa prática e escrever software que entrega vídeos para o iPhone OS? A resposta é óbvia. Hulu não está nem aí pra Adobe. Eles estão aí pra Hulu. Hulu não é um site de flash, é um site de vídeos. Desenvolvedores vão aonde os usuário estão.

P.S.: Negritos por mina conta.

Posted in Uncategorized | Leave a comment

Os 8 macacos

Tradução desse artigo aqui:

(Essas são informações baseadas em uma experiência real, conduzida no Reino Unido)

Oito macacos foram postos em uma sala. No centro da sala há uma escada, que leva a uma penca de bananas penduradas em um gancho no teto.

Cada vez que um macaco tenta subir a escada, todos são atingidos por um jato de água gelada, o que os humilha. Não demora muito, sempre que um dos macacos tenta subir a escada, os demais o derrubam e o espancam, com medo do jato de água. Logo nenhum dos oito macacos tenta mais subir a escada.

Um dos macacos é substituído. Vendo a escada e as bananas, ele se pergunta porque nenhum dos demais está fazendo o óbvio. Eis que, destemido, ele começa de imediato a subir a escada.

Todos os outros macacos caem de pau em cima dele e o espancam. E ele não faz idéia do porque.

Entretanto, ele para de tentar subir a escada.

Um segundo macaco do grupo inicial é substituído. Novamente, o recém-chegado tenta subir a escada, mas todos os outros macacos enchem ele de porrada.

Isso inclui o macaco anterior, o qual grato por não ser o alvo da surra, participa do espancamento porque todos os outros macacos estão participando também. Entretanto, ele não faz idéia do porque está batendo no macaco novo.

Um a um, todos os macacos que estavam no começo da experiência são substituídos. Oito macacos novos estão na sala. Nenhum deles foi atingido pelo jato de água uma vez sequer. Nenhum deles tenta subir a escada. E todos vão prontamente espancar qualquer um que o tente, sem ter a menor idéia de saber o porque.

E é assim que a grande maioria das políticas corporativas são criadas.

Posted in Uncategorized | 1 Comment

Freud, ou melhor, Jung, explica

Uma coisa que sempre me encacucou a mente foi o fato de muitas pessoas, em todas as áreas profissionais, mudarem de personalidade quando ingressam em uma profissão, ou quando atingem (ou pensam que atingem) proficiência na mesma. Boa parte dessa gente faz pior que isso, indo e voltando entre as aparências conforme bem lhes interessa.

E eis que esbarro nesse texto escrito por C. G. Jung, discípulo de Freud, que diz o seguinte:

… .Um exemplo comum é o da identidade destituída de humor, que muitos homens estabelecem com sua ocupação ou seus títulos. O cargo que ocupo certamente representa minha atividade particular; mas é também um fator coletivo, historicamente condicionado pela cooperação de muitos e cuja dignidade depende da aprovação coletiva. Portanto, se identificar-me com meu cargo ou título, comportar-me-ei como se fosse o conjunto complexo de fatores sociais que tal cargo representa, ou como se eu não fosse apenas o detentor do cargo, mas também, simultaneamente, a aprovação da sociedade. Dessa forma me expando exageradamente, usurpando qualidades que não são minhas, mas estão fora de mim. “L’état, c’est moi”, é o lema de tais pessoas.

Recentemente meu chefe disse que todo mundo devia fazer terapia. Cada dia que passa concordo mais com ele.

Posted in Uncategorized | Leave a comment

Django Dash ’09

Participamos!

Sobre o Dash: É um campeonato de Django, onde o seu time tem que construir uma aplicação Django funcional em 48 horas. Ele aconteceu das 2 da manhã de sábado 30/maio até as 2 da manhã de segunda 1/junho.

Porque entrei nessa? Simplesmente por que venho estudando Python desde algum tempo atrás. Não pretendo abandonar o Ruby e o Rails, só acho perfeitamente possível trabalhar com as duas linguagens e os dois frameworks. Chamei o povo pelo Twitter e o @lpirola me procurou uns dias depois. Alguns minutos de conversa depois, eu, ele, o @wilerson e o @ottohenrique estávamos cadastrados.

Resolvemos fazer uma aplicação similar ao orangotag. Resolvemos homenageá-lo, chamando de gorillatag. Diferente do orangotag, o gorilla é um tracker de filmes. O esquema é bem simples: você se cadastra, adiciona seus amigos, e marca os filmes como assistidos. Daí, nos feeds rss dos seus amigos aparece um item avisando que você viu o filme em questão. Você também pode comentar filmes e deixar mensagens para os usuários.

Pra deixar as coisas mais interessantes, eu nunca tinha usado Django. Ninguém tinha. E acho que alguns deles nunca tinham usado Python também. Mas tudo isso acabou sendo um fator positivo.

Nós entregamos a aplicação. O que já é um ponto positivo. Mas perto da concorrência, fomos mal. Muito mal. Agora temos o que olhar e comparar.

Depois de 48 horas usando Django, posso fazer uma comparação simplista de alguns pontos bons e não tão bons, em comparação ao Rails:

  • Schema: O Django não mantém histórico das mudanças no banco. Tirando operações básicas como criar tabelas, ele não faz muita coisa. Se você adiciona um atributo a um model, tem rodar um comando do django que imprime o schema na tela. Daí você pega esse esquema e atualiza no seu banco de dados. Bem diferente das migrations do Rails.
  • Models: No Django os atributos reconhecidos por ele tem que ser declarados no model. Isso é bom em relação aos models do Rails porque você tem tudo num lugar só, não depende de plugins que olham o schema e colocam os campos em comentário, por exemplo.
  • Performance: Sejamos sinceros: Python está num nível de maturidade bem maior do que o Ruby. A performance dele chega a assustar depois que você passa um ano e alguns meses usando Ruby. Ele “compila” os seus scripts em arquivos .pyc. Os arquivos “compilados” são carregados mais rapidamente pela virtual machine, mas não alteram a velocidade de execução. Mesmo assim é uma ajuda tremenda.
  • Django “environment”: Uma das coisas que difere bastante o Django do Rails é a forma como eles tratam o “ambiente”. No Rails, pondo as coisas nos lugares certos, você sempre tem tudo à disposição, carregados certinho. No Django você precisa importar tudo. Vai usar um model numa view? Precisa importar. Vai usar coisas simples como datetime? import. Posso estar falando besteira, mas não carregar as coisas pode ser um motivo para a velocidade do shell do django e outras coisas ser tão mais rápido do que o equivalente no Rails.
  • Plugins: O Django vem com uma engine de autenticação out-of-the-box, que te deixa plugar um model de “profile” nela. Vem também com um models de comentários, sendo que as instâncias desse model podem ser associadas a qualquer outro model do Django. E ainda tem mais: implementar feeds rss é simples ao ponto de criar uma classe, implementar os métodos de título, link, descrição e items e pronto. Creio que isso tudo aconteceu pelo fato do Django ter nascido dentro de um jornal.

Vamos esperar umas duas semanas até sair os resultados do campeonato. Estamos pensando em continuar com o projeto e lançar um beta. Aguardem.

Posted in Uncategorized | 1 Comment

(T|B)DD e a síndrome do Yes Man!

Paranóia. Você não está livre dela.

Paranóia. Você não está livre dela.

Eu sou um cara paranóico. Só a idéia de ter que cuidar de servidores em um final de semana me deixa meio apavorado. Embora isso faça com que eu fique apavorado um final de semana sim, um não, há um motivo para isso.

Existe a possibilidade de que eu não tenha feito algo direito. De que eu não tenha coberto todas as possibilidades. De que o meu código não é perfeito.

A gente sabe que não é necessário (nem possível) fazer código perfeito. Apenas código que funciona. Mas aí que a coisa fica engraçada. Eu, como desenvolvedor nunca tive certeza de que o que eu fiz não iria parar de funcionar de uma hora para outra. Isso até eu descobrir TDD, BDD e afins.

A entrada dos testes na minha vida foi (assim como tudo que entra pra ficar) dramática. De repente, lá estava eu escrevendo código pra ter certeza de que um puts “Hello World” imprimiria “Hello World” na tela. Lá estava eu falando (e/ou achando) pra todo mundo que não fazia que a vida deles era miserável, que eles eram desenvolvedores inferiores. Lá estava eu evangelizando. Justo eu que critico evangelizadores bem mais do que devo.

O meu site, que está em pré-alpha (e vai sair do alpha em breve) está sendo feito com TDD bunitinhu. RSpec e o caraio a quatro. Daí eu resolvi fazer uma tela sem o maledeto. Consegui! E foi mais rápido, porque eu não precisei escrever os testes e specs! E nisso eu fiz mais uma, e outra, e outra. Nisso se passou uma semana, e tinha uma meia dúzia de 9 specs falhando. Ah, 9 de mais de 100? Depois eu arrumo.

Até que eu faço um commit fatal. Alguma merda fez com que, no lugar do browser interpretar a página e mostrar o site, te entregasse as páginas como se fossem downloads. Erro bobo, arrumado em segundos e atualizado pro site em minutos.

Me senti como o Jim Carrey no filme “Yes Man!”. O tempo todo, desde a hora que virei um evangelizador/publicitário gratuíto, até a hora que imaginei estar magicamente preso à filosofia.

No man! No man! No man!

No man! No man! No man!

Na verdade, a ansiedade e a felicidade por isso ter resolvido boa parte dos meus problemas, fez com que eu achasse que todo mundo também precisaria dessa solução. Assim como penicilina. Só que ninguém precisa nem tem saco pra saber que isso mudou a minha vida de desenvolvedor.

Quem sabe passem a querer depois que o site ficar famoso. Ou depois que fique menos chato.

Posted in Uncategorized | 2 Comments