life, redefined.

About this site

Objective-C.

Posts I like

More liked posts

atualizações automáticas, meh

Hoje em dia, qualquer aplicativo vem com um recurso que permite que o próprio software verifique se há uma versão mais recente dele mesmo disponível na web. É uma ideia interessante, infelizmente muito mal implementada pela maior parte dos sistemas operacionais e aplicativos existentes. Começarei pelos sistemas operacionais, depois aplicativos no geral.

GNU/Linux

Os sistemas baseados em GNU/Linux tem uma certa vantagem nesse ponto. Os repositórios (apt, rpm, port) normalmente contém versões estáveis dos aplicativos e o OS só notifica o usuário de atualizações, deixando a atualização a cargo do administrador do sistema. Os aplicativos de terceiros normalmente estão nesses mesmos repositórios, o que facilita manter sempre os softwares do PC com as mais recentes atualizações.

Windows 7(1)

As atualizações no Windows 7 são extremamente intrusivas nas configurações padrão. Atualizações são instaladas sem avisos e computadores são reiniciados automaticamente, o que frequentemente acarreta perda de dados, seja em downloads não completados, documentos não salvos perdidos, entre outras coisas. Há maneiras de impedir a reinicialização automática do computador, e infelizmente, o Windows Update não pode ser utilizado por softwares de terceiros, como o GNU/Linux faz.

Mac OS X 10.6

Semelhante ao Windows Update, o Software Update do OS X também não é uma solução para softwares de terceiros, só servindo para o fabricante do sistema operacional, mas diferentemente da solução da Microsoft, não existem reinicializações sem intervenção humana.

Sparkle.framework (OS X)

No OS X, existe um framework para reduzir o trabalho do desenvolvedor em implementar as atualizações automáticas no seu aplicativo. Infelizmente essas atualizações são extremamente irritantes, já que normalmente são feitas quando o software é inicializado, consumindo CPU e acessando internet quando não é necessário, como por exemplo, num café. Caso o aplicativo seja aberto várias vezes ao dia, várias atualizações são feitas, e o desenvolvedor pode armazenar essas informações para saber o quanto seu aplicativo é utilizado por um usuário específico. Tirando a paranóia de privacidade, caso o usuário mantenha o aplicativo aberto por dias ou raramente o utilize, pode ser que nunca fique sabendo de atualizações.

Google autoupdate (OS X)

Instala-se ao abrir qualquer aplicativo criado pela Google (Maps, App Engine, Chrome) e é executado automaticamente na inicialização do computador. Verifica atualizações sem intervenção humana, sugere novos aplicativos e só serve para softwares criados pela empresa. Se ao menos informasse ao usuário suas intenções e houvesse forma de remover sem ser mexendo em System Preferences, seria uma bom aplicativo. Como não é , só pode ser considerado como spyware, já que também envia informações de frequencia de uso dos aplicativos sem solicitar permissão.

Uma ideia

Uma solução para todos esses problemas, seria um aplicativo que gerenciasse essas atualizações, com horários específicos e regras simples, como por exemplo “computador usando bateria”, “conexão via bluetooth”, para evitar que atualizações sejam baixadas numa situação crítica.