La accesibilidad no es sólo un aspecto de su trabajo, es una necesidad. Su lema en todas las charlas y ponencias es: la accesibilidad no es un parche del producto, es una base del proyecto.
Hoy, con motivo del lanzamiento de Buscaminas Accesible, el primer juego accesible creado por un desarrollador ciego en la App Store, entrevistamos a Jonathan que nos cuenta los problemas de accesibilidad para desarrolladores ciegos, la accesibilidad de las propias herramientas de desarrollo de Apple y cómo otros desarrolladores afrontan (o no) el problema de la accesibilidad en el software que publican.
Juegos accesibles … ¿qué es un juego accesible?
Un juego accesible es una aplicación que, siendo su objetivo principal el proporcionar una sesión de ocio individual o colectivo, lo hace de tal forma que su interfaz no posee barreras al acceso y disfrute de cualquier persona, tenga o no discapacidad.
¿Cómo está el mercado de juegos accesibles en la App Store de Apple?
Pues, aunque hay bastantes aplicaciones que cumplen mínimos de accesibilidad, los juegos no son una categoría de ellas.
Las aplicaciones con botones, cuadros de textos y demás son propensas a ser accesibles gracias a la capa de accesibilidad de Cocoa touch. A menos que el desarrollador use controles no estándares o no los use de forma apropiada, la aplicación será más o menos accesible. En cambio, en los juegos, los controles no son estándares y, por supuesto, no se utilizan de forma habitual. Ahí es donde entra la librería de accesibilidad de Apple, que es poco conocida.
En la actualidad no podemos considerar ni el 1% de los juegos de la appStore como accesibles. Entiéndase accesible para ciegos, sordos, discapacitados motóricos o discapacitados cognitivos.
¿Qué te motivó a desarrollar aplicaciones accesibles?
Para mi el iPhone fue el cacharro definitivo. He apoyado el uso de superficies táctiles como interfaces accesibles desde el año 2002. Fui criticado por ello por mucha gente pero pensaba y pienso que cualquier interfaz puede ser accesible con un producto de apoyo apropiado y las pantallas táctiles son la mejor solución para dispositivos pequeños.
En Junio de 2009 conseguí mi primer iPhone 3GS. Una larga espera ya que sabía desde enero que este modelo iba a ser accesible. Nada más tenerlo pude disfrutar de él sin necesidad de instalar nada, sin necesidad de pedir ayuda. Era el primer teléfono diseñado para todos, ciegos, viejos, niños, freakies, gueeks, etc.
Comencé a instalar cosas, muchas satisfacciones y decepciones. Acceso a Twitter, Facebook, LinkedIn, GoogleReader, etc… pero al llegar al apartado de juegos, nada de nada. Alguna aplicación en inglés basada en web y poco más. Comprendí que las anteriores aplicaciones eran accesibles gracias a Apple y no a los desarrolladores ya que pocos son los que se preocupan por la accesibilidad, bien sea por desconocimiento o por desinterés.
He contactado con varios desarrolladores para reportar errores y, normalmente, aceptan las críticas y resuelven los problemas. Ejemplos son aplicaciones como DropBox o Echofon, que han hecho cambios importantes en su interfaz para que los usuarios ciegos podamos utilizar dichas aplicaciones. Otras aplicaciones hacen cambios mínimos porque hay demasiadas barreras.
En el caso de los juegos hay demasiadas barreras y muchos desarrolladores no pueden asumir cambiar todo su juego.
El tiempo de ocio es muy importante para las personas y pensé que el iPhone puede ser un buen canal para que las personas con discapacidad puedan entretenerse. Hay muy pocos juegos para ciegos, sean en PC, Mac, Linux u otras plataformas electrónicas. Los juegos específicos, de tablero o electrónicos, suelen ser carísimos porque van dirigidos a un público minoritario. Además, no están disponibles en todas partes. En España tenemos suerte porque la ONCE posee un catalogo de productos para ciegos pero en otros paises esto no es así.
El iPhone ofrece la posibilidad de que cualquier persona con discapacidad adquiera el producto y lo disfrute.
En el futuro pretendo aprovechar las capacidades de Game center para que las personas con discapacidad, además de jugar, puedan compartir y socializar a través del juego. Es una buena terapia de integración.
¿Porqué un buscaminas?
Decidí programar algo sencillo que me permitiese estudiar y aprender Cocoa touch y Objective-C sin complicarme demasiado en el algoritmo de juego. Además, me encanta el buscaminas, permite descargar adrenalina sin tener que sudar. Confieso que el sonido de la bomba está más alto que el resto para dar pequeños sustos, así el jugador recibe un pequeño empujón para motivarse a ganar.
¿A que retos te enfrentaste?
Pues, en primer lugar, Objective-C es más raro que un perro verde. Por suerte para mi programo en C++ y smalltalk. Objective-c es un gazpacho de ambos así que sólo tuve que estudiar Cocoa y acostumbrarme un poco a la gramática del lenguaje. El problema es que muchas veces se me iba la pinza y, en una sesión de picar código tenía que rehacer todo el trabajo porque me daba cuenta de que estaba programando en C o python. Cosas de tocar muchos palos a la vez.
El gran problema fue el diseño del interfaz. XCode tiene pocas barreras de accesibilidad, alguna hay pero no son graves. En cambio, interface builder y su manía de hacerlo todo con drag and drop es una barrera muy grave para los usuarios de Mac que usan VoiceOver, el lector de pantallas para Mac OS.
He hecho muchos experimentos con interface builder, encontré la forma de diseñar un interfaz con esta herramienta.
Hice un tres-en-raya para Mac y me tiré una hora para colocar un tablero de 3X3 casillas así que me até la manta a la cabeza y decidí diseñar todo el juego, incluido el interfaz, desde código tocando Xcode sin usar interface builder. ¿Más lento? para mi no, además, tengo más control sobre el diseño. He hecho que todo el diseño sea elástico. Mi esposa me ha ayudado mucho con los gráficos, hechos por ella, y verificando que el diseño elástico no se fuese de rango o saliese demasiado estirado. Ella ha tenido mucha paciencia y tiene el cielo ganado conmigo por aguantarme, jeje.
¿Realmente hay un mercado para los desarrolladores invidentes en la App Store?
Realmente hay mercado para todos los desarrolladores, que veas la pantalla o no sólo determina, actualmente, si vas a usar interface builder o no. Hay desarrolladores que no son ciegos que tampoco usan interface builder porque prefieren tener el control de su interfaz. Otra cosa es que además, utilicen la API de accesibilidad.
La appStore es muy grande y entramos todos. Eso si, un gran problema para que haya más desarrolladores ciegos en cualquier plataforma o tienda de aplicaciones es que, además de conocer el SDK de turno, tienes que pelearte con herramientas de desarrollo, como XCode o interface builder, con poca o nula accesibilidad. Ahí es donde Apple tiene que ponerse las pilas si quiere tener más desarrolladores con discapacidad.
El SDK de desarrollo de Apple … ¿está pensado para ser utilizado por personas con deficiencias visuales?
Pues, sinceramente, el SDK está pensado para ser utilizado por cualquiera. La documentación está en HTML y PDF, 2 formatos que pueden llegar a ser muy accesibles y exportables a texto plano. Si es cierto que el 99% de los libros, manuales y tutoriales usan demasiadas imágenes. Me he desesperado mucho encontrando frases del tipo: “Configura tu archivo .plist como se ve en la imagen” ¿y si no veo la imagen? No se si es pereza del autor del documento o requisito de la editorial pero digo yo que si es texto, podrían poner una tablita con las claves y valores que hay que tocar y todos contentos.
¿Es mas complejo desarrollar aplicaciones totalmente accesibles o no hay interés por hacerlo?
Si es una aplicación simple, con botoncitos, cuadros de texto, tablas de datos y demás… es muy sencillo. Simplemente usa los controles estándares y usa la pestaña de interface builder de accesibilidad para el botón de turno si usas un botón con una imagen para darle un título alternativo.
Hacer que la aplicación sea accesible para ciegos es sencillo.
La dificultad está en hacer que tu aplicación sea accesible para todos. Los feedback sonoros deben tener una réplica visual para sordos, evita usar gestos con más de un dedo y que sean rápidos, si es así, proporciona una alternativa en plan botón de menú para conseguir esas acciones, los discapacitados motores te lo agradecerán
Hacer que un juego sea accesible es toda una odisea. Y si el juego ya está hecho, parchearlo es un infierno así que mejor tomar la accesibilidad como una base del diseño del proyecto y no como un parche del producto.
Los desarrolladores de aplicaciones normales, por decir que no son juegos, simplemente se limitan a etiquetar los controles que no son accesibles para usuarios ciegos. Es una operación rápida y sencilla desde interface builder. Los usuarios que nos quejamos de falta de accesibilidad, en un 99%, somos los ciegos. Los usuarios con hipoacúsia o discapacidad motriz no suelen quejarse. Cosa curiosa porque todos tenemos derecho, pienso yo.
El problema aparece cuando la aplicación es compleja. Grandes compañías como tomtom se han tomado en hacer su aplicación cada vez más accesible así que supongo que la respuesta es que si, hay interés por hacer las cosas bien y accesibles.
Desde tu experto punto de vista … ¿Cómo son de accesibles los
dispositivos móviles de Apple? ¿Y Mac OS X?
Pues, simplemente diré que el iPhone, actualmente, es el cacharro “no específico para ciegos” más accesible del mercado.
Hay teléfonos accesibles porque son específicos para usuarios con discapacidad, estos no cuentan porque son carísimos y al ser tan específicos resultan inaccesibles para otros perfiles de discapacidad. El iPhone está diseñado para todos. Un buen trabajo de Apple.
Sobre Mac, pues encantadísimo. En mi blog podeis encontrar artículos sobre la accesiblidad de Mac e iPhone. Hay que reconocer que Apple lo está haciendo muy bien aunque aún quedan cosas por pulir.
¿Qué mejorarías dentro de las opciones de Accesibilidad que ofrece
Apple en el sus dispositivos móviles?
Para móviles, que incluyan un reconocedor de voz para dictado y control del dispositivo para usuarios con discapacidad motora. Que se pueda usar voiceOver y zoom para los usuarios que sin ser ciegos, y usan el zoom, también puedan tener un feedback de voz con voiceOver. Actualmente o usas voiceOver o zoom, no se puede usar ambos a la vez.
También que incluyan respuesta háptica en los eventos sonoros, que vibre el teléfono para los avisos… hay muchas cosas por pulir pero hay buenos cimientos para hacerlo.
Muchísimas gracias por tus amables respuestas
¡Gracias a vosotros!