Simplificando a instalação de aplicativos no Linux

Simplificando a instalação de aplicativos no Linux
logo-lwn

Simplifying application installation

Autor original: Jake Edge

Publicado originalmente no: lwn.net

Tradução: Roberto Bechtlufft

Em meio a um debate na comunidade do Fedora sobre o público alvo do projeto, mais especificamente sobre a política de atualizações, Máirín Duffy apresentou alguns arquétipos de usuários que ilustram os diferentes tipos de usuários que o Fedora deve contemplar. Mas o post, que foi muito comentado, também tem uma seção de “bônus” que expõe como a interface de atualização é confusa para os usuários menos versados em tecnologia. Ela propôs uma solução para diminuir a confusão, e por coincidência Richard Hughes já vinha trabalhando em uma ideia parecida chamada app-install nos últimos meses. O App-install pode ajudar a amenizar a confusão que envolve os usuários casuais quando chega a hora de atualizar o sistema.

A maioria dos problemas que Duffy destacou giram em torno do que é apresentado aos usuários na interface gráfica do PackageKit. Ela apresentou uma versão da interface com algumas anotações apontando as informações confusas que são exibidas. Mesmo quem for relativamente novo no Linux, mas tiver algum passado técnico, vai achar alguns dos comentários meio bobos – por exemplo, a sugestão de que, em inglês, o nome GStreamer pareceria dizer respeito a uma “bandeirinha para o público gay”. Mas é tudo parte do argumento dela de que há muitas coisas que os usuários técnicos reconhecem rapidamente, mas que os usuários casuais nem imaginam o que sejam.

Há quem defenda que mirar nos usuários casuais não faz sentido para o Fedora (muita gente diz isso), mas a visão de Duffy é a de que o Fedora precisa reduzir essa complexidade, ao menos para alguns usuários, na forma de uma “atualização de plataforma”. Essa atualização traria todas as atualizações em pacotes individuais. Desse jeito, os usuários causais veriam apenas uma atualização, que provavelmente surgiria vez ou outra, sem regularidade, e essa atualização englobaria toda a confusão de pacotes que frequentemente aparece nas atualizações do Fedora.

Como ela admite em seu post, as coisas podem não ser tão simples. Na verdade, ela identificou três grupos de pacotes (a plataforma básica, o núcleo do desktop e os aplicativos) que podem oferecer atualizações conjuntas. Cada conjunto pode ter atualizações liberadas segundo cronogramas diferentes, e todos seriam reunidos em uma atualização mensal da plataforma.

Mas há outras coisas a serem consideradas, especialmente em termos de correções de segurança. As atualizações de segurança aparecem com frequência no Fedora, e na maioria das distribuições preocupadas em estar em dia com as vulnerabilidades descobertas pelos projetos originais dos quais fazem uso. Os planos dela são um pouco vagos, mas a ideia central é a de causar menos perturbações, de modo que seja raro haver uma quebradeira do sistema (ou seja, da plataforma de base e, em menor nível, do núcleo do desktop). Isso também reduziria um problema que atinge os usuários casuais: eles são forçados a tomar decisões sobre as atualizações com base em longas listas de nomes de pacotes estranhos. Os motivos para a atualização geralmente são incompreensíveis.

Embora o app-install não seja uma solução completa para o que Duffy propõe, já é um passo nessa direção. A ideia básica é a de que os usuários casuais querem “aplicativos”, e não pacotes. Segundo esta definição, “aplicativos” são os programas com ícones, como os usuários menos técnicos esperam. Além disso, os aplicativos são listados pelos nomes com os quais os usuários estão acostumados, e não pelo nome do pacote, que pode variar de distribuição para distribuição – por exemplo, Firefox em vez de mozilla-firefox – e que às vezes muda quando sai uma nova versão da mesma distro.

Não é por acaso que o app-install tenta padronizar os nomes nas distros. A ideia é que ele seja uma ferramenta para várias distribuições, e Hughes (que é do projeto Fedora) trabalha ao lado de Roderick Greening do SUSE e Sebastian Heinlein do Ubuntu para criar as especificações e ferramentas. O app-install é basicamente um formato de dados que contém as informações necessárias para exibir os aplicativos de modo mais amigável e localizado. Os dados são armazenados em um arquivo de banco de dados SQLite, que pode ser distribuído junto com um pacote tar compactado com os ícones do aplicativo.

Como demonstração, Hughes criou dois aplicativos que usam os dados do app-install: um instalador e um atualizador. Por meio deles, é possível listar os aplicativos com seus ícones e as respectivas descrições. A versão 2 do esquema do app-install, que está em desenvolvimento, vai acrescentar a capacidade de avaliar os aplicativos e exibir fotos deles, para que o usuário entenda melhor o que ele faz antes de instalá-lo. Essa visão é claramente influenciada pelo Android Market e pela Central de Programas do Ubuntu.

Instalador de demonstração usando o app-install data

Os dados do app-install são extraídos dos arquivos dos aplicativos que, conforme o arquivo README, têm boas traduções gentilmente revisadas pela equipe de controle de qualidade do projeto de origem. Os dados são extraídos para um arquivo SQLite e apenas os ícones necessários são baixados, usando menos espaço em disco e ainda assim oferecendo ícones e descrições para todos os aplicativos disponibilizados pela distro. Há ferramentas disponíveis para extrair os metadados necessários de pacotes do Ubuntu e do Fedora, e deve ser muito simples fazer o mesmo com pacotes de outras distribuições.

Atualizador de demonstração usando o app-install data

Hughes fez o anúncio do app-install na lista fedora-devel no dia 7 de setembro, e na mesma hora houve questionamentos quanto aos benefícios para o Fedora de uma implementação compatível com várias distribuições. Ele já tinha uma resposta pronta:

O Fedora *não* é um ecossistema grande o suficiente para proporcionar experiências de usuário ricas e totalmente localizadas. Trabalhando com outras distros, poderemos formar um grande time e compartilhar o trabalho de tradução, solucionar bugs e escrever mais código novo comum a todas as distros. Eu não quero criar software para o Fedora, mas sim para o Linux, para depois criar uma pequena quantidade de código para a interface do Fedora.

Também surgiram perguntas sobre o uso da definição que Hughes deu para “aplicativos”, mas o foco do app-install estava claramente no usuário casual: Se você já é um expert, o app-install não é para você, ele disse no anúncio. Seja como for, o PackageKit, o yum e o apt-get vão continuar existindo, então ninguém precisa entrar em pânico. O app-install deve ser visto como uma maneira de aumentar o alcance das distribuições, para que possam atrair cada vez mais usuários “consumidores”.

Não é difícil de imaginar as ideias de Duffy sendo integradas a esse framework, com um instalador baseado no app-install substituindo o pacotão de aplicativos que ela descreveu e ainda com suporte aos pacotões do núcleo do desktop e da plataforma de base. Ainda não se sabe se o Fedora irá adotar uma estratégia de atualização como a que ela descreveu, mas está claro que haverá alterações nas políticas de atualização do Fedora. As ideias descritas por Duffy, e também por Jon Masters e outros, somadas ao código da turma do app-install, pode acabar tendo um papel nessas alterações.

Também parece provável que, ao contrário de outras iniciativas multidistribuição, o código do app-install seja usado em vários lugares diferentes. Hughes observou que Heinlein está fazendo várias alterações na Central de Software do Ubuntu, para que o app-install consiga ser integrado ao código quando estiver pronto. O envolvimento de Greening provavelmente significa que o openSUSE está interessado também.

A nova ideia não deve encontrar muita resistência, já que não muda nada para os usuários atuais (que continuam contando com as mesmas ferramentas de sempre) mas adiciona uma “camada de simplicidade” para os novos usuários. Claro, as distribuições vão ter o trabalho de fazer a manutenção dos dados do app-install, mas isso pode ser automatizado facilmente. Como a ideia traz melhorias na área de aplicativos, que é um paradigma popular no momento, é natural imaginar que ao menos as distribuições mais voltadas para o consumidor a adotem.

Créditos a Jake Edgelwn.net

Tradução por Roberto Bechtlufft <info at bechtranslations.com.br>

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X