Carlos Brando

Nome do Jogo

Software na web ou no desktop?

1682874862_00ff50de98.jpg

Continuando a série de traduções dos artigos da 37signals:

A 37signals é famosa por se orgulhar de ser uma empresa pequena, ágil e de opinião forte. Os softwares mais conhecidos da empresa são o Basecamp, Campfire, Highrise e Backpack, um gerenciador de projetos, um chat otimizado para grupos, um CRM e um organizador pessoal, respectivamente. Os três softwares oferecem planos onde o cliente paga uma mensalidade para usar recursos exclusivos do sistema, aumentar a quantidade de espaço em disco disponível para uso, aumentar a quantidade de registros, etc.

Sabendo disto, a pergunta desta vez foi:

Vocês tem interesse, em algum dia, liberar seus produtos para venda afim rodar internamente em uma empresa?

A resposta de Jason Fried foi:

Seria muito improvável que desejássemos vender nossos softwares em versões instaláveis. Isto é uma questão que envolve mais negócios do que software.

Teríamos de ser uma outra empresa

Veja o motivo: Teríamos de ser fundamentalmente uma empresa diferente, para desenvolver, vender e distribuir softwares instaláveis. Nós provavelmente não poderíamos ser tão pequenos, não seriamos tão ágeis, e certamente não seriamos tão felizes.

Se nós construíssemos softwares instaláveis teríamos de gastar muito do nosso tempo em suporte técnico, escrever muito mais documentação, diminuir o nosso processo de desenvolvimento, e perder um pouco do controle sobre nossa experiência com o cliente. Para algumas empresas isto seria um bom negócio, mas para nós, seria um verdadeiro desastre.

Software Hospedado = Desenvolvimento e ambiente controlados

Manter um software é uma tarefa árdua quando não se tem controle sobre as variáveis. Com softwares para a web, temos uma única base de código otimizada para um único ambiente operacional. Temos a responsabilidade de manter o software otimizado e configurar o hardware para rodar os nossos produtos. O importância de se manter assim, não pode ser subestimada.

Software para desktop = Muitas chances para as coisas darem errado

Com software para desktop e servidores remotos você tem um único código (desde que você não tenha versões personalizadas para cada cliente), mas você tem de lidar com infinitos ambientes operacionais, que estão fora do seu controle. Quando algo dá errado é uma luta para descobrir o porque, já que você não tem controle sobre o sistema operacional, ou software de terceiros ou do hardware que está interferindo com a instalação, atualização ou performance do seu produto. Isto é ainda mais complicado com servidores remotos, quando pode haver diferentes versões do Ruby, Rails, MYSQL, etc.

A dor de cabeça da compatibilidade

Além disso, quando você vende software para desktop você tem de lidar com a compatibilidade. Se a sua versão mais recente é a 3.2, e algumas milhares de pessoas ainda estão usando a versão 3.0, em vez de a 3.1, como isto interfere no seu procedimento de atualização? E o que acontece se estas pessoas ainda estiverem usando a versão 2.9 ou 2.8.7? Manter a compatibilidade é provavelmente o maior obstáculo para o progresso de um software.

Claro que mesmo para softwares baseados na web e hospedados ainda assim existem questões semelhantes no que diz respeito à diferentes navegadores e as diferentes versões deles, mas este problema também existe em softwares baseados na web instalados na máquina do cliente.

Ciclos de atualização

Finalmente, softwares na web podem ser atualizados e melhorados instantaneamente para cada cliente, ao mesmo tempo, sem nenhum esforço deles. É possível atualizar o software diariamente - ou várias vezes ao dia - sem qualquer incomodo para nossos clientes. Softwares para desktop geralmente tem ciclos de atualização mais lento, porque faz mais sentido agrupar correções e implementações em um pacote único e lançar ao mesmo tempo, para que você não tenha de pedir às pessoas para baixar atualizações todos os dias.

Não estamos dizendo que softwares para desktop ou instaláveis estão fadados a morrer ou são desinteressantes para nós enquanto consumidores. Mas, na medida do possível, tentamos fazer o que mais gostamos: Desenvolver e vender softwares hospedados por nós.

Comments