4 de julio de 2011

OS X 10.7

Hace ya unas semanas que Apple dio rienda suelta al bombo y platillo sobre OS X 10.7, y hay un par de cosas interesantes que merece la pena comentar.

La primera de ellas, el Autosave, autoguardar. La idea en si -guardar automáticamente los cambios de los documentos mientras se editan- no es novedosa. Se ha importado de iOS, pero en el escritorio tampoco lo es: Office tiene autoguardar, vim hace mmap() de un archivo temporal cuando edita algo, lo cual garantiza que se sincroniza al disco periódicamente, Firefox guarda el contenido de los formularios a medio escribir, hay muchos juegos que también lo usan, el propio editor web de Blogger lo usa...no, no es una una idea que no conozcamos. Los más críticos de Apple señalarán que esto es puro marketing, venta de humo.

Esta manera de ver las cosas desdeña, sin embargo, el punto de vista del "framework". Como tantas cosas en Apple, la novedad no está en lo que hace, sino en cómo lo hace. Puede que la idea no sea nueva, pero sí lo es proporcionar en el SO APIs de primer nivel que permitan a los programadores añadir autoguardar con facilidad sin tener que reimplementarlo en cada aplicación, también lo es el hecho de ir guardando varias versiones antiguas del documento y tener una interfaz de usuario unificada para ver los cambios entre ellas o para "bloquear" futuras ediciones a un documento. Y el tan criticado marketing, combinado con el hecho de que las aplicaciones de Apple son las primeras en utilizar (y de ese modo publicitar) las nuevas APIs, hace que quienes programan para Mac se interesen por incorporar estas cosas a sus programas, con el resultado final de que el usuario se encuentra con una nueva característica muy bien integrada en todos los rincones del SO.

Otro tanto se puede decir  de "Resume", que consiste en restaurar el estado del escritorio tras un reinicio tal como estaba antes de producirse. Creo recordar que Windows 9x hacía algo de esto, y como usuario de KDE puedo certificar que tengo la sesión por defecto pre-configurada para que, en cada inicio de sesión, me restaure en su escritorio virtual correspondiente, el conjunto de aplicaciones básico que suelo utilizar. Y en Fedora al menos, la configuración por defecto es que en cada inicio de sesión se restaure la anterior. Sin embargo, individualmente cada aplicación no restaura su estado: kmail no abre la carpeta en la que estaba, kaffeine no recuerda el vídeo que estaba viendo, akregator no recuerda la fuente que estaba leyendo...no deja de ser una restauración imperfecta.

En OS X 10.7, se ha refinado este aspecto hasta el punto de que se ha eliminado, al igual que en iOS, la barrera entre aplicación cerrada y aplicación minimizada - de hecho, el Dock ya no indicará (por defecto) si una aplicación está minimizada. Cuando la aplicación es capaz de guardar en todo momento su estado (incluso la posición del cursor y el texto seleccionado), es posible que al minimizar un editor de texto, el SO en realidad le cierre. Si el usuario intenta "desminimizar" el editor, basta con iniciarlo de cero y cargar al estado anterior (tener APIs que ayuden facilita mucho la adopción de estas cosas), y no hace falta mencionar que es posible reiniciar el equipo y recuperarlo tal como se había dejado hasta el último detalle.

Quien sabe, en un futuro podrían arriesgarse a ser más extremos y cerrar incluso aplicaciones abiertas que estén visibles, que no hayan sido utilizadas en un buen rato y no estén haciendo nada por si mismas: se podría mantener una copia de la imagen de la ventana, cerrar el programa, y si el usuario la vuelve a tocar reiniciar la aplicación...esta manera de gestionar las aplicaciones abiertas puede ser confusa al principio, pero es bastante más natural que tener que acordarte de guardar un determinado documento antes de apagar el ordenador. Y cerrar los programas que no se usan para liberar RAM para los que si se usan es una buena idea.

No hay muchas más cosas interesantes en esta versión, con la excepción de que esta versión se distribuirá online, a través de la App Store, y de los snapshots locales (apostaría a que no tienen nada que ver con ZFS ni con snapshots de volúmenes tradicionales, y que algo deben tener que ver con el mismo mecanismo que las versiones de Autosave - pero este post ya es demasiado largo)

6 comentarios:

  1. En las actividades del plasma de KDE, se puede guardar el estado actual de las aplicaciones, suspender la actividad y luego restaurarlas...

    ResponderEliminar
  2. Anónimo10:37 p. m.

    @juanman: pero el plasma lo hace de manera imperfecta. Lion por la documentación que me consultado lo hace, pero perfecto.

    ResponderEliminar
  3. Creo recordar que OS/2 Warp se vendía con una función parecida. Podías configurar carpetas como áreas de trabajo y al abrirlas te devolvía todo lo que tenías abierto en el mismo estado en el que estuviera. Claro que OS/2 fue un sistema que tuvo muchas cosas cosas chulas que nunca llegaron a funcionar tal y como IBM decía que deberían haberlo hecho.

    ResponderEliminar
  4. Me refería a esto:
    http://www.felgall.com/os2dsk11.htm

    ResponderEliminar
  5. Anónimo12:46 a. m.

    A nosotros siempre nos quedará esto
    http://doc.trolltech.com/4.7/qsessionmanager.html

    ResponderEliminar
  6. Anónimo1:42 p. m.

    VMS en los VAX/Digital http://en.wikipedia.org/wiki/OpenVMS tenía versiones en los ficheros: editabas f.txt;3 y al guardar te lo nombraba f.txt;4
    Si usabas sin nombre te cogía la versión última, de mayor número, y si no, podías especificar versión. Yo limpiaba el sistema dejando las tres últimas versiones de los ficheros, y creo que las renumeraba. ¡Qué tiempos...!

    ResponderEliminar