É isso mesmo você não leu errado, li que o firefox 4 já está em testes. E uma das principais coisas é que ele vai abrir páginas HTML uhuuuuuuuuuuuuul!
o.O
Uai não estou vendo ninguém comemorando? Claro! HTML é o tipo de arquivo que TODO browser abre, desde o netscape e IE1.0.
Mas não é o que a Vivo diz, a dica foi do Kenzo que me passou um link do Geek42 que por sua vez publicou uma carta da vivo dizendo que o site deles não funciona no Firefox 3 porque o mesmo não aceita abrir arquivos com extensão html.
Pior, só abre no IE, o mais ultrapassado dos browsers. Não funciona nem no Firefox, nem no Opera, nem no Chrome e nem no Safari.
Por estas e outras que a vivo está mais morta que viva ^^
Tchelo é um amigo meu e é designer e fã da Micro$oft (talvez ele não admita ^^) mas ele é daqueles tipo de cara que vai contra todos os avisos dos amigos e compraria um videogame X-Box (também chamado de George Foreman Grill ). Ele é do tipo de pessoa que tem até mouse da Microsoft mas enfim, não é para malhar o Tchelo, porque defeito todos temos e as qualidades é que são importante ^^, e estas ele tem muitas, entre elas ele é um exelente designer.
Mas voltando (ou entrando no) ao assunto, o incrível é que ele me mandou um email pedindo para entrarmos numa campanha contra o Internet Explorer (I.E) 6. Ele argumentou que esse dinossauro só sobrevive porque nós (designers e desenvolvedores), continuamos a corrigir os bugs do I.E. 6 para que os sites tenham suporte para esta tranqueira.
Na Internet, acima de tudo com a Web 2.0 o IE.6 ainda é o navegador mais usado.
Aqui mesmo no Casal10 mais da metade dos usuários usam o IE e a maioria ainda o IE6 . Já o FX obedece o óbvio, mais da metade dos que utilizam a raposa já trocaram para a última versão do FX (FX3).
Meu amigo acredita que isso é porque existe um esforço nosso em alterar o layout para corrigir bugs do IE 6. Mas eu acredito que também é porque muitos usuarios de Windows utilizam sistema operacional pirata e não conseguiram atualizar para IE7. Meu amigo Tchelo também me lembrou de algums dados interessantes, a maioria estão abaixo e depois eu tenho os meus motivos para não usar o 6 e nenhum outro IE.
O IE 6 é mais velho que o primeiro iPod
O IE 6 é mais velho que o Windows XP
O IE 6 é mais velho que o Nintendo Gamecube!
O IE 6 é mais velho que o primeiro HALO!
O IE 6 é mais velho que o Jack Bauer!
Mas eu vou mais longe, abaixo algums boms motivos para não usar o IE.
1º Motivo, Atualizações
Vou retomar um pouco da história. No início era Netscape, dominavam o mercado. Porém era instavel mas era melhor que o IE. Quando surgiu o IE4 eu e muitos usuários trocaram o netscape por IE. Até a chegada do FX, que veio ao mercado com o conceito de abas e isso foi quando? Em 2005!!!!
Inacreditável? Sim, em apenas 3 anos o Firefox dominou 44% dos meus usuários e teve e 3 versões!!!! Versões que digo são versões grandes, porque correções saem todos os meses.
2º Motivo, Png Transparentes, o Problema Continua
Já no Firefox 1 era aceito png transparente, abas, tamanhos limitadores de elementos html, entre outros. O IE levou 3 anos para colocar png transparente!!! Pior, emula PNG transparente. Abra o site:
Se você ver ele mover maciamente, sem travar. É porque você não é um infeliz usuário de IE, e muito provavelmente é um usuário de FX, Safari, Opera ou qualquer outro browser decente. Como funciona? O Firefox carrega a imagem de fundo e um PNG por cima, cada ponto da imagem do png pode ter uma cor que varia entre 1 milhão de diferentes de cores e uma quantidade de 0 a 255 de transparência.
O FX carrega a imagem de fundo e a mascara com transparencia, ele manda para a placa de vídeo ambas as imagens e coloca a imagem de saida.
O IE (apenas a partir do 6, pois o 5 não carrega transparência de jeito nenhum) carrega a imagem de fundo e a mascara, carrega um componente de interface do IE com dlls, carrega o direct X (DX), manda pro DX ambas as imagens, o DX manda pra placa de vídeo ambas as imagens que devolve uma imagem para o DX, que devolve para o IE que substitui a imagem de background pela recebida.
Ou seja, se você deseja fazer um site onde tem coisas se mexendo com fundos transparentes e quer que fique bonito em todos os browsers, esquece, use flash. Porque o IE não vai te deixar em paz. Para o IE, browser é para mostrar textos, imagem é coisa de fresco.
3o Motivo, min-height, min-width, max-height e max-width
Desde o FX1 que ele aceita as propriedades acima, elas são utilizadas para que algo na tela não exeda um determinado limite. Exemplo: Digamos que eu quero que uma area de texto no site apareça apenas em 50% da tela, em todos os browsers (Opera e Safari inclusive, IE óbvio que não ^^) eu faço assim:
<div style=”max-height:50%;max-width:50%”>
Isso nunca passará de 50% da tela.
</div>
<div style=”min-height:50%;min-width:50%”>
Isso nunca será menor que 50% da tela.
</div>
Já no IE (qualquer versão) ….
<div id=”div1″>
Isso nunca passará de 50% da tela.
</div>
<div id=”div2″>
Isso nunca será menor que 50% da tela.
</div>
<script>
var Hsize = window.screen.availHeight;
var Wsize = window.screen.availWidth;
setMinHeightPercentByID(’div1′,50);
setMinWidthPercentByID(’div1′,50);
setMaxHeightPercentByID(’div2′,50);
setMaxWidthPercentByID(’div2′,50);
function isIE(){
return (navigator.appName == ‘Microsoft Internet Explorer’);
}
function setMinHeightPercentByID(elementID,percent)
{
element = window.document.getElementById(elementID);
if(isIE())
{
if (getSizeFromPixels(element.style.height) < ((Hsize/100)*percent))
{
element.style.height = ((Hsize/100)*percent);
}
}
else
{
element.style.minHeight =((Hsize/100)*percent);
}
}
function setMaxHeightPercentByID(elementID,percent)
{
element = window.document.getElementById(elementID);
if(isIE())
{
if (getSizeFromPixels(element.style.height) > ((Hsize/100)*percent))
{
element.style.height = ((Hsize/100)*percent);
}
}
else
{
element.style.maxHeight =((Hsize/100)*percent);
}
}
function setMaxWidthPercentByID(elementID,percent)
{
element = window.document.getElementById(elementID);
if(isIE())
{
if (getSizeFromPixels(element.style.width) > ((Wsize/100)*percent))
{
element.style.width = ((Wsize/100)*percent);
}
}
else
{
element.style.maxWidth =((Wsize/100)*percent);
}
}
function getSizeFromPixels(pixels)
{
if(pixels==”")
{
pixels=0;
}
else if(pixels.indexOf(”px”))
{
pixels = parseInt(pixels.replace(”px”,”"));
}
return pixels;
}</script>
E pode se preparar para corrigir algums bugs, pois uma coisa é uma função criada por mim, outra é uma funcionalidade embutida no navegador que é testada por centenas de milhares de usuários. Ou seja, é mais fácil mudar o layout.
Outras propriedades importantes como position:fixed estão faltando no IE, gambiarras existem para tentar resolver o problema do navegador, como o exemplo :
howtocreate
Depois reclamam com os desenvolvedores de web sites do porque existem tantas gambiarras no código, tsc, tsc…
3o Motivo, coerência
Eu uso a biblioteca prototype em jscript para fazer algums efeitos. Em dado ponto do código eu chamei uma função (Window.show() ) que funcionou bem em todos os browsers, menos? Alguém sabe, alguem sabe? IE é claro!
A função não funciona dentro da página, apenas se chamada no final do HTML, isso porque o IE aparentemente começa a executar os scripts antes de terminar de baixar a página inteira. Para piorar o erro era tão escroto, que dizia “A página (nome da sua página) não pode ser aberta” e fechava a janela!
OK, como resolvi? Utilizei uma função para chamar a página depois que ela fosse carregada inteira. Para isso coloquei a linha abaixo:
setTimeout(’Window.show()’,15000); //150000 é 15 segundos
Como nesse caso eu não me importava de abrir a janela muito tempo depois, ok. Mas ai atiçou uma curiosidade, qual seria o limite?
Baixei para 5000 (5 segundos) e funcionou. Fui baixando, baixando e …. pasmem! Ficou assim!
setTimeout(’Window.show()’,0); //O idiota do IE não sabe executar na hora, mas se você agenda para zero segundos ele entende.
Outro exemplo:
Tente escrever o código:
document.writeln(’</script>’);
e povavelmente você vai ter um erro no IE, não somente esse, mas vários com </ e algumas coisa.
Pois é, sei que tá dentro de uma string, que o itnerpretador dele deveria saber, mas IE é burro.
Para sair dessa você precisa se adaptar ao IE e escrever de maneira porca:
document.writeln(’<’ + ‘/’ + ’script>’);
Se eu desenvolvo o aplicativo no FX e depois olho como ficou no IE, nunca dá certo. Pois sempre fica uma merda. Tenho que ou fazer e olhar nos dois. Porque o que funciona no FX funciona também no Opera, Safari etc, mas o que funciona no IE, só deus entende.
4o Motivo, Quero Saber….
Imagine a situação que você deseja saber dados sobre plugins do usuário. Vou usar o java como exemplo. O FX dá a informação. Então se você quiser por exemplo, saber se tem Java instalado e a versão, pronto, 2 linhas de código e você sabe. Se ele não tiver Java você dá o link para ele. Abaixo o código em FX e demais FX:
1. if (navigator.mimeTypes && navigator.mimeTypes.length) {
2. x = navigator.mimeTypes['application/x-java-jnlp-file'];
3. if (x) javawsInstalled = 1;
4. }
E no IE?
function checkPlugin(){
var r = detectIE(”8AD9C840-044E-11D1-B3E9-00805F499D93″,”java”);
alert(”RESULT = ” + r);
}
function detectIE(ClassID,name){
result = false;
alert(ClassID);
document.writeln(’<script language=”VBscript”>’);
document.writeln(’\n on error resume next \n result = IsObject(CreateObject(”‘ + ClassID + ‘”))’);
document.writeln(’msgbox(IsObject(CreateObject(”‘ + ClassID + ‘”)))’);
document.writeln(’</scr’ + ‘ipt>’);
if (result)
return name+’,';
else return ”;
}
5o Acid Test
Existe um teste para verificar a estabilidade dos componentes. Boms browsers sabem exatamente o lugar que deve desenhar um componente. Browsers ruims, desenham componentes com bugs de posição que fazem a vida dos desenvolvedores um inferno.
O Acid Test 2 realiza um teste rápido e o resultado em um browser bom é exibir uma cara sorridente. O link Acid Reference 2 mostra como deveria ser exibido a tela. Se você não enxergar uma cara sorridente com o primeiro link é porque você deve ser o infeliz usuário de um browser Internet Explorer versão 7 ou inferior. Na realidade o Internet Explorer até hoje não conseguiu passar 100% no teste do Acid Test 1. A versão 8 FINALMENTE corrige esses bugs de floating e consegue passar no teste do Acid Test 1 e 2, porém está muito, mas muito longe de passar no teste do Acid Test 3 que avalia Ajax, CSS3, DOOM2 e outras features de Web 2.0
No Acid Test 3 o IE (qualquer versão) nem abre. Já o Safari passa em 99% dos testes, e o Firefox em 73% dos testes e o Opera em 100%. A página de como deveria ficar o Acid 3 está em refenrecia do Acid Test 3
Abaixo mais informações sobre o 3o Acid Test e o desempenho de todos os browsers mais populares do mercado.
Wikipidia Acid Test 3
6o Motivo, Segurança e Atualização
No FX quando descobre-se um bug de segurança, leva em média 24 horas para sair uma correção. No IE a maioria dos bugs levam semanas, as vezes meses! Isso se tratando de segurança, agora pense nos menos urgentes.
O IE 7 trás várias vantagens que o FX já tinha desde a versão 1.7. Agora o FX lançou o FX 3 e já está em testes o FX 4, e o IE? O IE está no 7 cheio de bugs, estão testando a versão 8 que deve resolver bugs que o FX não tem desde a versão 1.7 (como o Acid Teste do exemplo 6). Porém, enquanto estão fazendo o IE 8 para os sites abrirem parecido como que abria no FX 1.7 o FX já tá fazendo testes no FX 4.
E por último e 7o motivo para não usar nem o IE 6 e nem o 7, digite no google:
“Iternet Explorer trava página”
e você terá 1.320.000 ocorrências.
Diogite:
“Firefox trava página”
e você terá 134.000 ocorrências.
Por todos os motivos acima e muitos outros, eu sou a favor de matar o IE e entrar na campanha do site :
Porém mais ainda, sou a favor de exterminar o IE de vez. Nada causa tanto desgaste aos desenvolvedores do que dar suporte a esses browsers da MS.
A minha esposa até criou um grito de guerra:
“Eu odeio o IE, êêêêêêêêêêêêêêêêêêê!”
É isso ai pessoal, até a próxima =D
O Firefox (FX) revolucionou os browsers, ele usa o conceito de tabs (ou abas) , tem melhor controle de threads, é livre de sistema operacional, tem plugins com comunidade grande para dar suporte, e é mais avançado que o IE. Abaixo eu desmembro cada item.
Antes do FX surgir, ao usar o IE você era obrigado a abrir uma
nova instância (janela) do browser para cada página que você fosse ler, se você abrisse 20 páginas, sua barra de tarefas ficava insuportável. Agora no IE7 não precisa mais, isso porque ele copiou o que o FX vem fazendo há mais de 5 anos, o sistema de tabs. Com o sistema de tabs você consegue abrir várias janelas dentro do browser e com isso ficar mais organizado.
Thread são gerenciadores, quando um programa inicia, várias threads são iniciadas para controlar coisas diferentes. Por exemplo, porque você tem que parar de navegar enquanto se faz um download? Para isso não acontecer, uma thread cuida do download e outras continuam cuidando do browser. Se um programa tem muitas threads ele se torna lento (porque gerenciar as threads não é fácil), se um programa tem poucas threads ele fica travando e bloqueando ações quando algo mais pesado executa.
Por exemplo, se você reparar no IE quando você clica num link, o mundo acabou, nada mais pode ser feito até ele carregar a nova página. No Firefox, até o último segundo ainda é possível clicar em um outro link da tela (isso geralmente vem depois da frase “que merda, cliquei no link errado!”) e em vez dele carregar o link antigo, ele aborta o antigo e carrega o novo. Esse é somente um dos vários exemplos de melhor controle de threads que o FX tem em relação ao IE.
O FX diferente do IE não está associado a um sistema operacional, então ele tem versões para windows, mas tem versões para quase todas as distribuições de linux e para outros tantos sistemas operacionais. O IE7 passou a ser fornecido apenas para quem usa sistema windows original, eu tenho em meu note porque veio com windows xp mas sei de muitos que pararam de usar o IE7 por conta disso. E se vc usa o IE7 hoje, amanhã pode ser obrigado a comprar o windows vista para usar o IE8, isso é uma coisa que não se precisa se preocupar com o FX.
No IE também existem plugins mas como tudo na MS é muito restrito ao SO e poucos tem o controle para fazer tais plugins, já no FX a comunidade que cria plugins é enorme e aumenta a cada dia. Com plugins você pode configurar praticamente tudo no FX. Eu por exemplo não deixo de usar o Tab Mix que me permite configurar como vejo as tabs no browser, Greasemonkey que me permite adicionar e criar scripts para alterar algumas páginas entre outros.
No IE também existem plugins mas como tudo na MS é muito restrito ao SO e poucos tem o controle para fazer tais plugins, já no FX a comunidade que cria plugins é enorme e aumenta a cada dia. Com plugins você pode configurar praticamente tudo no FX. Eu por exemplo não deixo de usar o Tab Mix que me permite configurar como vejo as tabs no browser, Greasemonkey que me permite adicionar e criar scripts para alterar algumas páginas entre outros.
Já com os temas eu posso alterar o FX todo dia se quiser, dando ele o aspecto que eu quiser. Moderno? Cara de MacOS? Retro? Nada é empiocílho, se quiser tem até como fazer o FX ficar com cara de IE (bom tem gosto para tudo).
Quando o FX começou a ser usado, muitos sites não davam suporte a FX. O FX dava suporte as mais diversas tecnologias, mas os sites eram projetados para ficarem bonitos no IE, muitas vezes para desviar de bugs do mesmo e com isso causando bugs no FX. Hoje não temos mais esse problema e acredito que apenas 1 em 1000 sites não opera bem em FX, numero igual de sites que não operam bem em IE e sim no FX.
Mas se quando o FX estava na versão 1.0 ele tinha esse problema, hoje com o FX 2.0 temos novos e esse é o motivo do título.
Hoje o FX em algums pcs (e não raro) ele começa a congelar, dar freeze. Ele simplesmente para de funcionar, não recebe e nem envia informação, como se a internet estivesse com algum problema. Ao abrir outros programas e até o IE você percebe que o problema na realidade é no FX.
Esse problema passou a acontecer somente com as alterações que vieram com o FX 2.0. A principio até achei que era para forçar os usuários do FX1 migrar para o FX2 mas vi que com o tempo o problema aparecia no FX2 também. Abaixo um vídeo mostrando o problema:
Se consultar no google você vê que não é raro usuários reportarem esse tipo de problema e geralmente vem acompanhado das seguintes falsas correções:
1-)Troque de serviço de banda larga.
2-) Reinstale o FX
3-) Criar um novo profile.
4-) Desinstalar todos os plugins.
5-) Formatar a máquina.
Fui testando uma a uma das “soluções” e posso garantir que nenhuma delas funciona.
Minha primeira impressão, era de que minha banda larga à rádio estivesse fazendo de alguma maneira travar o FX, mas descobri após conseguir o ADSL Speedy de que não era o caso.
Depois (e mesmo antes), reinstalei o FX e mesmo assim o problema tornava a aparecer (ele some por um tempo mas volta).
Ai um amigo meu, o Kenzo sugeriu de apagar meu profile e criar um novo, perdi todos meus plugins nessa e tive um bom trabalho para migrar meu bookmark e resolveu, por pouco tempo, e toda a novela se repetiu.
Depois, o Kenzo me sugeriu ainda de desinstalar os plugins para ver se resolvia. Segui seu conselho e o problema voltou a aparecer tempos depois.
Ai parei de incomodar ele e quando o problema aparecia, eu usava o IE, depois de um tempo o problema sumia e eu voltava ao FX. Até que troquei de pc, máquina, e óbviamente HD. Então fiz o último teste, o da formatação de HD, e mesmo assim voltou a aparecer.
Possíveis causas:
Como o problema ocorre sem plugins, acredito que ele esteja associado a algums scripts. Percebi por exemplo que a trava acontece mais comumente após acessar o gmail, ou sites que tenham a propaganda google embutida (como o casal10). Mas a culpa são de falhas de script, logo é do google (por exemplo) ?
Não, um script inválido não deveria ser responsável por causar dano ao browser, sessão ou profile, no máximo a página, dar um erro e depois do aviso voltar ao normal (mesmo que a página não seja impressa). Um erro num único script dar esse tipo de erro no browser é fruto sem dúvidas de uma falha GRAVE do FX. É como se o sistema operacional, tivesse uma falha que um erro num software travasse o computador, e depois que o mesmo fosse reiniciado o sistema operacional não abrisse mais.
Outra possibilidade é ter mais de uma causa, e ela estar associado além de scripts, também a plugins. Nesse caso, o problema é ainda mais grave mas não muda o fato de que, um plugin não poderia ter poder de danificar o browser a ponto de fazer ele parar de trabalhar. No máximo o FX deveria identificar isso e uma mensagem alertar o usuário de que o plugin foi desativado por falha.
E se dar uma googlada não existe nenhuma solução oficial vinda da equipe do Mozila, apenas dicas que se mostrarão inúteis com o tempo dando as sugestões que muitos usuários já perceberam que resolve apenas por hora.
Será que o FX3 vai nos salvar desse problema?
PS: Após o comentário do leitor ufa decidi testar o FX3, até o momento sem travas e comendo metade da memória que o FX2 comia, será o fim dos meus problemas? Não percam os próximos capítulos dessa intrigante história