Corrientes, jueves 28 de marzo de 2024

Especiales

Simae: el software que ayuda a no videntes a programar

14-09-2022
COMPARTIR     
Investigadores de la UTN Santa Fe desarrollaron un sistema que asiste a personas ciegas y con discapacidad visual para que puedan programar. La herramienta, que es de código abierto y acceso libre, ya tiene una versión disponible para quienes quieran probarla.

Las personas ciegas y con discapacidad visual que quieren acceder al mundo de la programación se topan, como en muchos otros ámbitos, con una barrera de accesibilidad. Para programar, usan el mismo software que las personas que ven y obtienen asistencia de un programa lector de pantalla, que les va “leyendo” lo que aparece allí. El problema es que los lenguajes de programación contienen varios niveles de estructuras, una dentro de otra, que cumplen diversas funciones.

Esto hace que a las personas con dificultad visual, que no tienen una percepción global de los códigos que aparecen en la pantalla, les cueste más ubicarse dentro del programa y entender con facilidad dónde se encuentra cada estructura a trabajar. Para tener una idea gráfica: es como si quisiéramos editar un texto con los ojos cerrados. ¿Cómo saber de forma sencilla dónde empieza y termina una oración, un párrafo o un capítulo? ¿Cómo darle instrucciones a una computadora si no se encuentra el lugar preciso en el que hay que escribirla?

Partiendo de este problema, investigadores de la Universidad Tecnológica Nacional (UTN) Facultad Regional Santa Fe desarrollaron un sistema que asiste a quienes enfrentan estas dificultades a la hora de programar. “Lo que hace la herramienta es agregar información de contexto en el código, de manera que el lector de pantalla también la lea y permita así que la persona pueda ubicarse mejor dentro del programa”, le dijo a TSS Pablo Marchetti, investigador de la UTN Santa Fe y director del proyecto.

La iniciativa comenzó a gestarse en el año 2016, cuando en la carrera de Ingeniería en Sistemas de Información comenzó a cursar un alumno ciego. “Esto generó una movida desde el área de accesibilidad de la facultad y desde las distintas cátedras, para ir adaptando el material. En el área de programación, una de las propuestas fue desarrollar una herramienta para ayudar a programar”, cuenta Marchetti. Esa fue la semilla que años después los motivó a encarar el desarrollo de SIMAE, por “Sistema de Marcado Estructural de Código Fuente para Programadores con Discapacidad Visual”.

Los lectores de pantalla son programas que se ejecutan por encima de un sistema operativo y leen el contenido activo de la pantalla a través de un sintetizador de voz. Ese contenido puede ser el nombre de una ventana, un cuadro de diálogo, un documento, el contenido de una página web, por ejemplo.

Para programar, se utiliza lo que se conoce como Entornos Integrados de Desarrollo (IDE), que permiten escribir un código, ejecutarlo y hacer diversas pruebas. Al igual que cualquier idioma, los lenguajes de programación tienen una estructura que suele contener varias estructuras anidadas (una dentro de otra) que indican diversos comandos. Por ejemplo, una función, un procedimiento o una interacción.

Para ayudar a que las personas con discapacidad visual puedan ubicarse fácilmente dentro de la estructura que necesiten, lo que hace el SIMAE es agregar marcas en forma de comentarios, que indican dónde empiezan y terminan las estructuras de un código (ver imagen abajo). De esta manera, el lector de pantalla no solo traduce el código en cuestión, sino que también lee esos comentarios de contexto para que la persona pueda ubicarse mejor

Este sistema se encuadra dentro de lo que se conoce como tiflotecnologías, que consiste en un conjunto de técnicas y recursos que permiten a personas ciegas o con baja visión utilizar correctamente la tecnología, favoreciendo su autonomía personal y su integración social, laboral y educativa. “Hoy, las personas ciegas cuentan con numerosos recursos para usar la tecnología y este proyecto aporta una herramienta más. Por eso, los alentamos a que se animen a acercarse a la programación, que es un mundo fascinante”, dice Marchetti.

El primer prototipo fue el que se hizo para asistir al alumno de la UTN y tenía algunas limitaciones técnicas, que fueron mejoradas en versiones siguientes. “Existen algunos trabajos similares, pero, en general, se limitan a un solo entorno de desarrollo o a un solo lenguaje. Nuestro sistema soporta tres lenguajes de programación ampliamente usados: Java, Python y C++, y queremos ir incorporando otros más”, indica el investigador.

Si bien la herramienta continúa en desarrollo, ya hay una versión disponible online para quienes la quieran descargar y probar. El programa es de acceso libre y código abierto, y está disponible para usar en español e inglés. En la página también hay un formulario de contacto para que las y los usuarios puedan hacer consultas y dar su devolución a los investigadores, de manera que el prototipo se siga mejorando.

“La idea es que sea una herramienta de la comunidad. Hasta ahora, lo han probado cuatro personas ciegas y nos han dado una devolución muy positiva, les resulta de mucha utilidad. Además, si hay desarrolladores que quieran aportar alguna colaboración para agregar funcionalidades a la herramienta, es muy bienvenida. Va a llevar tiempo, pero esperamos que empiece a crearse una comunidad que pueda aportar sus devoluciones y necesidades”, señala Marchetti.

El proyecto se enmarca dentro del Departamento de Ingeniería en Sistemas de Información de la UTN Santa Fe y el equipo se completa con los docentes-investigadores María Fernanda Golobisky (codirectora), Cesar Ballardini y Daniel Ambort, y los becarios Tomás Assenza y Valentín Fontana. El año pasado, la iniciativa fue declarada de interés por el Concejo Municipal de la Ciudad de Santa Fe.

Entre los próximos objetivos, los investigadores trabajarán en automatizar el proceso de instalación del sistema, que hoy se realiza de una forma manual, y en mejorar el proceso de integración de esta herramienta con cada IDE. “También queremos incorporar otros lenguajes de programación, como JavaScript y C#. Hay cientos de lenguajes, pero vamos a darle prioridad a lo que la comunidad nos vaya pidiendo”, concluyó Marchetti.