Blackberry screen reader al detalle

La mayoría de los teléfonos y smartphones del mercado siguen la tendencia de utilizar una pantalla táctil en lugar de utilizar un panel de botones físicos para controlar los dispositivos. Aunque esa tendencia es beneficiosa para muchos usuarios no se ha de olvidar que hay otros usuarios que prefieren o necesitan teclas físicas para controlar sus dispositivos móviles.

Para estos usuarios que prefieren el teclado físico frente a la pantalla táctil una de las opciones más elegidas era la ofrecida por Research In Motion, más conocida como RIM, creadores de la plataforma y los dispositivos Blackberry.

Estos dispositivos son utilizados en la mayoría de países del mundo y, aunque hasta hace poco eran mayoritariamente utilizados en el ámbito empresarial, han encajado en el nicho mercado de usuarios jóvenes de smartphones gracias a sus servicios de mensajería instantánea y servicios de conectividad a la Web.

Accesibilidad en Blackberry OS7

Muy pocos usuarios con discapacidad accedían a esta versión de la plataforma debido a las pocas características de accesibilidad que proporcionaba. Esto parece estar cambiando y RIM ya ofrece un lector de pantallas, conocido como Blackberry screen reader, e incluyen opciones para personalizar aspectos de visualización de la interfaz general como visualización en cuadrícula o listas, personalización de teclas de función o personalización por temas de color.

Blackberry screen reader al detalle

Este lector de pantallas utiliza un método de control similar a otros productos de apoyo de la plataforma Symbian. En resumen, se utiliza un cursor de 5 posiciones para mover el foco del sistema y se utilizan algunas combinaciones del teclado junto a una tecla de función para poder realizar ciertas funciones del producto de apoyo.

Funciones telefónicas

El teléfono gestiona bien las llamadas y la información de los contactos. El lector de pantallas accede bien a toda esta información y su comportamiento, en la última versión de este lector de pantallas, resulta correcto aunque no se puede acceder al mismo durante una llamada a menos que activemos la función de manos libres en el dispositivo.

Síntesis de voz

La síntesis de voz está en castellano y posee una buena dicción. Posee una buena respuesta aunque los problemas de retraso en las reacciones se deben, principalmente, a la gestión realizada por el lector de pantallas.

Se pueden personalizar aspectos como la velocidad, el tono y el timbre así como la pronunciación de mayúsculas o caracteres de contraseña.

Control del cursor

El cursor del sistema se controla a través de un pequeño cuadrado táctil situado arriba del teclado qwerty. Este panel táctil, por defecto, viene configurado para una alta sensibilidad por lo que es recomendable personalizar la configuración del sistema al mínimo de sensibilidad aunque con el tiempo y la práctica podemos aprovechar la velocidad que podemos alcanzar a la hora de recorrer listas de opciones si aumentamos la sensibilidad del panel táctil.

Escritura

Esta es, quizás, la mayor diferencia con respecto a otros dispositivos y plataformas. Las Blackberries incluyen un teclado físico qwerty que, con un poco de práctica, podemos alcanzar una buena velocidad de escritura. El lector de pantallas responde bien a la introducción de texto aunque se encontró un error en la pronunciación de vocales si utilizamos una velocidad elevada para la pronunciación. Una vez se solucione este problema, la experiencia de escribir en este dispositivo puede resultar muy satisfactoria para aquellos usuarios que quieran un teclado físico bajo sus dedos.

Ayuda y aprendizaje

El lector de pantallas incluye una ayuda interactiva para conocer las funciones del teclado. Activando esta función podemos ir pulsando una a una las teclas del dispositivo y conocer sus funciones.

En el menú de configuración del lector de pantallas se incluye un texto de ayuda aunque en la versión actual resulta ilegible por el lector de pantallas. De todas formas podemos acceder a esta información y a más información sobre la ayuda del producto de apoyo en la página oficial del producto y en castellano. Puedes leer la guía de usuario Blackberry, leer la sección de accesibilidad de Blackberry o leer el manual de Blackberry screen reader.

Puntos fuertes y virtudes

Para empezar debemos indicar que Blackberry screen reader se distribuye de forma gratuita para los usuarios de estos dispositivos. Recordad que hay algunos modelos que no son compatibles por lo que es recomendable consultar esto antes de realizar la compra de un dispositivo. Actualmente muchos operadores de telefonía están ofreciendo estos dispositivos a muy bajo coste por lo que una persona ciega que quiera un teléfono para llamadas, mensajería, correo electrónico y redes sociales puede resultarle interesante esta opción

También el uso de un teclado qwerty físico puede resultar muy atractivo para todos aquellos usuarios que no les gusta los teclados virtuales de las pantallas táctiles o los teclados numéricos son engorrosos o lentos para escribir.

Su instalación se realiza como una aplicación más para este sistema operativo. Se puede realizar bien desde el propio dispositivo o conectando el terminal a un ordenador personal y accediendo a la página web de RIM para Blackberry o utilizando el programa de sincronización de Blackberry para Windows y OSX.

Este programa de sincronización es compatible con Windows y Mac OSX. Aunque presenta algunas barreras de accesibilidad es utilizable con lector de pantallas. Hay que señalar la necesidad de utilizar las últimas versiones de este software para poder realizar las actualizaciones de Blackberry sin problemas.

Por otra parte indicar que el manejo del dispositivo, gracias a su modo de navegación por menú, es muy sencillo. Operaciones como Leer y publicar en Twitter, enviar y leer mensajes de texto y mensajería instantánea, gestionar varias cuentas de correo electrónico o gestionar las llamadas telefónicas son operaciones sencillas de realizar con este dispositivo.

Puntos débiles y defectos

Este producto de apoyo se muestra como una versión recién salida del horno lo que implica la presencia de ciertos errores en su uso. La ejecución del producto de apoyo se realiza como una aplicación más del sistema pero si se cuelga el usuario ciego no tiene forma de reactivar el producto de apoyo a menos que configure una tecla de función para tal efecto.

El lector de pantallas consume bastantes recursos por lo que su funcionamiento en modelos con poco procesador puede resultar algo lento.

El lector de pantallas accede a los servicios básicos del dispositivo e identifica controles básicos del sistema pero encuentra problemas importantes a la hora de acceder a contenidos de la Web o aplicaciones de terceros.

Existen otros errores relacionados con la síntesis de voz, la estabilidad de la aplicación y la carencia de soporte braille. Y, aunque la estabilidad de la aplicación ha mejorado muchísimo en una reciente actualización del lector de pantallas, disponible en la tienda de aplicaciones de Blackberry, el soporte de braille y otros problemas aún no se han solucionado. Esto provoca que un usuario ciego tenga que bajar la velocidad de pronunciación para escuchar todas las letras que introduce por el teclado o que usuarios sordociegos no puedan acceder a este dispositivo ya que no se incluye compatibilidad con líneas braille.

Presente y futuro de la accesibilidad en Blackberry

Research In Motion ha realizado un movimiento a favor de la accesibilidad en sus dispositivos que resulta positivo y beneficioso para todos. Es loable el esfuerzo realizado pero ahora deben seguir con la inercia de este movimiento y mejorar la accesibilidad de la plataforma actual e incluir la accesibilidad de base para la futura plataforma, conocida como Blackberry 10.

La futura plataforma de RIM, más conocida como Blackberry 10, utilizará, principalmente, interfaces táctiles por lo que esta opción puede que no sea la ideal para aquellos usuarios que quieran dispositivos con teclados físicos. Pero RIM ha pensado en esto y en el mercado aparecerán nuevos dispositivos para Blackberry 10 que incluirán teclado físico por lo que esta plataforma puede seguir siendo la mejor opción para aquellos usuarios que necesiten un teclado físico.

Personalmente creo que el actual lector de pantallas puede satisfacer las necesidades de usuarios con ceguera total que quieran utilizar los servicios de un teléfono: realizar y recibir llamadas, enviar y leer mensajes y correos electrónicos, utilizar Twitter y poco más. Es una pena que servicios tan importantes como la navegación por la Web aún no estén habilitados pero esperemos que RIM lo solucione en futuras versiones de este lector de pantallas gratuito que da un valor añadido a sus terminales.

Estructuras condicionales en AppleScript

En AppleScript, al igual que en otros lenguajes de programación, existen ciertas estructuras de código para controlar el flujo de ejecución de nuestro programa. Recordemos que un script es un programa con ciertas características especiales.

La estructura más simple es la sentencia que se puede resumir como una orden que indica al programador a su programa. Un ejemplo sería la línea de código con la sentencia say que hemos visto en el ejemplo de Hola mundo de esta serie de artículos.

Otro ejemplo sería la línea de asignación de un valor a una variable.

Estructuras condicionales

Hasta ahora sólo sabemos crear AppleScripts que ejecuten una sentencia detrás de otra, almacenando información y manipulándola. ¿Pero podemos controlar aún más el flujo de ejecución?

Imaginemos que un trozo de nuestro script se ejecute a partir de una hora determinada, por ejemplo, un aviso para el usuario. Lo primero que debemos hacer es obtener la hora actual. Este ejemplo nos explica cómo hacerlo:


(*
Ejemplo para obtener la hora actual
*)
on run
set fecha to current date
set hora to fecha's hours
end run

En la variable hora se almacena el valor numérico de la hora actual.

Estructura if then

Para poder ejecutar un trozo de código si se cumple una condición debemos utilizar una estructura condicional. La estructura condicional más básica, y común a muchos lenguajes de programación, es la estructura if-then. La traducción al castellano de if, then es si, entonces….

Veamos su sintaxis en AppleScript para entenderla mejor:

if condición a cumplir then
código a ejecutar
end if

En la condición a cumplir se debe indicar una comparación u operación que devuelva un valor verdadero o falso. Ejemplo de esto son operaciones comparativas del tipo A < B, A = B, Nombre = «Jonathan»

Ampliemos nuestro ejemplo anterior para dar un mensaje por voz si la hora es mayor o igual a siete. El ejemplo quedaría así:


(*
Ejemplo para dar un aviso según la hora
*)
on run
-- obtenemos la fecha
set fecha to current date
set hora to fecha's hours
-- según la hora damos el aviso
if hora >= 7 then
say "¡Despierta! Ya es tarde"
end if
end run

En este ejemplo vemos otra forma de incluir comentarios: escribiendo dos caracteres de guión consecutivos (-) indicamos que lo que hay a la derecha de esa línea es un comentario de código. Es una forma de incluir comentarios de forma rápida.

Estructura if then else

El ejemplo anterior sólo nos avisará si son las 7 o más tarde pero no hará nada si es antes de las siete. A veces nos interesa realizar operaciones distintas tanto si se cumple la condición como si se cumple lo contrario. Una forma de hacer esto sería declarar dos estructuras if then con condiciones contrarias. Un ejemplo de esto sería:


(*
Ejemplo 2 para dar un aviso según la hora
*)
on run
-- obtenemos la fecha
set fecha to current date
set hora to fecha's hours
-- según la hora damos el aviso
if hora >= 7 then
say "¡Despierta! Ya es tarde"
end if
if hora < 7 then say "Todavía es temprano. Aprovecha." end if end run

Aunque esta solución pueda considerarse válida resulta poco eficiente y complica el código. Es poco eficiente porque para hacer una acción u otra realiza dos comparaciones. El código resulta más confuso porque ambas estructuras resultan iguales salvo por un signo matemático pudiendo provocar la confusión del programador.

AppleScript, como otros lenguajes, proporciona una solución elegante para cuando queremos ejecutar un trozo de código tanto para cuando se cumple una condición como para cuando se cumple la contraria. Veamos el ejemplo con esta nueva estructura condicional mejorada:


(*
Ejemplo 3 para dar un aviso según la hora
*)
on run
-- obtenemos la fecha
set fecha to current date
set hora to fecha's hours
-- según la hora damos el aviso
if hora >= 7 then
say "¡Despierta! Ya es tarde"
else
say "Todavía es temprano. Aprovecha."
end if
end run

Como se ve en el código aparece la palabra reservada del lenguaje else. Esta partícula nos permite incluir una separación en la estructura condicional para indicar que el código a continuación se ejecutará sólo si no se cumple la condición. La sintaxis completa es:

if condición a cumplir then
código a ejecutar cuando se cumple la condición
else
código a ejecutar si no se cumple la condición
end if

Ahora podemos crear scripts más complejos que realicen operaciones según se cumplan o no ciertas condiciones.

Variables en AppleScript

AppleScript, al igual que en otros lenguajes de programación, nos permite utilizar variables para almacenar y manipular información.
Su uso es muy sencillo. Para declarar y asignar un valor a una variable debemos seguir la siguiente sintaxis:

set nombreDeVariable to valorParaLaVariable

Veamos un ejemplo simple:


on run
set mensaje to "Hola mundo!"
say mensaje
end run

Para reasignar el valor de una variable se sigue la misma sintaxis. En la asignación podemos realizar encadenamiento de cadenas de texto, operaciones matemáticas, etc.

Veamos un ejemplo en la que asignamos el valor 1 a la variable valor, pronunciamos su valor, reasignamos el valor de la variable al valor que tenía antes más una unidad y volvemos a pronunciarlo:


on run
set valor to 1
say valor
set valor to valor + 1
say valor
end run

Problemas de formatos y tipos

Las variables pertenecen a distintos formatos (texto, números enteros, números decimales, estructuras de datos, etc) y formatos (UTF-8, UTF-16, Unicode, etc). Si intentamos manipular variables entre si con tipos o formatos distintos podemos obtener un error. Por ejemplo, la función say, que pronuncia un texto, espera que le pasemos una variable de texto o de números enteros.

Veamos un ejemplo en el que intentamos hacer un script para que nos pronuncie la fecha de hoy:


on run
set fecha to current date
say fecha
end run

Si intentamos ejecutarlo obtendremos el siguiente mensaje de error: No es posible convertir date «sábado 18 de agosto de 2012 09:44:04″ en tipo «class utf8».

Para solucionar este problema deberemos convertir el valor de fecha, que está en el formato de fecha del sistema, a un valor de cadena de texto.

Para convertir el valor de una variable a otro formato debemos realizar una conversión. La conversión en appleScript sigue la siguiente sintaxis:

( variable as tipoAConvertir )

Necesitamos convertir el tipo fecha de la variable fecha a un tipo de cadena de texto. El ejemplo quedaría así:


on run
set fecha to current date
set fechaEnTexto to (fecha as text)
say fechaEnTexto
end run

Android Jelly bean, una actualización de Ice cream sandwich

La empresa Google, durante la presentación en su congreso para desarrolladores ha presentado Android Jelly bean, la versión 4.1 de este sistema operativo para dispositivos móviles.

Esta actualización marca definitivamente la tendencia de Google por unificar los criterios visuales de sus aplicaciones indicando a los desarrolladores que deben adoptar los temas visuales oficiales de Android 4.

Otras mejoras de esta nueva versión se orientan a mejorar la experiencia de usuario para tablets y teléfonos de pantalla grande.

En cuanto a la accesibilidad se han realizado una serie de mejoras interesantes como la definición de más tipos de controles para que los desarrolladores puedan identificar la función de cada control visual de la interfaz.

Las etiquetas de texto ahora pueden mostrar su contenido en diversas orientaciones para que la internacionalización de aplicaciones para usuarios de lenguas con lectura distinta a la occidental (de izquierda a derecha) puedan realizarse de forma más efectiva y sencilla para el desarrollador.

Se ha incorporado un control de gestos por el sistema para que, a través de un servicio u aplicación, se pueda manejar el dispositivo. Esto es, imaginemos que un usuario utiliza un joystick o trackpad para intentar controlar su dispositivo debido a que no es capaz de tocar la pantalla con precisión. El usuario estaba limitado a usar aplicaciones compatibles con su joystick. Ahora podrá utilizar casi cualquier aplicación que sea compatible con la capa de accesibilidad gracias a que un servicio podrá hacer de intermediario de gestos transmitiendo al sistema que se ha hecho un flick a la derecha si el usuario ha pulsado el joystick hacia la derecha. Es algo así como un traductor de eventos externos a gestos reconocidos por el sistema.

Se ha creado un cursor virtual propio de la capa de accesibilidad. Este cursor o control de foco será utilizado por lectores de pantalla como Talkback y Spiel para explorar aquellos controles visuales que, por desconocimiento o desidia del desarrollador, no podían ser focalizados.

El motor de síntesis de voz ha mejorado y se comenta que consume menos recursos y tiene una respuesta más rápida.

Se han rediseñado algunos servicios, como el control por voz, para que sean compatibles con la capa de accesibilidad.

Todas estas mejoras van sumando pero aún queda mucho camino por recorrer para Android debido a que hay problemas viejos, como que la capa de accesibilidad sigue siendo optativa para los desarrolladores y no se integra en la librería de controles estándares, o que el foco de accesibilidad y el foco del sistema carece de función para sincronizarse lo que puede provocar que un usuario de lector de pantallas se mueva por el interfaz y pierda la capacidad de poder activar cualquier elemento de la interfaz de la aplicación. Este último problema se puede solucionar rápidamente y ya ha sido notificado pero que la capa de accesibilidad siga siendo optativa, que no se pueda explorar el contenido carácter a carácter o que todavía no haya un método claro y sencillo para pausar la síntesis de voz y retomar el contenido desaniman un poco.

Además, es necesario indicar que Google sigue con su tendencia de parchear la accesibilidad de sus servicios ya que productos nuevos, como Google know, no parecen incluir compatibilidad con la capa de accesibilidad.

Esperemos que Android siga mejorando en su accesibilidad ya que esta estupenda plataforma para dispositivos móviles y electrodomésticos puede abrir muchas puertas y posibilidades a personas con necesidades especiales. Google debe comprometerse de forma clara y sincera con la accesibilidad y dejar de parchear sus productos y comenzar a construir de forma accesible desde el principio.

Microsoft Surface, la tablet de Microsoft para Windows 8

La empresa Microsoft presentó ayer, de la mano de Steve Ballmer, lo que parece ser su primer tablet comercial. Este nuevo producto fue bautizado con el nombre de Surface.

Este producto comparte nombre con la mesa de superficie táctil ya comercializada desde hace unos años por esta misma empresa.

Buscando la unión del software y el hardware

Microsoft, desde hace muchos años, ha apostado por producir software mientras otros fabricantes adaptan y crean hardware compatible. Con Surface parece que Microsoft quiere romper esta tendencia y ha presentado un dispositivo móvil completamente armonizado con su nueva versión de sistema operativo, el conocido como Windows 8.

Surface saldrá a la venta en dos modelos bien diferenciados por su procesador: versión ARM, con casi medio kilogramo de peso y características de conectividad más limitadas; y un modelo de procesador Intel, denominado pro, de casi un kilogramo de peso y con la última tecnología en cuanto a conectividad.

Windows 8 y su accesibilidad

Esta tablet llevará como sistema operativo Windows 8. Microsoft, al igual que otros fabricantes de sistemas operativos y productos móviles, ha optado por comenzar a incluir características de accesibilidad y productos de apoyo en su sistema operativo.

Narrator, el lector de pantallas de Microsoft, y funciones de magnificación de pantallas vienen incluidas en esta nueva versión de Windows con importantes mejoras con respecto a otras versiones de este sistema operativo. Narrator ahora es más parecido a un lector de pantallas real pudiendo leer información bajo demanda del usuario y seguir, casi por completo, el foco de navegación mientras el usuario ciego explora la interfaz de la pantalla. Otra mejora importante de Narrator es que Microsoft ha incorporado la posibilidad de utilizar gestos para controlar la exploración del lector de pantallas por lo que un usuario ciego no se verá obligado a conectar un teclado u otro dispositivo externo a su dispositivo táctil con windows 8.

En el apartado de accesibilidad visual el magnificador ha sufrido mejoras importantes pero sigue sin tener tantas prestaciones como otros productos de magnificación para windows por lo que algunos usuarios con discapacidad visual parcial encontrarán que este producto de apoyo no satisface todas sus necesidades.

Windows ha incorporado siempre mayores posibilidades de personalización de tamaños, fuentes, colores y contrastes para los elementos visuales del sistema frente a otras plataformas como Apple OSX, Gnome o KDE, en las que las personalizaciones son más dificultosas o menos globales. En Windows 8 se sigue con el mismo juego de características de personalización de apariencia visual que ya se disfrutaba en Windows 7.

Campana de sistema para discapacidad auditiva, teclas pegajosas y otros elementos de accesibilidad ya habituales en esta plataforma siguen presentes en esta nueva versión de Windows.

El reconocimiento del habla también es una característica presente en esta versión del sistema operativo y, aunque ha sufrido mejoras con respecto a Windows Vista y 7, sigue sin poder considerarse que este servicio de control por voz sea suficiente para una persona que no pueda utilizar un teclado o un ratón por lo que tendrá que utilizar productos específicos como Dragon Naturally Speaking.

La principal desventaja de Windows 8 es que su nuevo interfaz ha roto con muchas prácticas y convenciones existentes en anteriores versiones de este sistema operativo provocando que la curva de aprendizaje sea mayor y que la experiencia de usuario, para los usuarios habituales de Windows, sea negativa durante los primeros momentos.

Apuntador capacitivo para Surface

La versión pro de Surface incluye un stylus o apuntador capacitivo del tamaño de un bolígrafo. El dispositivo incluye sensores que permiten distinguir si el usuario está utilizando su dedo o el stylus. Además, el stylus se fija a la estructura del dispositivo mediante imanes.

Adaptar este stylus a un licornio o apuntador bucal no debe ser complejo por lo que personas con discapacidad física podrían utilizar este dispositivo de forma sencilla.

Carcasa y anclaje de Surface

Surface utiliza imanes también para la fijación de protectores, teclados externos, peanas y otros elementos. Estos imanes podrían ser utilizados para el anclaje a una silla de ruedas o un atril para personas con discapacidad. El problema está en el material utilizado para el revestimiento del dispositivo, se trata de una aleación de mercurio denominado VaporMg desconociendo las posibles implicaciones de alergias cutáneas, incompatibilidades de anclaje para tornillos o bisagras en atriles y sillas de ruedas o si el material es antideslizante para las manos para personas con problemas a la hora de manipular o sujetar objetos.

Su pantalla resulta más alargada que la tendencia de otros tablets del mercado. Utiliza una distribución similar a la de una pantalla de televisión panorámica (formato 16/9) por lo que puede resultar más apropiado como atril de silla de ruedas al ocupar menos espacio de largo. Pero esto puede dificultar el acceso a los usuarios que no puedan desplazar el brazo o la muñeca y no puedan llegar de una esquina a otra de la pantalla. Estos problemas se pueden superar fácilmente con un apuntador bucal con las dimensiones apropiadas para cada usuario.

Precio y comercialización

Microsoft no ha desvelado ni la fecha de comercialización ni su precio aunque Steve Ballmer ha indicado que tendrá un precio competitivo para ambos modelo.

El producto saldrá al mercado con dos grandes competidores: Android y Apple iPad. Puedes consultar más información de este producto en Surface official web site.

Tragaperras accesible para iPhone e iPad

Tyflos Accessible Software ha estado trabajando en el diseño y desarrollo de un nuevo juego para iPhone e iPad que cumpla el mayor número de requisitos posibles en cuanto a su accesibilidad. El esfuerzo ha dado sus frutos y ya está disponible en la App store, la tienda de aplicaciones de Apple, el nuevo juego de este sello: Tragaperras accesible

Algunos usuarios del anterior juego de Tyflos Accesible Software, el Buscaminas accesible, mostraron interés en disponer de juegos que no fuesen de tablero y fuesen de azar. Intentamos escuchar y satisfacer las necesidades de los usuarios así que aquí tenéis un juego de azar y no es de tablero.

Recuerda que puedes conocer más sobre Tyflos Accesible Software y sus aplicaciones publicadas en la sección de proyectos de este sitio web.