OpenInkpot: software livre para leitores de e-books

OpenInkpot: software livre para leitores de e-books

OpenInkpot: free software for e-book readers
Autor original: Hanno Zulla
Publicado originalmente no:
lwn.net
Tradução: Roberto Bechtlufft

logo

Em julho, Jonathan Corbet lamentou o fato da Amazon não ter tornado o Kindle mais atraente para os hackers do Linux. Os comentários postados em seu artigo sugeriam que ele desse uma boa olhada no OpenInkpot, uma nova distribuição Linux para leitores de e-books. Já adiantando: ele não roda no Kindle. Por enquanto.

m63e567cf

Leitor de e-books N516 com OpenInkpot

O OpenInkpot (ou OI) pretende ser uma pilha de software livre para leitores com tinta eletrônica, funcionando como uma alternativa completa. Ele vem com um “menu-estante” para gerenciar sua coleção de e-books e traz os populares FBReader e Cool Reader para exibir a maioria dos formatos de e-books, como epub, fb2, txt, html, rtf, pdb, plucker e mobipocket. Os arquivos PDF ficam a cargo de um programa nativo do OI chamado locoPDF, e o madeye é um visualizador simples de imagens. Em breve, o OI terá também um aplicativo para reproduzir áudio, voltado para audiobooks.

História

A motivação inicial para o OpenInkpot foi a utilidade limitada do software original com o qual Mikhail Gusarov e Yauhen Kharuzhy, ambos hackers do Debian, se depararam em seus recém-adquiridos Hanlin V3. Eles acharam que o leitor era muito lento e o software pouco prático. Não havia, por exemplo, uma maneira de ajustar o zoom do visualizador de PDFs, e a estante não conseguia lidar com nomes de arquivos que incluíssem caracteres em cirílico ou outros caracteres não ASCII.

Por causa disso, o V3 se tornou o único dispositivo suportado na primeira versão pública lançada em agosto de 2008, o OpenInkpot 0.1. Segundo Mikhail, eles atingiram a maior parte de seus objetivos para o V3. O OI suporta mais formatos e exibe e vira as páginas mais rápido, embora a interface de usuário mais complexa do OI devore parte dos ganhos de velocidade obtidos em relação ao firmware original.

m183be44e

Captura de tela do OpenInkpot

No momento, a equipe está trabalhando para adaptar a futura versão 0.2 para uma segunda plataforma de hardware, o Hanvon N516. Tanto o V3 quanto o N516 são vendidos a bons preços sob diversas marcas diferentes em todo o mundo. O OI me deixou com a pulga atrás de orelha, e eu logo encontrei uma loja online aqui no meu país que vendia esses aparelhos; poucos dias depois eu recebia o meu novíssimo N516, e em menos de trinta minutos substituí seu firmware original por uma versão de desenvolvimento do OI.

Com o novo firmware, ganham-se alguns recursos e perdem-se outros. O N516 ganha muitos formatos de e-books com o OI, mas perde outros como o formato chinês XEB. O leitor de PDF do OI é uma melhoria, mas falta um player de áudio, já que os drivers de som e aplicativos do OI ainda estão em desenvolvimento. A maior vantagem de se usar o OI é que ele é 100% código aberto, não estando atado a nenhum fabricante ou dispositivo.

Por dentro do OI

A árvore de desenvolvimento da versão 0.2 usa um kernel recente, o 2.6.29 (está nos planos passar para o .31), drivers do kernel e software de sistema voltado para os dispositivos Hanlin V3 e Hanvon N516.

Para botar a primeira versão do OI para funcionar, o hacker do kernel Yauhen teve que trabalhar sem a documentação do hardware. Ele “desmontou” o firmware binário original do V3 e escreveu drivers para os botões, o controlador de bateria e a tela. O V3 é uma placa ARM simples com uma tela de tinta eletrônica, mas seu hardware de áudio é incomum: ele só decodifica streams MP3, e é preciso investigar mais a fundo para descobrir se há alguma maneira de fazê-lo tocar áudio PCM simples para que suas funções de áudio possam ser utilizadas em aplicações genéricas.

4ddf1d06

Opções de texto do OpenInkpot

O port para o N516 já está quase completo, e felizmente, o fabricante dele foi bem mais prestativo no fornecimento de especificações e de código fonte. Também falta um driver de áudio ao N516, mas isso está sendo trabalhado para a versão 0.2. Comparado ao V3, o N516 traz uma CPU MIPS mais veloz e mais RAM, o que é útil em aplicativos como o FBReader, que mantém todo o arquivo do documento na memória. O lado negativo é que o N516 usa componentes de hardware meio exóticos, dificultando o desenvolvimento de drivers. Lidar com o pressionamento das teclas ou ler o status da bateria, por exemplo, é desnecessariamente complicado.

Yauhen também fez algumas melhorias no driver da tela de tinta eletrônica criado por Jaya Kumar para acelerar a atualização da tela. A ideia é de que todos os drivers e modificações da equipe do OI sejam devolvidos como contribuições ao upstream.

O software de espaço de usuário do OI é baseado no IPlinux, uma distribuição semelhante ao Debian. Trata-se de um fork que Mikhail fez do projeto Slind, que anda meio parado (também tentou-se usar o OpenEmbedded, mas a equipe desistiu dele por não gostar do gerenciamento de compilação de pacotes).

Alexander Kerner, o terceiro desenvolvedor principal do OI, é o mantenedor de muitas das bibliotecas e aplicativos de espaço de usuário, e descreve o OI como uma camada de abstração que oculta dos desenvolvedores a maior parte da natureza embarcada do hardware. Para desenvolver os aplicativos, Alexander instalou em seu desktop x86 as mesmas bibliotecas do OI, de modo que a posterior compilação cruzada para o dispositivo não dê muito trabalho.

44ade890

Menu do OpenInkpot

A natureza estática de uma tela de tinta eletrônica é um desafio ao desenvolvimento de interfaces de usuário. As atualizações da tela são muito lentas e exigentes, mas a tela não consome energia para se manter como está. Um dispositivo de tinta eletrônica só precisa renderizar uma nova página para em seguida retornar ao seu sono profundo. Não há necessidade do kit de ferramentas clutter, já que é impossível fazer animações com a tinta eletrônica. O OI usa o X e as bibliotecas de fundação do Enlightenment (ou EFLs), que a equipe do OI descobriu serem ricas em recursos, e ainda assim velozes e leves, caindo muito bem em hardware limitado. O uso de memória das EFLs é bem menor do que o de outras bibliotecas do GTK ou do QT (sendo que as do QT ainda exigem a libstdc++). Como a equipe do OI não teve boas experiências com o desempenho lento do GTK no Nokia N770, ela decidiu tentar algo diferente. Embora as EFLs não tenham se revelado tão elegantes quanto o esperado, ela são consideradas uma boa escolha para um dispositivo como o V3 original, com sua CPU lenta e apenas 16 MB de RAM.

Para o desenvolvimento, o OI usa a familiar gama de ferramentas de código aberto: repositório git, bugtracker e wiki para documentação (um pouco defasada, como costuma acontecer com documentações). A lista de discussão não é muito movimentada, e o canal de IRC não fica muito cheio, o que não é muito propício para novatos.

A localização fica por conta do Transifex. As strings da interface de usuário são poucas e curtas, e portanto não tive muito trabalho ao contribuir com algumas traduções para o alemão. Mas nem todo o texto está no formato do gettext ainda, e os candidatos a tradutores talvez prefiram esperar a versão 0.2 se aproximar mais. O sistema usa UTF-8 e tem suporte a texto escrito da direita para a esquerda, de modo que qualquer idioma suportado pelo Unicode pode se tornar uma opção para a interface de usuário.

E-books comerciais e DRM

A pilha de software do OI não lida com conteúdo “protegido” por DRM, e por isso a maior parte dos downloads de e-books comerciais disponíveis atualmente não pode ser lida em um dispositivo com o OI. A equipe não se opõe ao DRM em si, mas para que ele se torne parte da distribuição, ele precisaria ter código totalmente aberto e não depender do hardware para impor suas restrições. É bem difícil implementar isso, então a expectativa é a de que não haja DRM no OI no futuro próximo.

Você pode encontrar pilhas de conteúdo legal e livre de DRM em lugares como o Projeto Gutenberg – talvez seja uma boa hora para ler aqueles clássicos que passaram em branco por você. Para o conteúdo web, ferramentas como o Calibre, o Readability e muitos outros conversores de PDF e de formatos de e-books levam o seu jornal matinal (ou o LWN) para o seu leitor de e-books. Talvez as editoras enxerguem a luz e disponibilizem downloads comerciais sem DRM em breve, assim como a indústria musical começou a fazer após passar por um doloroso processo de aprendizado.

Precisa-se de voluntários. Participe!

O OI é um projeto bem gerenciado. Alexander brinca, dizendo que os hacks mequetrefes que encontrou nos fontes do firmware comercial nunca seriam aprovados por Mikhail. Mas o projeto tem um problema sério de falta de mão de obra. Além dos três desenvolvedores principais, há apenas alguns contribuidores casuais.

A árvore de desenvolvimento atual é um trabalho longe de estar concluído, e não é adequada aos usuários finais, mas para beta testers a coisa já está divertida. O visualizador de PDF ainda é muito lento, e a interface de usuário do OI é inconsistente. Alexander descreve a equipe como um grupo de engenheiros, e não profissionais de usabilidade, e eu concordo plenamente.

O OI parece ser uma boa base, e a equipe receberia de braços abertos fabricantes de equipamentos dispostos a se unirem ao projeto. O trabalho da equipe para portar o OI para o N516 está a cargo do distribuidor russo ucraniano Azbooka (??????), que pretende vender dispositivos N516 usando o OI como firmware oficial. O público-alvo são estudantes e usuários de baixa renda. Alexey Sednev, do Azbooka, está empolgado com a natureza aberta do OI e diz que ele é “o maior recurso” do Azbooka N516. Ele espera que o OI encoraje os proprietários de dispositivos a desenvolverem software, e que isso ajude a promover a personalização para grupos específicos de usuários, nos setores educacionais, de medicina ou de direito.

A equipe espera portar o software para mais equipamentos, e portanto o OI logo precisará adicionar camadas de abstração para métodos de entrada específicos de cada dispositivo, para mídias de armazenamento e dispositivos de rede. O OI também pode ser uma oportunidade de injetar vida nova em dispositivos abandonados por seus fabricantes, permitindo que os usuários evitem a obsolência planejada causada pelos fabricantes ao não fornecerem firmware novo para produtos “velhos”. O Sony PRS-505 pode se tornar o terceiro leitor de e-books suportado, já que há apenas alguns poucos detalhes faltando nos drivers. A equipe está confiante de que será possível portar o OI para qualquer hardware, incluindo o Kindle, mas a falta de mão de obra e de tempo está impedindo os avanços. Eles precisam da ajuda de proprietários de dispositivos dispostos a escrever e manter drivers. Se você for um desenvolvedor do kernel e tiver um leitor de tinta eletrônica por aí, talvez tenha acabado de descobrir um novo e empolgante alvo para hackear.

Créditos a Hanno Zulla – lwn.net
Tradução por Roberto Bechtlufft <info at bechtranslations.com.br>

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X