« Octubre 2007 | Inicio | Diciembre 2007 »

Noviembre 29, 2007

Lo sé, lo sé

No es nada, pero no está mal verse a uno mismo en la web de Apple.

Noviembre 28, 2007

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.

Noviembre 27, 2007

Se va a intentar: bambooapps

De forma un poco inesperada, pero no por ello menos deseada, tengo el placer de anunciar la nueva aventura de design-nation.

bambooapps nace con una doble vocación. En primer lugar (por estricto orden de importancia), con la intención de que éste que les habla pueda hacer lo que de verdad le gusta, que no es otra cosa que programar, y en segundo lugar, con la intención de proporcionar aplicaciones para Mac OS X que puedan servir para simplificar o facilitar aspectos determinados de cualquiera de los posibles flujos de trabajo de un makero.

Hoy me complace presentar la primera aplicación de bambooapps: FND (film is not dead)

Fnd Interface Final Thumb-1

FND viene a cubrir una doble necesidad personal, la de tener a mano, sin depender de una conexión a internet, una tabla con los tiempos de revelado de mis películas preferidas, en todas sus variaciones (de revelador y/o de exposición), y la de tener un reloj que se pudiera ver desde el otro lado de la casa, y que marcara los tiempos de revelado y agitación.

Como no quiero aburrir loando las alabanzas de mi aplicación, aunque sin duda podría hacerlo, me voy a tomar la libertad, nada más, de ofrecer a los sufridos lectores un cupón que permite comprar FND, hasta el próximo día 10 de enero, con un 20% de descuento sobre los 12,95$ de su precio original.

El cupón, que deberá introducirse en el momento de la compra, es: DESIGN-NATION

FND (film is not dead)

Noviembre 23, 2007

Entender el diseño web.

Gracias al señor Córcoles, llego a este artículo ( hacía bastante que no leía A List Apart ) de Jeffrey Zeldman: "Understanding Web Design".

Si bien el artículo es interesante por completo, hoy me voy a quedar con el comienzo del mismo.

We get better design when we understand our medium. Yet even at this late cultural hour, many people don’t understand web design. Among them can be found some of our most distinguished business and cultural leaders, including a few who possess a profound grasp of design—except as it relates to the web.
Some who don’t understand web design nevertheless have the job of creating websites or supervising web designers and developers. Others who don’t understand web design are nevertheless professionally charged with evaluating it on behalf of the rest of us. Those who understand the least make the most noise. They are the ones leading charges, slamming doors, and throwing money—at all the wrong people and things

Es triste, pero describe una realidad muy cercana que me temo, durará.