Mostrando postagens com marcador netscape. Mostrar todas as postagens
Mostrando postagens com marcador netscape. Mostrar todas as postagens

terça-feira, 13 de outubro de 2009

Browsers: uma breve história - Parte III

Macintosh e Windows

Como as especificações de design para páginas web, tornou-se mais preciso e as expectativas dos usuários cresceram, uma outra batalha na guerra dos navegadores web começou. Quanto mais detalhada era uma página web e mais rica a sua funcionalidade, maior era o fosso entre os navegadores. Como se isso não bastasse, existia também diferenças entre as plataformas. Como o Netscape trabalhava no Macintosh, era significativamente diferente de como ele funcionava no Windows. Houve diferenças entre si nos navegadores, mas também nos sistemas. Por exemplo, fontes tendiam a exibir menores em Macs, e maior no Windows (mesmo usando o mesmo browser). Cor tendiam a mostrar mais escura em um PC do que em um Mac. Determinados recursos disponíveis no IE 4.0 no PC talvez não estivesse disponível para usuários de Mac (Ainda que sempre o caminho).

Como podemos enfrentar essa guerra?

A guerra dos navegadores tem sido intensa e frustrante. Todo desenvolvedor web tem histórias de horror sobre a tentativa de tornar nos seus locais de trabalho, os principais navegadores. Nos primeiros dias as linhas de batalha foram divididas e bastante equilibradas. Isso tornou as coisas muito difíceis. O resultado foi que muitas vezes tivemos que desenvolver a um nível inferior, para manter os problemas do navegador para um mínimo. Hoje somos capazes de fazer mais.

O primeiro passo para lidar com questões de compatibilidade de navegadores, é definir claramente qual o navegador que um determinado site irá apoiar. Para nós, quando a utilização de um navegador cair abaixo de 3% já não se deve apoiá-lo ativamente. Isso não significa que um site não funciona em um navegador mais antigo. Significa apenas que não mais será feito testes com esse navegador e, se surgem problemas de exibição, não serão prontamente corrigidos.

Quando formamos nossos padrões baseados nos navegadores mais utilizados, e em 95-97% dos casos os nossos sites ficarão muito bem, isso não ajuda muito quando o nosso cliente ainda está usando um navegador obsoleto. Enquanto nós sempre incluiremos os nossos padrões de compatibilidade do navegador nas nossas propostas, também é uma idéia muito boa fazer uma prospecção de navegadores que eles usam (e talvez mais importante, que navegador usa seu chefe) antes de iniciar um projeto. Caso contrário, você estará enfrentando um problema real para o fim de um projeto quando o cliente chama dizendo que o site parece terrível em seu computador (não o tempo para começar a educá-los sobre questões de compatibilidade do navegador).

Apoio a navegadores mais antigos

Apoiar os navegadores mais utilizados e utilizando os meios mais eficientes de codificação faz sentido para projetos web. No entanto, a decisão de limitar o apoio ao navegador pode não fazer sentido para aquelas pessoas que ainda usam navegadores mais antigos (isto é particularmente problemático se o presidente possa ser uma dessas pessoas). É por isso que é extremamente importante comunicar e discutir as normas de compatibilidade do navegador com o seu cliente antes de iniciar um projeto. Também é uma boa idéia incluir normas de compatibilidade do navegador em qualquer proposta ou no contrato do projeto. E por favor, sempre fazer a pergunta "qual o browser que o presidente da empresa usa?", e talvez qual o navegador que a mãe dele usa também; vai que ele queira mostrar o que os "meninos" da empresa fizeram.

Manuseio com navegadores do futuro

Uma nota a respeito de navegadores do futuro. Podemos incluir o seguinte texto em nossos padrões técnicos "A Xpto não garante a compatibilidade com versões futuras dos vários navegadores. Se novos navegadores não exibem informações com precisão, correções podem ser feitas e, será cobrado homem-hora." Enquanto isto pode parecer óbvio (como você não pode apoiar um navegador que ainda não existe), é uma boa idéia deixar o cliente saber que as futuras versões do navegador pode agir de maneira diferente e teoricamente "quebrar" o site existente.

O que nos reserva o futuro?

Embora as questões de compatibilidade do navegador são de longe a parte mais frustrante no desenvolvimento web, as coisas melhoraram. A boa notícia é que a cada mês que passa, há menos navegadores mais antigos sendo usados. Para nosso grande alívio, a atual tendência dos navegadores é para a compatibilidade cross-browser e aderência aos padrões web já existentes. Esperemos que com menos pressão por novas versões de navegadores para oferecerem recursos novos e originais, os navegadores mais recentes se mantenham em conformidade com as normas existentes. Podemos sonhar, não podemos?

quarta-feira, 9 de setembro de 2009

Browsers: uma breve história - Parte II

Entra o Netscape

Marc Andreessen, vendo o potencial para a web se tornando muito maior do que era até então, viu uma oportunidade de construir um navegador muito melhor do que o Mosaic, e assim o fez. Netscape, também conhecido como Mozilla, foi lançado em outubro de 1994. Foi legal. Isso permitiu-lhe alterar as cores de links e links visitados. Foi possível adicionar cores de fundo e gráficos. Não mais páginas cinzas com links em azul e vermelho! Claro, se você ainda estava usando Mosaic, você ficaria de fora disso na medida em que esses novos recursos apareciam. A maioria dos autores de páginas web (ainda a serem referidos como web designers) simplesmente adicionariam um texto ou um gráfico dizendo que "melhor visualizado em Netscape" para suas páginas (no futuro mudariam o texto para Internet Explorer!).

Entretanto, houve um problema. A World Wide Web Consortium, que é uma organização que determina e aprova as normas de codificação de HTML. Apesar do W3C pretender adicionar a maioria dos recursos que o Netscape incluiu no seu navegador, eles ainda não tinham decidido, ou lançado o novo padrão HTML, que incluiu alguns desses novos elementos. O Netscape tinha sacado a arma. Apesar das objeções técnicas dos puristas, todo mundo estava empolgado com os novos recursos, e realmente não importava se estava ou não aprovados pelo W3C, o Netscape fazia. Não demorou muito tempo e o Netscape 2.0 foi lançado com outro conjunto de novos recursos de formatação, tais como "tables", "frames" e o temido tag "blink". As coisas estavam avançando rapidamente, e não se pensava muito como alguns desses novos recursos afetariam os navegadores mais antigos, que muitas pessoas ainda utilizavam. Esta tendência iria crescer mais e mais problemática no futuro com a inclusão do JavaScript, Java applets, e muitos outros elementos de página web mais complexos.

Agora que a aparência de uma página web poderia ser (um pouco) controlada, os designers começaram a ter um interesse real pela web. Muitos designers não tinham conhecimento de questões de compatibilidade de navegadores, mas este não era um grande problema, desde que havia apenas um browser dominante. Além disso, o usuário típico da web não tinha grandes expectativas de como uma página da Web poderia ser exibida no seu navegador. Se um site não fosse cinza genérico era considerado bem desenhado (pode?).

A guerra fria começa

"Que coisa está acontecendo no mundo dos computadores, e não é nele próprio?", gritou Bill Gates, e logo o Microsoft Internet Explorer 1.0 nasceu. Anti-trust de lado, a world wide web estava agora engajada em uma guerra civil entre duas facções entrincheiradas, com facões e foices à mão: os Rebeldes Netscape e o Império do IE. De repente, havia dois grandes jogadores cada um tentando superar o outro em capacidades. Dois caminhos muito divergentes surgiram. O padrão HTML controlado pelo World Wide Web Consortium foi deixado na poeira; apenas sobre cada aspecto de como uma página da web trabalhava diferente entre o Netscape e o IE interessava. Por exemplo, alguns dos mais avançados recursos de programação introduzida pela Netscape usava JavaScript. I.E. decidiu que iria usar VB Script em vez de JavaScript. Agora o que tinham os desenvolvedores a fazer? Se quisessem um pop-up de uma janela, usariam código em JavaScript ou VB Script? Durante algum tempo, eles foram obrigados a escolher qual o navegador era o melhor para um determinado site, ou outro código de duas versões de cada página para satisfazer ambos os navegadores.

Como se esses caminhos divergentes não fossem difíceis o suficiente para lidar com as forças do mercado causada pelo Netscape e IE as "novas" versões betas de seus softwares eram quase mensais. Tradicionalmente, quando uma empresa lança um "beta" do produto, é geralmente para um pequeno grupo de desenvolvedores, de "testers" com o propósito de encontrar e erradicar bugs e problemas antes que ele seja liberado para o público. No caso do Netscape e I.E. eles usaram o público como um grupo de "beta testers", liberando o software "bugado", software instável mesmo, para os usuários em geral. Portanto, agora os desenvolvedores não só teriam de determinar como é que iriam apoiar os vários navegadores, mas também como evitar a colisão das versões beta "bugadas" que estavam em circulação constante. Muitas vezes, eles teriam código de uma página web com um "hack" para contornar um problema específico em um browser. Claro que na próxima versão, o bug poderia ser corrigido (ou não), fazendo o "hack" no site existente ser quebrado e, "fixo" na próxima versão do navegador. Uma balbúrdia.

Antes de jogar toda a culpa no Netscape e no IE, precisamos perceber que eles estavam apenas respondendo a um mercado que estava exigindo novos recursos mais rapidamente do que razoavelmente poderiam ser produzidos. Eles queriam layouts "cool", melhores gráficos, rollovers, animação e todos os sinos e assobios que Netscape e IE podiam fazer possível. Uma das características mais importantes exigidas nas página pelos web designers (ops!) e usuários foi a capacidade de controlar o tipo e layout de sites. Netscape e I.E. ambos responderam através de várias maneiras para controlar estes elementos. Evidentemente, cada navegador implementou as características com pequenas diferenças, e onde um pedaço de HTML podia funcionar bem no Netscape, ele podia não funcionar no IE, e vice-versa.

A capacidade teórica de controle de design foi aumentando, e assim usuários de sites na Internet começaram a se acostumar (e finalmente esperando) com "cool layouts" e com maravilhosos recursos interativos. Designers estavam sob constante pressão para os "uau" dos clientes e visitantes do site com os seus desenhos. Quanto mais eles tentaram impressionar com elementos de design complexo e original, mais difícil se tornou para implementar os projetos, especialmente em ambos os navegadores.

sexta-feira, 4 de setembro de 2009

Browsers: uma breve história - Parte I

Hoje quando cheguei ao trabalho, começamos algumas conversas sobre buscadores, e, falei que usei bastante o HotBot, que pra minha admiração, ainda existe (www.hotbot.com), e logo em seguida, lembramos do Altavista... e a conversa descambou pro browsers, ou navegadores. Lembro de ter participado do segundo ponto de internet no Pará, no Museu Emilio Goeldi, usando uma linha discada de 9600bps num US Robotics courrier... mas voltemos aos browsers, pois juntei algumas "escrivinhações", que vão abaixo. E vou contar essa história toda em partes.

Em 1989, Tim Berners-Lee, do CERN (o laboratório europeu para física de partículas) começou a desenvolver uma tecnologia para compartilhamento de informações usando documentos em texto hyperlink. Ele baseou sua nova linguagem na já bem estabelecida Standard Generalized Markup Language (SGML) - um padrão de intercâmbio de dados comerciais - e batizou-a de HyperText Markup Language (HTML). Ele também escreveu protocolos de comunicações para formar a espinha dorsal do seu novo sistema de informações em hipertexto, o qual denominou World Wide Web.

A Internet e a World Wide Web seguramente constarão em qualquer lista das mais importantes e profundas criações da humanidade. No passado, a maioria dos aplicativos de computador era executada em aplicaões stand-alone, ou seja, computadores que não estavam conectados uns aos outros. Hoje em dia, podem-se escrever aplicativos para se comunicar com as centenas de milhões de comutadores do mundo. A Internet mistura as tecnologias de computação e de comunicações. Isso facilita nosso trabalho. Torna acessível a informação instantaneamente e de modo coveniente, possibilitando que os indivíduos e as pequenas empresas sejam conhecidos em todo o mundo. A Internet está mudando a maneira de se fazer negócios. As pessoas podem pesquisar os melhores preços sobre qualquer produto e serviço. Comunidades com interesses em comum podem se manter em contato umas com as outras. Os pesquisadores podem conhecer instataneamente os últimos avanços ocorridos no mundo, podem ver fotos e imagens de Marte quase em tempo real.

O desenvolvimento Web nada seria se não fossem os navegadores. Claro que sem eles ainda estaríamos de volta aos dias do Lynx - alguém se lembra do antigo navegador somente modo texto? Navegadores têm feito da web o que ela é hoje, mas eles também têm feito o desenvolvimento de sites para a web um negócio extremamente complicado.

Voltemos, voltemos,... em 1993, Marc Andreessen (criador do Netscape) estava trabalhando no antecessor do Netscape "Mosaic". A Web já existia, mas a linguagem da web, HTML, ainda estava em sua infância. Durante esse tempo, o navegador Mosaic adicionou um novo recurso que levou à corrida dos sites de 1995-96: as imagens. O navegador Mosaic podia apresentar gráficos em uma página web. De repente, não-geeks começaram a se interessar pela web, o que começou tudo. Também deu o primeiro tiro em uma guerra de navegadores que tem continuado até hoje. De repente, os autores de páginas web tinham um problema. Agora que eles poderiam usar elementos gráficos como botões de navegação, como é que todos os usuários da web somente com o navegador de texto Lynx poderiam visualizar a página? Ou sobre aqueles usuários que usavam um modem 9600kbps para transmissão de imagens com o recurso de imagens desligado? Felizmente houve um elemento simples de resolver este problema: a tag "ALT". Se um autor da página web acrescentasse o texto "ALT" a uma imagem, o navegador de texto só iria mostrar o texto no lugar do gráfico. Claro que nem todos os autores de páginas web sabiam disso, ou mesmo se soubessem, se preocuparam em adicionar a tag "ALT".

Problemas de compatibilidade do navegador como este estava destinado a se tornar a maldição da existência de um desenvolvedor web.