La democratización de la creación de software y la IA

La historia del desarrollo de software consiste en un proceso continuo de reducción de barreras. Cada avance tecnológico relevante ha facilitado que un número mayor de personas pueda utilizar ordenadores para crear nuevas herramientas. Pero reducir la dificultad necesaria para crear aplicaciones y servicios no implica eliminar la necesidad de comprender cómo se construye un proyecto software.

Superando la barrera del hardware

Durante las primeras décadas de la informática, crear software estaba restringido a organizaciones capaces de acceder a ordenadores muy costosos y a profesionales con una formación muy especializada. La aparición del ordenador personal modificó esta situación. Una persona podía adquirir para su casa una máquina programable de propósito general por un precio relativamente asequible.

La barrera de entrada pasó entonces a estar formada principalmente por tres elementos: disponer de un ordenador personal, acceder a las herramientas necesarias para desarrollar programas y adquirir los conocimientos técnicos para utilizarlas. Un ordenador personal, un compilador y suficiente documentación podían constituir un entorno de desarrollo completo. El hardware se había democratizado, pero el conocimiento seguía siendo una barrera considerable.

Internet y la democratización del conocimiento

La popularización de Internet produjo una nueva transformación. El ordenador personal había democratizado el acceso a la capacidad de computación, Internet comenzó a democratizar el acceso al conocimiento necesario para utilizarla.

La documentación técnica, que anteriormente podía encontrarse principalmente en libros, manuales, revistas especializadas, universidades y entornos profesionales, empezó a estar disponible en línea. Posteriormente aparecieron foros, comunidades de desarrolladores, proyectos de código abierto, cursos, tutoriales, blogs técnicos y plataformas especializadas en preguntas y respuestas.

Aprender a programar continuaba requiriendo un esfuerzo considerable, pero el coste económico y la dificultad de encontrar información se habían reducido drásticamente. Un desarrollador que encontraba un problema podía buscar su mensaje de error, consultar la documentación de una biblioteca o estudiar cómo otras personas habían resuelto situaciones similares.

Internet facilitó el aprendizaje de lenguajes de programación y ayudó a la difusión de conocimientos sobre arquitectura de software, patrones de diseño, seguridad, pruebas, bases de datos, sistemas distribuidos y metodologías de desarrollo.

La barrera del conocimiento no desapareció, pero acceder a él se hizo progresivamente más sencillo.

De buscar información a conversar con ella

La aparición de los asistentes conversacionales basados en inteligencia artificial introdujo un cambio cualitativamente diferente. El problema dejó de ser únicamente encontrar información para convertirse también en poder interrogarla mediante lenguaje natural.

Ante una cuestión técnica, ya no era imprescindible formular correctamente una búsqueda, localizar varias fuentes, interpretarlas y construir una respuesta a partir de ellas. Un chatBot con conocimientos de ingeniería del software podía realizar parte de ese proceso y proporcionar directamente una explicación adaptada al contexto presentado por el usuario.

Conceptos que requerían consultar diferentes libros, artículos o discusiones técnicas pueden explorarse mediante una conversación en un chat. Con este avance era posible describir un problema, solicitar alternativas, preguntar por sus ventajas e inconvenientes y profundizar sucesivamente en determinados aspectos del problema.

La inteligencia artificial comenzó así a actuar como una nueva capa de abstracción sobre el conocimiento técnico disponible.

Pero facilitar el acceso a una respuesta no equivale a comprender la solución que se ha obtenido. Una respuesta técnicamente plausible puede contener errores, asumir condiciones inexistentes o ser adecuada para un contexto diferente. La capacidad para evaluar la respuesta continúa dependiendo del conocimiento de la persona que la recibe.

Del asistente al agente

La reciente evolución de la IA introduce un cambio todavía más profundo. Este cambio consiste en que las herramientas de inteligencia artificial han dejado de limitarse a explicar cómo escribir software y han comenzado a participar directamente en su construcción.

Los modelos actuales pueden generar código, modificar proyectos existentes, ejecutar herramientas, interpretar errores, crear pruebas y realizar sucesivas modificaciones hasta obtener aparentemente el resultado solicitado. La aparición de agentes de programación amplía todavía más esta capacidad al permitir que determinados procesos se ejecuten con un grado creciente de autonomía.

En este contexto se ha popularizado el concepto de vibeCoding, una forma de creación de software en la que el usuario describe mediante lenguaje natural aquello que desea delegando  parte de las decisiones de implementación en la inteligencia artificial.

Esta capacidad está produciendo dos interpretaciones aparentemente contradictorias. Hay personas sin conocimientos avanzados de programación que ya pueden construir prototipos y aplicaciones que anteriormente habrían requerido la intervención de un desarrollador. Por otra parte, los profesionales del software pueden utilizar estas mismas herramientas para aumentar considerablemente su productividad.

La consecuencia es una nueva reducción de la barrera de entrada a la creación de software.

La falsa sensación de éxito

Esta democratización presenta un problema fundamental que consiste en que generar software que aparentemente funciona es considerablemente más sencillo que generar buen software.

Cuando una persona solicita a una inteligencia artificial que construya una aplicación, el sistema intenta materializar la descripción recibida. Si la especificación es incompleta, ambigua o técnicamente inconsistente, el modelo debe trabajar con esa incertidumbre. Puede realizar suposiciones razonables y producir un resultado visualmente convincente, pero eso no significa que haya construido exactamente aquello que el usuario necesitaba.

Una característica especialmente problemática del vibeCoding es que tiene una facilidad para producir una sensación prematura de éxito.

Una interfaz puede mostrarse correctamente. Un botón puede ejecutar la acción esperada. Los datos pueden almacenarse y recuperarse. Desde el punto de vista del usuario, el software parece terminado.

Sin embargo, gran parte de la calidad del software no resulta inmediatamente visible.

La arquitectura puede ser inadecuada para futuras ampliaciones. El modelo de datos puede contener decisiones que dificulten su evolución. Pueden existir problemas de concurrencia, seguridad o rendimiento. El tratamiento de errores puede ser insuficiente. Las pruebas pueden cubrir únicamente los escenarios más evidentes. Las dependencias pueden haber sido elegidas sin considerar sus consecuencias a largo plazo.

El problema no consiste necesariamente en que la inteligencia artificial haya ejecutado incorrectamente la tarea. Puede haber construido de manera razonable aquello que se le solicitó. El problema puede encontrarse en en la incapacidad del usuario para describir con suficiente precisión aquello que realmente necesitaba.

Especificar también es ingeniería

El desarrollo profesional de software nunca ha consistido exclusivamente en escribir código. Una parte importante del trabajo consiste en transformar necesidades ambiguas en requisitos concretos, identificar restricciones, anticipar situaciones excepcionales y decidir qué compromisos son aceptables.

Cuando se delega la implementación en un agente de inteligencia artificial, estas actividades no desaparecen, más bien adquieren una importancia mayor.

Una especificación insuficiente produce un número de soluciones demasiado amplio. El sistema debe completar la información que falta mediante inferencias. Cuantas más decisiones se deleguen, mayor será la probabilidad de que el resultado se aleje de las necesidades reales.

En este sentido, los modelos generativos pueden reducir drásticamente el coste de escribir código sin reducir en la misma proporción la dificultad de especificar correctamente un sistema.

La programación puede hacerse más accesible mientras que la ingeniería de software continúa siendo difícil.

El problema aparece después de que el programa funcione

Existe además una dimensión temporal que puede pasar inadvertida durante la generación inicial. El coste de un producto de software no termina cuando se obtiene su primera versión funcional.

El software necesita ser corregido, actualizado, ampliado, auditado y adaptado a nuevos requisitos. En sistemas con una vida útil suficientemente larga, una parte considerable del esfuerzo se dedica precisamente a comprender y modificar código existente.

El código generado automáticamente no está exento de esta realidad.

Una sucesión de instrucciones destinadas únicamente a conseguir que el sistema vuelva a funcionar puede introducir duplicaciones, dependencias innecesarias, soluciones locales incompatibles con la arquitectura general o abstracciones difíciles de comprender. Cada modificación puede resolver el problema inmediato y, al mismo tiempo, aumentar la dificultad de implementar la siguiente versión del producto.

El riesgo no es sólo producir código incorrecto. También existe el riesgo de producir código que nadie comprende suficientemente bien como para sustituir el trabajo de la IA por código mantenible, escalable y actualizable.

La mantenibilidad del proyecto se convierte en una cuestión central. Si la persona que dirige el desarrollo no comprende la arquitectura creada por la IA, evaluar una modificación propuesta por otro agente de IA resulta difícil. La capacidad de generar cambios puede crecer más rápidamente que la capacidad para evaluar sus consecuencias.

La productividad y la desaparición del equipo

El incremento de productividad asociado a estas herramientas también está modificando la percepción sobre la organización de los equipos de desarrollo. Un profesional experimentado asistido por inteligencia artificial puede realizar determinadas tareas que anteriormente requerían muchas más horas de trabajo. Esto puede generar la impresión de que algunas funciones, especialmente las posiciones junior, han dejado de ser necesarias o de que equipos completos pueden ser sustituidos por un desarrollador experimentado acompañado de varios agentes.

Esta conclusión confunde capacidad de producción con capacidad organizativa.

Un equipo de software no está únicamente para producir líneas de código. También está para distribuir conocimiento, revisar decisiones, detectar errores, cuestionar hipótesis e ideas y permitir que diferentes personas desarrollen experiencia sobre el sistema. De la misma forma un desarrollador junior no es simplemente una versión menos productiva de un desarrollador senior.

Las posiciones junior forman parte del mecanismo para formar los profesionales experimentados del futuro.

Si las organizaciones eliminan sistemáticamente esas posiciones porque la inteligencia artificial permite que los profesionales actuales produzcan más software, pueden obtener una mejora de productividad inmediata mientras debilitan simultáneamente su capacidad para formar nuevas generaciones de especialistas.

La cuestión no es cuántas personas son necesarias para producir una determinada cantidad de software, sino qué conocimientos deben existir dentro de una organización para comprender, mantener y evolucionar ese software durante años.

De pedir resultados a pedir conocimiento

La democratización de la creación de software mediante inteligencia artificial ofrece una oportunidad que puede ser más importante que la generación automática de código.

Las mismas herramientas que permiten solicitar crea esta aplicación permiten adoptar un enfoque diferente como pedir enséñame a construir esta aplicación.

La diferencia entre ambas formas es sustancial.

En el primer caso, en el que la persona pide la creación, el objetivo principal es obtener un resultado. En el segundo caso, el resultado se convierte también en un mecanismo de aprendizaje. La inteligencia artificial puede explicar las decisiones arquitectónicas, presentar alternativas, justificar la elección de determinadas estructuras de datos, generar ejemplos progresivos, analizar errores y ayudar al usuario a comprender las consecuencias de cada modificación.

De esta forma, la inteligencia artificial puede utilizarse como sustituto parcial de determinadas tareas de programación, y como un instrumento para acelerar la adquisición de conocimientos. La misma tecnología que permite programar sin comprender puede convertirse en una de las herramientas más eficaces para aprender a comprender.

Una nueva etapa de la democratización

Puede ser cada vez más sencillo conseguir que un ordenador produzca una aplicación. Pero sigue  siendo difícil determinar qué aplicación debe construirse, cómo debe comportarse en situaciones no previstas, qué arquitectura permitirá mantenerla, qué riesgos introduce y cómo deberá evolucionar cuando cambien sus requisitos.

La democratización de la creación de software no debería entenderse como el final de la necesidad de aprender ingeniería de software. Mas bien puede ser lo contrario.

Cuando producir código deja de ser el principal cuello de botella, comprender qué código merece la pena producir, evaluar el que ha sido generado y ser capaz de mantenerlo adquiere más importancia.

El futuro de la creación de software no estará en elegir entre programar manualmente o delegar la programación en una inteligencia artificial. Más bien estará en utilizar la inteligencia artificial para elevar progresivamente el nivel de abstracción al que trabajan las personas sin renunciar al conocimiento necesario para comprender aquello que están construyendo.

La herramienta puede escribir cada vez más código pero la responsabilidad de entender el sistema continúa siendo humana.

La inteligencia artificial como aliada para los programadores ciegos

La inteligencia artificial está transformando la forma en que se desarrolla el software. Desde hace unos años, el auge de los modelos de lenguaje y de las herramientas de autocompletado inteligente ha abierto nuevas posibilidades que van mucho más allá de la simple ayuda para escribir código más rápido.

Para una persona ciega que se dedica a programar, estas tecnologías representan no solo un aumento de productividad, sino un refuerzo de autonomía y acceso a recursos que antes resultaban más costosos de alcanzar.

Uno de los ámbitos donde la IA muestra mayor potencial es en la asistencia al escribir código. Los asistentes de programación, integrados ya en entornos como Visual Studio Code, Xcode o Android Studio, permiten recibir sugerencias de código completas que se adaptan al contexto de lo que se está escribiendo. Esto reduce el tiempo invertido en consultar la documentación del lenguaje y la plataforma así como el esfuerzo extra en la memorización de esta información.

La Inteligencia artificial también está entrando en el terreno de la depuración de código. Existen herramientas capaces de analizar un bloque de código y proponer explicaciones de por qué falla una prueba, dónde puede estar el error lógico o qué cambios podrían mejorar su rendimiento. Para un programador ciego, este acompañamiento supone un ahorro de tiempo, pero también un refuerzo pedagógico. Además, en muchos casos, las herramientas de depuración habituales resultan inaccesibles para las personas ciegas por problemas de accesibilidad en estas herramientas de depuración. Poder obtener una idea o una explicación de por qué está fallando algo puede ayudar al proceso de depuración de bloques de código.

La documentación es otro frente donde la inteligencia artificial está marcando la diferencia. Generar comentarios, crear documentación técnica a partir de funciones o clases, traducir explicaciones a varios idiomas o resumir artículos largos son tareas que, integradas en el flujo de desarrollo, facilitan la comunicación con otros equipos y el mantenimiento de los proyectos.

Falta de accesibilidad en la Inteligencia artificial

Aunque la aparición de estas herramientas, aparentemente, impliquen beneficios para todos los programadores, en realidad estas herramientas presentan un problema común para mucho del software utilizado para trabajar. Este problema es la falta de accesibilidad. En muchos casos estas herramientas integradas en los entornos de desarrollo utilizan componentes visuales o un lenguaje visual que resulta inaccesible para lectores de pantalla o, en otros casos, no existe la posibilidad de controlar las funciones de estas herramientas de autocompletado de código desde el teclado. Esto hará que el catálogo de entornos de desarrollo disponible para las personas ciegas se reduzca ya que, en un futuro, no sólo se tendrá que observar si el editor de código o los botones del entorno de desarrollo son accesibles, también se deberá observar si la forma en que el asistente de autocompletado de código es accesible.

En muchos casos, poco a poco, gracias al feedback de los programadores ciegos que notifican a los responsables de estos entornos de desarrollo de los problemas de accesibilidad, las herramientas de autocompletado van siendo un poco más accesible cada día. El problema es el de siempre: pocos programadores ciegos reportan y ayudan a hacer más accesibles los entornos de desarrollo y las herramientas que los acompañan.

La solución está en la personalización

La capacidad de muchas herramientas de poder personalizar distintos aspectos visuales y comportamientos permiten superar, en muchos casos, la falta de accesibilidad de estas herramientas. Poder asignar un atajo de teclado a una función de la herramienta de autocompletado o personalizar los colores de la pantalla de visualización para que las funciones de OCR del lector de pantallas puedan identificar cual es la zona del editor y cual es la zona de la recomendación facilita la identificación de estos elementos.

En cualquier caso estos son parches para la falta de una accesibilidad plena y completa en estas herramientas. Los programadores ciegos debemos seguir aportando feedback y reclamando accesibilidad para estos elementos del desarrollo de software.

El futuro para la programación

No debemos olvidar que la IA no sustituye la necesidad de criterio propio. La dependencia excesiva de las sugerencias puede llevar a errores invisibles, y la accesibilidad de estas herramientas aún tiene un largo camino por recorrer. Las interfaces gráficas, los atajos de teclado mal diseñados o la falta de descripciones adecuadas en los resultados pueden generar barreras nuevas. Por eso, la adopción de la IA debe ir acompañada de una mirada crítica y de una exigencia a los proveedores de que sus soluciones sean inclusivas desde el diseño.

Además, muchas de las soluciones propuestas para el código no incluyen atributos o elementos de accesibilidad. Sería muy irónico que un programador ciego desarrollase interfaces de usuario con problemas de accesibilidad por limitar su trabajo a copiar el código propuesto por una Inteligencia artificial sin prestar ni revisar el código propuesto por la herramienta.

Nueva generación de herramientas automáticas de validación de la accesibilidad gracias a la inteligencia artificial

Las herramientas automáticas para la validación de barreras de accesibilidad, aunque conocidas sus limitaciones, son indispensables para las personas que diseñan y desarrollan interfaces digitales. Es conocido que la mayoría de estas barreras sólo pueden evaluar menos del 40% de los criterios de éxito de WCAG y que, en su evaluación, tampoco hay una precisión demasiado elevada.

La Inteligencia Artificial al rescate

Gracias a los últimos avances en la creación de modelos expertos con IA hay empresas como Evinced, que apuestan por el desarrollo de mejores herramientas, hoy podemos decir que tenemos a nuestra disposición la siguiente generación de las herramientas automáticas para la validación de la accesibilidad.

En algunos casos la mejora parece bastante evidente como sucede con Site scanner, una herramienta para analizar las barreras de accesibilidad en un sitio web de forma global ofreciendo resultados agrupados por componentes o incluso zonas que requieran de un usuario y contraseña. Lo interesante de esta herramienta es que, según sus creadores, pueden validar el 80% de los criterios de éxito y los resultados son más fiables. Por ejemplo, que una imagen tenga una cadena de texto ya no es suficiente para validar ese criterio de éxito, la descripción también debe ser algo comprensible y no el nombre del fichero del archivo de imagen.

Otra diferencia importante es que pueden analizar el contenido y la funcionalidad del renderizado del DOM (Document Object Model) por lo que algunos problemas de accesibilidad no visibles para Wave o AXE debido al uso de ReactJS o Angular si son detectados por esta nueva generación de herramientas.

La accesibilidad no sólo es Web

Las Web Content Accessibility Guidelines (WCAG) también se aplican a las aplicaciones de los smartphones pero las herramientas de automatización de experiencias son pocas y casi ninguna incluye alguna herramienta de validación de la accesibilidad de forma fiable ya que, en muchos casos, el acceso al dispositivo móvil se realiza mediante capturas de pantalla, perdiendo el acceso a la capa semántica de las aplicaciones móviles.

  El Automation SDK de Evinced se integra con los tests automatizados de Selenium, Cypress, Playwright, XCUITest o Appium para dar ese extra para poder evaluar las posibles barreras de accesibilidad en una web o una app móvil.

Accesibilidad desde el diseño

Los diseñadores de contenidos o de experiencia de usuario, en muchos casos, utilizan aplicaciones como Figma para hacer ese diseño de experiencia de una web o una app móvil. Aunque este tipo de herramienta ofrecen algunos plugins relacionados con la accesibilidad, todos ellos son de ejecución manual y, cuando el frame de diseño de un proyecto es demasiado grande, hay muchas posibilidades de que haya componentes o flujos que se hayan quedado sin evaluar.

Con el plugin de Design Assistant para Figma se promete una evaluación automatizada de todos los elementos del proyecto y aplicando los evaluadores mejorados con IA se ofrece la detección y corrección de problemas de contraste de color, problemas de foco y zonas táctiles, flujos ARIA y otras validaciones de criterios de éxito de WCAG.

Además este plugin ofrece la posibilidad de incluir notas para los desarrolladores para que durante la implementación del diseño se incluyan las soluciones a las barreras de accesibilidad y ejemplos para diseñar tests unitarios.

Los desarrolladores también tienen más herramientas

Las herramientas de desarrollo de Google Chrome pueden mejorarse gracias a Debugger, una extensión para este navegador que usando IA mejora la detección de errores de contraste de color o de navegación por teclado y también mejora la detección de problemas con etiquetas de accesibilidad. Además proporciona ejemplos para solucionar los problemas detectados.

En el apartado para el CI/CD (Integración continua y distribución continua) Evinced ofrece Unit Tester, una herramienta automática para crear tests para la validación de criterios de éxito WCAG 2.1 nivel AA para problemas de roles, teclado y lectores de pantalla.

Se puede integrar de forma sencilla en los pipelines de Jenkins, Travis o CircleCI.

Conclusiones y realidades

Esta empresa ofrece otras herramientas para el apoyo de diseñadores, testers, desarrolladores y analistas. Todo enfocado en la detección y solución de barreras de accesibilidad.

Como con cualquier solución automática, no reemplaza la evaluación manual ni pruebas con usuarios reales con discapacidad. La experiencia final de un usuario es la única prueba que validará la accesibilidad al 100%. Estas herramientas ayudan a los profesionales a poder mejorar su trabajo y, de forma voluntaria o involuntaria, hacer que todo sea más accesible.

El desconocimiento de la accesibilidad es el primer problema que tiene el mundo de la accesibilidad digital. Muchos profesionales del diseño o el desarrollo usan sus herramientas de trabajo sin molestarse en comprender que hay elementos técnicos que se salen de su tecnología de trabajo. Gracias a estas herramientas esos profesionales tienen un contacto con la accesibilidad de forma más cómoda, guiada y no les exige un esfuerzo inicial de aprendizaje. Lo toman como algo a solucionar en su trabajo y siguen los consejos e indicaciones de la IA para solucionar ese problema de accesibilidad.

Estas herramientas siguen en desarrollo y están abiertas a mejora ya que todavía hay casos complejos de accesibilidad que la IA no sabe resolver. Además, por ahora, sólo se da soporte para contenidos en inglés.

Lo interesante de este conjunto de herramientas es que el enfoque se aplica a todos los sectores relacionados con un proyecto web o una app móvil. La responsabilidad de la accesibilidad no recae en un único profesional. Con estas herramientas todos los profesionales, desde el diseñador al desarrollador y el tester tienen contacto con la accesibilidad. Esto maximiza la posibilidad de que la mayor cantidad posible de barreras de accesibilidad sean detectadas y solucionadas antes de que el producto sea puesto a disposición de los usuarios. Un enfoque interesante y muy alineado con el concepto de que la accesibilidad debe aplicarse a todas las etapas de un proyecto.

Esperemos que pronto veamos que este tipo de herramientas automáticas mejoran el trabajo de muchos profesionales y facilitan que la accesibilidad sea parte real de los proyectos.

¿Cómo enviar informes de error y sugerencias de Ray-ban Meta para mejorar su uso?

Las gafas inteligentes Meta Ray-ban se han convertido en un dispositivo de asistencia para personas ciegas. Aunque el dispositivo no se ha diseñado como producto de asistencia para personas con discapacidad resulta de utilidad el poder utilizar los micrófonos y la cámara junto con la inteligencia artificial que proporciona Meta a este dispositivo para que una persona ciega pueda resolver situaciones o dudas visuales consultando qué hay delante de la persona que está utilizando estas gafas inteligentes.

Aunque este tipo de utilidad utilizando Inteligencia Artificial ya está disponible utilizando un teléfono Android o un iPhone la posibilidad de tener las dos manos libres y utilizar comandos de voz de forma rápida hacen que el uso de unas gafas inteligentes con cámara sean un buen candidato de producto de apoyo para personas ciegas.

Fronteras lingüísticas y comerciales

Aunque estas gafas están a la venta en varios países e incluso se pueden adquirir a través de la tienda on-line de Ray-ban el acceso a los servicios de Inteligencia artificial de Meta no está en todos los países. A fecha de Junio de 2024 el servicio de Meta-AI sólo está disponible para Estados Unidos de America y Canadá.

Además, aunque podemos solicitar mediante comandos de voz que nos hable la respuesta a la consulta que le hagamos en el idioma de nuestra preferencia si hay que indicar que todas las preguntas y las funciones de dictado de mensajes o consulta de contactos se realizan con soporte en inglés y parcialmente en francés o italiano. 

Conexión a Internet a través de nuestro teléfono

Las Meta Ray-ban necesitan de conexión a Internet tanto para compartir los videos y fotografías así como para acceder a la inteligencia artificial de Meta. Para ello es necesario instalar la app Meta view en el teléfono.

Enviando informes de error y sugerencias

Una vez nos hayamos registrado en la aplicación Meta View podemos utilizar el servicio de ayuda incorporado en esta aplicación para acceder al formulario de ayuda.

Para ello, una vez abierta la aplicación Meta view debemos ir a la sección de Configuración, cuyo botón está situado en la parte inferior derecha de la pantalla.

Tras acceder a la sección de configuración deberemos deslizar la pantalla hacia abajo (con tres dedos de abajo a arriba si utilizamos VoiceOver) para que se listen todas las opciones disponibles en la sección de configuración.

Dentro de estas opciones encontraremos la opción Ayuda y asistencia, y dentro de este menú de ayuda podemos acceder al formulario mediante la opción Informar de un problema.

Al entrar en esta opción nos ofrece distintas categorías para notificar un error o enviar una sugerencia. Por ejemplo, para solicitar que mejoren la accesibilidad de la aplicación Meta view habría que elegir la categoría Meta view. Para notificar un problema de comportamiento de las gafas habría que seleccionar la categoría Hardware de las gafas y para enviar sugerencias para que incluyan el español o que ofrezcan Meta-AI en Europa o America Latina habría que elegir la categoría Otras.

Dependiendo de la categoría seleccionada se nos ofrecerán distintas opciones. Por ejemplo, si queremos solicitar que las Ray-ban Meta soporten los comandos en español habría que elegir la categoría Otras y seleccionar la opción Solicitud de función.

Los usuarios podemos mejorar un producto

Aunque Meta tiene su hoja de ruta para mejorar este producto y los servicios que lo acompañan los usuarios del producto podemos enviar informes de error y sugerencias para que, por ejemplo, el producto vaya mejorando a nuestra satisfacción. Por ejemplo, solicitando que se incluya el español entre las opciones para hablar y escuchar a las gafas, que mejoren la accesibilidad de la aplicación o que se pueda personalizar el botón de tomar fotografía para otra opción más útil para una persona ciega o con otro perfil. Siempre es recomendable hacer el informe de error de forma apropiada y explicar lo mejor posible la sugerencia y quienes se benefician con esa nueva característica.

Meta y Ray-ban han creado un producto útil para muchas personas pero los usuarios podemos hacer que el producto sea aún más útil.

Riffusion crea música de forma artificial

En la actualidad hay varios servicios de creación de imágenes utilizando inteligencia artificial. Estos servicios consisten en la creación de una imagen a partir de un texto introducido por el usuario.

Muchos de estos servicios como DallE-2 o StableDiffusion ofrecen resultados tan sorprendentes que han ganado algunas competiciones de arte digital sin que el jurado lo supiese.

De la imagen al sonido

Un grupo de ingenieros que colaboraron en StableDiffusion han dado el siguiente paso utilizando el mismo motor de inteligencia artifical para enseñarle a generar música. De este esfuerzo nace Riffusion.

Actualmente esta inteligencia artifical crea 5 segundos de música a partir de un texto introducido por el usuario. Su sistema de gestión de azar le permite ir generando nuevos bloques de 5 segundos introduciendo pequeñas modificaciones para que la música no resulte monótona e incluso realice transiciones a las nuevas frases introducidas por el usuario para que la música que se está creando evolucione a otras melodías de forma progresiva.

Escuchando los resultados obtenidos en esta primera versión de Riffusion y observando la evolución de sus hermanos a la hora de generar imágenes y vídeos esto hace pensar que estas nuevas inteligencias artificales para la generación de música tendrán una pronta progresión en calidad y en variedad.

Puedes colaborar con este proyecto desde el repositorio de Riffusion en Github..