PDA

Ver la Versión Completa : ¿Qué le añaden a sus programas?


José Luis Garcí
22-06-2013, 15:03:12
Hola compañeros tengo una inquietud por saber que digamos extras le añaden a sus programas y con que combinación de colores suelen jugar, como el tema de los colores de mis programas los pueden ver en este hilo http://www.clubdelphi.com/foros/showthread.php?t=83457&page=5 pongo a continuación algo suelo añadir normalmente en el módulo del menú del programa, se trata de lo siguiente:

Pongo normal mente un botón, con el siguiente código
//------------------------------------------------------------------------------
//**************************************************[ Corrector Ortográfico ]****
//------------------------------------------------------------------------------
begin
ShellExecute(FMenuPrincipal.Handle, nil, PChar('http://www.correctorortografico.com'),'','',SW_SHOWNORMAL);
end;

permitiendo corregir la ortografía de un texto por el método claro copiar y pegar a través de Internet

Pongo normal mente otro botón, con el siguiente código


Llamando al traductor de google, por el método claro copiar y pegar a través de Internet

Suelo añadir el siguiente código que ha ido evolucionando con los años que me permite crear anotaciones en fechas y marcarlas en el calendario

http://nsae01.casimages.net/img/2013/06/22/130622022852244618.jpg (http://www.casimages.es/i/130622022852244618.jpg.html)

[DELPHI]

//haycambios:Boolean; //Variable pública

//------------------------------------------------------------------------------
//*************************************[ MonthCalendar Click (ANOTACIONES) ]****
//------------------------------------------------------------------------------
var a,m,d:word;
begin //Falta descodificar y comprobar el nivel de usuario
if haycambios then
begin
if (MessageBox(0, 'Hay una anotación nueva o modificada, '+#13+#10+ '¿Desea grabarla?', // Aqui no se porque me manda la última comilla simple y la coma a la linea de abajo,
// por favor subir al final de la linea anterior
'Atención', MB_ICONSTOP or MB_YESNO or MB_DEFBUTTON2) = ID_No) then abort
else memo3.Lines.SaveToFile(fechaactual);
haycambios:=False;
end;
DecodeDate(MonthCalendar3.Date, a, m,d);
fechaactual:=IntToStr(d)+'_'+IntToStr(m)+'_'+IntToStr(a);
memo3.Lines.Clear;
if FileExists(fechaactual) then memo3.Lines.LoadFromFile(fechaactual);
haycambios:=false;
PAnel13.caption:='Anotaciones para el '+ DateTostr(MonthCalendar3.Date);
mesx:=m;
Diax:=D
end;


procedure TFMenuPrincipal.MonthCalendar3GetMonthInfo(Sender: TObject;
Month: Cardinal; var MonthBoldInfo: Cardinal);
//------------------------------------------------------------------------------
//*******************************[ MonthCalendar (anotaciones) preparamos ]****
// MArcamos lod ías para los que hay notas y coloreamos
//------------------------------------------------------------------------------
var a,m,d:Word;
i,cont, Mes:integer;
dia:array[1..365] of cardinal;
varNDias:Double;
varFinicio,varfFin,varFactual:TDate;
begin
uxtheme.SetWindowTheme(MonthCalendar3.Handle, '', ''); //Desactiva los temas usar uses UxTheme
DecodeDate(Now, a, m ,d);
fechaactual:=IntToStr(d)+'_'+IntToStr(m)+'_'+IntToStr(a);
cont:=0;
varFinicio:=strtodate('01/01/'+IntToStr(a));
varffin:=strtodate('01/01/'+inttostr(a+1));
varndias:=varffin-varfinicio;
varfactual:=varfinicio;
Mes:=1;
for I := 1 to strtoint(FloatToStr(varndias)) do
begin
DecodeDate(varFactual, a, m ,d);
fechaactual:=IntToStr(d)+'_'+IntToStr(m)+'_'+IntToStr(a);
if (Mes<>M) then
begin
if Month=mes then MonthCalendar3.BoldDays(dia,MonthBoldInfo);
ZeroMemory(@Dia,SizeOf(Dia)); //PAra vaciar el array
Mes:=M;
cont:=0;
end;
if FileExists(fechaactual) then
begin
cont:=cont+1;
dia[Cont]:=strtoint(FloatToStr(d));
end;
if ((M=12) and (D=31)) then
begin
if Month=12 then MonthCalendar3.BoldDays(dia,MonthBoldInfo);
ZeroMemory(@Dia,SizeOf(Dia)); //PAra vaciar el array
Mes:=M;
cont:=0;
end;
varFactual:=varFactual+1;
end;
end;


procedure TFMenuPrincipal.SpeedButton30Click(Sender: TObject);
//------------------------------------------------------------------------------
//*****************************************************[ Crea la anotación ]****
//------------------------------------------------------------------------------
begin
if haycambios then memo3.Lines.SaveToFile(fechaactual);
MonthCalendar3.Date:= MonthCalendar3.Date+365;
MonthCalendar3.Date:= MonthCalendar3.Date-365;
Memo3.Lines.Clear;
haycambios:=False;
end;

procedure TFMenuPrincipal.SpeedButton31Click(Sender: TObject);
//------------------------------------------------------------------------------
//****************************************************[ Borra la anotación ]****
//------------------------------------------------------------------------------
function BorrarArchivo(Ruta:string):boolean;
begin //bajado de http://www.creatusoftware.com/index.php?option=com_content&view=article&id=85&Itemid=41
//Borrar archivo
if (DeleteFile(PChar(Ruta))) then
begin
//Archivo borrado
Result:=true;
end
else
begin
//Archivo no borrado
Result:=false;
end;
end;
begin
Memo3.Lines.Clear;
haycambios:=False;
BorrarArchivo(fechaactual);
MonthCalendar3.Date:= MonthCalendar3.Date+365;
MonthCalendar3.Date:= MonthCalendar3.Date-365;
end;

procedure TFMenuPrincipal.Memo3Change(Sender: TObject);
//------------------------------------------------------------------------------
//************************************************[ Cambios en anotaciones ]****
//------------------------------------------------------------------------------
begin
haycambios:=true;
end;



Además suelo poner una agenda para los contactos, que se pueda abrir la calculadora y que recuerde poco más.

Espero participeis y con vuestras aportaciones, generar cada vez ejecutables más completos y atractivos.

Casimiro Notevi
22-06-2013, 19:34:45
Una utilidad para enviar mensajes a otros usuarios, es una tabla en la BD con los usuarios origen y destino, la fecha, leido s/n, el texto y poco más.
Cuando se conecta un usuario se verifica si hay algún mensaje para él. También se comprueban cada x minutos, es una especie de "email" interno en el programa:

Paco, avísame cuando llegues.
Federico, si vienes para el almacén, no olvides traer el pedido de ayer.
etc.

fjcg02
22-06-2013, 22:52:12
Iba a comentar lo mismo que Casimiro, pero añadiendo sí se necesita un enlace a un registro de una entidad. Por ejemplo a un albaran o a una factura...

paco, revisa esta factura que tengo alguna duda, y referenciarla. Que la creación del mensaje se pueda hacer desde las propias facturas, albaran es, pedidos,...

Saludos

José Luis Garcí
23-06-2013, 09:25:46
Os refieres a mensajes internos o emails?

Casimiro Notevi
23-06-2013, 10:22:21
Mensajes internos y sólo entre los usuarios del programa.
Aunque si existen varias sucursales conectadas al mismo servidor central, obviamente, serán mensajes "externos" :)

newtron
23-06-2013, 11:11:29
Aunque igual no es exactamente lo que preguntas yo en mi programa de gestión tengo 4 teclas de acceso en cualquier sitio de la aplicación para acceder con un F.. a una Calculadora, Clientes, Proveedores y a poder ver el precio de un artículo para un cliente. Es muy habitual en la mayoría de las empresas que alguien llegue y te pregunte...."¿oye, qué cuesta esto? ¿tienes existencias?", de esta manera estés donde estés pulsas el F.. y se abre una ventana en la que te pregunta el artículo y el cliente y te da el PVP del artículo y las existencias en cada uno de los almacenes y si ese cliente tiene condiciones especiales de descuentos, precio especial, etc. te lo pone también, de esta forma puedes dar un precio exacto a un cliente sin tener que irte a la opción de Ventas o presupuestos. El acceso a clientes o proveedores lo tengo por si en cualquier momento necesitan consultar algún dato tenerlo más a mano.

http://s2.subirimagenes.com/otros/previo/thump_8505023dibujo.jpg (http://www.subirimagenes.com/otros-dibujo-8505023.html)

Saludos

José Luis Garcí
23-06-2013, 11:24:49
Gracias Casimiro, lo que haces es entonces a través de la red, se que existía una utilidad, que trae el windows, para comunicarse entre puestos dentro de una red y una vez mire algo en programación de una especie de mesenger para redes, pero ni recuerdo el sistema ni la página.

Newtron, la verdad que es una muy buena idea, claro que yo le añadiría la opción sobre cliente o proveedor, por que también es típico que el jefe te pregunte "Oye cuanto cuesta tal xxxx de Fulanito(Proveedor)"

Casimiro Notevi
23-06-2013, 13:21:48
Gracias Casimiro, lo que haces es entonces a través de la red, se que existía una utilidad, que trae el windows, para comunicarse entre puestos dentro de una red y una vez mire algo en programación de una especie de mesenger para redes, pero ni recuerdo el sistema ni la página.

Desconozco eso, lo que hago es una simple mensajería dentro del programa, los datos (mensajes) se guardan en una tabla.

fjcg02
23-06-2013, 15:33:40
Desconozco eso, lo que hago es una simple mensajería dentro del programa, los datos (mensajes) se guardan en una tabla.


Igualito igualito...
Saludos

newtron
24-06-2013, 12:14:46
Newtron, la verdad que es una muy buena idea, claro que yo le añadiría la opción sobre cliente o proveedor, por que también es típico que el jefe te pregunte "Oye cuanto cuesta tal xxxx de Fulanito(Proveedor)"

"Pos" ya sabes. :D

TiammatMX
24-06-2013, 18:12:36
Cuando me toca ver un sistema o programa o aplicación o como quieran decirle, hecha para Windows y que parece carpa de circo de pueblo con tantos colores, monerías, iconos animados, imágenes y así SIN QUE LAS NECESITE, de inmediato pienso en una modelo de pasarela, alta, rubia, anoréxica..., y bonita pero sin cerebro.

Yo soy programador con ideas muy arraigadas acerca de la interfaz del usuario: Microsoft diseñó un estándard gráfico y de presentación visual para los programas destinados a trabajar con Winbugs al cual TODOS deberíamos apegarnos, y yo ni nadie somos quién para decir "voy a hacer algo original, que se vea bonito y que no parezca Windows", por que entonces se está desvirtuando el uso de la plataforma.

Optaré siempre por un programa feo, fuerte y formal, aunque no tenga muchas imágenes bonitas ni florituras que no sirven para nada.

MAXIUM
24-06-2013, 21:03:21
Existio un momento que se me ocurrio inscrustar el código fuente comprimido dentro del ejecutable y una vez dentro del menú ayuda > acerca de... realizar una serie de combinaciones de teclas para recuperarlo.

La idea era tener el código fuente siempre disponible en caso de perdida.

Casimiro Notevi
24-06-2013, 21:30:08
Yo simplemente lo añado en un directorio dentro del programa, en un zip :)

newtron
25-06-2013, 09:44:10
Yo simplemente lo añado en un directorio dentro del programa, en un zip :)

¿el fuente del programa? :eek::eek:

Casimiro Notevi
25-06-2013, 11:01:34
¿el fuente del programa? :eek::eek:
jeje... pues sí, si alguna empresa me encarga un programa, siempre adjunto el fuente aunque no lo haya pedido.
Claro, en las empresas donde he trabajado no hacía eso, no era "mi" programa, ni me lo habían encargado a mi.

Julián
25-06-2013, 18:55:37
Yo hago lo mismo que Casimiro.

Es una ventaja para el cliente, y tambien para mí.

Un saludo!

mamcx
25-06-2013, 19:01:36
Logs!!!!!

Logs por todos lados.

Logeo tambien los SQL, las entradas y salidas de procesos, llamadas a cosas importantes, etc.

Y ahora con servicios como http://loggr.net/ es posible ver el log y demás datos remotamente (ahora estoy pensando en poner metricas y otras cosas. Estoy es mirando como anonimizar de forma correcta)

De todo lo que se puede hacer, tener logs de las apps es lo que mas me ha salvado.

MAXIUM
26-06-2013, 03:19:13
¿En verdad entregar el código fuente?. Por estos lugares eso es un "producto" a parte con un valor incluso superior al compilado...

mamcx
26-06-2013, 03:40:08
¿En verdad entregar el código fuente?. Por estos lugares eso es un "producto" a parte con un valor incluso superior al compilado...

Eso depende del enfoque del negocio. Es servicios o productos? Si es servicios, el producto (codigo) es un añadido. Si es producto, el servicio es un añadido.

newtron
26-06-2013, 10:13:44
¿En verdad entregar el código fuente?. Por estos lugares eso es un "producto" a parte con un valor incluso superior al compilado...

Si vendes un programa estandarizado no vas a entregar los fuentes, otra cosa es que hagas un proyecto a medida a un cliente y se pacte previamente el entregarlo.

Julián
26-06-2013, 10:20:20
¿En verdad entregar el código fuente?. Por estos lugares eso es un "producto" a parte con un valor incluso superior al compilado...

La cosa es muy sencilla:

1. Un cliente solicita un trabajo (a medida) que implica escribir código.
2. Se le dá un precio.
3. El cliente acepta.
4. Se hace el trabajo, y se entrega, código fuente incluido, al cliente.

No entregar el código fuente es una forma de tener capturado al cliente y que dependa de tí. Algunos pensamos que hacer tal cosa no es profesional ni ético, y que lo normal es entregar el código, cobrando lo que haya que cobrar, claro.

Otra cosa es hacer, como dice mamcx, un software que es el producto en sí mismo. Ahí puede unor hacerlo opensource, con las ventajas o incionvenientes que pueda conllevar, o no hacerlo.

Saludos.

juanelo
26-06-2013, 18:42:13
Si vendes un programa estandarizado no vas a entregar los fuentes, otra cosa es que hagas un proyecto a medida a un cliente y se pacte previamente el entregarlo.
Creo que esta es la clave de todo, y estoy totalmente de acuerdo.

MAXIUM
26-06-2013, 19:02:32
¿Y que hacen cuando utilizan componentes de terceros?

Casimiro Notevi
26-06-2013, 19:56:57
¿Y que hacen cuando utilizan componentes de terceros?
Salvo delphi, todo lo que uso es libre.

juanelo
26-06-2013, 19:58:55
¿Y que hacen cuando utilizan componentes de terceros?
Pues se le advierte al cliente, que asi como tiene que comprar su respectiva licencia de Delphi/C++Builder, tiene que adquirir la licencia del(los) componente(s) de terceros.

Casimiro Notevi
26-06-2013, 20:13:49
Pues se le advierte al cliente, que asi como tiene que comprar su respectiva licencia de Delphi/C++Builder, tiene que adquirir la licencia del(los) componente(s) de terceros.
Bueno, eso será si quiere compilarlo.

juanelo
26-06-2013, 20:15:49
Bueno, eso será si quiere compilarlo.
Si claro, se le entrega el codigo y ya, pero se le debe de hacer de su conocimiento.

MAXIUM
26-06-2013, 20:41:10
Bueno, eso será si quiere compilarlo.

¿Para que otro motivo querría el cliente el código fuente?. A menos que caiga el código en un desarrollo de otra aplicación que reemplace la tuya y/u otro lenguaje.

¿Alguno le ha tocado coger un proyecto (código fuente) en VB por ejemplo y traducirlo por completo o a lo menos entender la estructura y traducirlo a Delphi o parten desde cero?

Tengo dudas :p

mamcx
26-06-2013, 21:10:34
¿Para que otro motivo querría el cliente el código fuente?. A menos que caiga el código en un desarrollo de otra aplicación que reemplace la tuya y/u otro lenguaje.

¿Alguno le ha tocado coger un proyecto (código fuente) en VB por ejemplo y traducirlo por completo o a lo menos entender la estructura y traducirlo a Delphi o parten desde cero?

Tengo dudas :p

Si, o aun mas comun: Leer varias secciones de codigo hasta ver como se hace algo.

Supongamos, por ejemplo, que quieres hacer un servidor web. Puedes programar a lo loco o miras como esta hecho apache, nginx o cualquier otro. Y luego tomas parte y asi por el estilo. Incluso se porta a otro lenguaje/framework.

Existe todo un "mercado" de "software X, pero en Y". Basicamente, el open source anima a hacer clon del clon del clon ad infinitum

Casimiro Notevi
26-06-2013, 21:40:39
Alguien me pide un programa para su empresa, lo hago, me paga y me voy (más rápido no puede ser).
Un día voy paseando por la orilla de la playa, se acerca un ovni, me abduce, me lleva a Alfa Centauri y me deja allí (son unos cachondos).
El señor de la empresa quiere que el botón de "Salir" del programa sea de color verde, no le gusta el color rojo sangre que le puse.
Me llama por teléfono, me escribe un email, pregunta por mí a todo el mundo, le dicen que me tocó la lotería y me fui a la Antártida a tomar el sol.
Pero el señor de la empresa se acuerda que tiene el código fuente, se busca un programador delphi, le cambia el color rojo por el verde al dichoso botón y se queda tan contento.
Ya no le hago falta, menos mal, porque puede que no esté en Alfa Centauri ni en la Antártida, sino en ese otro sitio del que no puedes volver.

pd: Realmente no fui abducido por el ovni, sino que aparcó encima de mí y me mandó al otro barrio. Estos conductores alienígenas son un peligro, a ver dónde se sacó éste el carnet de conducir ovnis.

newtron
27-06-2013, 09:53:28
Yo conozco a un hombre que decidió hacer una aplicación para comercializarla a nivel nacional pero no tenía ni idea de programación, solo de la actividad a la que la aplicación daba soluciones. Contrata a un programador "freelance" con la condición de que dentro de lo que le paga van incluidos los fuentes. Pasan los años y este hombre se gasta MUCHA MUCHA pasta en el desarrollo, va vendiendo programitas y el programador le va haciendo modificaciones y arreglos hasta que la cosa llega a un punto en que el programador quiere abusar en relación a lo que cobra. Este hombre le pide los fuentes, se los da y viene a mi a que le compile el programa. Fiasco total, tiene los fuentes pero ha usado CIENTOS de componentes de terceros todos piratas y aparte ha hecho componentes propios que dice que no le da porque son suyos.

Total...... desastre, ahora se encuentra pillado, con un programa del que no puede disponer y en el que ha invertido mucho dinero.

A ver como acaba la cosa.

Casimiro Notevi
27-06-2013, 10:52:48
A ver como acaba la cosa.Vaya problemón tiene ese hombre :confused:
Seguramente lo mejor que puede hacer es denunciarlo, lo mismo se asusta y le entrega todo el código, aunque sea por no meterse en follones del que puede salir perdiendo.

Casos como ese es por lo que prefiero entregar el código fuente y siempre usar componentes libres. Además si me pagan por un programa, el programa es su código fuente, compilado o no, pero el código fuente.

newtron
27-06-2013, 12:57:11
Vaya problemón tiene ese hombre :confused:
Seguramente lo mejor que puede hacer es denunciarlo, lo mismo se asusta y le entrega todo el código, aunque sea por no meterse en follones del que puede salir perdiendo.

Casos como ese es por lo que prefiero entregar el código fuente y siempre usar componentes libres. Además si me pagan por un programa, el programa es su código fuente, compilado o no, pero el código fuente.

Claro, pero eso lo hacen las personas decentes, si este ha dado con un choricete que encima no es de este país tiene un buen problema.

juanelo
27-06-2013, 17:36:23
Y si me permiten aportar algo, mi costumbre es entregar codigo fuente "listo para modificaciones y compilar".
Si mi cliente lo desea, y con costo adicional, le armo una maquina virtual con todo lo necesario para compilar y hacer modificaciones al codigo, previa entrega de licencias del IDE y los componentes de terceros que se requiera (o en su defecto asesoro a su gente de sistemas para este armado de MV).
Lo importante es que el cliente puede tener la certidumbre de que lo que se le está entregando es la ultima version de su sistema en productivo.

juanelo
27-06-2013, 17:39:28
Aclaro, esto es para sistemas hecho a medida o verticalizaciones del sistema de linea comercial de mi empresa.
Cuando se vende el sistema de manera generica a cualquier empresa, se especifica que está adquiriendo una LICENCIA DE USO, y no la propiedad del sistema.

gatosoft
12-07-2013, 19:18:45
Yo incluyo siempre en las "utilidades" que desarrollo un control de caducidad por fecha. Es decir, en el DPR valido que el día de hoy sea menor a la fecha "quemada", o si no no lo deja continuar. Tengo un control de fecha de instalación para que no intente en viejo truco de "la máquina del tiempo", (modificar la fecha del sistema).

Ésto solo para utilidades sobre las que no cobro, La fecha es a uno o dos años y la idea es obligar a una actualización.

También incluyo un esquema de registro de la aplicación, basado en la consulta de unos parámetros de una pagina html y el envió de un correo de registro. es decir, no utilizo para registro servicios web.

Un componente que incluyo es el componente Lupa de los AlphaControls, el cual me parece inetresante y ayuda a mis usuarios "cegatones". Obviamnete hay otras alternativas para manejar el tema, incluida la lupa nativa de windows, pero ésta me gusta.

Por otro lado a diferencia de Casimiro, siempre tiendo a pagar por componentes de terceros, ya que me da una idea de confianza y estabilidad en el tiempo. Ya tuvimos experiencia con componentes free que dejan de actualizarse y al morir nos dejan en problemas.

Los componentes que he comprado y hasta ahora recomiendo son:

TMS VCL Components Pack
Devart SecureBridge (Para establecer protocolos seguros de comunicación, se integran con Indy)
Devart UniDac (Gemelos de FireDac)
AlphaControls o AlphaSkin

Esto no quiere decir que no utilice componentes free, como DelphiArea.

Casimiro Notevi
12-07-2013, 19:36:09
Por otro lado a diferencia de Casimiro, siempre tiendo a pagar por componentes de terceros, ya que me da una idea de confianza y estabilidad en el tiempo. Ya tuvimos experiencia con componentes free que dejan de actualizarse y al morir nos dejan en problemas.

Amigo, lo que he dicho es que uso componentes libres, (con el código fuente). Libre<>gratis ;)

Además que cualquier componente privativo, cerrado, sin código fuente, también puede dejar de actualizarse; y ahí sí que te han jod... porque no tienes el código fuente o te obligan a comprar una versión nueva si quieres cualquier característica, etc. y no puedes hacer nada, salvo "tragar".

Yo me he encontrado en varias ocasiones con componentes que han dejado de actualizarse y sólo he tenido que ajustar algún #define para poder compilarlo en mi Delphi. Si no fuese libre y gratis, como es tu caso, estás perdido.

Por cierto, tu táctica de "caducidad" del programa me parece poco ético :eek:

egostar
12-07-2013, 19:48:38
Mi esquema es


Venta licencia de uso
Venta de código fuente
Venta de licencia de uso y código fuente
Renta Diaria, Mensual, Semestral ó Anual
Licencia de uso gratis con contrato de mantenimiento
Licencia de uso gratis con cargo por servicio


Y me quito de problemas

Saludos

gatosoft
12-07-2013, 21:42:19
Amigo, lo que he dicho es que uso componentes libres, (con el código fuente). Libre<>gratis ;)

Además que cualquier componente privativo, cerrado, sin código fuente, también puede dejar de actualizarse; y ahí sí que te han jod... porque no tienes el código fuente o te obligan a comprar una versión nueva si quieres cualquier característica, etc. y no puedes hacer nada, salvo "tragar".

Yo me he encontrado en varias ocasiones con componentes que han dejado de actualizarse y sólo he tenido que ajustar algún #define para poder compilarlo en mi Delphi. Si no fuese libre y gratis, como es tu caso, estás perdido.

Por cierto, tu táctica de "caducidad" del programa me parece poco ético :eek:

Ok, Libre<>gratis... igual entonces "yo compro software libre", por que normalmente elijo el modelo de componentes con código fuente, y así reduzco el riesgo de perder continuidad. Igual por mas libre que sea el software tiene sus reglas de uso.

Ahora, es cierto que debo pagar, incluso por actualizaciones, pero ese es un costo que se asume, y es valorar el trabajo. Con cada versión de Delphi, los componentes deben actualizarse y aunque podría ponerme en ese trabajo, pago la actualización del proveedor y tercerizo un problema.

Creo que como distribuidores de software los costos no deberían asustarnos pues deben quedar cubiertos dentro de nuestro esquema de licenciamiento.

Por otro lado, si considero que es poco ético el tena de la caducidad, pero yo advierto a mis usuarios que el software estará activo por cierto tiempo o mientras yo esté en labores con ellos. Estas herramientas que te digo las instalo en los clientes o empresas donde voy a trabajar, les facilita la vida a ellos y a mi .

Lo anterior lo dgo por que en un lugar donde trabajé querían apoderarse de los derechos de mis utilidades, por que según ellos fueron desarrollados en sus instalaciones y con sus herramientas de Software (Ni siquiera tenian Delphi).

Como te dio, siempre advierto. Ahora, pronto publicaré en mi web unos componentes yd entro de la licencia irá este advertencia...

un saludo,

Casimiro Notevi
12-07-2013, 22:16:02
Lo digo por un motivo, aunque lo adviertas a tus clientes. Te cuento un caso: se desarrolla un software de gestión muy amplio y se vende por internet a empresas de todo el país, la mayoría son pequeños negocios.
Por orden de "arriba" el software llevaba una fecha de caducidad (unos 2 años) para que pidiera una nueva clave de instalación.
La empresa desarrolladora del software cerró a los 18 meses. A todos los clientes que compraron el software, un día al iniciar el programa les salió una ventanita informando que la anterior clave había caducado y que se pusieran en contacto con la empresa para solicitar una nueva.
Imagina qué tuvieron que hacer todas esas empresas con sus datos, clientes, artículos, facturas, deudas de sus clientes, etc. ¿comprar otro software?, sí, pero ¿y los datos?

En tu caso, aunque no quieras, puede ocurrirte algo similar, por ejemplo, te toca la lotería, dejas el negocio y te vas a los mares del sur a vivir por aquellas islas de cocoteros. Te olvidas por completo de tu software, las claves que caducan y de tus clientes. ¿Qué hacen tus clientes?

Kipow
13-07-2013, 10:54:25
Mi esquema es


Venta licencia de uso
Venta de código fuente
Venta de licencia de uso y código fuente
Renta Diaria, Mensual, Semestral ó Anual
Licencia de uso gratis con contrato de mantenimiento
Licencia de uso gratis con cargo por servicio


Y me quito de problemas

Saludos

Este es muy similar a mi esquema de trabajo

elrayo76
29-10-2013, 19:48:34
Yo hago lo mismo que Casimiro.

Es una ventaja para el cliente, y tambien para mí.

Un saludo!

Para el cliente es una ventaja, pero para el desarrollador no!!!. Si el cliente decide de la mañana a la noche cambiar de desarrollador lo puede hacer sin problemas y el que sigue continua con lo que vos dejaste.

Yo soy de los que piensa que si quieren el código fuente que lo paguen, ya que yo fui el que puso su tiempo y esfuerzo para lo que hace.

Saludos,
El Rayo

elrayo76
29-10-2013, 19:54:21
Logs!!!!!

Logs por todos lados.

Logeo tambien los SQL, las entradas y salidas de procesos, llamadas a cosas importantes, etc.

Y ahora con servicios como http://loggr.net/ es posible ver el log y demás datos remotamente (ahora estoy pensando en poner metricas y otras cosas. Estoy es mirando como anonimizar de forma correcta)

De todo lo que se puede hacer, tener logs de las apps es lo que mas me ha salvado.

Esto me parece muy bien. También pogo logs por donde puedo.

Algunos de estos logs se guardan cuando la aplicación está compilada en modo Release y otros en modo Debug. Además en las grillas suelo poner un boton que llama a una plantalla con el SynEdit que me muestra la consulta ejecutada.

Saludos,
El Rayo

Casimiro Notevi
29-10-2013, 20:15:48
Para el cliente es una ventaja, pero para el desarrollador no!!!. Si el cliente decide de la mañana a la noche cambiar de desarrollador lo puede hacer sin problemas y el que sigue continua con lo que vos dejaste. Nunca he tenido ese problema en los últimos... 29 años :)

Julián
29-10-2013, 23:48:28
Para el cliente es una ventaja, pero para el desarrollador no!!!. Si el cliente decide de la mañana a la noche cambiar de desarrollador lo puede hacer sin problemas y el que sigue continua con lo que vos dejaste.

Yo soy de los que piensa que si quieren el código fuente que lo paguen, ya que yo fui el que puso su tiempo y esfuerzo para lo que hace.



Al igual que Casimiro nunca he tenido ese problema, si es que eso es un problema.

Te explico: En mi precio incluyo el código fuente porque considero que cuando alguien te paga por un programa si se lo entregas sin fuentes lo estas engañando, estafando. No digo que estes haciendo algo ilegal. Digo que no es ético. Si el cliente supiera la diferencia que hay entre tener o no el código fuente de la aplicación por la que ha PAGADO ni se le pasaría por la cabeza la opción sin código.

Ojo, me refiero a cuando le haces un programa a medida a alguien. Y cuando se presenta el caso le explico al cliente lo que le estoy ofreciendo por su dinero para que entienda porqué le va costar ese dinero. Y cuando se lo explico, normalmente, me quedo SIN competencia. Porque los otros se quedan en desventaja. Hay clientes que no lo entienden, claro, pero ese es su problema.

Otras cosa es cuando haces un programa genérico, en cuyo caso puedo considerarme yo mismo como el cliente. Por ejemplo, yo he desarrollado un gestor de contenidos o framework en php, mysql, javascript etc. No lo he puesto en github ni sourceforge ni cosas de esas, porque no le veo ventaja alguna, pero a algunos clientes se lo he instalado en su servidor web, sin ningún problema. Ahí tienen todo el código fuente. Para eso han pagado. ¿Que pueden copiarselo? Es su problema. Yo ya he cobrado.

Por cierto, cuando trabajaba de electricista hacía lo mismo: daba presupuesto, me lo aceptaban, hacia el trabajo y me pagaban. Una vez. Como los panaderos, los mecánicos, los arquitectos, los albañiles o los camareros.

Un saludo!