Desktop Comfort: um estudo com utilidade prática

Uma excelente forma de consolidar os conhecimentos é aplicá-los em algo prático e útil.

Foi assim que surgiu a primeira versão de um “framework simples” em PHP, que acabou sendo utilizado por muito tempo em vários sites e por agências para seus clientes. Isso lá por 2005.

Agora, com o trabalho em Home Office, dei uma atenção pro meu setup – mesa, cadeira, suporte para monitores, e também aproveitei para transformar antigos scripts feitos “de qualquer jeito”, em um software chamado Desktop Comfort, utilizando esta filosofia de expandir o conhecimento, construindo algo com utilidade prática.

Desktop Comfort

desktopcomfort.com

O Desktop Comfort é um programa feito em Delphi, mas com uma interface moderna que lembra as configurações do Windows 10. Este foi um dos primeiros conhecimentos aplicados. Veja os 3 principais recursos:

  • Agendar a troca do Wallpaper para horários específicos;
  • Ativar automaticamente o modo escuro do Windows 10 no pôr-do-sol;
  • Reduzir o brilho dos monitores automaticamente no pôr-do-sol.

A troca do wallpaper para horários específicos tem a inspiração nos Dynamic Wallpapers do MacOS, como Mojave e Catalina. Além disso, uma das motivações é que agora, em Home Office, precisamos realizar conferências e apresentações, então programei para que no horário comercial seja exibido um Wallpaper de trabalho, condizente com o ambiente profissional.

Já através da configuração da cidade é possível obter a latitude e longitude, e então calcular o horário do nascer e do pôr-do-sol. Este cálculo foi mais uma parte dos estudos, pois o script anterior para a mudança de brilho e dark mode eram com horários fixos. É bem bacana o resultado obtido.

Site responsivo, PHP, MVC

Como parte do estudo e do ecossistema do aplicativo, desenvolvi também um site para o produto: responsivo, visualmente bonito e combinando com o programa. Mais uma vez com framework simples em PHP, porém bem mais moderno e com arquitetura MVC.

Let’s Encrypt!

Para o site foi utilizado o certificado SSL gratuito da Let’s Encrypt, desta forma promovendo a segurança e privacidade dos usuários através de HTTPS.

MyBB Forum

Como parte adicional, experimentei um novo sistema de Fórum (MyBB) que não tinha utilizado antes e, para tornar tudo mais fiel ao ciclo de desenvolvimento de software, vários amigos contribuíram com feedbacks através do fórum e por e-mail.

GitKraken: GIT, Boards, Kanban

Todas as etapas e atividades do desenvolvimento foram registradas através do software GitKraken, com o uso das “Boards”, no formato Kanban (mais uma parte do estudo).

Gitea: estilo Github

Para o controle de versão foi utilizado o GIT, com o apoio do software Gitea (https://gitea.io/) – que é um serviço leve para projetos GIT escrito em linguagem GO, e que cumpriu muito bem o seu papel de repositório de código, mesmo hospedado em servidor virtual na nuvem com 2 núcleos e 2GB RAM; recomendo para pequenos e médios projetos/equipes.

  • múltiplos usuários, múltiplos projetos, múltiplas organizações;
  • cadastro de issues; pull requests; wiki do projeto
  • fork e mirror de repositórios

O projeto foi dividido em três repositórios do GIT:  web, app e setup.

Deploy: setup e CodeSigning

Também como parte dos estudos, realizei melhorias nos scripts para geração do instalador, utilizando o NSIS (Nullsoft Scriptable Install System), acrescentando rotina automatizada para assinatura do binário da aplicação, assim como a assinatura do binário do instalador, evitando as mensagens indesejadas que o Windows exibe em executáveis não-assinados. É também uma segurança adicional para os antivírus, e o Windows Defender mantém uma reputação positiva do desenvolvedor para cada software assinado.

Usuários de diversos países

O programa foi distribuído inicialmente para os amigos que toparam participar do estudo. Mas depois que foi publicado no site – e por ter sido disponibilizado em Inglês, a maioria dos usuários atuais são de fora do Brasil (segundo o Google Analytics, mais uma parte do estudo).

Versão Beta

O software encontra-se estável, utilizo-o diariamente sem ter notado qualquer problema, e não tenho recebido feedbacks com problemas. Mas sei que existem algumas coisas para melhorar, e até mesmo novos recursos para serem criados.

Integração com Teclado RGB – em breve

Um dos recursos sugeridos pelos usuários foi a integração com teclados RGB. A ideia é aumentar ou diminuir o brilho deles conforme o horário, e já dei uma olhada nas APIs de alguns fabricantes importantes, como a Redragon , Logitech e HyperX.

Teclado da Microsoft

Por falar em teclado, o nome escolhido Desktop Comfort é, também, o nome de uma linha de teclados que a Microsoft desenvolveu muitos anos atrás, espero que ela não se incomode com o nome do software.   🙂

Artigo disponível no LinkedIN: https://www.linkedin.com/pulse/desktop-comfort-um-estudo-com-utilidade-pr%25C3%25A1tica-william-knak