KDE 4 trajo unas cuantas novedades, algunas de las cuales se ha hablado poco. No es de extrañar puesto que no están del todo completas o integradas. Me refiero a Nepomuk y Akonadi. El sábado ya hablaba Picajoso algo sobre ello en su post sobre Mandriva del sábado.
No es fácil ver o entender estas tecnologías a la primera así que habrá que introducir un poco el tema con lo que son los escritorios semánticos. Los escritorios semánticos se basan en la idea de poder albergar datos sobre los datos (también conocidos como metadatos). Es decir, poder sacar la información importante de un fichero y almacenarla en algún sitio de forma que cuando busques algo en tu equipo, se usen dichos metadatos. Por ejemplo, si tenemos una imagen llamada foto1.jpg en nuestro equipo, difícilmente la vamos a encontrar. Sin embargo, si esa foto la guardamos con metadatos asociados, por ejemplo: la cámara de la que la descargamos, un breve resumen, … Será más fácil encontrarla luego.
El escritorio semántico se basa en la posibilidad de asociar metadatos a los ficheros. Podréis ver que algunas personas hablan de «tagging» de ficheros o poner etiquetas. Imaginaos que recibís un PDF por correo electrónico y lo guardáis, como ocurre siempre, ni el nombre del fichero es útil ni nos acordamos de dónde guardamos el fichero. Si pudiéramos buscar por la persona que nos lo ha enviado … se nos habría facilitado la tarea de búsqueda muchísimo. Ese podría ser otro «tag» de un fichero.
Obviamente, no es tan sencillo como lo pinto, pero la idea es esa y espero que se haya entendido.
Ahora vamos con otra idea o término que son las «ontologías». Vamos con un ejemplo. Supongamos unos documentos en los que tenemos listados o textos sobre personas que residen en Noruega y personas que viven en Noruega. Podríamos tener «tags» del tipo:
- Personas que viven en Noruega
- Personas que residen en Noruega
En ambos casos la gente vive en Noruega, pero si buscamos por uno de los dos verbos, no aparecerá el otro. Debido a eso, tenemos que crear un «diccionario» o vocabulario que nos permita hacer búsquedas.
Ahora que ya sabemos algo, pasemos a Nepomuk. Nepomuk no es más que la librería en KDE que nos permite trabajar en un escritorio semántico. Además de eso, ofrece una serie de ontologías para poder realizar búsquedas «inteligentes«. Eso es Nepomuk, ¿a que es sencillo?
Bien, ahora lo complicamos. ¿Cómo «metemos» datos en Nepomuk? Hay dos formas muy sencillas:
- «amanuense», es decir, lo tecleamos. Esto puede ser bastante tedioso, pero hay veces que es la única manera, por ejemplo, con fotos ya que los metadatos que contienen son muy limitados (fecha de foto, cámara con la que se ha hecho, …)
- automá[t|g]icamente: es decir, mediante un demonio o proceso que se encargue de recorrer nuestro disco entero buscando ficheros e información útil de dichos ficheros.
La primera opción es bastante pesada y la segunda puede añadir mucha carga a nuestro equipo. Como todo en esta vida, hay soluciones: puedes dejar que el demonio recorra tu disco cuando no lo estés usando, bajar las prioridades, … Y lo de rellenar los tags a mano … pues es cuestión de paciencia ;)
¿Y quién es el guapo que recorre mi disco duro mientras duermo? Ese es strigi. Lo que hace es buscar ficheros en tu disco duro, sacar metadatos (datos semánticos) de ellos y pasárselos a Nepomuk.
Ya por último nos queda Akonadi. Podemos pensar en Akonadi como si fuera una caché de datos de nuestras aplicaciones como correo, agenda y direcciones. Fiajaos que he dicho que es como una caché. Esto lo que significa es que hace de interfaz entre los datos reales (tus correos) y la aplicación de correos. ¿Para qué demonios voy a querer eso? Para eso accedo directamente desde mi aplicación de correo. Si esto fuera una presentación comercial, el presentador habría respondido: «¡Qué pregunta más interesante! Me alegro que haga esa pregunta» Y habría pasado a otro tema. Pero como no lo es, tendré que contestar ;)
Las ventajas de tener Akonadi son varias, vamos a ver algunos ejemplos:
- imagínate que estás usando el cliente de correo A y decides pasar al B, pero el formato en el que guarda los correos es diferente o bien que usas IMAP y quieres una caché local. Para eso sirve Akonadi. Ya pero mi cliente de correo es capaz de importar/exportar y de trabajar con IMAP desconectado. Además, ¿por qué iba yo a cambiar d ecliente de correo si soy muy feliz con él? Bien pues vamos con otro ejemplo … El código de Akonadi para IMAP es más rápido que el de KMail, ea, ya está ;)
- agendas de direcciones … Hay gente que tiene una agenda en su KDE (kaddressbook), un LDAP corporativo y otra en GMail, pues con Akonadi puedes integrar todo en una única aplicación y de forma uniforme.
¿A santo de qué viene esto de Akonadi cuando estabas hablando de Nepomuk y escritorio semántico? Bien, me alegro que me hagas esa … quiero decir: tranquilo, ahora iba a eso. Akonadi guarda información en una base de datos (por ahora es sólo MySQL, pero en un futuro se espera poder soportar PostgreSQL y SQLite). Si los programadores tuvieran que programar las búsquedas en Akonadi … estarían repitiendo código y cosas, así que han usado al duo Nepomuk/strigi para hacer las búsquedas e integrar las aplicaciones PIM (agendas, correo, …) en el escritorio semántico.
¿A que no era tan difícil? Ahora vienen las preguntas con truco: ¿cómo se usa? ¿Dónde pincho? Bueno, no tan deprisa. Hasta ahora (y como he dicho al principio) hay cosas en KDE 4 que no están del todo integradas o finalizadas. Entre ellas nos encontramos con Akonadi y Nepomuk debido a su complejidad. Las buenas noticias son que strigi se puede usar (junto con Nepomuk) por ejemplo al usar Dolphin. Podemos editar los metadatos de los ficheros que vemos listados con Dolphin. Os dejo un par de imágenes donde se pueden ver los metadatos y Dolphin:
Otra buena noticia es que para KDE 4.4 KAddressbook va a hacer uso de Akonadi. Va a ser la primera aplicación que lo haga y KOrganizer y KMail le seguirán en KDE 4.5. Para los que tengan curiosidad, KAddressbook en KDE 4.4 ha sido reescrito y se ha eliminado muuuuucho código innecesario y se ha limpiado y se ha dejado muy sencillo de usar. Má so menos se espera tener KDE 4.4 para principios de febrero de 2010 y KDE 4.5 pues 6 meses más tarde.
Por cierto, si alguien se queja de que Nepomuk/Strigi es lento, que ehce un vistazo a este post.