miércoles, febrero 14, 2007

Cual es el secreto de Mac OS X?


Mucha gente a veces me pregunta por que me gusta tanto Mac OS X. ¿Que es lo que lo hace tan especial? ¿Que es lo que hace a Mac OS X un sistema operativo tan distinto de todos los demas UNIX? Bueno... hay varias cosas además de la interfaz y la simplicidad; pero una es un factor clave: el "hilo común" que une a todas las aplicaciones del sistema. ¿Que quiero decir con esto? Que practicamente todas las aplicaciones de Mac OS X (Cocoa) pueden comunicarse no solo con el sistema operativo, sino que pueden trabajar en conjunto. Eso solo puede hacerse si existe un "hilo de comunicación común" entre todas ellas (y si los programadores de aplicaciones respetan las reglas, claro). Los programadores de Mac OS X se encargaron de crear una gran infraestructura para que los programadores de aplicaciones puedan hacer aplicaciones rápidamente y "sumamente sociales" con otras aplicaciones.

Si no queda claro, les voy a dar un ejemplo que seguramente les será muy descriptivo. Si yo selecciono una porción de texto en cualquier aplicación de Mac OS X (en el navegador Safari, en el editor de textos, en Word, etc.), voy al menu "Servicios" (que se encuentra disponible en todas las aplicaciones Cocoa del sistema) y me encuentro con el siguiente mundo de posibilidades:

* Si el texto es una URL, abrirlo.
* Buscar ese texto en Google.
* Convertir el texto a Chino tradicional
* Convertir el texto a Chino simplificado
* Crear una "sticky note" que se pegue en mi escritorio, con ese texto.
* Enviar ese texto seleccionado como un archivo a un dispositivo Bluetooth.
* Si lo seleccionado es una imagen, importarla.
* Capturar la seleccion como una screenshot.
* Enviar el texto como mensaje de un mail
* Buscar palabras en el diccionario
* Resumir texto (¡si funciona!)
* Enviar texto como mensaje por Skype
* Si el texto es un contacto de Skype, agregarlo a Skype
* "Hablar" el texto seleccionado
* Usar el texto como una búsqueda de Spotlight (el sistema de búsqueda de información de Mac OS X)
* Agregar todo el texto a un archivo nuevo de TextEdit (el editor de textos)

Y la lista sigue y sigue, y crece a medida que instalo nuevas aplicaciones. ¿Se dan cuenta del potencial de esto? Y la cosa no termina aqui. Por ejemplo, por medio de Automator puedo programar un script "de manera visual" (arrastrando componentes de aqui para alla) que utilice las funcionalidades de las diferentes aplicaciones para lograr un objetivo final. Por ejemplo: Descargar imagen del navegador -> Importarla en iPhoto -> Generar Sitio Web con instantaneas -> Abrir cliente de FTP -> Subir el sitio Web a mi espacio FTP".

Eso es lo que caracteriza a Mac OS X. Es un UNIX "simple" (desde el punto de vista operativo) pero al mismo tiempo sumamente funcional y efectivo. Sinceramente no veo estas características tan bien aplicadas en ningun otro sistema operativo, y ese creo que es el éxito de Mac OS X: haber logrado implementar una estructura solida y efectiva para que los programadores puedan desarrollar mejores aplicaciones. Delicious Library es un ejemplo de que cuando los programadores tienen buenas herramientas de desarrollo, pueden lograr cosas sorprendentes.

Como nota final, les cuento que por ejemplo en Firefox (que no es una aplicacion OS X "nativa") no funciona el menu "Servicios", por lo cual Firefox es una especie de "aplicación aislada" en mi Mac OS X.