Virtualiza cualquier sistema operativo en tu Mac gracias a UTM

La virtualización de un sistema operativo sobre otro es una posibilidad para dar la oportunidad al usuario a utilizar lo más apropiado en cada momento permitiendo a una persona poder usar Safari en MacOS mientras edita un documento en Microsoft Word en Windows 10 en una misma máquina. Hemos hablado de estas posibilidades en el artículo de convivencia de Windows y MacOS en hardware de apple.

Aunque en MacOS ya existían soluciones para virtualizar sistemas operativos sobre MacOS con la llegada de los nuevos procesadores Apple M1 estas soluciones dejaron de ser eficientes o totalmente incompatibles.

Tanto VMWare fusion como el proyecto VirtualBox sólo pueden ejecutarse, por ahora, en procesadores X86 y X64 por lo que no puede funcionar en procesadores Apple M1. La solución de Parallels ofrece una solución compatible con procesadores Apple M1 pero su falta de accesibilidad lo hacen incompatible con los usuarios con discapacidad.

Fue la propia Apple quien ofreció una solución para poder ejecutar de forma virtual sistemas operativos de tipo ARM64 sobre sus nuevos procesadores. Esta tecnología se conoce como Hypervisor Virtualization Framework.

El Open source al rescate

Gracias a esta tecnología de Hypervisor Virtualization Framework la comunidad de desarrolladores de software para MacOS pudo crear el proyecto UTM.

UTM es una solución software para ejecutar distintos sistemas operativos sobre hardware Mac. Aunque oficialmente puede trabajar con sistemas operativos ARM64 también se pueden instalar versiones para procesadores PPC, ARM32, X86 y X64.

Apoyo al proyecto

Aunque UTM se puede descargar gratuitamente de la página del proyecto UTM también podemos descargar UTM de la MacAppStore por un precio de 10 euros.

Descargar la aplicación de la MacAppStore nos da la tranquilidad de tener todas las actualizaciones de forma automática y cómoda sin necesidad de volver a instalar nada.

Accesibilidad de UTM

A diferencia del proyecto VirtualBox y Parallels la interfaz gráfica de usuario que presenta UTM es nativa de MacOS y resulta totalmente accesible con VoiceOver y otros productos de apoyo.

Instalación de un sistema operativo

Con UTM es sencillo crear una nueva máquina virtual. Simplemente utilizamos la opción de crear una nueva máquina virtual, indicamos el tipo de sistema operativo, asignamos memoria RAM, número de núcleos del procesador a virtualizar, espacio en disco duro y, una vez creada, podemos configurar una unidad de CD/DVD virtual que apunte a un fichero en formato ISO o crear una carpeta compartida entre el sistema operativo anfitrión y el virtualizado para poder compartir ficheros.

Tras esta configuración procedemos a ejecutar la máquina para instalar el sistema operativo utilizando tanto video con una resolución suficiente como acceso a la tarjeta de sonido.

Drivers para el hardware gracias también a UTM

El propio proyecto UTM nos proporciona la posibilidad de descargar un paquete de instalación de drivers para el hardware virtualizado por UTM para tener un correcto acceso a servicios de red, multimedia, carpetas compartidas y puertos USB.

Este paquete se conoce como Spice guest tools and Qemu drivers y se pueden encontrar en la página de soporte de UTM.

Galería de instalaciones para hacerlo aún más fácil

UTM nos ofrece una galería de máquinas predefinidas para Linux y Windows donde se nos ofrecen descargas e instrucciones para completar con éxito la instalación de una de estas máquinas.

Accesibilidad en la instalación

En cuanto a la accesibilidad del proceso con las funciones de lectura de imágenes de VoiceOver podemos llegar a leer las pantallas de arranque aunque el momento más crítico es cuando el arranque de la máquina nos pide que pulsemos una tecla para arrancar desde la unidad CD/DVD que es donde se aloja virtualmente el fichero ISO con el instalador del sistema operativo.

El resto de la interfaz de UTM es totalmente compatible con la accesibilidad de MacOS.

Cómo ejecutar un script de AppleScript desde Swift

Aunque lenguajes de programación como Swift, Objective-C o Java nos permiten crear aplicaciones para Mac potentes y rápidas a veces hay funciones que AppleScript si puede hacer y otros lenguajes para Mac no pueden.

Un ejemplo de algo que AppleScript puede hacer con facilidad es consultar el estado y modificar el comportamiento de otra aplicación. Esto se debe a que muchas aplicaciones de MacOS incluyen librerías y diccionarios de soporte de AppleScript para que el propio sistema operativo pueda entablar comunicaciones con las aplicaciones.

Dentro de una aplicación podemos mezclar lenguajes de programación para conseguir los beneficios de todos ellos. Por ejemplo, crear un script en Swift que ejecute un script de AppleScript para manipular una aplicación.

Continuar leyendo «Cómo ejecutar un script de AppleScript desde Swift»

Participación en TerritoriMac sobre evento de educación de Apple en Abril de 2018

Tras el evento sobre educación realizado por Apple el pasado abril todos los medios de noticias sobre tecnología se hicieron eco de las novedades de la compaña de la manzana para los colegios.

El portal Territorimac también ha aportado su visión del evento en su nuevo formato de vídeo.

En esta nueva etapa en Territorimac se invita a diversos expertos y profesionales para aportar opinión e información sobre un tema y crear un vídeo con toda la información para ser difundido a través del canal de Territorimac en Youtube

Para esta ocasión fui invitado para aportar información sobre las implicaciones del evento en cuanto a accesibilidad de los productos de Apple.

Puedes ver el vídeo sobre Opinión del iPad 2018 con Apple Pencil en el canal de Youtube de Territorimac

Queremos ser más que clientes, queremos xCode accesible

Apple, al igual que otras grandes empresas de tecnología, está trabajando desde hace años en incluir características de accesibilidad en sus productos porque han comprendido que las personas con discapacidad pueden ser buenos clientes. Este enfoque empresarial beneficia a la mayoría de las personas pero en algunos casos es insuficiente: las personas con discapacidad además de clientes queremos ser trabajadores, creadores, colaboradores y apple, al igual que estas otras grandes empresas tecnológicas, no ven a las personas con discapacidad como personas que puedan trabajar en tecnología ya que las herramientas para desarrollo software, diseño y gestión de proyectos u otras herramientas y aplicaciones relacionadas con el trabajo del software no incluyen tantas características de accesibilidad como otras aplicaciones publicadas por estas empresas.

Colaborando para mejorar

Siempre he considerado que para conseguir algo es mejor comenzar a trabajar en ello que no lamentarse y hacer una pataleta. Si hay que quejarse, pedir algo o contribuir comunicando la realidad de este mundo de personas con diversidad es necesario utilizar los canales apropiados para que nuestras palabras y nuestras intenciones consigan el mejor resultado. Por esta razón he enviado a la dirección de eMail de Apple para temas de accesibilidad (accessibility@apple.com) un texto en inglés pidiendo que hagan xCode, su herramienta de desarrollo para crear aplicaciones para MacOS e iOS, accesible para todos para que todos podamos ser clientes y trabajadores.

Creo que una de las razones por las que hay tal escasez de aplicaciones accesibles es porque hay muy pocos desarrolladores con discapacidad ya que no hay herramientas accesibles para ser desarrollador

El texto que he enviado a Apple es el siguiente:

Hello Apple Accessibility Team,

I know that xCode, the development tool for apple developers, has many accessibility barriers.

Blind developers cannot design interfaces for MacOS and iOS apps because the Interface Builder tool is not compatible with VoiceOver and other assistive tools.

There are few developers with disabilities because the developers’ tools are not fully accessible.

I think Apple should consider people with disabilities clients and workers as well. A person with any disability can buy any product, but he cannot work because there are not any accessible tools to work with.

Xcode offers developers some tools in order to make interfaces accessible, but xCode doesn’t offer developers with disabilities an accessible way to work with xCode itself.

In conclusion, I want Apple to create an accessible development tool for everybody. I want an accessible xCode.

Un amigo me pidió que compartiese este texto porque también quiere participar para que Apple ofrezca más oportunidades a sus clientes así que aquí está el texto. Si tu también quieres participar puedes obtener este texto en formato txt y enviarlo en un correo electrónico a accessibility@apple.com.

Esto no pasaba con Jobs

Hoy, 5 de octubre, es el aniversario de la muerte de Steve Jobs. Algunos lo identificaban como un genio y un visionario, otros como un loco o un tirano. Quizás todos esos adjetivos sean aplicable a su persona pero en este artículo intentaré exponer una realidad tras su falta: Apple ha dejado de ser tan perfeccionista como lo era antes.

Personalmente opino que gran parte del brillo con el que se rodea a la figura de Jobs pertenece a su genial equipo humano: desarrolladores, diseñadores, analistas, psicólogos y demás profesionales que interpretaban las palabras y deseos de Jobs para crear productos de alta calidad con muy buena experiencia de usuario.

Publicación de iOS6 con errores reportados

Apple suele ofrecer a los desarrolladores una versión previa y en desarrollo del futuro sistema operativo para que vayan adaptando sus aplicaciones y, además reporten los errores y anomalías encontradas. Para esta última tarea los desarrolladores utilizan el portal de Apple bug report en el cual el desarrollador rellena una ficha técnica del error especificando los pasos para reproducir el error, los resultados obtenidos y los resultados esperados. Con esta información los ingenieros de Apple solucionan aquellos fallos reportados en el sistema.

Cuando salió la beta 4 de iOS6 muchos desarrolladores esperamos que fuese el último empujón para que resolviesen los errores reportados. Pues Apple reparó lo que pudo hasta la fecha y el día de publicación se respetó. Steve Jobs retrasó el lanzamiento de varios productos porque consideró que no estaban lo suficientemente pulidos. Ahora Apple cumple las fechas porque el mercado las impone.

Carencias en accesibilidad

La accesibilidad de iOS6 también ha sufrido esta nueva filosofía de Apple de publicar cuando toque esté como esté el producto.

Más de 40 errores reportados han quedado sin solución en esta versión 6.0 del sistema operativo para dispositivos móviles de Apple.

Servicios publicados con errores

Junto a la publicación de iOS6 han aparecido nuevos servicios para el sistema, como la aplicación de mapas, o nuevas versiones de los servicios, como Siri. Estos servicios han sido publicados con errores en sus datos, como sucede con mapas, o con funcionalidad limitada, como sucede con Siri.

En el caso de Siri gran parte de esta limitación se origina a la falta de catalogación de servicios de restauración, hostelería y ocio en España y otros países de habla hispana pero otras limitaciones se debe a que Apple no ha traducido por completo el módulo de comprensión del lenguaje el cual permite mantener una conversación más o menos coherente con Siri.

Maltrato a los desarrolladores

A la hora de salir un nuevo dispositivo de Apple se suele notificar con suficiente antelación a los desarrolladores para que adapten sus aplicaciones a las nuevas características del dispositivo. Con la aparición del iPhone 5 los desarrolladores sólo tuvimos a nuestra disposición las herramientas y documentación necesaria una semana antes de su venta al público. Algunos defensores de Apple indican que esto ha sido por motivos de seguridad para evitar filtrar el nuevo dispositivo. Se ha demostrado que el torturar a los desarrolladores limitando su tiempo de adaptación al nuevo formato no evita que se hable del futuro dispositivo semanas antes debido a que la seguridad falla en las fábricas donde se ensambla el dispositivo o en otros eslabones de la cadena.

La Apple sin Jobs

Este primer año sin Steve Jobs para Apple y la gente que estamos relacionados con ella está siendo un poco frenético por los cambios tanto dentro de Apple como en el mercado global. Apple está empezando a cometer los mismos errores que cometió Microsoft en su día: sacar el producto en la fecha y luego se repara, los desarrolladores están ahí para nuestra plataforma y el mercado manda.

Pero gran parte del actual éxito de Apple se debe a los usuarios y desarrolladores que utilizamos sus productos, trabajamos con y para sus plataformas y pensamos que la experiencia de usuario es satisfactoria frente a otras posibilidades. Debemos comunicar a Apple que deben cambiar el rumbo y volver a seguir la filosofía de perfección, mejora de la experiencia del usuario y filosofía de trato al cliente y al desarrollador. Podemos reportar los errores, en inglés al departamento de accesibilidad de Apple o utilizar el teléfono de atención al cliente de Apple en nuestro país para transmitir nuestras quejas y sugerencias.

Si queremos que Apple siga en el rumbo que dejó Jobs y su equipo debemos hacernos oir ya que, aparentemente, ahora Apple está controlada por accionistas y el mercado.

Cómo añadir cuentas de Twitter y Facebook en Mountain Lion

Una de las nuevas características de OSX Mountain Lion es la posibilidad de añadir nuestras cuentas de redes sociales al sistema. De esta forma podremos recibir notificaciones de eventos de las redes sociales en las que participemos.

Con la primera versión de OSX Mountain Lion sólo era posible incluir nuestro perfil de Twitter pero con la actualización 10.8.2 ahora también podemos agregar nuestra cuenta de Facebook.

Añadiendo nuestra cuenta en el sistema

Para añadir nuestra cuenta de redes sociales en nuestro equipo OSX debemos ir, como sucede en otras cuentas del sistema, a preferencias del sistema / correo, contactos y calendarios. En este panel de preferencias del sistema se configuran las cuentas que se utilizan con Mail, Contactos, Calendario, Mensajes y otras aplicaciones.

Al abrir este panel encontraremos una tabla denominada cuentas de Internet en la que se listarán todas las cuentas de servicios que utilicen conexión a Internet: correo electrónico, mensajería instantánea, redes sociales, etc.

Seleccionando una de las cuentas podremos ver qué aplicaciones utilizan esta configuración. Para ello encontraremos más abajo una tabla denominada Aplicaciones. Podemos dar acceso o restringir el acceso a ciertas aplicaciones verificando o desverificando la aplicación en esta tabla.

En el panel encontraremos un par de botones para añadir o eliminar una cuenta de Internet. Al pulsar el botón de añadir, cerca de la tabla de cuentas de Internet aparecerá una nueva tabla identificada como nuevos tipos de cuenta. Dentro de esta tabla seleccionaremos el tipo de servicio asociado a nuestra nueva cuenta. Los valores posibles son: cuentas de correo Exchange, Gmail e iCloud; cuentas de redes sociales como Twitter o Facebook; servicios de publicación multimedia como Vimeo o Flickr y más opciones que se irán añadiendo con futuras actualizaciones del sistema.

Debemos pulsar sobre el tipo de cuenta que queramos añadir al sistema. Cuando lo hagamos nos aparecerá un cuadro de diálogo pidiendo que iniciemos sesión en el servicio. Una vez iniciada la sesión de forma correcta la nueva cuenta estará registrada en nuestro sistema.

Personalizando algunos parámetros de nuestras cuentas

Una vez configuradas nuestras cuentas de Internet podemos seleccionarlas en la tabla de cuentas de internet. Al seleccionar una de las cuentas, más abajo, nos aparecerá información para su personalización como el nombre de la cuenta, usuario y contraseña y algunos valores relacionados con el tipo de servicio. Por ejemplo, en una cuenta de Twitter nos permite buscar nuestros contactos en esta red social y sincronizar nuestra agenda de contactos del sistema.

Notificaciones de cada cuenta

Las notificaciones de cada cuenta o servicio agregado se gestionan en el centro de notificaciones de Mountain Lion. En un futuro artículo hablaremos de este centro de notificaciones.