FND postmortem
Por fin, el niño ha visto la luz. Y aunque lo cierto es que en vez de un niño yo quería niña, y que el parto se ha adelantado, creo que es buen momento para sentarse, coger una cerveza y fumarse un puro a su salud y a la mía. Que ya habrá tiempo de preocuparse por si aprueba las mates o no.
Por eso, porque tal vez sea interesante para alguien más, porque ya es casi una tradición entre todo el que lanza alguna aplicación para Mac OS X, y sobre todo porque me apetece soltarlo y verlo escrito, es por lo que quiero hacer esta especie de autopsia de lo que ha sido el proceso de desarrollo de una aplicación de escritorio.
Es importante tener un plan
Es fundamental saber lo que se quiere hacer. Obviamente, eso no garantiza que el resultado final sea un éxito comercial, pero sí que te pone en el buen camino para conseguir que al menos exista ese resultado final.
Durante los dos meses en los que he estado trabajando en Arriba! y en FND, no ha habido un sólo día en el que no haya tenido una nanoidea para comenzar una nueva aplicación, nanoideas que morían a los cinco minutos de comenzar a reflexionar en serio sobre ellas.
Por eso me parece fundamental el tener claro lo que se pretende hacer, y seguir adelante por el camino marcado.
Es muy importante tener más de un plan
Si algo he aprendido en estos meses es que no basta con que tú quieras hacer algo. Desgraciadamente, en un proceso tan largo y tan complejo hay mil una variables que te pueden desviar de tu camino, o que simplemente, te pueden hacer plantearte la necesidad de buscar una nueva vía.
Comencé a trabajar en FND para llenar los momentos de bloqueo en el desarrollo de Arriba!, para ayudarme a poner en el thread del fondo de la cabeza el punto muerto, el callejón sin salida en el que me había metido, a base de ocupar el supuesto grueso de la supuesta materia gris a resolver un problema completamente distinto. Al final, por circunstancias que espero que aún no sea tarde para cambiar, la aplicación que primero ha visto la luz ha sido la que desarrollaba como entretenimiento.
Lo de trabajar en dos aplicaciones a la vez es algo que, a partir de ahora, pienso hacer siempre.
Es importante trabajar en algo que te resulte útil a ti mismo
No es por tirarme el pisto ni dármelas de listo, pero hacer una aplicación de escritorio, por mucho que me gusten los frameworks Cocoa, y por mucho que éstos faciliten el trabajo, sigue siendo un auténtico dolor, y de los más inhumanos.
Por eso, aunque no por la razón habitual, aquella teoría de que así se producen aplicaciones más amigables, es muy conveniente que el desarrollador sea usuario de su propia aplicación.
Sinceramente, si no fuera porque necesitaba tanto Arriba! como FND, nunca las hubiera terminado. Son tantos los callejones sin salida, son tantas las vallas que hay que saltar, que la tentación de mandarlo todo al limbo de las aplicaciones inconclusas es enorme, y lo único que hace seguir adelante es pensar que tú vas a poder utilizar esa aplicación en la que estás trabajando y que has empezado a hacer porque no había ninguna otra cosa que te sirviera para tus malvados fines.
Por tanto, la mejor motivación para seguir es el producir algo para tu propio uso.
Es muy importante, y muy difícil, saber decir que no
Sobre todo, saber decirle que no a uno mismo. Es muy fácil intentar que tu aplicación haga de todo, que tenga mil y una funcionalidades, que sirva para todo, que sincronice datos por .Mac, que pueda exportar a galerías web, que importe de XML, CSV, SVG, y /o cualquier otra sigla.
Pero lo difícil es decidir dónde cortar, decidir qué entra en la primera versión y qué no. Entre otras cosas, porque puedes estar seguro que siempre va a haber algún usuario para el que la funcionalidad que tú has dejado fuera es fundamental. Eso hay que asumirlo.
Por eso es muy importante el marcarse un objetivo realista, que permita entregar una aplicación que haga cosas, pero que permita entregarla, y a ser posible en un plazo no demasiado largo. No hay que olvidar que el precio, al menos en mi caso, tampoco es muy alto, por lo que el desarrollo no puede eternizarse.
Tiempo habrá para incluir más y mejores funcionalidades en versiones y subversiones venideras. Además, guste o no, de eso va el negocio del software, de estirar hasta más allá de lo imaginable una aplicación, para sacar el mayor rendimiento posible a su codebase.
Eso sí, algunas de las decapitaciones de la primera versión de Arriba! y de FND no han sido nada fáciles, desde un punto de vista estrictamente personal. Ayer, en planetamac, oreixa apuntaba, con más razón que un santo, que una aplicación como FND, desarrollada por un castellano-parlante, no está localizada en castellano, lo que no es algo especialmente bueno, que digamos.
Desgraciadamente, los números cantan, y localizar en castellano una aplicación tan "de nicho" como FND no es rentable, se mire por donde se mire. Y ésa es una de las cosas en las que hay que pensar cuando necesitas lanzar algo.
No todo es programar
En realidad, en todo este proceso, lo que es programar en sí, supone sólo el 60% del trabajo, y eso con suerte.
Hay que escribir la ayuda, montar la web, la tienda, testar la aplicación, montar algún sistema de bugtracking o de gestión de soporte, hacer o buscar la forma de que alguien te haga el icono de la aplicación, los iconos del toolbar, escribir los textos de la web...
Y lo peor de todo, que sí que entra dentro del "programar": el montar el sistema anti-pirateo de las aplicaciones. Sobre eso volveré otro día con más tiempo y ganas, pero básicamente, todo se puede resumir como "jamás he dedicado tanto tiempo a nada tan inútil" como el sistema de encriptación de los números de serie, y la validación de los períodos de prueba. Tiempo que podría haber dedicado a meter alguna feature más, por cierto.
Pero al final, merece la pena
Sinceramente, no sé cómo funcionará todo esto, si realmente algún día llegará a merecer la pena económicamente o no, pero lo que sí que sé es que he disfrutado programando Arriba! y FND como no disfrutaba desde hacía años (profesionalmente hablando). Nunca había sentido nada comparable a la sensación, cercana al éxtasis, que produce el decidir lo que entra en tu programa y lo que no, lo que se hace y lo que no se hace, y sobre todo, el cómo se hace.
Pero sobre todo, merece la pena por todo lo que hay que aprender para poder salir de un proceso como éste con algo tangible en las manos.
Por eso, la sensación que se tiene cuando se cambia el número de versión a 1.0 y se compila es tan difícil de explicar. Por un lado es felicidad, mezclada con una sensación de absoluta libertad, pero por otro es también un gran alivio, con un cierto toque de miedo, no sé si al fracaso, o a exponerse al juicio y la valoración de otros.
Sin embargo, cuando entra el primer email con la notificación de una venta, entonces, ya sí, sólo quedan la felicidad, y el alivio.
Hasta el día 10 de enero, puedes comprar FND con un 20% de descuento, utilizando el siguiente cupón:
DESIGN-NATION.
Comentarios
Supongo que si no lo hiciste tu razones tendrías, pero creo que a veces hay que far ejemplo y no solo mirar los aspectos meramente económicos.
Si nosotros no vemos negocio en localizar las versiones, malamente lo harán los de fuera ¿no?
Publicado por: oreixa | Noviembre 28, 2007 08:08 PM
Bueno, la verdad es que si los de dentro no consideramos rentable el localizar en castellano, los de fuera lo consideran aún menos.
Lo cierto es que habrá localizaciones. Mi intención es que la versión 1.1 sea precisamente la que las incluya. No obstante, creo que hay que ser realista: casi el 90% de los usuarios de Mac son americanos o ingleses, otro 5% son alemanes y franceses, y otro 2% son japoneses.
Publicado por: Cesar Tardaguila | Noviembre 29, 2007 12:37 AM
Perdona que sea tan brusco pero me parece un poco hipocrita quejarse de lo que te ha llevado aplicar el codigo para que no te pirateen
Si no quieres que te pirateen hazlo open source
Todo lo demas es ego
Gracias y disculpa de nuevo
PD: comentaria sobre el software en si pero primero me lo tengo que mirar mas profusamente
Publicado por: Garito | Noviembre 30, 2007 05:12 PM
¿Ego?
Ya me dirás de dónde te sacas eso... De verdad, los ninjas del open source nunca me dejáis de sorprender
Publicado por: Cesar Tardaguila | Diciembre 1, 2007 01:19 AM
No hombre, ninja no soy tampoco pero en estos tiempos de cambio, en los que ya sabemos cual es el camino del futuro, solo es cuestion de ganas que nos vayamos pasando (aunque nos cueste y nos asuste) poco a poco
Por eso se me hace tan raro e ironico que alguien, a dia de hoy, se queje de la cantidad de rato que ha tenido que dedicarle al sistema de proteccion anti-copia, no te parece?
Cuando programo algo tambien sueño con crear el impacto suficiente para que llegue alguien que valore ese trabajo lo suficiente como para que yo tenga que dejar de preocuparme por algo tan zafio como la pasta
Particularmente, llevo 4 años trabajando sin cobrar, por poder usar el ordenador a mi manera y tambien me gustaria tener pasta para cambiarme la maquina que le hace falta y para vivir mucho mas holgadamente
Pero es lo que hay, has perdido tu rato para que toda una serie de gente no pueda usar tu software que ya esta hecho y que te cuesta el mismo esfuerzo que lo usen 5 que 50
Has visto lo que ha hecho RadioHead?
Te das cuenta que los que han pagado por el disco son los que les ha gustado lo que han hecho?
Por eso lo del ego: porque, en ausencia de este, uno da y si luego alguien decide devolver el esfuerzo pues regalo que uno se lleva
El cambio de mentalidad ya esta aqui, eso es inevitable, la cuestion es cuanto tardaremos en darnos cuenta
Saludos y enhorabuena con tu proyecto
Publicado por: Garito | Diciembre 1, 2007 01:08 PM