Buscar

Criando e distribuindo aplicações shareware

Código

Criando e Distribuindo Aplicações Shareware
  Shareware oferece a possibilidade de compartilhar seus projetos pessoais com o resto do mundo e o potencial por fazer um pouco dinheiro vivo no processo. Neste artigo, Clay Shannon mostra como você pode maximizar as vendas de suas aplicações shareware incluindo um processo de registro fácil para implementar e fazendo sua aplicação prontamente acessível para clientes potenciais.

Descrição:
Criando e Distribuindo Aplicações Shareware

Clay Shannon

www.guiadodelphi.com.br

Traduzido por: Marcos Ribeiro

16/12/2001

Shareware oferece a possibilidade de compartilhar seus projetos pessoais com o resto do mundo e o potencial por fazer um pouco dinheiro vivo no processo. Neste artigo, Clay Shannon mostra como você pode maximizar as vendas de suas aplicações shareware incluindo um processo de registro fácil para implementar e fazendo sua aplicação prontamente acessível para clientes potenciais.

Se você é desenvolver de uma corporação, consultor, estudante, ou hobista, produzir aplicações shareware pode ser de benefício para você. Além dos benefícios monetários óbvios, escrevendo shareware podem o ajudar também para:

• Expandir suas habilidades de codificação, se o shareware que você escreve para pedras de amolar, aumenta a sua habilidade atual ou o leva em regiões do universo da programação que você não explorou previamente.

• Mantém seu interesse vivo na programação (acontece de você estar trabalhando em um menor que rebitado projeto de trabalho).

• Provê um meio para ganhar experiência do mundo real em novas metodologias e disciplinas de programação.

Como você pode ver, há muitas razões boas para estar trabalhado em " projetos ", aparte do que você faz no trabalho ou escola. De fato, se a atração monetária não faz sentido ou até mesmo é repugnante para você, freeware pode ser o modo para você faze-lo.

A ferramenta certa para o trabalho
Quando Delphi inicio sobre a cena da programação, era muito elogiado como oferecendo " a facilidade do VB e o poder do C ". Isso não era marketing. Embora não apresentando um ambiente de programação completo podia ser descrito como "fácil" quando comparado ao C e C++ que VB e Delphi. Até onde poder está preocupado, você pode criar qualquer tipo de software que você pode imaginar com o Delphi.

Até onde estão preocupados com ferramentas de programação, Delphi é sem dúvida a melhor escolha para criar aplicações shareware. Para a maioria dos projetos, você não precisará do Delphi Enterprise. Porém, se você está usando a edição Personal do Delphi, você não poderá criar aplicações comerciais. Em outras palavras, você não pode cobrar dinheiro por aplicações que você cria com a edição Personal.

A melhor ratoeira
Se as pessoas vão carregar, tentam, e continuam usando seu programa, deve ser útil, diversão para usar, ou (preferentemente) uma combinação dos dois.

Se você cria um editor de texto, por exemplo, precisa ser melhor que os usuários já adquirem com Windows (Notepad). Caso contrário, por que eles trocariam? Mais para o ponto, por que eles o pagariam uma utilidade que eles já possuem? Se sua aplicação é um editor de texto, planilha eletrônica, ferramenta de administração de banco de dados, ou qualquer outra coisa, deve ser melhor que o que já está prontamente disponível ao usuário. Isto não é dizer que tem que emparelhar característica-para-característica de produtos de rival. Como um homem sábio uma vez disse, " Menos é mais ". por exemplo, muitas pessoas poderiam preferir um processador de texto com menos características que o " tudo mais a pia da cozinha " que os processadores de texto principais ostentam, se a versão "lite " estivesse mais amigável ao usuário, menos bug, e menos caro.

Outro, talvez até mesmo uma opção mais desafiadora é criar um tipo único de aplicação. O truque aqui é este: Se o tipo de aplicação que você tem em mente ainda não foi criado, realmente há um mercado para ele? Talvez assim, mas é possível que um programa semelhante exista e simplesmente não foi aceito na feira. Antes invista dúzias, centenas, ou milhares de horas em seu software magnum opus, faça alguma pesquisa para ver se uma aplicação semelhante já existe. Você pode construir uma significativamente melhor? Nesse caso, então vá em frente! Se não (vou ser honesto com você), trabalhe em outra idéia.

Não doe a loja
O que é aquela expressão velha sobre leite livre e uma vaca? Usuários de sua aplicação shareware podem não ser deliberadamente desonestos ou baratos quando eles não registram (e pagam) a cópia deles da sua aplicação. Muito pode ser esquecimento ou procrastinação prolongado por parte de usuários que estão agüentando do modo de sua remuneração receptora de seu trabalho duro. Em um nível pessoal, tenho que admitir que eu usei o PKZip durante anos antes de eu finalmente paga por ele. Isto não era mesquinhez minha, mas bastante procrastinação extraordinária.

Você não tem que se sentar passivamente atrás e esperar que os usuários farão a coisa certa, entretanto, eventualmente. Você pode fazer algo que encorajará que os usuários registrem a cópia deles do seu software: Só "Interdite" uma característica importante aos usuários registrados. Tenha cuidado para você não impedir aos clientes potenciais de ver as características principais de sua aplicação. Senão, isso os frustrará e provocará uma viagem rápida para Iniciar | Configurações | Painel Controle | Adicionar ou Remove Programas.

Uma boa escolha para lacrar uma característica seria algo que não é absolutamente essencial, mas sem o qual software é menos precioso. Exemplos disso é imprimir funcionalidades em algumas aplicações ou, no caso de aplicações de banco de dados, habilita para adicionar um novo registro ou modificar registros existentes.

Um fácil esquema para bloquea algumas características
Alguns registros shareware são implantados suas próprias chaves de registro em um Web sites. Aqui, entretanto, eu lhe mostrarei um modo fácil para programar a desaprovação aos usuários não registrados de ter acesso as características específicas de sua aplicação, junto com um modo fácil para estas características ser "destravado " quando eles pagam seu software.

Em um nutshell, você escreve o código para conferir a existência de um arquivo que você enviará aos usuários registrados. Preferentemente, este arquivo será enviado por e-mail, mas quando necessário (o usuário não possui um endereço de e-mail), você também pode enviar este por disquete. Quando o arquivo é encontrado, uma string codificada é lida dele, claro que, decifrado. Se ele combinar com o que você tem em seu código fonte, pode ser assumido que é um arquivo genuíno, e é feita a funcionalidade que só está disponível aos usuários registrados. Este esquema não trancará para determinados hackers, claro que, mas deveria ser mais que suficiente desencorajar o usuário comum de tentar usar as características avançadas de seu programa sem pagar por ele.

Como um exemplo, se você está usando um componente DBGrid junto com PrintDat! de GreBarSys (como eu tenho em meu programa shareware EZ DB, disponível no CodeCentral em http://codecentral.borland.com/codecentral/ccweb.exe/listing?id=16306), você pode usar o código semelhante ao seguinte:

{----------------------------------------------------}
procedure TWhatever.btnPrintClick(Sender: TObject);
begin
  if RegisteredCopy then
  DBGridPrintJob1.Print
  else
  MessageDlg(SAdvantagesOfRegistering,mtInformation, [mbOK], 0)
end;
 
{----------------------------------------------------}
{ The user must have a "genuine" copy of the file
 EZDB.RegVal in the same dir as the .exe (genuine
 = it contains the encrypted password). sRegVal and
MAGIC_NUMBER are in EZDBGlobals. }

function RegisteredCopy: Boolean;
 
function RegFileContainsCorrectValue: Boolean;
var
  sl: TStrings;
  sDecryptedRegVal: String;
  i: Integer;
begin
  sl := TStringList.Create;
  try
  sl.LoadFromFile(SEZDBReg);
  { Just to be on the "safe side",remove empty items }
  for i := Pred(sl.Count) downto 0 do
  if Trim(sl[i]) = '' then
  sl.Delete(i);
  sDecryptedRegVal := Decrypt(Trim(sl[0]),MAGIC_NUMBER);
  Result := AnsiSameText(sDecryptedRegVal, sRegVal);
  finally
  sl.Free;
end;
end;
 
begin
  Result := FileExists(SEZDBReg) and RegFileContainsCorrectValue
end;
 
{----------------------------------------------------}
{ Adapted from strDecrypt from the freeware unit
XProcs by Stefan Boethe }

function Decrypt(const S: String; Key: Int64): String;
var
I: Integer;
begin
  {$IFDEF Win32}
  SetLength(Result,Length(S));
  {$ELSE}
  Result[0]:=Chr(Length(S));
  {$ENDIF}
  for I := 1 to Length(S) do
  begin
  Result[I] := char(Ord(S[I]) xor (Key shr 8));
  Key := (Ord(S[I]) + Key) * C1 + C2;
  end; //for I := 1 to Length(S) do
end;
Claro que para gerar o valor correto para o arquivo que você enviará aos usuários registrados, você primeiro tem que codificar a string encriptada que você conferirá. Isto é feito usando Decrypt função irmã de Encrypt:
{----------------------------------------------------}
{ Adapted from strEncrypt from the freeware unit
XProcs by Stefan Boethe }

function Encrypt(const S: String; Key: Int64): String;
var
  I: Integer;
begin
  {$IFDEF Win32}
  SetLength(Result,Length(S));
  {$ELSE}
  Result[0]:=Chr(Length(S));
  {$ENDIF}
  for I := 1 to Length(S) do
  begin
  Result[I] := Char(Ord(S[I]) xor (Key shr 8));
  Key := (Ord(Result[I]) + Key) * C1 + C2;
  end; // for I := 1 to Length(S) do
end;
Para elucidar o código do procedimento, aqui está alguns valores pertinentes do projeto da unidade Globals que ajuda implementar a funcionalidade de lock/unlock:
{ Encryption values (C1 and C2) adapted from the
freeware unit XProcs by Stefan Boethe. }

SEZDBReg = 'EZDB.RegVal';
sRegVal =
'SportsDefinition_RunJumpSweatAndSmashIntoThings';
MAGIC_NUMBER = 1958;
C1 = 52845;
C2 = 22719;
 
Você é seu host
Não é bastante para terminar a codificação de sua aplicação simplesmente. Uma vez completo, você tem que fazer isto disponível para seu publico, quer dizer, clientes potenciais.

Uploading de software é uma atividade que a Web alterou drasticamente. Anos atrás, você podia fazer upload de suas aplicações para serviços on-line múltiplos e boletim que hospedariam as aplicações fisicamente para você. Com o advento de "nada mais que a Net", entretanto, a maioria dos sites shareware agora esperam que você possa hospedar seus programas por conta própria em seus sites e lhes dar um link para seu arquivo. Uma exceção para isto é Winsite (www.winsite.com). Eles ainda lhe permitem armazenar seu arquivo fisicamente em seus servidores.

Como um programador Delphi, você tem duas opções básicas:

• Você pode criar um Site da Web que hospedará sua aplicação Shareware.

• Você pode fazer upload de sua aplicação para o Winsite ou para o CodeCentral da Borland.

Se você opta para o CodeCentral, você terá que unir-se a comunidade Borland para ter acesso aos arquivos de upload. Como desenvolvedor Delphi, entretanto, se você já não fez isto, você provavelmente deva fazer de qualquer maneira. Muitas submissões valiosas são enviadas para lá regularmente, como componentes freeware, rotinas, e atualizações para IB Express e IB Console.

Nota: Se você for um membro do AOL, você também pode fazer upload de seu arquivo para lá diretamente (nenhum URL preexistente é necessário).

Antes de você fazer upload de sua aplicação, entretanto, existe algum trabalho preparatório que precisa ser realizado.

Crie uma instalação profissional
Um boa primeira impressão é muito importante quando lidando com clientes potenciais. Se sua aplicação se parece algo que foi lançado junto sem muito pensamento ou sem preocupação, não será muito provável que eles levem isto a serio, ou seu criador (você), seriamente. Uma ajuda para apresentar um produto profissional com seu software é usar um instalador.
O InstallShield Express é incluído com a maioria das edições do Delphi. Usando este, você pode facilmente criar uma instalação para sua aplicação Shareware. Usando InstallShield para criar sua instalação está além do âmbito deste artigo, mas é fácil usar e contem seu próprio arquivo de Ajuda para lhe mostra como iniciar.

Falando de arquivos de Ajudar, além de seu EXE, o onipresente readme.txt, e quaisquer outros arquivos subordinados de suas necessidades de programa, você também seriamente deve considerar criar um arquivo de Ajuda independente para sua aplicação.

Nota: além de uma descrição básica de sua aplicação, informações de direitos autorais, e qualquer outro que você precisa deixar os usuários conhecerem, seu arquivo readme.txt deve conter suas informações de contato de forma que clientes saibam para onde enviar o pagamento (isto está assumindo que você não está aceitando cartões de crédito on-line).

Uma vez que você tenha criado seus arquivos de instalação usando InstallShield (ou outra ferramenta de instalação de sua escolha), você tem então, claro, queira comprimir estes arquivos em um arquivo ZIP único. Neste ponto, você está pronto para submeter seu arquivo para vários locais de Shareware.

Além de ter seu arquivo ZIP pronto, também escreva uma descrição pequena com antecedência como também uma descrição longa de sua aplicação, porque a maioria dos sites de upload pedi este. Adicionalmente, uma lista de palavras chaves, às vezes ou pelo menos é requerida. O mais preciso que você faça sua descrição e lista de palavras chaves, o mais relevante que seu programa obterá de clientes potenciais. Sua aplicação pode ajustar as necessidades deles para um T, mas eles acharão só isto se você faz isto acessível e seus benefícios óbvio.

Propague a
Finalmente, você está pronto para anunciar a existência de sua nova aplicação. Com URL na mão (ou, ser mais preciso, colado em Notepad ou sua substituição de Notepad, junto com suas descrições de programa e palavras-chaves), você pode então visitar os seguintes locais, onde você pode fazer o mundo ciente de sua melhor "ratoeira":

• www.simtel.net

• www.upload.com

• www.tucows.com

• www.winsite.com/help/howtocontrib.html

Agora você faça isto!
Como você pode ver, criando, comercializando, e desdobrando Shareware não é trivial. Por outro lado, não é ciência de foguete, qualquer um. Com uma boa idéia, trabalho duro, e planejamentos sólidos, podem acrescentar suas habilidades de programação, proveja um pedaço valioso de software para a comunidade mundial, e faça algum dinheiro para inicializar!

Clay Shannon

BClayShannon@aol.com

Além de escrever sobre o Delphi, Clay Shannon é o autor de dois romances: "Twisted Roads", que apresenta um desenvolvedor Delphi como um dos principais personagens, e "The Resurrection of Samuel Clemens". Para mais informações acesse:

http://www.greatunpublished.com/bookstore/author.php3?accountID=GRTU00694 ou

http://hometown.aol.com/bclayshannon/myhomepage/index.html

O Projeto em Delphi, Clay está mais orgulhoso de seu programa "Bible XRef". Que você pode baixa-lo de:

http://codecentral.borland.com/codecentral/ccweb.exe/listing?id=16435 CodeCentral Borland ou http://www.winsite.com/bin/Info?4000000036430
 

Publicidade

Vote na dica




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes da dica

Categoria: Arquivos
Adicionada dia: 05/05/05
Por: Dapper Rodrigo
Visualizada: 5455 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009