All articles from: maio, 2010

Backend do Solid para ModemManager

Bem, depois de muito trabalho neste final de semana eu terminei de alterar o patch que já tinha feito para funcionar como um verdadeiro backend do solid. Mas deu trabalho, muita coisa para mudar de lugar, arquivos para acrescentar, decidir como juntar algumas interfaces do MM em uma classe só pra simplificar o código e… corrigir os bugs. Um em particular me tomou um tempasso. Uma das classes que criei, ModemGsmNetworkInterface, herda da ModemInterface e declarava um d_ptr sendo que não deveria, somente a ModemInterface deveria declarar esse apontador. Por causa desse bug toda vez que se criava um objeto do tipo ModemGsmNetworkInterface e tentava usar um dos métodos pertencente a ele o programa morreria. Essse deu trabalho pra descobrir, depois dele ainda tive que resolver um loop infinito, brigar com os strings dos signals e slots, se você vê muitas mensagens "No such signal" (ou slot) no seu ~/.xsession-errors você sabe do que estou falando. No final quase tudo funcionou, ainda tem um problema de na hora de desconectar o modem da porta USB o programa morrer. Isso é porque um dos objetos se torna inválido e o código ainda não detecta isso. Vou corrigir isso no próximo final de semana, agora eu preciso é de descanso e ainda tenho um monte de coisa para fazer durante essa semana. Nesse ritmo acho que eu termino essa parte do solid até o fim de junho.

Read more

Plasma NM: atualizações

Bem, eu postei no meu blog (em inglês) sobre as atualizações que fiz no Plasma NM este final de semana. Basicamente são essas:

  • Usar tabelas html pra exibir as informações das interfaces de rede. Isso simplifica o código, gasta menos memória e permite selecionar que detalhes mostrar para cada tipo de interface.
  • Acrescentei a tecnologia de acesso e um medidor de qualidade de sinal no lado do nome da conexão na parte direita do Plasma NM:

  • Estou modificando suporte ao ModemManager no solid para ser um backend, atualmente ele está incorporado à classe GsmNetworkInterface, mas como o MM pode rodar separado do NetworkManager faz mais sentido que o MM seja um backend separado. Isso é bem mais complexo do que imaginava, vou demorar um tempo até conseguir terminar isso.
  • Ainda na parte de usar tabela html para mostrar os detalhes das interfaces eu pretende portar parte do código do Knm para permitir que o usuário selecione quais detalhes mostrar e em qual ordem. À medida que vou implementando o suporte ao MM no solid a quantidade de detalhes irá aumentar, então é bom ter um forma de mostrar só os detalhes que eu quero.

 

Bem, por enquanto é isso, se aparecer mais novidades eu posto aqui e no meu blog, que manda também para o planetkde.

Read more

Plasma Applet com ModemManager

A pedido do Sebas (outro desenvolvedor do KDE) resolvi tentar fazer o plasma applet funcionar no meu notebook, como deu certo desta vez, resolvi descontinuar o patch para a versão monolítica do knm e reimplementar tudo no plasma applet, o resultado é o seguinte:

 

Tirei o combobox de selecionar o tipo de tecnologia de acesso, tenho que arranjar outro lugar para colocá-lo. Outra coisa que pretendo fazer é criar tabs separadas para cada dispositivo, atualmente o plasma applet tem uma tab só para todos eles, o que dificulta mostrar informações que são específicas de um tipo de dispositivo (cabeada, sem fio, 3G, etc).

Read more

Nova atualização

Acrescentei mais algumas informações na tela do knm, agora dá inclusive para configurar se é para usar conexão 2G ou 3G. É comum acontecer de em uma região com 3G o modem mudar para 2G sendo que é possível usar 3G, com essa configuração dá pra forçar o modem a usar 3G e ignorar o 2G. A nova tela está assim agora:

 

 

O *  indica a configuração usada atualmente e logo abaixo vem o nome do tipo de acesso usado efetivamente. As outras configurações disponíveis são:

Read more

Solid e ModemManager

Hoje terminei a primeira parte da implementação do suporte a ModemManager no solid (camada de independência de hardware do KDE SC). Terminei de implementar as interfaces dbus org.freedesktop.ModemManager e org.freedesktop.ModemManager.Modem.Gsm.Network, agora faltam umas dez outras interfaces :-) É coisa pra caramba pra fazer ainda, testar e depois utilizá-las no knm. Creio que tudo deve estar pronto até o lançamento do KDE SC 4.6.0 ano que vem, assim espero hehe.

Read more

Temas para o desktop KDE

Essa semana fiquei um pouco entediado com a aparência do meu desktop e resolvi navegar pelo kde-look.org para ver se encontrava algo interessante.

Estava meio sem esperança de encontrar algo que não fosse exagerado ou uma pequena modificação dos temas padrões, foi quando encontrei o tema chamado bespin … o tema é muito interessante pois interfere em quase tudo das aplicaçõs KDE e dá uma cara completamente nova ao desktop. Estou curtindo bastante o tema e recomendo a quem quiser experimentar coisas novas no desktop. Para instalá-lo no opensuse é só buscar por bespin no site http://software.opensuse.org/search

Outra coisa que descobri também foi o plasmoid xbar que coloca os menus dos aplicativos num painel do kde (cópia da barra de menus do MAC), parece que está integrado aos plasmoids padrão do KDE. Ainda não começei a usar mas está na lista de coisas para experimentar …  :)

Abaixo segue um link mostrando a dupla em ação

http://kde-look.org/content/show.php/KDE+4.2+with+two+panels+&+XBar+menubar?content=81224

Read more

Aaron Seigo fala sobre o futuro do KDE

Entrevista com Aaron Seigo realizada por Bruce Byfield durante o Calgary Open Source Systems Festival (COSSFest).

Ninguém é mais qualificado para falar sobre o estado atual do KDE que Aaron Seigo. Membro veterano do KDE e.V, organização alemã sem fins lucrativos que supervisiona o projeto, Seigo é o desenvolvedor líder do ambiente desktop do KDE. Semana passada, eu o entrevistei durante o Calgary Open Source Systems Festival (COSSFest), com uma platéia presente, sobre onde o KDE está hoje e para onde ele está caminhando.

De acordo com Seigo, as mudanças de grande escala que começaram dois anos atrás com o lançamento do KDE 4.0 estão praticamente terminadas. “Nós alcançamos este estágio com o lançamento do KDE 4.4, em janeiro, onde nós disponibilizamos um conjunto de novas funcionalidades para o desktop, algumas novas aplicações e melhorias substanciais no look-and-feel. Este é o ponto em que estamos. Mas para onde estamos indo ? Esta é sempre uma pergunta difícil. Uma vez que você chegou em um lugar, para onde você deseja ir ?

A resposta do Seigo à sua própria questão é que o KDE está atualmente se movendo em três direções: adição de funcionalidades ao desktop (tanto pequenas features quanto em aplicações específicas), extensão do conceito de social desktop e a adequação do KDE para execução em toda plataforma de hardware possível. Cada uma dessas direções merece uma pequena história.

Ajustes finais do desktop KDE

Em contraste a algumas versões anteriores do KDE4, Seigo diz, “agora nós temos as funcionalidades que as pessoas esperavam e nós demos a elas muitas novas possibilidades”. O próximo passo, ele diz, é “dar ênfase à forma e ao acabamento, melhorar o desempenho e aplicar todos os nossos esforços na estabilidade”.

Algo nesta direção já pode ser percebido na versão atual (4.4), com a adição de novas funcionalidades tais como a capacidade de agrupar diversas janelas em uma só. Entretanto, janelas agrupadas são somente o início, Seigo fala.

Ele lembra que versões futuras irão disponibilizar uma barra de tarefas que conhece as janelas agrupadas e permitirá que usuários as salve para uso em sessões futuras. De forma similar, ele vê as funcionalidades para geo-localização adicionadas recentemente como um primeiro passo em direção a uma versão do KDE que irá mudar automaticamente o conteúdo do desktop de acordo com a localização onde você está – por exemplo, utilizando um conjunto de ícones e arquivos quando você liga o computador no seu escritório e outro conjunto quando você está na sua casa.

Adicionalmente, muitas mudanças estão também acontecendo em aplicações específicas do KDE. Por exemplo, o KOffice recebeu patrocínio da NOKIA para desenvolver um visualizador de documentos para a plataforma móvel Maemo5. “NOKIA”, Aaron diz, “está investindo muito, o visualizador não é só rápido, mas também pode importar e exportar arquivos nos formatos Open Documento and Microsoft Office, então se você criou um documento no OpenOffice.org ele funcionará perfeitamente no seu telefone móvel”.

Outro exemplo são os novos planos para o Krita, programa para gráficos rasterizados (matriciais) do KOffice. Por um longo tempo, Aaron diz, a equipe do Krita não sabiam se eles estavam desenvolvendo uma aplicação para desenho, para finalização de fotos digitais, ou seja lá o que for.

Em um sprint recente do KDE, o Krite recrutou o perito em design Peter Sikking, que tem também trabalhado no GIMP, para ajudar o projeto a encontrar uma direção.

“Ao final da experiência, eles decidiram que o que eles realmente queriam era um software para suportar processos naturais de desenho”, Seigo fala – ou seja, uma aplicação que simula com a maior fidelidade possível aspectos tais como pinceladas e mistura de cores. “Outras coisas tais como finalização de fotos digitais são implementadas por plugins, funcionalidades que você pode adicionar posteriormente”.

“Outra área interessante de desenvolvimento atualmente é o suporte a negócios”, Aaron fala. “Em áreas tais como groupware, o KDE está criando um programa chamado OpenChange, uma completa reimplementação do Microsoft Exchange. Na verdade a equipe esteve na conferência do Samba este ano e eu sempre pensei nisso com o Samba para Exchange. O KDE está sendo portado para o novo framework Akonadi (gerenciamento de informações pessoais) então, em um futuro não tão distante, você será capaz de escolher o seu servidor, incluindo o Exchange. Isso é realmente bacana para nós”.

O KDE e o Social Desktop

A segunda direção é o uso crescente do desktop social. De acordo com Seigo, esta tendência começou com a chegada do Nepomuk, o desktop social semântico que mantém um banco de dados de arquivos e suas tags. Nepomuk é originalmente um projeto acadêmico, mas graças ao patrocínio da Mandriva, o KDE foi um dos primeiros a implementá-lo no desktop.

“Isto nos levou a um estágio onde você pode adicionar tags aos seus arquivos, anotá-los, realizar buscas por eles e criar um timeline, no gerenciador de arquivos, para visualizar a ordem na qual você utilizou suas coisas”, Aaron fala. “Isso é bacana, mas é somente a ponta do iceberg. A meta final é conectar todos esses meta-dados com as pessoas e com a forma com a qual as pessoas trabalham”.

O KDE já inclui widgets para seguir pessoas via OpenDesktop.org e para acessar a Base de Conhecimento do KDE, mas nos projetos futuros poderemos ver ferramentas para manter contato com amigos e contribuidores KDE, ou até mesmo procurar por respostas a problemas de hardware enviadas por pessoas que possuem o mesmo equipamento.

Seigo chama essa tendência de “livrar a web do navegador”, adicionando que “é uma vergonha que a web permaneça presa ao navegador”. Em contraste direto ao ChromeOS do Google, que substitui o desktop por um navegador, a meta do KDE é distribuir o acesso aos recursos web por todo o desktop já existente.

“Isso significa utilizar tecnologias web no nosso desktop“, Seigo explica. “É realmente eliminar as fronteiras entre o que é local o que não é local, e ainda mais importante, seguindo o espírito do software livre, colocando o controle e a escolha nas mãos do usuário”.

Novas plataformas de hardware e suas influências

A maior direção atual do KDE é a sua extensão a novas plataformas. O KDE já anunciou o Plasma Netbook, uma interface específica para netbooks que Seigo afirma que possui “cerca de 99% do mesmo codebase do desktop tradicional”.

Agora o KDE está se expandindo para outras plataformas de hardware também. “Acabamos de iniciar o desenvolvimento de um desktop para plataformas móveis”, Aaron inclui. “Estamos trabalhando em uma interface móvel voltada para telefones e PDA’s. Nossa plataforma alvo é o MeeGo mas estamos também trabalhando com o Jax10 que é baseados nas tecnologias Intel. Estamos também trabalhando em um media center. Então, ao final, nós teremos essa coleção de ambientes para uso em computadores desktop, netbooks, tables e plataformas móveis.

Um resultado dessa integração de hardwares que já está surtindo efeito é a influência dos netbooks e dispositivos móveis nos ambientes desktop tradicionais. Tamanho de tela, memória RAM disponível e tamanho do disco rígido sempre impõem limites no projeto da interface, mesmo embora as diferenças de hardware entre dispositivos portáteis e estações de trabalham venham diminuindo com o tempo.

Ainda assim, as diferenças ainda existem. Como um exemplo, Seigo lembra que um mouse é uma ferramenta precisa demais para um dispositivo móvel.

“Isso leva a coisas tais como ter um conjunto de widgets clicáveis”, Seigo fala. “de modo que, se eu tenho uma lista de coisas, eu devo ser capaz de clicar com meu próprio dedo. E pelo fato de utilizarmos as mesmas tecnologias da nossa interface de usuário primária, nós já temos widgets clicáveis no desktop também. Nós provavelmente nunca teríamos investido tempo implementando widgets clicáveis se nós estivéssemos focando somente no desktop“.

Outras mudanças e lições aprendidas

Outras mudanças que estão acontecendo são externas ao software. Ao perceber que KDE não mais se refere somente ao desktop, mas a uma comunidade comprometida em construir tecnologias relacionadas, o projeto anunciou um rebranding no último outono com o objetivo de refletir o que realmente o projeto é.

Em um futuro próximo nós também veremos uma migração do SVN para o Git. Seigo antecipa que a maior acessibilidade do Git irá diminuir as barreiras dos contribuidores.

Alguns projetos do KDE como Amarok já migraram para o Git e, de acordo com Seigo, “estão caminhando a um passo incrível e a principal razão é que o número de contribuidores aumentou”. Seigo prevê “uma semana onde todos os projetos estarão migrando. Que diabos estou fazendo ? O KDE possui mais de cinco milhões de linhas de código e 58 Gb de arquivos para transferir. Mas certamente, quando todos tiverem migrado, o desenvolvimento do KDE será ainda mais rápido”.

Mas, quaisquer que sejam as mudanças planejadas para o KDE, Seigo afirma que elas acontecerão com um mínimo de problemas. Em particular, Seigo fala que, pelo fato de o KDE4 ter sido projetado para ser mais facilmente modificado que as suas versões anteriores, uma explosão de código é um problema menos provável porque soluções deselegantes para superar limitações hard-coded serão dificilmente necessárias.

Além disso, “em casos de sobrecarga, nós desabilitamos a funcionalidade em run-time se a bateria possui pouca carga ou se o computador é muito lento. Você perde algumas features bacanas mas continua tendo um sistema totalmente funcional”.

Seigo expressa alguma preocupação sobre outra revolta dos usuários como a que aconteceu com o KDE 4.0. Entretanto, ele atribui a revolta em parte pelo interesse das distros em serem a primeira a oferecer o novo ambiente e, em outra parte, por uma inevitabilidade.

“Nós temos um hábito ruim no software livre em geral que, sempre que um desenvolvimento necessário acontece (algo que tinha de ser feito), nós não somos bons em criar novos produtos baseados no que foi feito. Nós simplesmente dizemos: aqui está. O tornamos disponível e verificamos como ele se comporta. As distros realmente precisam melhorar a forma como eles lidam com tais coisas porque o desenvolvimento não pode parar. Nós precisamos fazer isso todos os anos e as distros têm de aprender a lidar com isso. Não é um problema exclusivo do KDE, nós vimos a mesma coisa com o PulseAudio.

E quando o KDE5 estará disponível ? Seigo afirma que o número da versão poderia mudar para mante-la sincronizada com o Qt mas atualmente isso é pouco provável.

“Nós estamos talvez na metade do caminho do que pensamos alcançar no KDE4. Os frameworks do KDE não estão ainda sendo totalmente utilizados. Nós não estamos olhando pras coisas e dizendo: eu gostaria que tivéssemos algo pra fazer. Nós realmente fizemos isso no KDE3 mas não temos nada disso nos nossos planos agora. Nós somos como uma criancinha cuja mãe comprou uma camisa três vezes maior e disse a ele que ele ainda iria crescer muito – nós ainda temos muito espaço para crescer.”

Em poucos anos, o KDE5 provavelmente acontecerá, mas Seigo prevê seria muito mais como a que aconteceu entre o KDE2 e o KDE3, mas certamente não tão radical como a que houve entre o KDE3 e o KDE4. “Eu acho que nós provavelmente tivemos uma boa década de desenvolvimento do framework que temos agora”, Seigo fala.


Texto retirado do blog: http://liveblue.wordpress.com

Tradução realizada por Sandro Andrade membro-fundador do grupo KDE da Bahia- Liveblue.

Read more