Cómo convertir una extensión de Chrome a Safari

Las extensiones de un navegador web es un pequeño programa que permite ampliar la funcionalidad de nuestro navegador para mejorar nuestra experiencia cuando utilizamos la World Wide Web.

Aunque actualmente todas las extensiones de navegador se crean utilizando HTML, CSS y Javascript si es cierto que no hay una compatibilidad completa entre los navegadores y sus extensiones ya que cada navegador ofrece librerías internas distintas para sus extensiones.

Por suerte para nosotros Apple ha proporcionado herramientas para convertir extensiones de Google Chrome para hacerlas compatibles con Safari, el navegador de Apple.

Primeros pasos

En primer lugar esta conversión de extensiones de navegador sólo se puede realizar en equipos que estén ejecutando MacOS 10.15 Catalina o superior. Además debemos tener instalado en nuestro equipo Mac el entorno de desarrollo XCode en su versión 12 o superior. Podemos encontrar XCode en la MacAppStore.

Obteniendo el código de la extensión de Chrome

Una vez tengamos nuestro equipo con MacOS preparado debemos obtener el código fuente de la extensión que queramos convertir. Para obtener el código de una extensión debemos descargarla en formato zip. Podemos seguir las instrucciones de este artículo sobre cómo descargar extensiones de Chrome.

Preparando el proyecto para XCode

Una vez tengamos el fichero ZIP con el código de la extensión debemos descomprimirlo en una carpeta con ruta conocida ya que necesitaremos esa ruta para preparar el proyecto para XCode.

Una vez conocida la ruta debemos abrir la Terminal de Mac y ejecutar el siguiente comando de Terminal indicando la ruta a la carpeta descomprimida previamente:

xcrun safari-web-extension-converter ruta_a_la_carpeta_descomprimida_de_la_extensión

Tras introducir el comando y esperar unos segundos debemos pulsar la tecla ENTER para continuar el proceso.

Tras terminar el proceso se abrirá Xcode con el proyecto para compilar la extensión para Safari. Pulsando el botón de Run se procederá a su compilación.

Una vez compilado y ejecutado el sistema nos pedirá permisos para poder configurar Safari con la extensión.

Si no poseemos un perfil de desarrollador de Apple deberemos activar la opción de Permitir extensiones no firmadas del menú de Desarrollo de Safari para poder ejecutar la extensión sin problemas.

Cómo descargar extensiones de Chrome

El navegador web Chrome, al igual que hace Firefox, utiliza extensiones para ampliar la funcionalidad que nos ofrece este navegador web a los usuarios.

Estas extensiones están programadas con tecnologías propias de aplicaciones Web como son HTML, CSS y Javascript.

Dentro de las distintas posibilidades que nos ofrecen las extensiones de Chrome son las de utilizar Chat GPT, gestionar mejor las descargas, realizar evaluaciones automáticas de accesibilidad o descargar elementos que no se pueden descargar de forma sencilla.

La extensión CRX Extractor

Una de estas tareas de descargar que no se pueden hacer de forma sencilla es la de descargar extensiones de Chrome desde su tienda de extensiones y la solución pasa por utilizar una utilidad en forma de extensión para poder descargarla.

Lo primero que debemos hacer es desde Chrome instalar la extensión CRX Extractor desde la Store de extensiones de Chrome.

Una vez instalada la utilidad y tras haberla activado podemos utilizarla mientras examinamos otra extensión en la Store de Chrome.

Esta utilidad nos permite descargar una extensión en formato CRX (propio de Chrome) o en formato ZIP para poder examinar cómo está construida la extensión.

Reconocimiento a toda una vida Tecnológico Social

El 22 de mayo de 2023 la Fundación Tecnología social (FUNTESO) realizó un evento en el Campus Sur de la Universidad Politécnica de Madrid donde se entregaron varios premios y reconocimientos. Entre ellos me entregaron el premio a toda una vida Tecnológico Social reconociendo mi labor y mi dedicación por un trabajo continuo a favor de la tecnología responsable como herramienta para alcanzar una sociedad realmente inclusiva.

Jonathan dando un discurso agradeciendo el premio

Aunque todavía quedan años para mi jubilación e incluso cuando llegue a esa etapa dudo que desaparezca mi interés por la tecnología responsable si he de confesar que este reconocimiento me ha permitido hacer un ejercicio de retrospección personal y observar estos casi 30 años de mi vida como persona con discapacidad visual y como persona implicada en el mundo de la accesibilidad. Una vida en la que he estado investigando, desarrollando y diseñando productos y servicios buscando siempre el máximo nivel de inclusión y accesibilidad y también divulgando hechos evidentes pero que aún siguen siendo desconocidos para muchas personas como el hecho de que la discapacidad afecta a todo el mundo y que la tecnología debe adaptarse a las personas y no obligar a las personas a tener que adaptarse a la tecnología.

Toda mi carrera profesional, desde mis comienzos como desarrollador freelance o como consultor de accesibilidad en ILUNION hasta mi actual labor como accessibility lead en Cabify, siempre ha estado relacionada por alcanzar la accesibilidad universal rompiendo los límites de la tecnología para ayudar a las personas a superar barreras físicas, sensoriales, cognitivas y sociales. 

Incluso antes de experimentar mi proceso de ceguera ya hice algunas incursiones en el mundo de los productos de apoyo con ordenadores de 8 y 16 bits jugando con síntesis de voz o esquemas de personalización para personalizar tamaños y colores de pantallas en aquellas primeras interfaces gráficas de usuario de finales de los 80 y principios de los 90 del siglo pasado. Por lo que al final creo que son más de treinta años dedicados a la tecnología social.

Gracias por este reconocimiento y gracias por ayudarme a entender que aunque este camino largo que emprendí hace muchos años y que muchas veces es frustrante debido a que siempre hay barreras de accesibilidad tecnológicas, sociales, físicas y económicas si he comprendido que la tecnología cada vez es más social y la accesibilidad progresa poco a poco pero no se estanca.

Jonathan junto a Celia y Rafa en el evento de FUNTESO

¿Quién es FUNTESO?

FUNTESO, Fundación Tecnología Social, Tecnología para la Vida tiene dentro de sus objetivos el Informar, divulgar y proyectar el uso de la tecnología centrada en la persona y el uso y el diseño de productos tecnológicos de forma responsable.

FUNTESO nace en 2008 como la primera Fundación de Tecnología Social en el mundo (no existen registros al menos conocidos o acreditados por la propia fundación) cuya finalidad es informar, divulgar y proyectar el uso de la tecnología, entendida como el conjunto de técnicas, habilidades, métodos y procesos utilizados en el desarrollo y/o la producción de bienes o servicios, o logros de objetivos de investigación destinados a solucionar, prever o mejorar distintos escenarios de impacto social.

Día Mundial para Promover la Concienciación sobre la Accesibilidad Web

Hoy, 18 de mayo, es el Día Mundial para Promover la Concienciación sobre la Accesibilidad Web.

A lo largo del día se realizarán multitud de eventos onLine como en el que participo de la Expo+Accesible.

En la web oficial del Global Accessibility Awareness Day se recoge más información sobre estos eventos.

En la web en castellano del Global Accessibility Awareness Day se recoge información en español.

Disponible remapeador de teclas para MacOS

Los teclados físicos disponibles en los equipos Macbook y Macbook pro no incluyen ciertas teclas que si posee un teclado expandido. En algunas ocasiones, como por ejemplo al acceder a una máquina virtual o utilizar un software técnico, puede que necesitemos la tecla control derecha o que la tecla comando izquierda se comporte de otra manera. La solución pasa por cambiar el mapa de valores de teclado de nuestro Mac.

En el artículo Cambia la tecla BlockMayus por otra en MacOS de forma rápida compartí una solución de un AppleScript para realizar un cambio específico para la tecla BlockMayus.

Ahora en el mismo repositorio de ChangeKeyboardForVM está disponible un segundo script llamado KeyboardRemapper que permite seleccionar la tecla a cambiar y por qué tecla se quiere cambiar ampliando las posibilidades de personalización de nuestro Macbook.

Mover las carpetas de sonido de GarageBand a un disco duro externo en Mac

En Mac hay aplicaciones que utilizan mucho espacio en disco y esto se vuelve un problema cuando nuestro equipo Mac empieza a tener espacio insuficiente.

MacOS nos permite crear enlaces entre carpetas para reconducir las peticiones de las aplicaciones y que nosotros podamos almacenar nuestras carpetas en el lugar más conveniente a nuestras necesidades como puede ser un disco duro externo.

Una de las aplicaciones que requieren mucho espacio en disco es GarageBand. Esta aplicación es un editor musical y requiere almacenar mucha información sobre sonidos e instrumentos llegando a ocupar más de 20Gb de memoria en disco.

Para dar solución a esta necesidad de espacio podemos adquirir un disco duro externo y mover allí los ficheros de GarageBand que puedan ser necesitados por esta aplicación de forma puntual.

Preparando nuestro disco externo

Si nuestro disco duro externo ya está correctamente formateado y asignado un nombre podemos continuar. De no ser así podemos realizar estas operaciones con la utilidad de discos que proporciona MacOS.

Para este artículo imaginemos que nuestro disco duro externo lo hemos llamado MiDisco.

Una vez formateado y nombrado el disco duro externo debemos crear una carpeta en la raíz de nuestro disco duro externo. Por ejemplo SoundLibrary.

Moviendo nuestras carpetas de GarageBand

Una vez creada nuestra carpeta SoundLibrary en nuestro disco duro externo debemos buscar las carpetas de GarageBand que almacenan esos archivos tan grandes.

En el menú Ir a de Finder debemos activar la opción Ordenador. También podemos hacerlo pulsando la combinación de teclas Comando+Mayúsculas+C en la ventana de Finder.

En la ventana de Finder nos aparecerá una vista de volúmenes y carpetas. Debemos explorar el volumen de nuestro equipo Mac que suele llamarse Macintosh HD.

Dentro de nuestro volumen principal está la carpeta Biblioteca y ahí están las carpetas de datos de las distintas aplicaciones y servicios de nuestro Mac.

Entrando en la carpeta Application Support encontraremos dos carpetas llamadas GarageBand y Logic. Copia estas carpetas de GarageBand y Logic dentro de la carpeta SoundLibrary del disco duro externo.

Volviendo a la carpeta Biblioteca encontramos la carpeta Audio. En su interior encontramos la carpeta Apple Loops. Copia la carpeta Apple Loops dentro de SoundLibrary del disco duro externo.

Ten en cuenta que el tiempo para copiar estas carpetas puede ser de varios minutos al tratarse de un número importante de ficheros de gran tamaño.

Una vez copiadas estas carpetas a tu disco duro externo puedes borrarlas del disco de tu Mac para dejar más espacio libre en el disco duro integrado en el equipo.

Enlazando los discos

Para que GarageBand pueda encontrar las nuevas carpetas sin necesidad de configurar nada en GarageBand utilizaremos una característica del sistema operativo llamado enlaces simbólicos. Con un enlace simbólico podemos hacer creer a una aplicación que está accediendo a una ruta de ficheros determinada pero la estamos reconduciendo a otra ruta.

Para crear los enlaces simbólicos debemos abrir la Terminal de MacOS. Puedes consultar este artículo sobre cómo utilizar la Terminal de MacOS con VoiceOver.

Una vez abierta la Terminal debemos activar el modo superusuario o administrador. Ejecuta el siguiente comando en la Terminal y luego introduce la contraseña de tu equipo:

sudo -s

Una vez introducida la contraseña podremos leer en nuestra Terminal algo como:

root@MacBookPro-miNombreDeUsuario ~ #

Esto indica que estamos ya utilizando el superusuario.

Ahora crearemos los enlaces simbólicos de cada una de las 3 carpetas que hemos movido. Se ha de recordar que para este artículo el disco duro externo se llama MiDisco y la carpeta que almacena en el disco duro externo las 3 carpetas de GarageBand se llama SoundLibrary.

Recuerda también que los comandos de la Terminal y las rutas de fichero son sensibles a espacios, mayúsculas y se deben evitar los caracteres acentuados. Presta mucha atención a la hora de escribir los comandos en la Terminal.

Primero enlazaremos la carpeta Apple Loops. Ejecuta en la Terminal el siguiente comando:

ln -s /Volumes/MiDisco/SoundLibrary/Apple\ Loops /Library/Audio/Apple\ Loops

A continuación haremos lo mismo con la carpeta GarageBand. Ejecuta el siguiente comando:

ln -s /Volumes/MiDisco/SoundLibrary/GarageBand /Library/Application \ Support/GarageBand

Y en tercer lugar enlazaremos la carpeta Logic con el siguiente comando:

ln -s /Volumes/MiDisco/SoundLibrary/Logic /Library/Application \ Support/Logic

Si volvemos a la carpeta Biblioteca con Finder y exploramos la carpeta Audio y Application Support encontraremos que los elementos Apple Loops, GarageBand y Logic se identifican como alias.

Una vez creados los enlaces simbólicos sólo queda reiniciar el equipo para que el sistema reconozca estos enlaces dentro del Finder.

GarageBand con más espacio de almacenamiento

Una vez reiniciado nuestro equipo Mac ahora podremos abrir GarageBand. Puede que nos aparezca un cuadro de diálogo pidiendo permiso para acceder a un disco extgerno. Una vez aceptado este permiso podremos disfrutar de GarageBand con mucho más espacio de almacenaje para sonidos.

Solución para otras aplicaciones

Esta solución de enlaces simbólicos a discos externos es válida para otras muchas aplicaciones que utilizan carpetas en las que se almacenan archivos de gran tamaño. Aplicaciones como Android Studio, XCode, Parallels, VmWare o Imovie pueden beneficiarse de un disco duro externo.