back to xharbour

En un comentario al post anterior, Carles pregunta por mi ida y vuelta a xHarbour. Cuando comenté que iba a tomar el camino de C3 hubo quien dijo ‘volverás‘ y eso es lo que ha pasado. Lo que pasa es que el tema es bastante complejo de explicar y ante todo no quisiera que nadie se molestara con esto. El motivo no es ninguna deficiencia de C3 ni nada por el estilo, sino basicamente causada por dos motivos:

  1. El paso a C3 fue para usar toda una jerarquía de clases de mantenimientos montada sobre TDBF. El resultado fue que avancé muy rápido en el desarrollo hasta que tuve un problema serio que no supe solucionar y que no sabía donde estaba, si en la jerarquia de clases, en TDBF o en C3. Digamos que el Puchero se convirtió en una aplicación montada casi completamente sobre librerias de terceros que no yo no llegaba a controlar bien. Era pilotar algo que no sabes a donde te lleva, asi que decidí dar marcha atrás. No aprendo de mis propios post. El problema es que me perdí en código que no era mio, supongo que porque soy bastante torpe programando.
  2. La chistera de Antonio Linares. Lo ha vuelto a hacer. Creo que FiveLinux es la mejor noticia aparecida en el mundillo xBase en los últimos meses. Sinceramente pienso que el avance del software libre va a ser imparable en el terreno educativo en los proximos meses. Extremadura con Linex, Andalucia con Guadalinux, Valencia con Lliurex… y unas declaraciones de ZP la semana detrás de las elecciones que decían algo así como que se debe avanzar en el camino abierto por Extremadura y Andalucia. Si Linux se impone en la educación tiene medio pie dentro de los hogares. Y Antonio ha vuelto a dar el golpe con FiveLinux. Ya tengo bajado Fedora y quiero comenzar a trastear y en cuanto lo controle un poco compraré FiveLinux y a ver que sale de ahí.

Igual estoy equivocado y dentro de dos meses estoy de vuelta a C3, pero lo veo dificil. La pregunta es: ¿ que estoy dispuesto a aprender por las noches en casa ? La respuesta: Linux, Glade, Gtk y FiveLinux.

Por cierto, acabo de desvelar el significado de alanit.

Full Single Document Interface

Desde mi punto de vista el interfaz de múltiples documentos o MDI no es adecuado para todos los tipos de aplicaciones. Creo que únicamente tiene sentido aplicarlo cuando todos los documentos van a ser objetos o entidades del mismo tipo, como en un procesador de texto o en una hoja de cálculo. En estos casos puede ser interesante tener abiertos al mismo tiempo multiples documentos para copiar – pegar entre ellos o simplemente para compararlos.

Un aspecto fundamental de los entornos MDI es que todos los objetos responden a las mismas acciones. Si nos fijamos en un procesador de textos, hay una sóla barra de botones y todos los documentos que estamos editando se pueden manejar con las mismas acciones.

el problema

En el software de gestión o doméstico hay que llevar mucho cuidado con la implementación de interfaces MDI. Para entendernos: un albarán no tiene nada que ver con una factura, no son objetos del mismo tipo. Muchos programas de gestión implementan interfaz MDI de manera erronea, añadiendo una barra de botones con acciones propias para cada tipo de documento, con lo que estamos desvituando el modelo MDI. Las propias guias de diseño de aplicaciones Windows de Microsoft dicen que se debe evitar el uso de barras de botones en ventanas secundarias. Desde mi punto de vista, este tipo de software debería implementar MDI únicamente si permiese mostrar unicamente una ventana de documento al mismo tiempo.

mi propuesta de solución

Mi idea de interfaz, el modelo que estoy buscando, consiste en una ventana o dialogo ocupando la zona de cliente de la ventana principal de la aplicación. Partiendo de estos principios he creado en Fivewin un modelo de interfaz a medio camino entre MDI y SDI que he llamado FSDI – full single document interface – y que presenta el siguiente aspecto:

FSDI está basado en un dialogo que ocupa toda la parte cliente de la ventana principal. Las ventajas que presenta este modelo son las sigueintes:

  • Interfaz de ventana completa.
  • Tratamiento de ficheros como en dialogos.
  • Interfaz completo con barra de botones lateral, título de la ventana, rejilla de datos, tabs para cambiar de índices e indicación de los registros de la rejilla de datos.

pero también tiene problemas:

  • Al tratarse de un dialogo, la ventana principal queda deshabilitada hasta cerrar el dialogo.
  • No presenta botón de menú de control en la ventana secundaria.
  • Al llamar a otro dialogo crea una nueva tarea en la barra de tareas.

código fuente de FSDI

Puedes descargar el código fuente de la clase FSDI, que incluye un ejemplo de uso. Este fichero también incluye las modificaciones de la barra de botones y tabs que uso en mis programas.

Me gustaría recibir feedback sobre este modelo de interfaz que propongo y me comprometo a publicar las propuestas que reciba.

el Puchero 4.0

Estoy modificando el Puchero, mi programa de gestión de recetas de cocina. Está quedando bastante bien.

He vuelto a usar xHarbour. En las últimas semanas han quedado resueltos muchos de los problemas que aparecian al usar índices CDX y en los foros se habla de que es inminente el lanzamiento de la primera beta de la versión 1.0 del compilador.

Además uso lo siguiente:

Tengo casi terminada una versión equivalente a la 3.6 pero a 32 bits. A partir de ahora queda añadir las mejoras de esta versión. He tenido que cambiar 2 veces de compilador: de xHarbour a C3 y vuelta a xHarbour y esto me ha retrasado bastante la estimación del proyecto. Ahora he conseguido tener controlado y estabilizado el entorno de desarrollo y espero avanzar más rápido.

plantillas en thunderbird

Una de las cosas que no acabo de entender de Mozilla Thunderbird es el uso de las plantillas. El programa te deja crear plantillas, que luego permite enviar correos en base a ellas, pero se queda cojo. Lo ideal sería poder responder a los mensajes usando esas plantillas que te has creado, pero no encuentro la manera de hacer eso de ninguna manera.

En OE esto se puede hacer definiendo distintas firmas que puedes seleccionar para incluir en el mensaje, de modo que haces una respuesta con un click. Sin embargo el Thunderbird hay que copiar la plant¡lla y pegarla en la respuesta, o crear un nuevo mensaje con la plantilla y pegarle la dirección de respuesta. Vamos, que no te salvas de un copiar y pegar, y es una lata.

¿ O si se puede responder mensajes con las plantillas ?

de jardinería y barandillas

Interesante el cruce de post entre Torek y Juan Navarro comparando el desarrollo de software con la jardinería. La verdad es que había oido muchas comparaciones, algunas de ellas tremendas, pero esto es nuevo … y acertado. Yo realmente no concibo el desarrollo de software como lo hacen las metodologías tradicionales, sino mucho más de acuerdo a las metodologías ágiles, como la Programación Extrema.

Sin embargo hay una frase de uno de los post de Hector – asi lo llamaba en mi clase 🙂 – que me ha llamado la atención:

El problema es que los informáticos no tenemos métodos para saber si un usuario se va a caer por un balcón de antemano. Tenemos que observar al usuario como se cae por el balcón para luego cambiar la altura de la barandilla.

Pues claro que los tenemos. Si dejas abierto un agujero en tu programa sin barandilla el primer usuario se asoma, el segundo pone el pie en el borde y el tercero se cae. Fijo. Y si la pones alta pero dejas un agujero alguien intentará pasar el cuerpo por ahí.

En la útima versión de Cuaderno de Bitácora, el programa permite que en algunos listados determinados campos se impriman en varias lineas. Para ello busca blancos para cortar el campo por palabras, para no hacerlo a cuchillo. Pues a un señor le cascaba cuando imprimia su listado de libros. ¿? Miré el código y todo bien. Pero el señor decia que le explotaba aquello. Al final le dije que me enviara su fichero de libros. Habia metido noseque libro que tenía un título más largo que un dia sin pan todo seguido, al estilo de:

ElQuijote:vidaymil.deling.hid….

cortaba las palabras con . pero no dejaba ni un blanco de separación. Lo último que podía pensar era que alguien llenaría todo el campo sin un solo blanco de separación.

¿ Barandillas ? ¡ Rejas tendríamos que poner ! 😉

help & manual 2.7

En la revista de febrero de PcPlus viene completa la versión 2.7 de Help&Manual, un conocido software de creación de ayudas. La versión actual de H&M es la 3.4, y vale 299$ así que creo que con la 2.7 me voy a apañar una temporada.

La incognita que me planteo es … ¿ que tipo de licencia tiene un software que acompaña a una revista ? Me respondo yo mismo: ninguna. Y, si alguien que no compró la revista me lo pide ¿ se lo puedo dar tranquilamente ?

mozilla thunderbird

En mi búsqueda por software libre que reemplace programas propietarios, esta semana he reemplazado Outlook Express por Mozilla Thunderbird. He podido incorporar a Thinderbird todo el correo que tenía almacenado en OE sin apenas problemas y enseguida he comenzado a usarlo. Thunderbird ya es mi gestor de correo predeterminado.

Asi las cosas, creo que del software que uso habitualmente sólo el Sistema Operativo es propietario. Tengo 2 licencias de XP que uso en mis 2 ordenadores, pero el resto de software de uso habitual es libre o shareware. Todavía uso algún programa propietario ocasionalmente, pero creo que a medio plazo el software de pago va a ir cada vez más en retroceso. Los programas que uso habitualmente son

  • Navegador: Mozilla Firebird/Firefox – libre
  • Correo: Mozilla Thunderbird – libre
  • Paquete ofimático: OpenOffice – libre
  • Editor: MED – shareware 30€
  • Desarrollo: xHarbour, PellesC, FivewinHarbour – libre, gratuito, 310€

y poco más.

Ah! Me olvidaba: también uso Messenger.

buscando un bugtracker

Estoy buscando información sobre software de gestión de bugs o bug tracker. Estuve mirando BugZilla, pero no me convenció. Necesito algo más sencillo de gestionar y utilizar. Mirando en Sourceforge he conocido Mantis, que parece tener buena pinta y estar cerca de lo que quiero. Voy a instalarlo en mi servidor web, pero me gustaría saber si algún lector de avemundi lo ha probado y que tal ha sido el resultado.