12.07.2007
¿Qué es Eye OS?, desde mi punto de vista es algo que bien utilizado podría ser el marco para la creación de un nuevo tipo de aplicaciones para web, en esencia es un programa que implementa la lógica de desarrollo de sistemas operativos sobre php, al hacerlo de esta manera consigue crear un entorno de desarrollo basado en widgets (aplicaciones que se apoyan en las utilidades que ofrece el entorno para crear aplicaciones funcionales) que puede utilizarse para crear aplicaciones de cualquier tipo, es como si tuviéramos nuestro sistema operativo trasladado a un entorno web.
Obviamente tiene muchísimas limitaciones comparado con un sistema operativo "real", primero que nada no se ejecuta sobre una arquitectura determinada por lo que no tiene control sobre ningún aspecto que usualmente es competencia de un sistema operativo, sin embargo la perspectiva que han utilizado en su desarrollo aplicando algoritmos de desarrollo de sistemas operativos a una aplicación php ejecutándose en un servidor apache abre toda una nueva manera de desarrollo. Hasta hoy hemos utilizado cuando mucho frameworks de desarrollo para crear aplicaciones web, pero al disponer de una arquitectura como esta con capacidad para permitirnos desarrollar aplicaciones ajax en un entorno controlado y con acceso a un buen conjunto de utilidades base, se me ocurre que será más fácil crear aplicaciones para usuarios finales.
Al principio este ambiente puede ser un poco confuso, pero a los pocos segundos uno se acostumbra y se asimila la interfaz por su parecido con el ambiente de ventanas de los sistemas operativos con lo que trabajamos habitualmente.
Todo el S.O es solo de un poco más de 5 Mb, una vez desplegado. Requiere de apache para funcionar y de algún que otro ajuste a php.ini si se quiere sacar más partido a algunas de sus características.
En la instalación llama la atención el que no requiera ningún sistema de base de datos para funcionar, una vez que los instalas y examinas el código te das cuenta de que no usa bases de datos por que todo lo que almacena los hace en formato xml, lo que facilita su proceso de instalación, sin embargo, se me ocurre que al crecer el número de datos en una aplicación este tipo de solución podría acarrear cierta penalización en la velocidad de respuesta. Entiendo que para todo lo que es el almacenamiento de contraseñas y datos simples como los de la agenda, bastará con archivos xml, pero habrá que pensar en dar soporte a bases de datos si lo que queremos es ofrecer servicios de gestión de información, esto último sin embargo es responsabilidad de la aplicación que se desarrollo y no del sistema operativo, por lo que no hay nada que objetar al respecto
Entorno Eyes-OS Version 1.0 instalado sobre EasyPHP en un entrono Windows
En modo localhost la velocidad de respuesta es la esperada (muy rápida). Por otro lado en el entorno demo del S.O. la velocidad de respuesta es francamente buena, al principio hay cierto retardo (por la carga del cache de imagenes) pero luego va practicamente como en modo local.
Entiendo que este primer vistazo es solo eso un primera impresión y que necesitaré más tiempo para estudiar su código y crear aplicaciones funcionales en este entorno.
La barra de aplicaciones abiertas en la parte inferior está mimetizada con el resto del desktop y solo aparece el reloj en la parte inferior derecha cuando no hay aplicaciones ejecutandose.
He notado también que no se pueden cambiar ni la hora ni la fecha la hacer clic en el reloj, aunque si se despliega un calendario.
Se nota un gran trabajo en ajax y javascript para dar soporte a todo el código php y es esta, desde mi punto de vista una de las característcas más importantes de eyeOS.
Como motor de su editor de documentos utiliza un sobconjunto de TinyMCE un editor javascript por demás probado y muy útil como aqui se demuestra.
Al ser un Sistema operativo o más bien una aplicación que emula uno dentro de un entrono de browser dispone hasta de un visor de tareas activas y la potestad de eliminar procesos en ejecución.
El análisis de su código fuente nos muestra código limpio y muy bien escrito, me parece que con solo leer el código del kernel y de las librerías de apoyo pordria bastar para empezar a crear aplicaciones para este entorno.
Una de las aplicaciones que tiene es eye-Calendar, un ejemplo de una agenda que puede usarse para ver como deberíamos desarrollar una aplicacióne en eyeOS, aunque no es una aplicación real (le falta muchisimo para ser realmente utilizable) es una buena base sobre la que se puede aprender a explotar este entorno.
Otro buen ejemplo de aplicación ajax es el ajedrez que viene con el sistema. El resto son una calculadora una pizarra, una aplicacion al estilo wordpad y algunas otras más.
Si algo tiene que creo que se puede mejorar aunque estimo que no es trivial es que las ventanas no se pueden redimensionar de forma dinámica, eso si se pueden máximizar y minimizar con lo que el redimensionamiento queda más o menos apañado.
Al estilo de windows podemos observar el sistema de archivos desde una ventada de desktop. En realidad usa (como era de esperar) el sistema de archivos del sistema operativo host para recrear la estructura de archivos de cada uno de los perfiles de usuario
Entorno desktop de eyes-OS
Se pueden subir y bajar archivos, lo que ya abre al menos desde mi punto de vista una buena cantidad de aplicaciones comerciales, tambien es posible realizar ciertas tareas con los archivos como copiarlos y pegarlos de un sitio a otro, estas funciones no funcionan exactamente igual a como lo hacen en un entorno como windows pero aun así son bastante intuitivas y realmente fáciles de usar una vez que te acostumbras. La verdad es que al parecerse a un entorno de ventanas como Windows a veces el usuario puede echar en falta cosas que da por sentadas y de vez en cuando es será bueno recordar que es una aplicación web y no un sistema operativo tan extenso como windows o linux.
K.A.G.S. julio-2007