Skip to content

d10r – Um utilitário para pessoas enroladas

26/05/2010

O d10r é um programa multiplataforma feito (por mim) em Python e Tkinter que permite que você defina atividades, quanto tempo tem disponível para realizá-las e atribui prioridades a elas, de acordo com as suas respostas a um questionário. Feito isso, o d10r calcula por quanto tempo você deve se ocupar com esta atividade semanalmente e conta o tempo que você já ocupou.

O que me levou a criá-lo foi estar envolvido em vários projetos simultaneamente e por ter ficado muitas vezes sem saber quanto tempo eu deveria dedicar a cada um deles. Para piorar a minha situação, quando estou em frente ao computador eu sofro de uma coisa chamada “atenção parcial constante” (como diria o Luli) e fica difícil me concentrar em uma única tarefa: sempre estou tentando fazer várias coisas ao mesmo tempo, sem muito sucesso.

Note que o d10r não te diz o quê fazer, ou quando fazer, não nesta versão. Ele apenas diz por quanto tempo você deve fazer cada coisa. O efeito disso é que provavelmente a velocidade com que você faz as coisas vai diminuir, porém garantindo que, de fato, você fará todas as coisas que deseja, afinal, tempo é uma questão de prioridade, certo?😉

Utilizar o d10r é muito simples. Se estiver no Windows, instale o Python versão 2.6.x. Caso esteja em outro SO, provavelmente você já tem o Python instalado na sua máquina, apenas verifique se o Tkinter (python-tk) está instalado. Faça o download do d10r, descompacte o arquivo em qualquer pasta (mantendo os arquivos descompactados na mesma pasta) e dê dois cliques sobre o arquivo “d10r.py”.

Na primeira execução o d10r exibirá um menu onde você pode criar um arquivo de configuração com as suas preferências, através de um questionário. Ao fim do questionário o programa estará pronto para uso. Toda vez que você executá-lo ele irá exibir uma janela mostrando quanto tempo você ainda deve a cada atividade e ao selecionar uma atividade ele vai começar a contar o tempo.


Óbvio que o programa sozinho não vai te ajudar em nada. É preciso um pouco de força de vontade e respeitar as horas de cada atividade, sempre lembrando de abrir o programa quando for iniciar alguma atividade e pausar/parar quando for necessário.

Este é apenas um lançamento alpha do d10r, versão 0.1, o que significa que o objetivo desta versão é encontrar bugs e talvez adicionar um ou outro recurso. Para isso preciso do feedback de quem for utilizar o programa. Se você fez o download, gostou da idéia e encontrou um bug ou tem alguma sugestão, por favor, não hesite em me comunicar nos comentários. Pra chegar a versão 1.0 ainda falta muita coisa:

  • Melhorar a interface integrando os diálogos em uma única janela e transformando o questionário em um assistente. Quiçá mudar para wxPython (o visual doTkinter é muito feio).
  • Melhorar o questionário (diminuir a quantidade de perguntas). Descobri uma forma muito legal de fazer isso, usando apenas matemática. Pretendo escrever um post sobre isso.
  • Permitir que atividades sejam incluídas/removidas em configurações existentes, sem ter de passar pelo mesmo questionário do começo.
  • Iniciar com o sistema e avisar periodicamente ao usuário quando não estiver desempenhando nenhuma atividade.
  • Fazer versões para celular (primeiro em PyS60, depois J2ME).
  • Incluir funções de lista de afazeres, metas, gerenciamento de projetos, etc.
  • Internacionalização, o que inclui…
  • Internacionalizar o EasyGui (biblioteca usada para gerar maior parte das janelas) e submeter as colaborações ao projeto.
  • Modularizar o código.
  • Empacotar para Windows (instalador .msi) e Linux (usando distutils/easy_install)
  • Criar um logo para o projeto

Aceito e agradeço colaborações/colaboradores de qualquer tipo.

PS1: ah sim, o d10r está licenciado sob GPL versão 3.
PS2: assim como i18n é abreviação de internationalization, d10r é uma abreviação de desenrolator.🙂

16 Comentários leave one →
  1. 26/05/2010 16:52

    Acabei de descobrir (mais) um bug no programa: quando o tempo decorrido de uma atividade alcança o saldo ele não notifica o usuário, porque uma exceção é gerada em outra thread e portanto passa desapercebida pela rotina principal do programa. Vou corrigi-lo na versão de desenvolvimento.

    • 27/05/2010 0:31

      Outro: atividades com acentos e cedilha causam um erro de decodificação ascii.😦 Tenho de resolver isso rápido.

      • 10/06/2010 15:46

        Resolvido! Interessados em baixar a versão corrigida (e com uma série de aprimoramentos) baixem a versão de desenvolvimento, através do link:

        http://github.com/mamutti/d10r/archives/master

        Preciso de alguém com Windows para poder testar se a janela do cronômetro fica sempre no topo da área de trabalho (como acontece no Linux).

  2. @nsany permalink
    26/05/2010 22:33

    bacana! jah q vc desenvolve em py, por nao porta esse software pro smartphone N900 (OS Maemo, linux)? seria mais util no tel que no pc, penso!!

    abraco.

    • 27/05/2010 0:34

      É uma das metas do programa (rodar em celulares). No caso do N900, N810, N800 e cia, por rodarem Linux, deve ser até mais fácil. Talvez não precise nem portar a interface pra rodar.😛

      Você tem um? Pode testar?

  3. MLessa permalink
    29/05/2010 13:13

    desde que você me falou sobre esse programa que eu estava ansioso pra testar!
    Acho até que vou aproveitar essa deixa sua pra fazer um post sobre a aplicação de agendamento de ações (era de desligamento, evolui o projeto!) que eu estou desenvolvendo em Ruby.
    Assim que surgir alguma obs sobre o d10r comento aqui.

    • 31/05/2010 15:16

      Legal cara! Não sei como você está fazendo, mas vou dar uma sugestão: procure se informar sobre o anacron. http://en.wikipedia.org/wiki/Anacron

      Talvez você queira usar ele como base e fazer uma interface gráfica ou algo mais avançado. Até onde eu sei não existe nenhum programa com interface amigável para agendar tarefas (no mundo Linux).

  4. Clênio Luiz permalink
    30/05/2010 17:26

    Iniciativa bacana! Gostei muito da aplicação.

    Feedback: Acrescentaria atalhos de teclado para as funções pausar e parar(que eu chamaria de finalizar), eu sei, um tab + space não mata ninguém, mas um “p” é menos que um tab + space ;P

    Um contador de tempo pausado(por tarefa) tmb seria bom, dava uma noção das interrupções durante à atividade.

    Precisando de um beta-tester huahuauh tamos ae!
    Parabéns pelo trabalho e sucesso!

    • 31/05/2010 15:11

      http://github.com/mamutti/d10r/issues/issue/14 anotado!😉

      Quanto ao “contador de tempo pausado(por tarefa)” creio que não entendi muito bem. Você quer que ele incremente outra contagem enquanto estiver pausado? É isso?

      Obrigado!

      • Clênio Luiz permalink
        01/06/2010 23:14

        É… Ao pausar uma tarefa rodaria um contador em segundo plano, naturalmente ao tirar a tarefa de pause esse contador também pausaria, ao finalizar a tarefa seria mostrado o resultado — quanto tempo ela havia ficado em pausa pausada — dando assim uma noção das interrupções e tempo “enrolado” naquela tarefa.

        • 05/06/2010 23:02

          Gostei! Estou adiantando outros projetos (com o d10r me guiando, claro), mas garanto que o próximo release alpha terá grandes mudanças, na interface e por debaixo dela, incluindo a sua sugestão.😉

          PS: um pequeno preview (ainda não está no repositório)… a janela do cronômetro agora ficou bem menor, com uma linha apenas, e ela fica sempre no topo da área de trabalho, o que significa que aquela janelinha vai estar ali, o tempo todo, te lembrando o que você está (ou deveria) estar fazendo.😀

  5. André Meireles Barbosa permalink
    02/05/2011 22:36

    Como não tem opção de acrescentar tarefas, eu deletei toda a pasta e descompactei pensando que ao abrir a nova pasta criada, eu teria uma lista em branco para começar do zero. Isso não aconteceu: a lista volta com tudo, mesmo com este novo arquivo.

    Tem como deletar este histórico?

    • 05/05/2011 1:10

      Sim, basta excluir o arquivo .d10r na pasta do seu usuário (dentro de Documents and settings se estiver no Windows ou /home se estiver no Linux/*nix). Por exemplo, o nome do meu usuário é ygor então o arquivo é:

      /home/ygor/.d10r
      ou
      C:\Documents and Settings\ygor\.d10r

      Sei que isso não está nada bom, e que faltam muitas opções no d10r. Planejei uma interface gráfica totalmente nova para a próxima versão e haverá um menu especialmente para poder escolher onde salvar esse arquivo, abrir outros, criar novos, etc além é claro de opções para adicionar, alterar e remover tarefas.

      Você poderia me ajudar dizendo as suas impressões sobre o programa? Gostaria muito de saber a sua opinião sobre o d10r.

      • André Meireles Barbosa permalink
        21/05/2011 21:16

        Eu gostei do aplicativo, determinar quanto tempo gastarei na semana. Apenas fico perdido ainda quanto aos sinais de mais e de menos.

        Gostaria que ele tivesse uma opção de apenas contar o tempo que eu gastei em determinado aplicativo ou pelo nome do documento aberto, para depois calcular o valor de hora/trabalho.

        Parabéns pelo projeto e estou ansioso pelas melhorias que mencionou para a próxima versão.

Trackbacks

  1. Rubye – Um agendador de ações em Ruby com GTK « iCaju
  2. UnicodeDecodeError: DON’T PANIC « iCaju

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: