Posts Tagged ‘iPhone’

Porquê eu não gosto de desenvolver sites usando Flash

Wednesday, November 17th, 2010

Uma vez estava no carro com minha esposa procurando um lugar para jantar (porque o primeiro lugar que fomos estava lotado). Um amigo me recomendou uma pizzaria que é bem popular aqui em São Paulo e decidimos ir para lá, mas primeiro queria ver se eles não estavam com fila de espera também. Quando entrei no site do restaurante para pegar o telefone e ligar… não funcionou porque o site é feito em Flash – que não funciona no iPhone.

Quem me acompanha no Twitter já deve ter percebido há tempos que eu não sou muito fã de Flash, mas quando eu faço os meus “rants” fica parecendo que eu não gosto pura e simplesmente porque sou fã de carteirinha do iPhone.

Se fôssemos discutir esse episódio do ponto de vista do usuário, a primeira coisa que alguém falaria seria “ah, você deveria ter um Android porque ele roda Flash”. Mas eu não quero entrar nesse mérito. Na verdade quero discutir esse problema de outro ponto de vista, o do dono do negócio (o cara que paga para alguém fazer o seu site).

Se você tem um negócio – seja uma pizzaria, um mercado, uma empresa de desenvolvimento de software e por aí vai – você possivelmente vai querer estar na Internet, afinal, alguns dos 67,5 milhões* de Brasileiros que são usuários de Internet podem acabar “esbarrando” no seu site e comprando algum produto ou ao menos conhecendo sua empresa (*dados do Ibope/Nielsen de dezembro de 2009).

Uma pessoa da minha família passou por essa experiência recentemente. Ele contratou uma empresa para desenvolver um site para a sua empresa justamente porque queria ser encontrado na Internet e queria vender seus produtos para mais pessoas. Acontece que a empresa que ele contratou desenvolveu o site em Flash, que obviamente não funciona no iPhone. Mas mais do que isso, o site bloqueia alguns comportamentos padrão do navegador (barra de rolagem e o botão de voltar/avançar), além de não ser indexado nos mecanismos de busca. Obviamente ele não percebeu nada disso por ser leigo no assunto, mas eu fiz uma brincadeira bem rápida procurando por alguns dos produtos da empresa dele em ferramentas de busca e vários sites de concorrentes apareçeram nos resultados, mas o dele não. Não preciso nem dizer que ele ficou decepcionado (e com razão).

Pensando como o dono do negócio, eu diria: “Ora bolas, se eu invisto dinheiro para ter um site, eu quero que ele seja acessível para o maior número de pessoas possível!” E como profissional de Internet, não gosto de desenvolver usando Flash pelos mesmos motivos a não ser que eu não tenha escolha (mas geralmente há uma saída). Para ser um pouco mais claro, meus motivos são os seguintes:

1) Sites em Flash não são indexados direito em mecanismos de busca

A maioria das informações dos sites em Flash ficam dentro de um arquivo compilado que não é lido pelos “crawlers“. Se o conteúdo não pode ser indexado ele dificilmente será encontrado por possíveis usuários/compradores/etc. em ferramentas de busca. Até existem formas de contornar esse problema, mas uma rápida análise em alguns sites em Flash conhecidos me mostraram que em mais de 90% dos casos os desenvolvedores não se preocupam em fazer com que o site seja buscável. Ferramentas de busca hoje em dia são fundamentais para ajudarem os usuários a acharem o que precisam na Internet. O site que não aparece bem em buscas certamente está deixando de ter uma boa quantidade de usuários a mais.

2) Sites em Flash não são acessíveis para pessoas com deficiência

Pessoas com deficiência visual utilizam “screen readers” para navegarem na Internet. A navegação nesses leitores de tela é feita com base nas tags HTML da página. Por exemplo, as tags <h*> ajudam o cego a navegar pelos tópicos principais que a página cita. O alt (da tag <img>) ajuda-o a saber qual o conteúdo das imagens, e por aí vai. Se o site é feito em Flash, nada disso vai funcionar. É possível contornar esses casos (assim como no tópico anterior), mas é trabalhoso e ninguém faz. Dos 20 sites populares que analisei antes de escrever esse post nenhum se preocupou com isso. Se você faz o seu site em HTML, isso tudo já funciona praticamente “de graça”.

É claro que pessoas cegas são uma minoria da população, mas nós temos sorte de não fazer parte dela. Justamente por serem minoria eles acabam muitas vezes sendo excluídos, e como se a cegueira já não fosse sofrimento suficiente eles sofrem ainda mais. É uma questão humana que, pelo menos para mim, conta bastante.

3) Flash atrapalha algumas funções nativas dos navegadores

Sites em Flash muitas vezes atrapalham o funcionamento padrão dos navegadores. Um exemplo clássico é que eles fazem com que o botão de Avançar/Voltar parem de funcionar ou funcionem errado. Esse mesmo problema impede que um usuário consiga gravar nos seus “Favoritos” uma página específica (porque o endereço é o mesmo para o site inteiro, e quando ele acessar vai cair na página principal do site ao invés da página que ele queria). Muitos sites já corrigem isso atualizando as URLs ao longo da navegação, mas vários não funcionam direito. Um outro exemplo pior ainda é quando sites em Flash substituem a barra de rolagem nativa do navegador por uma específica do Flash. Esse sim é um problema terrível, porque até o scroll do mouse para de funcionar. Quer ver como é perturbador? Então veja este site. Por favor, será que dá para me deixar usar o navegador direito?

4) Flash é pesado, especialmente se você está em redes 3G/Edge ou conexões lentas

Tudo bem, os sites em Flash funcionam em Android. Mas o que você acha de ter que esperar um Flash de 2MB carregar para você poder começar a usar o site? E olha que nem estou contando as famosas introduções animadas, das quais vou falar daqui a pouco. As aplicações em Flash ficam gigantescas e lentas, especialmente para quem está acessando de dispositivos móveis ou de conexões mais lentas.

5) Muitos designers de sites em Flash esquecem da usabilidade

Veja este site. Eu que não sou nenhum especialista em UX sei há anos que rolagem horizontal é abominável. Neste exemplo eles anda fizeram com que o trackpad do meu notebook não funcione corretamente, proporcionando assim a maneira mais lenta e tediosa possível de rolar para achar a informação que eu preciso. Agora veja este outro site. Fiz um teste rápido em casa e minha mãe não foi capaz de usá-lo, tem animações demais e objetividade “de menos”. Aposto que muitas outras pessoas também não conseguiriam. Você não constrói sites somente para pessoas que entendem de Internet ou são capazes de “fuçar” e descobrir como funcionam as coisas. A Internet é aberta e todo tipo de gente usará o seu site, por isso é preciso que ele seja tão fácil e direto quanto possível. Não adianta se preocupar somente em fazer sites bonitinhos, eles precisam ser funcionais também.

6) Flash não funciona em todos os dispositivos móveis

Sites em Flash não funcionam em iPhones e iPads, por exemplo. O iPhone – especialmente o 4 – é um fenômeno de vendas. No primeiro dia de venda foram vendidas 300.000 unidades do iPhone 4. No Brasil, várias pessoas foram para a porta da loja à meia noite para poderem ser os primeiros a comprarem o aparelho. Até hoje as lojas das maiores operadoras ainda estão com o aparelho em falta (porque todas as unidades que chegam são vendidas num piscar de olhos). Isso sem contar o iPad, que estima-se que serão vendidas 10 milhões de unidades até o fim de 2010. Ou seja, estamos falando de uma quantidade expressiva de aparelhos. Assim como você se preocupa em desenvolver sites compatíveis com vários navegadores, você precisa se preocupar com dispositivos móveis. Seria muito mais fácil desenvolver para Firefox somente, mas infelizmente há um grande número de usuários que usam Internet Explorer (incluindo IE6, infelizmente) e você não pode deixar de levar isso em consideração, senão eles não conseguirão usar seu produto. O mesmo vale para iPhone – seria muito mais fácil se você não precisasse se preocupar com ele, mas um grande número de pessoas estão usando e você não vai querer deixar essas pessoas de fora do seu site. Se você realmente precisar usar Flash, preocupe-se em ao menos desenvolver uma versão compatível com outros dispositivos (como fizemos na época que eu trabalhava na Globo.com, por exemplo).

7) Introduções em Flash são pouco úteis

Qual é o objetivo funcional de uma introdução em Flash em um site? Pense. Não há nenhum! Sites em Flash muitas vezes tem aquelas introduções gigantes e tediosas que são uma maneira super eficiente de impedir os usuários de fazerem o que eles precisam. Pode ser que isso tenha sido legal há alguns anos quando era novidade, mas isso já passou há muito tempo.

Concluindo…

Como falei no início, minha análise é do ponto de vista dos nossos clientes, ou seja, das pessoas que nos pagam para fazermos bons projetos de websites. Tenho certeza que você que é profissional de Internet como eu não quer fazer projetos ruins (ou não tão bons quanto poderiam ser).

Existem um monte de ferramentas que te permitem criar sites funcionais, rápidos, acessíveis e eficientes. Mais recentemente com o HTML5, muitas das coisas que antes só eram possíveis com Flash (ou Silverlight) agora são nativas dos navegadores.

Da próxima vez que você for usar Flash, pense duas vezes. E se não tiver jeito e você for usar mesmo, por favor faça direito. :)

Desbloqueando um iPhone dentro da Apple Store

Saturday, March 21st, 2009

Quem seria tão ousado de desbloquear um iPhone dentro de uma Apple Store?

Se você acha isso impossível, veja nesse vídeo um ato de extrema coragem quando eu, Danilo e Evandro desbloqueamos um iPhone (2G) dentro da Apple Store da Stockton Street em San Francisco/USA!

Era para ser um vídeo anônimo mas como o telefone era novo apareceu no reflexo da tela a minha cara e a do Danilo várias vezes, por isso o vídeo ficou guardado por muito tempo (desde novembro de 2007) porque eu achava que ia dar problema se o publicasse. Porém, se agora tem até empresa que desbloqueia iPhone, acho que o vídeo é inofensivo.

O processo foi muito tenso mas acabou virando uma história daquelas que você conta para os netos! É muito divertido saber que nós desbloqueamos um iPhone em 13 minutos (da caixa lacrada até o telefone desbloqueado no bolso) com uma penca de seguranças em volta, câmeras e usando a rede wi-fi da própria Apple e os computadores da loja para pesquisar informações sobre o anySIM! Hahaha!

Desbloqueio/Unlock do iPhone 3G com yellowsn0w: seja livre para usar seu iPhone em qualquer operadora!

Friday, January 2nd, 2009

Atenção: este post deixou de ser atualizado no dia 8/janeiro/2009. Certifique-se de que esse método ainda é válido antes de continuar.

No dia 1 de janeiro (conhecido também como “ontem”) o iPhone Dev Team lançou o yellowsn0w, o software que permite que seu iPhone 3G possa ser usado com qualquer chip de qualquer operadora (no meu caso é a TIM). Chega de StealthSIM e UniversalSIM!

O processo de desbloqueio é relativamente simples mas como é muito novo ainda não está bem documentado – principalmente se você nunca desbloqueou ou fez jailbreak num iPhone antes. Passei também por alguns problemas e conseguí me virar graças a informações que estão espahadas em vários lugares, por isso decidí fazer esse guia para facilitar a vida de quem está pretendendo desbloquear o seu iPhone 3G (baseado no guia de desbloqueio do CrunchGear e mais alguns outros, só que mais completo/explicado e em português).

É importante frisar que eu não fiz este processo no Windows. Tudo que está descrito aqui foi feito no Mac OS X versão 10.5.6 com todos os updates possíveis de sistema operacional e iTunes instalados.

Atenção: os softwares usados nesse processo são beta e não há 100% de garantia que o processo vá funcionar. Apesar de haverem vários relatos de sucesso também há alguns relatos de pessoas que tiveram problemas como não receber/fazer ligações corretamente. Comigo funcionou, mas se você quiser fazer é por sua conta e risco! Não me responsabilizo por qualquer tipo de dano ou não funcionamento em seu aparelho.

Se durante o processo você tiver qualquer problema, tome uma cerveja e inicie tudo novamente com mais calma.

Passo 0: retire o SIM do iPhone

Update: Certifique-se de ter retirado o SIM do seu iPhone antes de iniciar o processo, especialmente se você estiver usando algum proxy SIM como o UniversalSIM. Se você já fez o processo com algum SIM inserido, retire-o e comece tudo novamente.

Passo 1: atualizando o baseband para 02.28.00

A primeira coisa a se fazer é atualizar o baseband do iPhone para a versão mais nova, a 02.28.00. Esse baseband faz parte do último firmware lançado pela Apple, o firmware 2.2. Antes acreditava-se que atualizar o baseband tornaria impossível ou difícil o desbloqueio por software mas é justamente o contrário.

Para atualizar o baseband basta apenas fazer o update do iPhone para o firmware 2.2 selecionado a opção “Update” no iTunes. O iTunes irá baixar o firmware 2.2 (que é o último disponível) e atualizar o iPhone, que ficará desativado e travado exatamente como ele vêm de fábrica. Este processo pode demorar de 5 a 15 minutos e você não deve mexer ou rebootar o iPhone manualmente. Deixe que ele termine o processo até aparecer a tela de ativação.

Se você preferir baixar o firmware manualmente, o site ModMyiPhone.com tem o link para baixá-lo – mas isso não é necessário se você não quiser.


* retirado de CrunchGear.com

Passo 2: patch para poder colocar o iPhone em “DFU mode”

Se a sua versão de Mac OS X for 10.5.5 ou inferior pode pular este passo e ir para o próximo.

Se a sua versão de Mac OS X é 10.5.6 como a minha, você não conseguirá colocar o iPhone em DFU mode (Device Firmware Update) porque acredita-se que haja algum bug no driver da USB introduzido na versão 10.5.6. Para corrigí-lo é necessário executar um patch produzido pelo volkspost do Hackint0sh.

O patch pode ser encontrado no site iPhoneHacks.com e é muito simples de ser feito, basta seguir as instruções disponíveis nesta página.

Após o patch seu sistema operacional será reiniciado.

Update: Algumas pessoas reportaram que não conseguiram fazer o iPhone entrar em DFU mode mesmo após o patch do volkspost. Como este problema está relacionado a um bug no driver USB do Mac OS X, uma opção alternativa é fazer o processo de Quickpwn no Windows que não tem este problema. A versão para Windows está disponível no site do Quickpwn.

Passo 3: ativação, jailbreak e instalação do Cydia

Com o baseband atualizado agora é necessário ativar o iPhone, fazer o jailbreak e instalar o Cydia para através dele instalar o yellowsn0w. Para isso vamos instalar no iPhone um novo firmware 2.2 customizado pelo Quickpwn.

Baixe a versão 2.2 do Quickpwn no site deles, instale e execute-o.


* retirado de CrunchGear.com

Na tela acima, seleciona a opção iPhone 3G (o Quickpwn normalmente seleciona esta opção automaticamente quando você conecta o iPhone).


* retirado de CrunchGear.com

Em seguida, o Quickpwn fará um build de um firmware customizado baseado no firmware original 2.2 que você baixou anteriormente pelo iTunes. Esse firmware já está com o sistema ativado, com jailbreak feito e com Cydia e Installer instalados.

Ao terminar de fazer o build, o Quickpwn pedirá que você coloque o iPhone em DFU mode (o modo de atualização de firmware). Se você está com o Mac OS X 10.5.6 certifique-se que você já fez o fix do volkspost para re-habilitar o DFU mode. Se a sua versão é 10.5.5 ou se você já fez o fix, siga em frente sem se preocupar e siga até o final as instruções do Quickpwn.


* retirado de CrunchGear.com

Ele deverá começar a copiar o firmware e alguns arquivos para o seu iPhone…


* retirado de CrunchGear.com

E no final do processo mostrará uma tela como essa abaixo.


* retirado de CrunchGear.com

Se você chegou neste ponto, quando o seu iPhone 3G reiniciar você já estará com ele ativado, com jailbreak feito e com os softwares necessários (Cydia e Installer) instalados. O iPhone está parcialmente funcionando – só não faz ligações ainda.

Passo 4: instalação do yellowsn0w

Instale o yellowsn0w pelo Cydia. Se você nunca usou o Cydia antes, o site AppleiPhoneApps.com tem um bom tutorial de como fazê-lo.

Para fazer com que o yellowsn0w fique disponível na lista de pacotes é necessário adicionar o repositório abaixo. Abra o Cydia, vá na opção “Manage”, selecione “Sources”, depois “Edit”, depois “Add” e digite a URL http://apt9.yellowsn0w.com/ conforme a imagem abaixo:


* retirado de CrunchGear.com

ATENÇÃO, NÃO COLOQUE ESTA URL NO BROWSER conforme alerta o iPhone Dev Team.

Depois de adicionar o repositório no Cydia, procure pelo yellowsn0w entre os pacotes disponíveis e instale-o. No momento que escrevo este tutorial a última versão disponível é a 0.9.4 0.9.5 0.9.6. Vá em “Sections”, selecione “All Packages”, procure pelo yellowsn0w e clique para ir para a tela de instalação:


* retirado de CrunchGear.com

Selecione a opção “Install” e depois “Confirm”.

Quando a instalação terminar, reinicie o iPhone e… TA-DA!!! Agora o iPhone 3G deve pegar sinal e funcionar perfeitamente! Veja a barra de sinal:

Update: Antes era necessário fazer um processo de retirar e colocar o chip toda vez que o iPhone era re-ligado. Com a versão 0.9.6 isso tornou-se desnecessário, bastando apenas reiniciar o iPhone após instalar o yellowsn0w.

Enjoy!

Referências

Globo Vídeos Mobile

Thursday, September 25th, 2008

Continuando com as novidades para dispositivos móveis, além dos vídeos para iPhone em todo o portal Globo.com agora também temos uma versão do Globo Vídeos otimizada para iPhone! No endereço http://m.video.globo.com os usuários poderão assistir vídeos H.264 numa qualidade excelente!

Nesse site trabalhamos em efeitos de transição que lembram os aplicativos nativos do iPhone, abusamos de Javascript e implementamos algumas funcionalidades específicas dessa versão de Safari, como o efeito de girar o aparelho, por exemplo.

O mais legal disso tudo é que o produto foi quase todo feito do zero em aproximadamente um mês. E quando eu falo que tudo foi feito estou falando desde o desenho do site, da criação de ambientes, instalação de software em servidores, definição de profiles de vídeo e início da produção de conteúdo até o site propriamente dito, que tem uma quantidade respeitável de efeitos visuais e 100% de cobertura de testes automáticos rodando no CruiseControl!

Outro detalhe legal do projeto é que dessa vez decidimos fazer tudo em PHP dada a simplicidade do site e que precisávamos agir muito rápido para entregar alguma coisa em 2 Sprints. Por isso que eu digo que aqui nós somos “agnósticos” de tecnologia – usamos a melhor ferramenta para resolver cada problema. No fim das contas foi uma experiência legal e em termos de arquitetura da aplicação e código acho que foi um dos melhores projetos que já fizemos.

Vídeos para iPhone na Globo.com

Thursday, September 25th, 2008

Se você tem um iPhone e acessou hoje algum site da Globo.com que tem vídeos já deve ter percebido a novidade.

Hoje de madrugada atualizamos a infraestrutura do nosso player de vídeos para oferecer conteúdo em vídeo otimizado para iPhones e iPods Touch! Agora quem navega nesses dispositivos vai ter uma experiência muito mais rica e acesso a muito mais conteúdo em todos os sites da Globo.com, especialmente no Globo Vídeos (o acervo de vídeos disponíveis ainda não é muito grande, mas já estamos trabalhando nisso).

Eu sou suspeito para falar, mas a qualidade dos vídeos ficou excepcional e experiência de uso ficou muito boa!

E aí você pode pensar: com tantas coisas para se fazer, trabalhar em distribuição de vídeos para iPhone não é meio irrelevante? Ahm… não. Mesmo sem ter sido lançado oficialmente no Brasil o Safari do iPhone já está entre os top 10 navegadores/sistemas operacionais que mais acessam alguns dos nossos sites! Aproveitando ainda que o lançamento oficial da Claro e Vivo está marcado para essa próxima sexta-feira (26 de setembro de 2008), já estamos nos preparando.

Em breve teremos ainda mais algumas novidades…

[Apple WWDC 2008] Direto dos bastidores

Tuesday, June 10th, 2008

Moscone Center - WWDC 2008Fiquei desde as 5:30 da manhã na fria 4th Street em frente ao Moscone Center para poder conseguir ver o keynote do Steve Jobs, que abriu a Apple Worldwide Developers Conference de 2008. E se você acha que isso foi maluquice minha você se engana. Teve gente que chegou aqui no domingo à noite, isso sim é maluquice. Quando passei de carro na 4th Street às 8 da noite de domingo já tinha um desenvolvedor maluco na fila segurando uma placa “will code for food”.

Mesmo com a galera tendo madrugado na fila, não faltou empolgação. De vez em quando vinha alguém da Apple jogar uns brindes e um deles foi uma camisa reveladora que dava uma pista do que estava por vir no eventoo lançamento de uma nova geração de iPhones. De fato o novo iPhone foi lançado e pela metade do preço do anterior, agora por $199. Além disso ele tem mais bateria, GPS, conexão 3G e um monte de softwares novos como a App Store, criada para baixar e instalar novos programas (mesma idéia do já conhecido Installer).

De cara já percebe-se que essa conferência é diferentes das outras. A galera aqui é muito empolgada e muito fã da Apple, é contagiante. Para se ter uma idéia, a fila para assistir à abertura do evento tinha até grito de torcida e “ola”, dá pra acreditar?

Steve Jobs Keynote - WWDC 2008O keynote do Steve Jobs foi sensacional, para variar. Não é todo dia que você vê uma lenda viva na sua frente, e vir aqui nesse evento me faz perceber parte do porque o cara é uma lenda. Eles pensam em todos os detalhes. A organização é excelente e as apresentações são um verdadeiro show, desde a iluminação, efeitos e piadinhas nerds (muitas vezes provocando a Microsoft e outros concorrentes) até o conteúdo técnico de alto nível.

Essa semana vai ter muita coisa para ver e essa provavelmente será a última vez que eu vou blogar, então, para quem quiser saber mais sobre o evento, o pessoal de Tecnologia do G1 está fazendo várias pequenas reportagens sobre a conferência e eu estou postando algumas fotos no meu Flickr e no Twitter de vez em quando.

Apple WWDC 2008, aí vou eu!

Thursday, June 5th, 2008

Apple WWDC 2008Nos últimos dias tenho andado meio sumido, eu sei. O que acontece é que eu andei dedicando praticamente todo o meu tempo ao XCode, Objective-C e coisas do tipo para chegar bem afiado na Apple Worldwide Developers Conference 2008 que acontecerá na próxima semana em San Francisco.

Com certeza eu vou madrugar na fila para poder assistir ao keynote do Steve Jobs, onde ele possivelmente vai apresentar o novo iPhone 3G e outras coisas mais. As apresentações e laboratórios também parecem ser bem legais e eu espero aprender muita coisa boa por lá!

Fiquem ligados no meu Twitter segunda-feira às 14:00 horas (horário de Brasília) porque eu vou fazer uma cobertura online do keynote (se o Twitter não ficar offline como de costume)! :)

iPhone desbloqueado e funcionando no Brasil

Wednesday, August 29th, 2007

Acabo de receber a notícia de que o Antônio Carlos conseguiu desbloquear o seu iPhone para funcionar no Brasil com a operadora TIM! Este é provavelmente um dos primeiros iPhones desbloqueados no país (o segundo que eu tenho notícia, atrás apenas do Marcello Azambuja).

Ele disse que em breve disponibilizará mais detalhes no seu blog e por enquanto você pode ir conferindo a prova desta façanha.

Conversando com o Antônio e o Marcello hoje de manhã eles me disseram que o processo é bem delicado (mais detalhes em http://iphone.unlock.no) e que qualquer descuido pode fazer com que o telefone vire um belo peso de papel de 500 dólares.

O Marcello prometeu colocar em breve no site dele todo o processo de desbloqueio explicado de forma detalhada, com muitas fotos e algumas melhorias no tutorial original.

E eu que estava pensando em comprar um Nokia E61 já estou reavaliando minhas intenções… :)