Archivo de Noviembre 2006
Screenshots: El prototipo II
Noviembre 27, 2006¡Ya está el prototipo en la forja!
Noviembre 26, 2006Ya está el prototipo colgado en la forja. Espero que los que estéis interesados me enviéis vuestros comentarios y/o sugerencias.
La forja la podeis encontrar en:
https://forja.rediris.es/projects/csl-qtoctave/
Es un prototipo, lo cual indica que no está acabado. Aún así, ya se puede usar la ayuda, y están activos algunos menús, que pueden ser prácticos.
Necesitará mucho tiempo todavía para cumplir con todos sus requisitos.
Documento de especificación de requisitos.
Noviembre 15, 2006Vamos a hacer las cosas bien. Por razones de tiempo no puedo alargar el análisis. Como lo que estoy haciendo es un desarrollo en cascada, significa que en cualquier momento puedo volver atrás y ampliar/cambiar el análisis.
Después de un análisis se debe realizar el documento de especificación de requisitos (sdr). En él se plasman los resultados del análisis a modo de contrato, con una serie de requisitos que deberá cumplir la aplicación.
El documento de especificación de requisitos (sdr) lo podéis encontrar en:
https://forja.rediris.es/docman/?group_id=60
Ahora comienza la fase de diseño. Pero, como prometí antes voy a colgar el prototipo que he estado usando para realizar el análisis. Esto lo haré en un par de semanas.
Os mantendré informados.
Laboratorio de ideas: Ayuda dinámica.
Noviembre 15, 2006A la hora de escribir el documento de especificación de requisitos, se me ha ocurrido la siguiente idea:
En el terminal en el que se escriben los comandos podría haber una ventana emergente o un área de texto en la que:
* Aparecieran los comandos similares al texto que se esté tecleando en la línea de comandos. Una lista de sugerencias.
* Cuando haya un sólo comando que coincida con el introducido o ya se le estén introduciendo los parámetros, que aparezca la ayuda de dicho comando.
Esto se podría conseguir usando otra sesión de Octave a la que se le pasarán los textos a completar y los comandos solicitando la ayuda. Evidentemente debe existir una opción que permita desactivarlo, pues consumirá muchos recursos y puede ser molesto para los usuarios avanzados.
¿Qué os parece?
Proyectos similares a QtOctave.
Noviembre 13, 2006En la red hay numerosos proyectos con proposito idéntico a QtOctave. La mayoría de los que se han encontrado tienen características muy parecidas. Por ahora, la única novedad que aporta QtOctave es la gestión de la ayuda, los menús de los comandos y la posibilidad de ver las matrices como en hojas de cálculo. ¡Qué difícil es ser original!
Algunos de ellos tienen pinta de estar abandonados o no se han actualizado en mucho tiempo.
Los proyectos que se han encontrado son:
* Koctave: http://athlone.ath.cx/~matti/kde/koctave/
Muy similar a QtOctave, posee un terminal en el que escribir los comandos y un árbol del que coger los comandos y los ficheros. Posee también un editor de texto.
* YAOG: http://yaog.sourceforge.net/
* Octivate: http://octivate.sourceforge.net/
Escrito en C#. Con características muy similares a QtOctave.
* Goctave: http://www.hut.fi/u/kraiskil/goctave-0.40.4.tar.bz2
Para Gnome.
* Emacs:
http://www.chemie.fu-berlin.de/chemnet/use/info/octave/octave_31.html
La página del proyecto.
Noviembre 10, 2006Puesto que tengo problemas con el ssh de la forja y no me deja colgar la página web del proyecto, he decidido usar la siguiente página como página del proyecto:
http://qtoctave.wordpress.com/about/
Un saludo.
La planificación.
Noviembre 9, 2006Ya estamos en noviembre y es mejor realizar una planificación del trabajo, para que no me pille el toro.
Por ello he decidido:
* Concluir el análisis en un par de semanas.
* Liberar una versión del prototipo para finales de noviembre. Esto me dará una comunidad de usuarios.
* Comenzar el diseño en diciembre. Hay un puente bien hermoso que podría ayudarme.
* A finales de diciembre comenzar la codificación y a ser posible terminarla.
* Parón de enero y febrero por los exámenes.
* En marzo terminar la codificación y liberar la aplicación.
* Usar el mes de marzo para el mantenimiento de la aplicación y completar la documentación.
Por qué esta planificación:
Todo proyecto tiene las fases de análisis, diseño, codificación y explotación/mantenimiento. El concurso acaba a principios de abril y hay que tener en cuenta que en enero y febrero están los exámenes y no voy a estar para nadie. Por lo que sólo tendré noviembre, diciembre y marzo para dedicarme al proyecto (durante fines de semana y ratos libres).
Por ahora estoy realizando el análisis usando un prototipo y con vistas a que el prototipo se pueda reutilizar para realizar la codificación. Me sería interesante tener una comunidad de usuarios lo antes posible, pero no me conviene realizar una versión de QtOctave cada 2 días pues saturaría a los usuarios.
El análisis ya está casi concluido, más bien lo debo concluir por razones de tiempo, pero siempre se puede volver atrás e incluir alguna nueva idea.
Laboratorio de ideas: Hoja de cálculo y entorno de trabajo MDI o ventanas
Noviembre 6, 2006Por ahora estoy elaborando un prototipo para ver las posibilidades de QtOctave. Estudiando las capacidades técnicas del prototipo, he encontrado que se le pueden añadir muchas capacidades de las hojas de cálculo comerciales. Ya he encontrado la forma en que QtOctave puede mostrar las matrices en forma de tablas de datos editables. Sólo habría que añadir los menús adecuados para que se comportase como una hoja de cálculo, haciendo Octave todo el trabajo de cálculo.
Otra cuestión es la que atañe a la forma en que se muestran las ventanas de la aplicación. Por un lado he comenzado mostrando todas las ventanas de la aplicación dentro de la ventana de principal, como se puede ver en la captura de pantalla que mostré sobre el prototipo en una entrada anterior del blog. Pero no sería muy complicado hacer un botón que alternase entre mostrar todas las ventanas dentro de la principal, MDI, o que se mostrasen las ventanas unas independientes de otras, al estilo del Gimp. Me he dado cuenta, al manejar el prototipo, que ciertos usuarios podrían echar de menos usar las combinaciones de teclas del entorno de ventanas para moverse entre ventanas y esta opción les podría facilitar el uso de la aplicación.
¿Qué os parecen ambas ideas?
Laboratorio de ideas: Primera recopilación
Noviembre 2, 2006Ante todo, gracias a lical por sus comentarios. Por ahora las ideas que hay para implementar en QtOctave son:
* Un sistema de ayuda con un sistema de búsqueda. Esto es lo típico para cuando deseas hacer algo pero no sabes cómo.
* Una consola en la que se ejecute Octave y se puedan distinguir los errores en un color diferente.
* Una “hoja de cálculo” donde poder editar las matrices y cambiarles las dimensiones. Octave trabaja con matrices y sería útil poder verlas correctamente para manipularlas.
* Un menú con las operaciones más comunes separadas por categorías. Por ejemplo, un menú dibujar con los diversos tipos de gráfico y pequeños asistentes para realizar dichas operaciones.
* Un “servidor de widgets” para que los usuarios puedan crear sus propias ventanas de forma sencilla.
* Tal vez, un editor para programar en octave. Aunque editores como Emacs y Kate cumplen muy bien su papel.
* Un botón en el que los usuarios pueden configurar su editor favorito.
* Un editor del path.
* Para los gráficos un minitutorial con ejemplos de los gráficos que generan.
* Una ventana/asistente para hacer gráficos.
* Un asistente/menú para controlar el formato de salida. Al estilo de la orden format de Octave.
* Opción a guardar y recuperar el estado de Octave.
* A ser posible, buscar una forma de representar las gráficas, dentro de la aplicación y no a través de gnuplot, para poder, después manipularlas mediante menús.
* Menús para cambiar la configuración y la apariencia de QtOctave.
* Pestañas/listado de las ventanas/objetos abiertos por QtOctave.
* Puesto que este programa al final lo usarán ingenieros y científicos, debería buscar algunas utilidades que les fuesen útiles y que estén relacionadas con Octave. No sé, podría ser una salida de los cálculos en LATEX, o un pequeño gestor de proyectos,…
