Esta es la razón por la que los emojis pueden arruinar algunas apps

Los emojis son divertidos pero tambien pueden causar problemas de software.

|
20 Junio 2016, 5:42pm

El mes pasado, la editora de Upworthy, Laurie Stark, cambió el nombre de usuario asociado a su cuenta bancaria por uno que contenía un emoji. Su banco le informó que había arruinado todo el sistema computacional, "Ellos me llamaron para decir que tuvieron que cambiar mi nombre de usuario porque arruinó todo" dijo Stark a través de Twitter (ella no quiso revelar el nombre del banco).

Hace un año y luego de escribir sobre las formas en que los hackers pueden seguir a ciertos individuos utilizando perfiles de Bluetooth en baja energía, cambié mi nombre en el iPhone 5S al emoji del esmalte de uñas. Luego intenté depositar un cheque en mi cuenta bancaria utilizando una aplicación de banco en mi iPhone, pero la aplicación dejó de funcionar. Luego de pasar un tiempo conversando con el servicio técnico, un especialista me envió un correo preguntando si el nombre de mi equipo (lo encuentras en Settings>General>About, dentro del iPhone) acaso tenía un emoji. Una vez que cambié el nombre a palabras, la aplicación funcionó nuevamente (el representante del banco no respondió a mi petición de comentarios, pero el mismo especialista en soporte técnico me dijo que la app fue actualizada el otoño pasado y que ahora puede leer nombres de dispositivos con emoji).

Nosotros no somos las únicas personas que tienen problemas. Anne Van Kesteren, quien trabaja para Mozilla, una vez cambió el nombre de su router de Wi-Fi al emoji de una tortuga. En ese momento ella estaba utilizando un hervidor de agua inteligente (el que desconectó por razones de seguridad), pero no pudo conectarlo porque la red Wi-Fi tenía un nombre con emoji.

¿Por qué algunas apps no pueden leer los emojis? Tiene que ver con los sistemas de representación utilizados para presentar caracteres en los computadores. "En los tiempos de antes (en los 60s) utilizábamos dos sistemas de representación de 8 bits: ASCII (código estándar norteamericano de intercambio de información) Y EBCDIC (código decimal binario extendido de intercambio)" dijo David Gewirtz, quien es profesor de programación en UC Berkeley, "Estos dos son códigos de 8 bits, lo que significa que pueden tener un total de 256 variaciones de caracteres y esto debe manejar los caracteres de TODO". Además, dijo Gerwitz, muchos caracteres ASCII fueron implementados en 7 bits y el octavo bit estaba guardado para marcas diacríticas como ë o é (si bien no podemos usar emojis sin arruinar las apps, muchas personas no pueden ni siquiera escribir sus nombres. De hecho yo no pude cambiar el nombre de mi cuenta bancaria a una frase que tuviera una de estas letras).

Sólo puedes almacenar 128 caracteres en un número de 7 bits y eso no es suficiente: 52 de estos son utilizados por mayúsculas y minúsculas. Números, puntuaciones y otros símbolos puede ocupar rápidamente los 66 caracteres adicionales, "esto no funciona en mucho lenguajes asiáticos como el Chino o el Japonés, los que poseen 3000 caracteres y en su uso diario puede aumentar a 60.000 si decides incluir algunos de los menos utilizados" dijo Anne Van Kesteren.

Esto nos lleva al nacimiento del Unicode, el que permite que haya más bits por carácter y crea espacio para cientos de otros caracteres (incluyendo los emoji), los que son representados como un carácter individual. Unicode es más difícil de escribir que ASCII y Gewirtz señala que requiere librerías que no siempre funciona bien, por eso las apps se arruinan.

Unicode no es la cura universal y algunas veces no puede hacer que un flujo de datos muestre el símbolo correcto (por eso utiliza el símbolo de reemplazo), además de los potenciales problemas de seguridad y los ataques. Al menos podemos utilizar emojis y simbolos que no son ASCII en nuestros nombres de usuario.