by Javier on August 26, 2010

This is, to my own delight, and auto discovered tip. If you want to quickly accent vocals in the iPad spanish virtual keyboard, just do what your intuition tells you.

Push the vocal key, do a quick slide up from the key with your finger and voilá, you just got served! Compared to the old, standard method, it’s fast as hell.

A tip for conf-calling with distributed teams 
by Javier on August 21, 2010

The simpler, the better.

Procrastination in the language 
by Javier on June 25, 2010

Specifically, these are the words “just” and “should“:

- I’m just going to … (check email for a second, give that person a call, etc.)
- I should be doing blah or bleh.

They both deny some aspects of reality.

Go for the full article; it’s really worth it.

Safari Reader is a must for focused reading 
by Javier on June 16, 2010

At least in sites like this. Try it with and without Safari Reader and you’ll know what I’m talking about.

In the other hand, when reading a site with good design in mind like this, using Reader doesn’t even cross my mind. And that’s because the whole site experience is adding value to you, the reader.

A carrier-free iPhone 
by Javier on June 14, 2010

Ross Rubin, in the Switched On Engadget column:

But now the indications are stronger than ever that Apple will imbue its music player-turned-mobile platform into a carrier-free vehicle for bridging the space of face-to-face communications and the time between capturing video and editing it.

Apple (together with Nokia) is indeed the mobile phone manufacturer that’s closest to it. But this is not the carrier-free that matters the most. The carrier-free that’s still waiting to happen is when mobile device sales and data access services are totally decoupled, a model that will succeed when carriers are brave enough to design a valid go to market strategy for the growing number of data-connected devices.

The challenge is to stop controlling and subsidizing the terminal and start adding value to their side of things, that is, the access. As the number of connected devices per person grows, a competent contract model that’s appealing for both the end and corporate user is needed. Just thing about the cost of having a laptop 3G USB modem, a 3G-enabled phone and a 3G-enabled iPad. All of this when already paying for a DSL connection.

They know what to do. They just don’t have what it takes yet.

by David on April 27, 2009

La Integración Continua es un concepto ampliamente definido en el que básicamente se pretende automatizar la construcción/compilación e integración del desarrollo de un producto software, para agilizar el ciclo de diseño-ejecución-prueba, detectando de forma óptima los errores, bugs y fallos en dicho proceso de desarrollo.

En el caso de desarrollo de software realizado por un equipo, queremos integrar nuestro código propio con el que finalmente va a ser lanzado. Para la gestión del desarrollo de todo el equipo, la integración de código, su compilación y pruebas habrá que seguir ciertas directrices, que están dentro del concepto de Integración Continua.

Una de las grandes ventajas de la Integración Continua está en el hecho de probar nuestro código “en tiempo real”. Esto está dentro del concepto Kaizen o mejora continua, cuyas ventajas se reducen en gran parte a la reducción de tiempo de integración con una fiabilidad enorme.

Los aspectos a tener en cuenta en la Integración Continua pueden resumirse a:

  • Mantener un repositorio de código
  • Automatizar la compilación e integración
  • Hacer tus propios tests
  • Commits diarios
  • Cada commit debe compilar
  • Compilar rápida y ágilmente
  • Testar en clon de producción
  • Hacerlo fácil
  • Resultados accesibles por parte de todos
  • Automatizar despliegue

Basándonos entonces en estos aspectos es importante poder realizar las tareas necesarias para disponer siempre de una última versión de nuestro código que esté testada y probada. Para ello existen herramientas software que nos proporcionarán un Servidor de Integración Continua que nos facilite la realización de esas tareas basadas en los aspectos anteriormente comentados.

Por ello, es esencial la elección de la herramienta que utilicemos para desarrollar en un entorno de Integración Continua. Esta elección vendrá determinada por ciertos criterios de selección que marcarán nuestras necesidades de desarrollo y el entorno. Estos criterios tratarán de ser lo más objetivo posibles.

Nuestros criterios a la hora de la elección estarán basados en:

  1. Características de la herramienta software, como
    • Integración de sistema de control de versiones
    • Capacidad de manejo e integración de plataformas de construcción y despliegue (Maven, Ant)
    • Metodología de feedback e informes
    • Etiquetado
    • Si soporta dependencia de otros proyectos o no
    • Facilidad de extender
  2. Fiabilidad y rendimiento. Productos opensource nos permitirán hacer pruebas de rendimiento fiables.
  3. “Longevidad” del software. Sin perder la funcionalidad y robustez de una herramienta consolidada y establecida, hay que tener una visión de futuro y pensar a largo plazo (posibilidad de extender nuestro producto o modularlo).
  4. Entorno objetivo. Hay que tener también una visión más allá de la calidad del código y no perder de vista el entorno de producción, trabajo y ejecución. Tendremos que tener en cuenta entonces los sistemas operativos soportados por los servidores, los requerimientos del sistema, el versionado y el soporte de versionado.
  5. Facilidad de uso. Aunque a veces este criterio puede ser subjetivo, el uso de consolas web, configuración a través de edición de archivos, utilización de asistentes o paneles de control vendrán determinados por los usuarios de la herramienta-servidor que va a ser utilizada y administrada.

Estos criterios de selección no deben ser rígidos y buscamos un entorno lo más flexible posible. Pero el exceso de flexibilidad puede llegar a hacer nuestro sistema improductivo y algo caótico, provocando el efecto contrario al deseado y por tanto, algo de rigidez del sistema nos puede ayudar a establecer las líneas adecuadas de actuación.

Por estas razones y según los criterios que hemos expresado para la elección de nuestras herramientas en un entorno de Integración Continua, una buena elección será el uso de Hudson como “CI Tool” (herramienta de Integración Continua) y Maven como “Lifecycle Build Tool” (herramienta de construcción del ciclo de vida).

De forma resumida exponemos las ventajas y características de estas dos herramientas para la gestión de nuestro proyecto de desarrollo de software.

Maven

De forma más detallada a nuestra introducción anterior, Maven es una herramienta de gestión y comprensión de proyectos de desarrollo de software, normalmente en Java, que nos permite compilar, testar integridad y compilación, desplegar, documentar y gestionar las dependencias de código de forma sencilla y extendible.

Maven es una herramienta abierta y libre (pertenece al Proyecto Apache) claramente orientada al trabajo en equipo, siendo esta es una de las principales razones por las que la elegimos como herramienta ideal para metodologías agiles de programación y posterior Integración Continua con otras herramientas software.

La herramienta es compleja pero fácil de usar y muy rápida a la hora de compilar y desplegar proyectos. Entre las ventajas de usar Maven como herramienta de desarrollo en el trabajo en equipo, podemos destacar:

La dependencia entre proyectos no es problema
Un mismo proyecto se puede ejecutar en distintos entornos. Sólo hay que cambiar un archivo de configuración
La integración del trabajo de desarrolladores es transparente
Hay una maximización de la cohesión del código y una minimización del acoplamiento
Fácil reutilización del código

Para los desarrolladores familiarizados con herramientas similares, como Apache Ant, Maven ofrece las mismas funcionalidades, con la diferencia de gestionar las dependencias de proyectos de una forma mucho más sencilla y comprensible, optimizando notablemente el tiempo de desarrollo en trabajos multiproyecto.

El funcionamiento de Maven viene expresado según el siguiente diagrama:

Los cuadros grises son dados por el desarrollador, los rojos por la herramienta, y el marrón es la salida y resultado final (lo que en Maven se denominan Artefactos). Es decir, podemos comprobar que Maven es muy flexible a la hora de poder personalizar plugins para nuestro proyecto y también para gestionar las dependencias y configuraciones con un simple archivo POM (Project Object Model). Pero tampoco podemos olvidar que nos proporciona la rigidez suficiente con su arquitectura y metodología para no perder el foco y que los trabajos multiproyectos no se conviertan en los temidos “dinosaurios” difíciles de gestionar.

En definitiva y en nuestro caso, Maven nos proporciona una solución modular orientada al trabajo en equipo que elimina problemas de herramientas anteriores, como es la compleja resolución de dependencias, a la vez que nos permite integrar el trabajo con otras herramientas de Integración Continua. Es importante destacar para nuestro caso que se dispone de un plugin para proyectos JRuby.

Hudson

Esta herramienta de Integración Continua nos lleva un paso más allá de los resultados de nuestra solución de Ciclo de Vida, que es Maven. Es decir, ya no sólo se trata de paquetizar e integrar las distintas áreas de desarrollo de nuestro producto resolviendo las dependencias de código de los paquetes subdivididos, sino de que la integración sea efectiva, cumpla nuestros criterios de calidad y el tiempo empleado en la detección de errores y su resolución sea el menor posible. Hudson nos proporciona una solución sencilla para llevarlo a cabo.

Hudson es una herramienta libre y abierta relativamente nueva de Integración Continua muy utilizada y de gran éxito en el entorno de desarrollo del software. Su arquitectura basada en plugins y su fácil instalación la hacen una herramienta potente y fácil de usar. El desarrollo de plugins es una característica importante al destacar su flexibilidad.

Podemos comprobar las diferencias con otras herramientas CI (Integración Continua) en este link, comprobando que además de ser una de las más completas, su extensibilidad viene proporcionada por plugins, lo que la hace bastante modular y ligera si no se necesita de amplia funcionalidad.

Podemos comparar a Hudson con una de las herramientas CI más consolidadas actualmente, que es CruiseControl, comprobando que, además de ofrecer mayor amplitud de funcionalidad, sus características vienen determinadas por la instalación sencilla de plugins.

Resumiendo, parte de las ventajas de Hudson vienen determinadas por:

  • Fácil instalación y uso (un fichero WAR es toda la herramienta de instalación)
  • Plugins fácilmente extensibles
  • Soporte completo de Maven, lo que nos facilita enormemente la integración
  • Soporte para entornos “colaborativos” (múltiples equipos y grupos de proyectos)
  • Software Libre 100%
  • Sistema de alertas intuitivo para los desarrolladores
  • Muy pocos problemas “reportados” de esta herramienta

En definitiva, Hudson es una herramienta sencilla, de alta funcionalidad, abierta, bien documentada y con un futuro muy prometedor como CI Tool consolidada, y además, se integra muy bien con Maven. En nuestro caso cubre las necesidades, además de proporcionar un entorno “user-friendly”.

by David on March 4, 2009

Mucha gente que me ve con mi MaBook Pro siempre me terminan preguntando lo mismo: “¿Pero Mac OS X es mejor? ¿Y funcionan todos los programas?”… Lo curioso es que no hay una respuesta estándar. Quiero decir, cada usuario tendrá unas necesidades del sistema operativo según su uso diario y funcionalidad deseada, y también el hardware que maneje.

En mi caso he llegado a conocer bastante bien el uso de Windows, Mac OS X y Linux, encontrándome con distintas ventajas e inconvenientes en cada caso. Por eso, siempre digo que hay un sistema operativo para cada ocasión. Nuestras necesidades determinarán cuál o cuáles usar, y normalmente llegaremos a usar más de uno a la vez, ya sea de forma nativa o virtualizada (cualquier software de virtualización es una buena solución).

Me gusta sacar las cosas buenas de cada sistema y por eso resumo de una forma muy breve mis impresiones de uso a cada uno de estos tres: Windows, Linux y Mac OS X.

  • Windows

    Lo que le define: El sistema operativo de Microsoft es el más extendido y utilizado en el mundo, y por tanto para el que se encuentran mayor variedad de software de terceros y drivers. Sus agujeros de seguridad suelen ser bastante conocidos y al ser tan utilizado es el que mayor cantidad de virus y ataques recibe. Windows Vista no ha sido el éxito que se esperaba por parte de Microsoft y a veces puede ser hasta recomendable hacer un downgrade a XP.

    Perfil más indicado: Trabajador corporativo o usuario Enterprise que necesite de buenas herramientas ofimáticas, de email y organizativas en grandes organizaciones o corporaciones. Sobre todo si el trabajo requiere contínuamente editar hojas Excel repletas de macros generadas con Office de Windows, bastante habitual en el mundo de las grandes corporaciones. Otro de los perfiles más indicados es el de los gamers o jugadores avanzados, ya que la mayoría de juegos están optimizados para “correr” de forma nativa en Windows.

    Perfil menos indicado: Si lo único que te preocupa es la seguridad y no paras de ver pr0n no uses Windows habitualmente. Tampoco es muy aconsejable para montar servidores caseros, debido a los problemas de seguridad o la imposibilidad de actualizar a tiempo los parches de seguridad.

  • Linux

    Lo que le define: Evidentemente, su primera característica es el precio, es decir, es gratis. Siempre se está actualizando y la comunidad open source es muy amplia, y siempre encontraremos a alguien en internet que nos solucione nuestro problema. Para sacar verdadero rendimiento a Linux es necesario tener unos conocimientos básicos y ser muy paciente a la hora de configurarlo.

    Perfil más indicado: Usuarios inquietos, con ganas de aprender en el mundo de la administración de sistemas y que estén dispuestos a comerse la cabeza para estar optimizando continuamente su sistema operativo. La seguridad es una de las grandes ventajas al usar Linux, pero siempre y cuando se sepa lo que se está haciendo. El uso de Linux es muy aconsejable para aquellos usuarios que quieran montarse algún servidor en casa o en su pequeña empresa. También es ideal para los amantes del open source que desarrollen software o trabajen con tecnologías de la información.

    Perfil menos indicado: Si no quieres complicaciones, eres poco inquieto, no tienes idea de lo que haces cuando tocas un archivo de configuración y no quieres tirar líneas de comando, olvídate de usar cualquier Linux.

  • Mac OS X

    Lo que le define: Sencillez de manejo, apariencia agradable y multitud de herramientas para el usuario, además de su robustez y seguridad fiable. Podría ser el punto óptimo entre seguridad y manejabilidad. No es un sistema Enterprise y podemos encontrarnos con software no disponible para él.

    Perfil más indicado: Usuarios que no quieren complicarse la vida a la vez que se quieren despreocupar de virus y reinstalaciones. Es muy habitual entre profesionales del diseño y la edición/creación de música. También es muy indicado para aquellos usuarios Linux que estamos hartos de tener que recurrir siempre a la línea de comandos pero que no queremos perderla. Es ideal, por norma general, para los usuarios con altos conocimientos de informática que no quieren complicarse la vida.

    Perfil menos indicado: Los usuarios Enterprise que exijan complejas herramientas empresariales no van a encontrar en Mac OS X a su mejor aliado. Tampoco aquellos que necesiten de Internet Explorer para navegar por determinadas páginas web.

Más o menos creo que estas indicaciones pueden ayudar a quien esté indeciso a la hora de instalar su sistema operativo. Lo más recomendable para los que buscamos siempre la optimización es el uso del que más se adapte a la mayoría de nuestras necesidades y la virtualización de alguno de los otros para ocasiones que se nos presenten.

En mi caso Mac OS X es el que más me satisface, pero es cierto que siempre llevo mis imágenes VMWare preparadas para arrancar Ubuntu y Windows Vista. También tengo instalado Ubuntu Linux en mi Acer Aspire One para “sacarle fuego”. E que no uso actualmente es Windows, pero hace unos meses, cuando trabajaba para una corporación, me era imprescindible para ciertas tareas.

En definitiva, cada sistema operativo tiene su aquel, y siempre que estemos buscando “el mejor” no olvidemos que vendrá definido según nuestro uso y perfil.

by David on September 2, 2008

Llevo unos días que estoy empezando a cansarme un poco de iTunes. Siempre me gustó por su facilidad de manejo, su apariencia y usabilidad, la forma de organizar, visualizar y escuchar música… Siempre he definido a iTunes como uno de los mejores gestores y reproductores de música del mercado.

Pero desde que están utilizando iTunes como centro de sincronización de todos los dispositivos Apple con capacidad de reproducir música y vídeo, me está empezando a disgustar algunas de sus características y sus cuelgues repentinos. O más bien la filosofía de Apple respecto a iTunes. Y si además tenemos en cuenta lo difícil que es tener sincronizadas las bibliotecas de música en varios ordenadores con iTunes no quiero ni pensarlo.

Hablando con Javi (Venera7), me di cuenta de la razón que tiene al decir que iTunes se está convirtiendo en el próximo Internet Explorer de la música. Es decir, me da la sensación de que Apple obliga implícitamente a que organices tu música y vídeos de la única forma que ellos ven correcta y que sólo lo sincronices con los dispositivos que creen necesario. Pero aún así no deja de ser un gran reproductor/gestor.

Pensando en ello me acordé de, por mi parte abandonado, Songbird, un reproductor de música al más puro estilo iTunes desarrollado por la gente de Mozilla y la comunidad Open Source. La verdad es que la última versión que me instalé hace tiempo, la 0.4, siempre me pareció una buena alternativa a iTunes, sobre todo para aquellos que usábamos Linux y echábamos de menos una buena herramienta de música para nuestro iPod (sin desmerecer a Amarok, gran gestor de música para los linuxeros).

Pues la versión más actual de Songbird, 0.7Beta, ha cambiado por completo, con un nuevo Look&Feel y mejoradas y nuevas características. La verdad es que el nuevo Songbird me ha sorprendido satisfactoriamente y estoy empezando a plantearme el sustituir iTunes para reproducir música… será que echo de menos la militancia a la comunidad libre.

Songbird te importa automáticamente la Biblioteca de iTunes y te la mantiene actualizada si se lo indicas. Tiene cantidad de funcionalidades enfocadas a la navegación intrínseca en el propio reproductor y se integra con el navegador de una manera increíble. Está todo bien pensado. Radio por internet incorporada, selección de canciones y temas por internet, posibilidad de comprar música por internet con varios proveedores, multitud de plug-ins para mejorar las búsquedas y añadir características, etc, etc… además de la capacidad de personalización del programa.

En definitiva, es un buen sustituto open source, aunque para poder prescindir al 100% de iTunes aún le echo en falta algunas cosas, como por ejemplo, poder hacer streaming con el Airport Express o poder visualizar todas las carátulas añadidas con iTunes (no todas se visualizan correctamente en mi caso). Son detalles que aportan valor al software y que le convertirían en una seria competencia al producto de Apple.

Desde Venera7 os animo a que probéis este magnífico programa que, aunque aún está en Beta, es una buena alternativa para los amantes de la música.

by David on August 18, 2008

He tenido dos días el Mac Mini trabajando al 100% de CPU y a 80°C, todo por culpa de dos procesos de Mac OS X: ATSServer y mdworker. El primero es el Apple Type Solution Server, encargado de proveer las fuentes del sistema a aplicaciones y de gestionarlas; y el segundo, mdworker, está relacionado con Spotlight y la indexación que realiza. Siempre nos hemos preguntado qué hacen los procesos que tengo funcionando en mi Mac.

Acostumbrado a mi ultra-silencioso Mac Mini no podía permitir que el ventilador estuviese haciendo ruido de esa manera (la verdad es que suena incluso menos que el ventilador de mi MacBook Pro cuando está a tope), ni tampoco que el sistema me fuese tan lento por culpa de dos procesos que ni siquiera sabía porqué estaban tan “ocupados”. La solución, como siempre, la encontré gracias a Google.

Por lo visto estos procesos molestan a más de uno y cada uno ha tenido su historia con ellos, pero cuando los dos están tan activos y tan coordinados, el problema es el mismo: Spotlight. Mi problema apareció cuando empecé a descargar unos documentos en formato PDF y de texto de gran tamaño.

Lo que estaba pasando es que mientras se estaba descargando, Spotlight indexaba los documentos, y al ser documentos bastante extensos y también accediendo a su interior para las búsquedas dentro del documento, pues necesitaba del proceso que trata a las fuentes para ello. Es decir, en el momento que Spotlight se encontró con tal cantidad de documentos de texto, tanto ATSServer como mdworker se pusieron a trabajar a tope.

Mi solución, tras saber de qué iba el tema, fue tan sencilla como tunear mi Spotlight. Lo único que tuve que hacer en mi caso es quitar de la indexación la carpeta de descargas (lo hacemos en Preferencias del Sistema), donde se estaban almacenando los documentos. Para mi es lógico, ya que en la carpeta de descargas no voy a hacer normalmente búsqueda con Spotlight, al ser una carpeta “temporal”.

Por supuesto, esto estuvo precedido por un mantenimiento de mi sistema con OnyX, reparando permisos y limpiando archivos de logs y cachés, debido a que el proceso ATSServer también da problemas cuando los archivos de cachés de fuentes son muy grandes.

En definitiva, cuando tenemos nuestro Mac OS X cargado es siempre muy importante hacer un mantenimiento adecuado y “tunear” de forma adecuada las herramientas que siempre están activas. Si no lo hacemos el rendimiento de nuestra máquina siempre será inferior a lo esperado.

by David on February 8, 2008

Estamos en febrero, una de esas épocas en las que los estudiantes universitarios pasamos largas noches estudiando, saturamos nuestro organismo de cafeína, buscamos bibliotecas confortables para estudiar, aplazamos nuestras salidas nocturnas del fin de semana para fin de exámenes, gastamos medio sueldo en kilos de fotocopias que luego ni miraremos, etc… Todo un sinfín de sucesos asociados a nuestras temidas épocas de exámenes. Y todo ello para llegar a ese deseado 5.0 que muchas veces es casi más satisfactorio que un mismísimo Notable o Sobresaliente.

En estas fechas de exámenes, ya sea ahora en febrero, en junio o en septiembre, sacar tiempo para estudiar y aprovechar las horas de estudio es esencial. Por eso cualquier distracción que tengamos en nuestra mesa de estudio nos puede ser fatal cuando vamos bastante ajustados de tiempo para nuestro siguiente examen (suele ser mi caso). El ordenador es una de esas distracciones que puede ser fatal. ¿Debemos dejar el ordenador lo más alejado posible entonces? Pues es una de las soluciones extremistas, pero hay otras que creo que a la larga pueden ser más útiles.

Esta foto de mi escritorio lo deja claro. Yo he terminado por adoptar una solución más alineada con mi pasión por la tecnología, y es la de usar el ordenador como una herramienta más del estudio. Reconozco que aún no he conseguido aprovecharlo ni al 50%, pero ya empiezo a acostumbrarme a poder tener mi portátil como uno más en mis épocas de exámenes. La utilidad que me proporciona a la hora de estudiar y concentrarme es múltiple: me sirve como lectura de apuntes, conversor de unidades, calculadora, cronómetro de tiempo de estudio, fuente de comunicación de dudas (navegador, mail o mensajería instantánea), etc…

Lo difícil es poder dejar las aplicaciones de ocio aparte mientras estudiamos, y para ello necesitamos un poco de disciplina. De hecho, en este caso el hábito sí hace al monje y cuanto más usemos el ordenador como herramienta de estudio y nos acostumbremos, menos lo asociaremos al ocio y menos nos distraeremos con él en las horas de estudio. En mi caso no me quedó más remedio: si no puedes con el enemigo, únete a él.

Además, no olvidemos que, en el caso de poder tener nuestros apuntes o transparencias en formato electrónico, ahorramos una enorme cantidad de papel y contribuiremos con nuestro pequeño granito de arena a la conservación del Medio Ambiente. Así que no me cansaré de decirlo: si no es necesario imprimir los apuntes no lo hagáis.

by Javier on January 28, 2008

This is the great irony of multitasking—that its overall goal, getting more done in less time, turns out to be chimerical. In reality, multitasking slows our thinking. It forces us to chop competing tasks into pieces, set them in different piles, then hunt for the pile we’re interested in, pick up its pieces, review the rules for putting the pieces back together, and then attempt to do so, often quite awkwardly.

¿Cuándo fue la última vez que tuvísteis un buen rato para simplemente pensar? Creo que el artículo The Autumn of multitaskers tiene muchas de las claves.

by Javier on November 25, 2007

Uno de los principios básicos de Getting Things Done (GTD1) es seguir el sistema en algo que siempre llevemos con nosotros2 y con el que nos sintamos confortables. Tal y como David Allen dice en su famoso libro homónimo, este algo puede ser una agenda, una PDA, un cuaderno, un taco de fichas de cartulina, etc. El caso es que sea algo que nos guste lo suficiente como para no olvidarse de la revisión que deberíamos hacer periódicamente de nuestros Actions y nuestros Proyectos.

Hasta hace poco, además de para escribir notas, ideas y otras cosas, he estado utilizando para mi GTD una Moleskine de bolsillo3. Pero desde que compré el iPhone, he consolidado PDA, iPod y teléfono en un sólo dispositivo, así que he empezado a usarlo como mi nuevo sistema GTD4. La razón es sencilla: el teléfono lo llevo a todas partes. Sin embargo mi Moleskine, aunque pequeña, a veces era un engorro de llevar, todavía más considerando que también me era necesario llevar un bolígrafo que tenía tendencia a perder.

A continuacion os cuento la manera en que lo estoy implementando, siguiendo dos principios basicos que garantizan la vida de la solucion y que sea realmente usable:

Mantenlo estandar
Hay varias aplicaciones que podria haber usado para ajustar GTD al iPhone, como MobileToDo, pero no son estandar. Lo que quiero decir con esto es que en la situacion actual, en la que el desarrollo de aplicaciones para el iPhone depende un puñado de bravos hackers que sin ningun soporte por parte de Apple, no se puede saber como va a acabar una aplicacion cuando el esperado Software Development Kit de Apple llegue a principios del año que viene.

Teniendo esto en cuenta, la unica opcion que encuentro factible es utilizar la aplicación Notes que ya viene con el iPhone.

Notes permite crear diferentes notas que, debidamente nombradas, pueden servir para imitar categorías. Así pues, la convención de nombres de cada nota y cómo están organizadas será muy importante. Además, dichas notas pueden enviarse por correo, lo que permite que si en un futuro aparece alguna aplicación oficialmente soportada para GTD, la migración de la información de las notas sea relativamente fácil.

Mantenlo sencillo

Un principio que bien podría servir para cualquier cosa, porque creo que es la clave misma de la usabilidad. El número y formato de las notas viene condicionado por las diferentes categorías que dentro de GTD estoy considerando, y por el contexto.

Las categorías son elementos en sí de Getting Things Done y los contextos son, eso, contextos en los que las acciones tienen relevancia para mí. Así pues, las notas siguen este esquema:

  • ACTION: items accionables físicamente.
    • Home
    • Office
    • Connected
    • Computer
    • Phone
  • PROJECTS: items no accionables físicamente. O sea, tareas que se componen de varias acciones.
    • Personal
    • Work
  • SOMEDAY/MAYBE: aquí van cosas como lo que quiero comprar algún día o proyectos de futuro que no voy a abordar a corto o medio plazo.
  • INBOX: Cosas que por prisa no he podido clasificar pasándolas por el flujo GTD.
  • ARTICLES AND POSTS: evidente, ¿no?

Para poder implantar esta jerarquía en Notes, que es plano jerárquicamente hablando, utilizo la siguiente convención de nombrado: mis notas se llaman CATEGORÍA – Contexto, seguido por una linea en blanco. El resultado es que las notas se pueden ver así:

Dentro de cada nota, los items (acciones, proyectos, accionables) son lineas básicas de texto separadas por un retorno de carro y marcadas en su inicio por un círculo negro o un guión. Cuando la tarea o el proyecto está hecho, no hay más que borrarlas. Por ejemplo, la lista de acciones en el contexto “Connected” tiene esta pinta:

Es importante que después del título de la nota haya una linea en blanco separando el título de los items. Si no se deja, el título de la nota no aparece limpio en la lista y afea el aspecto en categorías que estaba persiguiendo.

Para el futuro
Para el futuro, o sea, cuando el maldito y esperado SDK del iPhone haga su aparición, espero contar con una aplicación como Omnifocus para el iPhone, que me permita además establecer enlaces con el procesamiento del correo. Porque, por cierto, el correo también entra dentro de todo esto, ¿verdad?

Cierto, pero cómo aplicar Getting Things Done en el correo (y por extensión, en el correo del iPhone)lo dejaré para otro artículo.

Notas
  1. Getting Things Done se está convirtiendo en una especie de filosofía de la productividad. Aparte de la lectura del libro de David Allen, recomiendo una visita a 43Folders, blog dedicado a la productividad y en particular a GTD y todo el universo que le rodea. []
  2. esta es una de las razones por la que creo que aplicaciones como iGTD o Omnifocus no son suficientemente buenas para implementar GTD. Al ser programas que están instalados en un ordenador, es algo que no se lleva siempre encima, incluso si es un portátil, y eso invalida completamente la inmediatez del flujo de clasificación de GTD. []
  3. Básicamente siguiendo los consejos de organización que aparecen en el blog de Jerry Brito. []
  4. Ni que decir tiene que las ideas, notas, y diagramas siguen yendo a parar a mi Moleskine; nada mejor que el papel para capturar pensamientos incompletos, o para que el simple hecho de materializar una idea escribiendo te ayude a enfocarla. []
by David on November 9, 2007

Hace muy poco he actualizado mi Mac a la última versión de Mac OS X, es decir, Leopard, y estoy bastante contento con las nuevas características y apariencia de esta nueva versión 10.5. Tal vez Spaces sea una de las que me haya sorprendido más en el sentido de usarla más de lo esperado, pero no voy a hacer una review de Mac OS X Leopard en este post.

Lo que yo me planteo después de última actualización es: ¿Qué es lo que le pido yo a mi sistema operativo? ¿Por qué Mac OS X y no Ubuntu, o Windows? Pues para mí la respuesta no es tan sencilla como en principio podría suponer. Creo que todos coincidimos en desear que nuestro sistema sea seguro, robusto, sencillo, compatible con software y drivers y agradable de manejar. Pero esto es algo que en cierta medida nos pueden proporcionar la mayoría, unos más que otros.

Muchas veces hay que plantearse cuál es nuestro perfil de uso del ordenador que vamos a estar manejando. ¿Somos un usuario avanzado, medio, programador? ¿Tal vez sólo quiero navegar por internet y ver fotos? ¿Voy a trabajar con herramientas avanzadas o exclusivas? ¿Quiero olvidarme de quebraderos de cabeza con instalaciones?… o muchas más preguntas que podemos hacernos para el uso de nuestro software.

Mi caso es sencillo. Yo sólo quiero tener un poco de todo, versatilidad a la vez que seguridad y robustez, uso sencillo a la vez que avanzado, ver películas a la vez que compilar código, potencia y rapidez a la vez que simplicidad, etc. En definitiva, abarcar gran amplitud de necesidades. Y creo que Mac OS X es el que mejor mezcla estas características con una apariencia y sencillez de manejo que pocos sistemas operativos te ofrecen.

Por eso cuando me preguntan qué sistema operativo debería instalarse un usuario, siempre respondo con una pregunta: ¿qué le vas a pedir a tu sistema operativo?