7 de agosto de 2007

Oportunidades de desarrollo a partir del Manifiesto para mejorar sitios .gob

A finales del mes de julio, representantes de 22 gobiernos estatales (entre ellos Puebla), del Distrito Federal y de tres presidencias municipales asumieron el compromiso de crear y mantener sitios web gubernamentales que sean útiles y fáciles de usar para el público más amplio, en el marco del Seminario Internacional de Usabilidad y Accesibilidad para la Web (UAWEB) celebrado en la ciudad de Monterrey.

Los 10 compromisos son:

  1. Asegurar el acceso democrático, inclusive a personas con discapacidad, a los portales gubernamentales cumpliendo con los estándares del W3C
  2. Facilitar la creación, el archivo y la administración del contenido utilizando sistemas accesibles
  3. Asegurar que el contenido y los servicios sean fáciles de encontrar, descubrir y usar según las mejores prácticas de diseño y desarrollo web
  4. Garantizar la transparencia de la información, específicamente en el uso de recursos públicos
  5. Facilitar y promover la participación ciudadana en los temas gubernamentales, así como la colaboración entre gobiernos
  6. Promover la convergencia de sistemas gubernamentales en los niveles federal, estatal y municipal para una interacción sin barreras
  7. Aprovechar el potencial de las tecnologías de información para mejorar la atención a los ciudadanos
  8. Asegurar que el contenido sea entendido fácilmente por todas las personas siguiendo las recomendaciones de Lenguaje Ciudadano
  9. Promover los ideales y los conceptos expresados en este manifiesto
  10. Mejorar constantemente las metodologías referidas en este documento

Lo anterior nos deja ver que al menos en el plano de las intenciones, existiría un compromiso para consolidar y unificar la gran variedad de servicios de información existentes en los varios niveles de gobierno a fin de brindar al ciudadano medios de acceso a servicios e información, de rápido y fácil acceso.

Ahora, un enfoque interesante desde el punto de vista funcional sería la creación puntos de acceso a los servicios, en un esquema basado en capas. ¿Cómo es esto?

De entrada se retomaría el esquema de aplicaciones de tres capas y se llevaría algunos pasos más allá introduciendo capas dentro de las tres principales. Las tres capas tradicionales en el desarrollo de sistemas en web son: presentación, reglas del negocio y acceso a los datos.

Para atacar los puntos uno y cinco, se podría inclusive pensar en que la aplicación no solamente maneje interfaces en web, si no también aplicaciones ligeras (agnósticas especto al sistema operativo), para instalarse directamente en las computadoras de escritorio. Obviamente se requerirá de expertos en funciones de usabilidad de las interfaces de usuario, tanto en formato web como de escritorio. Del mismo modo será necesario contar con datos de contacto de los ciudadanos a fin de hacerles llegar información de interés sobre temas de la comunidad, el estado o incluso el país.

Respecto al punto número dos, es necesario contar con alguna herramienta de administración de contenidos que proporcione flexibilidad y capacidades a los autores de contenido para modificar y personalizar la información desplegada de acuerdo a los perfiles de usuarios. Así mismo será necesario que se identifique la información más importante para el usuario a fin de ponerla más al alcance de éste, garantizando también el punto número tres.

Para el punto número seis será necesario crear conectores hacia cada una de las fuentes de información y sistemas de cada una de las entidades participantes. Un conector de cada lado y un traductor para que haga las veces de punte entre estos y que as su ves medie la autenticación y la seguridad de las transacciones.

Como se ve, esta tarea es ardua y complicada, pero a su ves, esto abre una oportunidad de negocio para las empresas regionales dedicadas al desarrollo de software, tanto para web, como de escritorio, middleware; así como para aquellas dedicadas a la consultoría en seguridad informática y varios otros rubros. Inclusive hasta sería una buena oportunidad para las universidades.

Ojalá que el gobierno del estado tome en cuenta todos los factores que involucran el desarrollo de sistemas como los que se proponen según el manifiesto, así mismo, que se de cuenta de todo el potencial que existe en las empresas de desarrollo de la región y apueste por manufactura local a fin de crear un mercado interno de producción de software.

(Más información en: http://www.uaweb.org.mx/content/view/61/79/lang,es/).

Sistemas pequeños y modulares en la economía regional del software.

Hace algunos años ya estuve muy involucrado en el desarrollo de sistemas de administración escolar para universidades y por experiencia propia pudo decirles que es un proceso complicado el adaptar uno de estos sistemas a la medida de cualquier cliente. ¿La razón? Pues que algunos usan sistemas de créditos y otros no, pero incluso algunos más usan híbridos de los anteriores. Por otro lado, cada quién maneja sus procesos de control escolar de maneras tan diversas, cada quién tiene requisitos diferentes y procesos que no se semejan en mucho a los del resto de las instituciones. Incluso en algunas de estas universidades las materias pueden tener varios nombres (¡Haga usted el favor!).

Ahora imagínense la tarea que representa implantar un sistema genérico bajo estas condiciones. Es una ardua tarea a todas luces.

Esto es sólo un ejemplo de lo que puede representar la adopción de un sistema genérico de grandes proporciones en cualquier empresa (o institución académica, en el ejemplo).

Pero qué sucedería si en lugar de instalar una aplicación que haga de todo un poco, adoptamos una solución mucho más reducida pero que cumpla una función en específico.

Supongamos que solamente necesitamos aplicaciones muy específicas como por ejemplo llevar una lista de los alumnos, los profesores, las materias que se imparten en un semestre determinado y en base a ello generar re portes de horas por profesor, listas de asistencia, horarios de alumnos y grupos, entre otros.

Ahora, digamos que mi escuela ahora quiere llevar los contenidos de sus cursos a la web en un formato en el que el estudiante pueda descargar información, presentar exámenes, subir tareas, etc. Después podemos agregar un bloque para que los profesores guarden las calificaciones de lo alumnos. De aquí obtendremos también historias académicas de los alumnos y tendremos también las bases para la creación de un módulo para que los alumnos se puedan inscribir por Internet.

¿Y cómo lo armamos?

Simple, si se quiere diseñar una aplicación casera basta con instalar un servidor con un sistema operativo adecuado (Linux por ejemplo), un servidor de web robusto (Apache), una base de datos potente (PostgreSQL) y lo más importante, hacer todo esto con un lenguaje de programación que sea simple pero poderoso como PHP. El costo básicamente se reduce al aprendizaje. Ahora, si lo que queremos es que alguien más lo haga la historia quizás sea diferente.

¿Qué tal comenzar poco a poco con sistemas pequeños, a la medida y no muy caros, hechos en casa o por alguna empresa de la región, con software abierto y flexible? ¿Esto no nos ayudaría a darle un empujoncito al mercado del software en Puebla?

En general, este tipo de recetas se puede aplicar no sólo a las universidades, si no a muchas más áreas tanto productivas como académicas. Inclusive sería interesante encargar desarrollo de software a las universidades o bien, a algunas empresas que empleen de manera parcial y a manera de tercerizados a algunos estudiantes.

Que quede claro que no estoy en contra de las soluciones grandes, finalmente también han invertido dinero en el mejoramiento de sus productos, pero ¿para qué comprar un cañón para matar moscas?