Skip navigation

Tag Archives: Firefox

Muita gente tem dito que o esquema de “fast release” da mozilla não é bom, e que esta prejudicando muito as empresas na hora de gerenciar as homologações do Firefox internamente, ou até mesmo os usuários com os problemas com os plugins de bancos, depois que o firefox é atualizado.

Muitas pessoas também se esqueceram que o esquema de releases longos não tem funcionado mais para a internet. Até por que, a cada dia, temos mais e mais implementações de frameworks novos, linguagens, etc, e com isso, nós desenvolvedores queremos utilizar essas novidades em larga escala, e por conta dos browsers desatualizados, isso não é muito recomendado.

Parece que a maioria se esqueceu também do trabalho que foi – e ainda é, só que agora com o Internet Explorer 7 – matar o Internet Explorer 6.

Anos e anos de atualizações de segurança deixaram a internet muito “amarrada”, e isso com certeza não foi nada bom!

De um tempo pra cá, o Google Chrome veio com a proposta de releases mais rápidos, e com isso, a Mozilla também optou por mudar seu esquema de releases!

Por outro lado, isso pode causar um pseudo “caos” nas empresas, com as tão temidas homologações de software. Mas muitos se esquecem de que o Firefox continua sendo aberto, ao ponto de você, administrador de redes, poder controlar as atualizações do browser dentro da sua empresa. O que muitos não sabem, e pelo que tenho visto, não estão muito preocupados em saber, é que a mozilla têm, já faz algum tempo, uma lista voltada para discussões sobre os produtos da mozilla em ambientes corporativos.[1]

Nessa lista, pessoas do mundo inteiro compatilham problemas e soluções para utilizar e controlar melhor o firefox dentro de redes empresariais.

Existe também, a muito tempo, um documento da Mozilla – que esta acessível para todos – mostrando como construir o seu próprio servidor de gerenciamento de atualização para o Firefox e para o Thunderbird.[2]

Para os usuários, que sempre tem problemas com aquele plugin de algum banco, que para de funcionar depois de cada atualização – lembrando que isso é causado pelos próprios bancos que não atualizam os plugins e não pela mozilla – podem resolver esse problema instalando duas versões do Firefox. A mais atual e uma versão na qual o plugin do banco funciona, mesma maquina, e utilizá-los ao mesmo tempo sem problemas. Para isso, bastando apenas utilizar um perfil diferente para cada versão do firefox instalada na maquina.[3]

Enfim, não há por que criticar o sistema de releases, se você nem mesmo tentou se informar sobre quais soluções a mozilla já tem para ajudar nos possíveis problemas que as atualizações podem causar!

Só mais uma dica, aproveitem e contribuam ajudando na atualização do Firefox das pessoas que não sabem da importância que isso tem :)

[1] – enterprise@mozilla.org
[2] – https://developer.mozilla.org/en/Setting_up_an_update_server#Creating_a_simple_Firefox.2FThunderbird_update_server_with_Apache_and_PHP
[3] – http://br.mozdev.org/firefox/gerenciador-de-perfis
[3a] – http://br.mozdev.org/firefox/beta

Com o Ubiquity já instalado no seu Firefox, acesse o link abaixo e clique no botão que aparece na direita do seu Firefox:
- http://www.spencerwaterbed.com/soft/ubiquity/bing.html

obs.: Esse comando é feito pelo desenvolvedor da comunidade ubiquity, chamado kman

Se você tiver alguma duvida de como instalar um comando no Ubiquity, basta acessar o link que explica como fazer! Fique tranquilo, é bem fácil:
- https://wiki.mozilla.org/Labs/Ubiquity/Ubiquity_0.1_User_Tutorial#Teaching_Ubiquity_New_Commands

Depois de instalar, digite na barra de URL o seguinte comando “about:ubiquity?cmdlist”, em seguida, procure na lista o comando chamado “translate”, e desabilite!

Pronto, agora o seu tradutor padrão é o Bing Translator!

- Agora, se você esta se perguntando por que de estar recomendando o comando do Bing, é bem simples, a nova API do Google não permite muitos acessos gratuitos ao Google Translator, tendo que pagar para um uso mais “ilimitado”!

Já faz algum tempo que queria postar algo sobre o Mozilla Ubiquity, acho que agora vai! :)

Pra entender o Ubiquity, vamos ver, antes de tudo, qual é o conceito no qual ele se baseia!

Mashups

Mashup, relacionado ao desenvolvimento para web, é um site ou aplicação web que utiliza e manipula o conteúdo de várias fontes em um único local! Basicamente, um agregador de vários serviços da web!

Se você quiser mais informações sobre Mashups, pode acessar o link da Wikipedia! Acredito que ele vai tirar a maioria das suas duvidas! :)

- Mashup (web application hybrid) [Wikipedia]

Mozilla Ubiquity

O Ubiquity é um addon da Mozilla que facilita o acesso à vários serviços da web (olha os mashups ai!), utilizando interface de linguagem natural para “chamar” os serviços, através da interface do Ubiquity.

Funciona mais ou menos assim!

Você aciona a tecla de atalho do Ubiquity, digita o serviço que deseja utiliza, por exemplo “Google”, e ele já vai saber que você quer fazer uma busca no Google! Logo em seguida o que deseja procurar no google! Ficaria assim, “Google Mozilla”, com isso, ele buscara no google por mozilla, e apresentar o conteúdo na mesma tela que você digitou o que queria busca, o resultado (no caso, os 4 primeiros link encontrados) que o google retornou sobre o assunto!

Serviços como o GMail, Google Maps, Google Translator, Wikipedia, Twitter (sim, você consegue twittar através dele), e tantos outros podem ser acessados facilmente/diretamente pelo linha de “comandos” do Ubiquity.

Se você ainda esta com duvida sobre como ele funciona, assista o video do Aza Raskin, (desenvolvedore do core do Ubiquity) e veja como tudo acontece:

Ubiquity for Firefox from Aza Raskin on Vimeo.

Se você gostou da ferramenta e quer saber mais sobre ela, segue o link dela no Mozilla Labs:

- Mozilla Ubiquity [Mozilla Labs]
- Mozilla Ubiquity – More Information [Wiki Mozilla]

Desenvolvendo um comando para o Ubiquity

Mozilla Ubiquity, make a commandBasicamente, o Ubiquity é escrito utilizando Python e Javascript, então, não é coisa de outro mundo! :)

Já os comandos que são as coisas que dão sentido ao Ubiquity, são feitas utilizando Javascript! Sim, só isso!

O mais legal é que, você mesmo pode criar um comando seu! Basta escrever no seu Firefox, na barra de URL (ou barra de endereços, como preferir)

about:ubiquity

Fazendo isso, o Firefox abrirá a tela de gerenciamento do Ubiquity, onde você vai encontrar a opção “Hack Ubiquity”, e é ela que você vai poder brincar com os comandos que irá criar, antes de intalar diretamente no seu Firefox.

Para começar a criar um comando do Ubiquity, há um how to no wiki da Mozilla, com informações claras de como você deve começar!

- Ubiquity Author Tutorial [Wiki Mozilla]

Comandos criados pela Comunidade Ubiquity

Depois de aprender a fazer um comando, você pode coloca-lo em uma lista onde há vários outros comandos criados pelos desenvolvedores da comunidade.

- Commands in The Wild [Wiki Mozilla]

Se você quiser dar uma olhada no código de um comando já pronto, pode acessar os que estão no meu github :)

- ubiquity-commands [Clauber Github]

Mais informações

Atualmente, o Ubiquity não tem mais suporte oficial da Mozilla, por tanto, ele é desenvolvido pelos membros da comunidade! Apesar de tudo, a Mozilla não cortou/acabou com o projeto, tanto que o addon ainda esta disponível para download no AMO (http://addons.mozilla.org) e toda a documentação esta nos servidores da Mozilla, mas por uma questão de direcionamento, eles optaram por deixar a comunidade no comando do Addon.

Para instalar esse addon incrível no seu Firefox, você deve baixar o nosso XPI (pacote de instalação de addons) de desenvolvimento, que pode ser encontrado no link abaixo:

- https://bitbucket.org/satyr/ubiquity/downloads/tip.xpi [satyr Bitbucket]

Se você tiver alguma sugestão ou reclamação para fazer sobre o Ubiquity, pode usar o Get Satisfaction para isso:

- Get Satisfaction – Mozilla Ubiquity

Agora se você encontrar algum bug ou quiser ajudar na correção de algum bug já existente, pode fazer isso acessando o link do Bugzilla:

- Bugzilla – Mozilla Ubiquity [Bugzilla]

Bom divertimento! :)

Depois de baixar o código fonte (Codificando o Firefox – Repositórios e Código Fonte), a primeira coisa que eu quero fazer é compilar e executar, ver como, e quanto tempo, tudo isso levar pra acontecer!

Lendo o documento do MDN chamado “Contributing to the Mozilla codebase“, vi um passo a passo interessante para começar a “preparar a casa” e compilar o Firefox.

Preparando o ambiente

A primeira coisa que tive que fazer foi instalar o Xcode da Apple, já que estou fazendo isso no Mac OS X.

Se você tem um mac, e tem os dvd’s que vem junto com o computador, você não precisa baixar o Xcode, pois ele já vem nesse dvd! Então, basta instalar!

Com o Xcode instalado, instalei o gerenciador de pacotes pra Mac OS X chamado Homebrew! Através dele, vou instalar as libs que necessito na preparação do ambiente de compilação!

Após instalar o Homebrew, executei o comando abaixo pra instalar as libs libidl e a yasm!

$ sudo brew install libidl yasm

Fique tranquilo, pois isso pode levar algum tempo pra terminar, e vai depender de quais dependencias o homebrew vai precisará instalar no seu computador!

Outra ferramenta que precisei instalar foi o autoconf, mas como os desenvolvedores do Homebrew não estão mais disponibilizando a “fórmula” para isso (como é chamado o arquivo ruby com as instruções de instalação de um pacote para o homebrew), tive que escrever o arquivo “na mão”!

Utilizei as instruções de configuração de ambiente do Jon Buckley na hora de gerar a “fórmula” do autoconf para o homebrew!

Tive que criar também um arquivo com algumas opções de compilação no meu diretório /home chamado .mozconfig! Para isso, rodei o comando abaixo:

$ touch ~/.mozconfig

Com o arquivo criado no seu direitório /home, abra esse arquivo com o seu editor preferido (no meu caso o Vim ;-) ) e cole o conteúdo abaixo:

. $topsrcdir/browser/config/mozconfig
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-ff-dbg
mk_add_options MOZ_MAKE_FLAGS="-s -j4"
ac_add_options --enable-debug
ac_add_options --disable-optimize

Pronto, o seu ambiente esta configurado e pronto para a primeira compilação do Firefox!

Compilando

Para compilar, abra o seu terminal, navege até a pasta onde você baixou o código fonte do Firefox! Dentro da pasta (no meu caso, a pasta onde esta o código do Firefox é /Users/clauberstipkovic/Documents/Projects/mozilla/firefox/src) e digite o comando abaixo:

$ make -f client.mk build

Agora basta esperar o fim da compilação!

Se tudo ocorrer bem, e você não tiver nenhum erro durante a compilação (particularmente não tive nenhum problema), basta executar o comando abaixo para rodar o Firefox que você acabou de compilar:

$ open obj-ff-dbg/dist/NightlyDebug.app

Ai esta, o seu Firefox compilado e executado diretamente na sua maquina! :)

Observações

O tempo de compilação do Firefox na minha maquina foi de ~ 20 minutos! Tempo que achei razoável, pois estava com alguns aplicativos abertos, ou seja, o processador e a memória não estavam inteiramente dedicados para a compilação, e observando que o meu processador é um Intel Core i5 de 2.3 GHz.

Não recomendo que você inicie a compilação quando estiver fazendo algo que necessite do processamento da máquina, pois isso pode prejudicar o desempenho do que você esta fazendo no momento, além da compilação!

Lembrando que essa foi um compilação básica, sem nenhuma configuração diferenciada! ;)

Segue aqui alguns links que me ajudaram durante os ajustes no ambiente e na compilação:

Depois de muito tempo como contribuidor da Mozilla (com evangelista e coder de add-ons), resolvi, enfim, criar coragem e me aventurar de vez nos códigos do Firefox.

Com isso, pensei que poderia ser legal compartilhar um pouco dos problemas e dificuldades que vou enfrentar no decorrer do processo e de quebra, poder melhorar ainda mais alguns dos documentos que estão nos sites da Mozilla!

Algo importante a comentar é que, a maioria das informações utilizadas aqui são do MDN (Mozilla Developer Network), que estão disponíveis para consulta/estudo sempre que você precisar!

Bom, vamos começar! :)

Estrutura do repositório do Firefox

Primeiro, é importante saber qual é a estrutura dos principais repositórios do firefox atualmente:

  • mozilla-central (repositório corrente)
  • mozilla-aurora (repositório onde o trabalho feito no mozilla-central é estabilizado)
  • mozilla-beta (repositório que serve para corrigir quaisquer problemas que possam surgir durante o uso do mozilla-aurora)
  • mozilla-release (repositório com os códigos lançados oficialmente em cada versão do Firefox)
  • comm-central (repositório de outros produtos da Mozilla como Thunderbird/SeaMonkey/Calendar)

No meu caso, vou utilizar o repositório “mozilla-central”, pois acredito que seja o mais apropriado para o objetivo dessa empreitada :)

Para quem já quiser ver os últimos commits feitos nesse repositório, basta acessar o endereço abaixo:

Se você quiser se aprofundar mais nos detalhes dos repositórios da Mozilla, eu recomendo muito a leitura desse link:

Baixando o código fonte

Atualmente, a maioria dos produtos que tem relação com a Mozilla, tem seus códigos organizados/gerenciados pelo Mercurial!

Para esse projeto, estou utilizando somente dois sistemas operacionais como referencia, que são o Mac OS X e Ubuntu Linux. Apesar de ter como referencia os dois sistemas citados, vou utilizar mais o Mac OS X, pois é o sistema onde eu trabalho mais com os projetos da Mozilla.

Como o Mercurial é escrito utilizando a linguagem de programação Python, e que o interpretador dessa linguagem esta presente por padrão no Mac OS X e no Linux, posso ir direto para a instalação do Mercurial!

Caso você não utilize algum dos sistemas operacionais citados acima, e utiliza Windows, leia os links abaixo para pode instalar o interpretador do Python!

Agora, se você já tem o interpretador do Python instalado no seu computador, vamos para o próximo passo!

Para instalar o Mercurial, eu utilizei um “gerenciador de pacotes” do Python, que se chama easy_install.

Por padrão, o easy_install não é um aplicativo que já venha instalado nos pacotes do Python, por tanto, se você rodar o comando abaixo, de instalação do Mercurial, e não funcionar, você provavelmente não tem ele instalado ainda, então, basta acessar o link de instalação do easy_install, e seguir os passos! :)

Voltando ao Mac OS X e Linux, basta executar o comando abaixo para instalar o Mercurial:

$ sudo easy_install -U mercurial

Sugiro que, após instalar o Mercurial, você configure alguns dos seus dados nele, como a Mozilla sugere no link abaixo!

E finalmente, você pode escolher uma pasta/lugar no seu computador e baixar os códigos do Firefox executando o comando abaixo:

$ hg clone http://hg.mozilla.org/mozilla-central/ src

Dependendo da velocidade da sua conexão de internet, isso pode demorar um pouco, por tanto, não faça isso com pressa ;)

Para esse post, não tive nenhum problema que os link abaixo não pudessem esclarecer as duvidas:

Se alguém que estiver lendo este post, e tiver alguma duvida, por favor, escreva nos comentários, ou se você preferir, você ainda pode utilizar alguns canais direto com a comunidade brasileira e com a Mozilla, que são:

Por e-mail

  • dev-extensions-br@lists.mozilla.org
  • mozbr@googlegroups.com

Por IRC

obs.: Quero deixar registrado aqui o meu “Muito obrigado” aos meus amigos Paulo Martins(@m4rtinsp), Michael Kuhinica (@taverneiro), Fernando Pazin (@fpazin) e Felipe Gomes (@felipc) pela ajuda nesse primeiro post! :)

Estou fazendo os videos da série “Minuto Firefox”, onde mostro algumas dicas de coisas legais para o Firefox, ou até mesmo, como utilizar o navegador!

Espero que gostem! Ah, e sugestões de temas são bem vindas!

O próximo video da série será sobre o Chromeless! :)

Nos dias 03 e 06 de Junho, na ETESP (Escola Técnica Estadual de São Paulo), participei como palestrante na “Semana Técnica de 2011″.

Na minha palestra eu falei um pouco sobre algumas ferramentas da Mozilla, como o Firefox, que é uma excelente ferramenta para o desenvolvimento web, além é claro, muito bom pra navegação na internet! Falei também sobre o Add-ons SDK (também conhecido como Jetpack), um pouco da arquitetura do SDK, e onde os desenvolvedores podem obter material para começar a “brincar” com o SDK.

Dei algumas dicas basicas, mas muito valiosas, para quem queria começar a trabalhar com desenvolvimento web, fazendo página ou aplicações para a web!

Os alunos da ETESP foram muito participativos e interessados durante a apresentação! Foi muito divertido voltar, onde eu cursei a escola Técnica, e ver que a qualidade do curso de Informática continua alta!

Muito obrigado ao Coordenador do Curso de Informática e amigo, professor Julius Capellini, pelo convite e mais uma vez pela oportunidade em poder mostrar um pouco mais da Mozilla e do desenvolvimento web para os alunos da ETESP!

E aqui vão os slides que foram utilizados na palestra:

Vi esse video depois de voltar do Mozilla Summit do ano passado, e depois de tudo que aconteceu na Comunidade MozBR, acho que ele vale muito pra lembrar o que realmente a Mozilla é pra mim! :)

Assista e inspire-se! :)

De uns tempos pra cá, a W3C(World Wide Web Consortium) vem se lembrando dos desenvolvedores, e passou a pensar em uma atualização da linguagem mais popular na web, o HTML.

Não só a W3C esta se movimentando nos últimos anos, mas varias empresas como a Apple, Mozilla, Opera(as quais formaram o WHATWG) também estão se preocupando com os novos rumos da web, dos desenvolvedores também.

Com tudo isso, novos pontos de vista e idéias surgem para melhor(ou pelo menos tentar) o que hoje ainda é um caos(para os que desenvolvem realmente, para a web e não para um browser apenas).

Duas vertentes surgiram no começo dessa nova maré de pensamentos A primeira foi a WHATWG, que defende a atualização do HTML, para uma versão que seja funcional para o cenário de Web que temos hoje, e a outra é a da W3C, que atualizar o XHTML.

HTML 5 Draft doc(W3C) – http://www.w3.org/TR/2008/WD-html5-20080122/
HTML 5 Draft doc(WHATWG) – http://www.whatwg.org/specs/web-apps/current-work/
Differences between HTML 5 and HTML 4(W3C) – http://www.w3.org/TR/html5-diff/
Web Forms(WHATWG) – http://www.whatwg.org/specs/web-forms/current-work/
O futuro do HTML – http://aindaapensar.blogspot.com/2006/11/o-futuro-do-html.html

Para quem quiser testar as novas funcionalidades de HTML5, o Mozilla Firefox 3.5 já da suporte a alguns dos novos recursos!.

Acredito que falar sobre a viagem até Porto Alegre seja o menos importante, pois como estou aqui escrevendo, isso prova que meu avião não caiu(até agora) e que tudo nesse aspecto correu muito bem.

Falando do FISL, acredito que foi um dos eventos onde mais trabalhei(não que isso seja ruim, pelo contrario), apesar de não ter palestrado, mas foi um evento intenso, com surpresas e acima de tudo, o fortalecimento da comunidade latino-americana.

As surpresas para esse evento começaram antes mesmo de chegar no local, pois eu sabia que a responsabilidade esse ano seria bem maior, até por que, tinhamos um stand grande, e não um stand de grupo de usuários como no ano anterior.

Outra surpresa foi ter a visita do Presidente Lula ao evento. Que me desculpem as pessoas que não apóiam o governo dele (esse post não é sobre politica) mas ter o presidente da republica em um evento desses é algo muito importante, não pela pessoa, mas pela figura de presidente!!!

Apesar de todos os problemas que a vinda de um presidente causa aos participantes, a credibilidade que isso da ao evento é enorme.

Falando um pouco sobre a participação da comunidade, posso dizer que foi uma das mais empolgantes e prazerosas que já tive nesses mais de 4 anos como colaborador.

Lembrar de quando fui ao FISL 5, como mero curioso, começar a contribuir com a comunidade, e hoje, ver como estamos crescendo é realmente fantástico.

Todas as atividades que realizamos nos 4 dias de evento foram muito intensas, e ao mesmo tempo produtivas, pois tivemos reportes de bug, desenvolvimento de comandos para o Ubiquity, idéias novas para o Firefox, e muitas coisas mais.

Sobrevivemos ao ataque dos “zumbis das camisetas” :-P , o que gerou preocupação durante o evento, mas que no final, acabou em boas risadas e até, possivelmente, em um filme sobre os “zumbis”. (se vc quiser ler um post sobre o problema com os brindes, recomendo o da Sulamita, sobre o FISL do ano passado)

Mas o que mais ficou evidente nesse evento pra mim, foi o comprometimento, e por que não dizer, profissionalismo de todos da comunidade para que tudo desse certo, e também um dos pontos mais importantes, a união e amizade que criamos/fortalecemos durante os 4 dias, e isso posso dizer que não tem preço.

Vou deixar aqui os meus agradecimentos para o Chris Hoffmann, que é uma pessoa com um coração enorme, sempre atencioso, e que me impressiona com seu conhecimento em cada visita sua ao Brasil. Alix,  que já vem acompanhando e dando força para nossas atividades aqui no Brasil faz muito tempo, e que finalmente pudemos conversar ao vivo :) . Ao Nick e ao Mark, que infelizmente eu não pude conversar muito, mas que se mostraram muito interessados em nos apoiar aqui no Brasil. Aos nossos irmãos da Comunidade Mozilla Argentina, Guillermo, Antonio e Felipe, meu muito obrigado por toda a ajuda e dedicação, espero ve-los em breve. :)

E para a Comunidade Mozilla Brasil, eu não vou citar nomes, pois todos sabem o quanto são importantes para a comunidade, e espero que todos se lembrem do que eu disse no final do evento, mas vou deixar aqui o meu muito obrigado à todos os menus amigos e amigas, pois vocês são realmente incriveis!!!

Deixo aqui também o link para o post do Vinicius sobre “Por que contribuir com a Mozilla?“. Vale a pena ler.