App Nap en Mojave vs Big Sur

Minientrada

El otro día enchufé mi ordenador portátil después de tenerlo dos días desconectado de la corriente pero encendido y en modo suspensión. La batería estaba al 95% de carga. Es curioso porque antes del downgrade, durante los meses en los que usé Big Sur, la batería se me descargaba más rápido en este tipo de casos. Hablamos de una pérdida del 30% o del 40% de la batería en ese mismo intervalo de tiempo.

Me pregunto si habría algún tipo de cambio en App Nap o en algún componente del sistema operativo responsable de esto, que haga que consuma más batería en Big Sur. O si fue algún tipo de bug temporal que ha quedado resuelto en sucesivos parches del sistema operativo. (Sigo sin plantearme actualizar, de todos modos.)

Abrir en una ventana nueva, Slack Edition

Minientrada

Hablemos de Slack. Slack tiene un menú de acceso rápido que permite saltar rápidamente a otra conversación pulsando ⌘K. Se trata de otro acto de respeto hacia los power users que consideran que levantar las manos del teclado para agarrar el teclado, desplazarlo a la barra lateral, localizar la conversación y hacer clic en ella es una pérdida de tiempo pudiendo teclear ⌘-K-D-A-N-I-Enter. Muy estilo Vim. Es otra forma diferente de mostrar respeto.

Pero sigue sin ser abrir en ventana nueva. No puedo trabajar con dos conversaciones a la vez. A lo sumo con una conversación abierta en la pantalla principal y un hilo abierto en la barra lateral. No puedo consultar información o un código que me hayan enviado por una conversación mientras la discuto o hablo sobre ella por otra conversación. Todo lo que puedo hacer es utilizar su versión web desde mi navegador web y abrir múltiples instancias de la misma aplicación web, y aun así estoy condenado a tener en todas las instancias la misma barra lateral y el mismo encabezado en la parte superior.

Ojo, no estoy negando que haya complejidad. Me leí el post que publicaron hace un par de años en su blog de ingeniería. Entiendo que todo es una aplicación React gigante con estados de Redux globales. Aquí sólo me estoy lamentando en voz alta de que hayamos aceptado esta nueva normalidad plagada de aplicaciones no nativas sin considerer este tipo de casos de uso más avanzados.

Vamos, Slack, aquí te dejo una idea de cómo se podría ver. Haría también el concepto de cómo sería ese pop-up: una ventana nueva donde sólo se vea la barra de título del sistema operativo y luego el área principal con la conversación (sin barras laterales ni superiores), pero se acaba mi descanso de la hora de comer y no tengo tiempo de diseñar esa pantalla.

Concepto. Este menú no existe. (Ojalá.)

Abrir en una ventana nueva

Minientrada

Dentro del marketing de «lo que hace que un Mac sea un Mac», una de las cosas que bajo mi punto de vista hace que un Mac sea un Mac es el hecho de que tantas partes del sistema operativo soporten desacoplar elementos de la interfaz y abrirlos en una ventana nueva. Doble clic en el e-mail y se abre en una ventana nueva. Lo mismo si haces doble clic en un nombre en la aplicación de Contactos, o en una lista de Recordatorios, o en una nota de Notas.

El proceso está tan integrado que cuando agregaron soporte para múltiples ventanas en iPadOS, esta función también fue portada. Arrastrar una nota en Notas para iPad hacia el borde de la pantalla permite desacoplar la nota y abrirla como una ventana separada. Por supuesto, Correo para iPad también soporta esta función. Incluso las listas de reproducción de Apple Music o iTunes se pueden abrir en una ventana nueva.

Permitir desacoplar en ventanas nuevas es un acto de respeto a los power users. Es reconocer que habrá personas que tengan interés en trabajar de forma simultánea con múltiples fragmentos de información procedentes de la misma app y facilitarles el poder escanear de forma simultánea todos esos fragmentos a la vez.

Re: Lista de deseos para la WWDC21

Minientrada

Parece que he acertado unas cuantas.

Espero seriamente que iPadOS 15 sea una versión cargada de mejoras para los power users.

Aquí no puedo dar el punto completo. He mirado las notas de la previa y la mayoría de funciones que veo son para consumo, no para creación. Poder integrar mejor una segunda pantalla hubiese estado bien que lo que se ofrece actualmente podría estar mejor…

No obstante, Swift Playgrounds va a pasar de ser una aplicación para “aprender a programar” a ser un entorno donde se va a poder programar de verdad (en Swift) y hasta enviar apps directamente a la AppStore desde iPadOS. Medio punto mientras le hago un seguimiento a esto.

Una mejor forma de lanzar aplicaciones en iPad.

Con lo del cajón de aplicaciones y el nuevo menú para la multitarea esto va a ser una realidad, o al menos mejor que lo que hay ahora mismo. También la llegada a iPadOS del directorio de aplicaciones, para poder eliminar iconos inútiles de la pantalla de inicio o del dock sin recurrir al viejo truco de empujarlos en una carpeta.

En iPadOS e iOS, más atajos para las opciones.

Opinaré sobre esto cuando vea los nuevos atajos. El nuevo modo Focus (que ya veremos cómo se llama en español) podría facilitar una forma flexible de configurar el dispositivo de distintas formas según la hora y el lugar. Es el caso de uso que más se le parece (poder silenciar el móvil en algunos momentos, por ejemplo), por lo que habrá que prestar atención a esto.

Ojalá una versión de Atajos para macOS.

A la orden. Aunque de poco me va a servir porque esta va a ser la primera versión de macOS que no se podrá instalar en mi mid-2014. (No es que me haga mucha falta…)

Lista de deseos para la WWDC21

Minientrada

Resulta que la WWDC21 es hoy. La verdad es que yo ya estaba acostumbrado a que estos eventos cayesen en martes, pero… ya.

Admito que últimamente no le presto mucha atención a las WWDC y conferencias de este estilo. Creo que estaban mejor con público, aunque tengo la ligera sospecha de que con lo que se ahorra Apple en concepto de organizar un evento con público*, no creo que regresen cuando pase la pandemia.

Sin embargo, me gusta luego leer titulares y estos son los titulares que me gustaría leer:

  • Apple presentó hace poco un iPad equipado con un procesador M1, que es su procesador de ordenadores. Hasta ahora siempre tenían procesadores A, que son los de la serie móvil. Tener un procesador tan potente sin exprimir suena mal, por lo que espero seriamente que iPadOS 15 sea una versión cargada de mejoras para los power users.
  • Una mejor forma de lanzar aplicaciones en iPad. Ahora mismo, para exprimir al máximo la multitarea y las múltiples aplicaciones a la vez, es necesario tener todas las apps (o al menos las más esenciales) en el dock, porque es el único punto de partida desde el cual se puede arrastrar un icono de aplicación sobre una aplicación abierta para iniciar un modo de pantalla dividida.
  • En iPadOS e iOS, más atajos para las opciones. La mayoría de mis ideas para crear atajos se frustran cuando veo que se trata de usar una opción dentro de los Ajustes del sistema que no está expuesta en Atajos.
  • Ojalá una versión de Atajos para macOS. Existe Automator, pero las aplicaciones de terceros nunca le han hecho mucho caso.

(*) Juraría haber leído esto hace poco, pero ahora no encuentro los enlaces que lo prueben.

Case-sensitivity y HFS+ (macOS)

Minientrada

Un archivo TypeScript con el siguiente código fuente compila en mi ordenador:

import Member from "../../Member";

Sin embargo, mi código de CI de GitHub Actions falló con el siguiente mensaje de error:

Error: src/lib/http/middlewares/member.ts(6,20): error TS2307: Cannot find module '../../Member' or its corresponding type declarations.

Después de darle un par de vueltas, el veredicto es que, como por defecto el sistema de archivos de macOS no diferencia entre mayúsculas y minúsculas, en macOS, import Member from "../../member" e import Member from "../../Member" son equivalentes. GitHub Actions por defecto utiliza GNU/Linux, donde sí se diferencia por defecto entre mayúsculas y minúsculas, así que no lo tiene tan claro.

Ugh. Lo peor es que hay software para macOS que espera que el sistema operativo no sea case-sensitive y que puede dar problemas si el disco duro en el que se instala macOS se configura para sí diferenciar mayúsculas de minúsculas.

Downgradeando a macOS Mojave

Después de hacer una balanza de beneficios vs incompatibilidades, estoy haciendo rollback a mi ordenador portátil para dejar de usar macOS Big Sur. En vez de volver a macOS Catalina, que sería la versión inmediatamente anterior a la Big Sur, voy a volver a macOS Mojave. En el fondo Catalina nunca funcionó bien, mientras que macOS Mojave sí funcionaba bien.

Algunos de los problemas que me encuentro usando macOS Big Sur en mi MacBook Pro de 2014; viejo pero que intenta dar todavía:

  • Lentitud general de toda la interfaz de usuario y de las aplicaciones principales del sistema operativo. También al levantar la tapa y sacarlo del modo sueño tarda bastante en pedirme la contraseña.
  • Entiendo que en nombre de la seguridad me pida algunas confirmaciones o me intente impedir que haga ciertas cosas avanzadas de vez en cuando. Sin embargo, cuando el sistema de seguridad pone la zancadilla cada dos por tres y cuando ya estás acostumbrado a hacer clic derecho + Abrir en vez de doble clic para abrir aplicaciones y lo haces mecánicamente, igual es que algo no va bien.
  • El proceso kernel_task escribe en disco una cantidad absurda de bytes, y temo que esté haciendo daño a mi SSD. Aquí una captura de pantalla teniendo un uptime del sistema de 20 minutos.
Monitor de actividad.

La interfaz de usuario es cuca, debo admitirlo. Normalmente soy muy crítico con los cambios hechos en las interfaces de usuario y suelo tratar estos cambios como regresiones, pero el diseño estético de macOS Big Sur me gusta. Una pena que lo haga a cambio de comprometer el rendimiento del sistema. Funciones como «Tintar las ventanas con el color del fondo de escritorio» noto que hacen que vaya todo aún más lento de lo que debería.

Incompatibilidades que me voy a encontrar al bajar a Mojave:

  • Recordatorios para iCloud no funcionará, ya que cambió el formato con el que se sincronizan en macOS Catalina. Como uso Recordatorios vía CalDAV a través de Fastmail, no será un problema.
  • Probablemente Pages, Keynote y Numbers funcionen raro, ya que las últimas versiones de ese software requieren mínimo Catalina. Como prácticamente mi portátil se ha convertido en una máquina de grabación y edición de vídeo y a veces de programación, no espero notarlo demasiado. Donde hoy en día uso Keynote, Pages y Numbers es en mi iPad de todos modos.
  • iTunes. Sigue funcionando, porque en Windows también existe iTunes todavía, pero probablemente Apple Music no funcione para siempre.

Sorprendentemente, aunque macOS Mojave ha desaparecido del buscador de la AppStore y de la lista de aplicaciones compradas, se puede encontrar el enlace en el sitio web de Apple, ya que tienen un artículo dedicado a descargar versiones viejas de macOS y MacOS X. 🤔

Una vez se descarga a través del sistema de actualizaciones, te avisa de que no puede ejecutar automáticamente lo que ha descargado porque los downgrades no están soportados oficialmente, pero en la carpeta Aplicaciones queda la descarga igualmente.

Para crear un pendrive booteable, se pueden seguir las instrucciones que también están en el sitio web de Apple. Esencialmente pasa por formatear un pendrive de tal modo que se pueda montar desde el sistema operativo (la guía pide formatealo como HFS+, MacOS Extended, pero yo lo he formateado como MS-DOS), y luego desde la terminal ejecutar:

sudo /Applications/Install\ macOS\ Mojave.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume

Cambiando /Volumes/MyVolume por el nombre del volumen, como podría ser /Volumes/Dani o /Volumes/TDK.

Por supuesto hay que hacer backup antes de los archivos, cosa que en mi caso es fácil gracias a que tengo pocos archivos en el sistema de todos modos. No he utilizado mucho este ordenador portátil para cacharrear desde que instale Big Sur en noviembre, de todos modos y el resto está en la nube, por lo que mi backup local se limita a mis claves SSH, la carpeta con mis repos, y hacer git push de mis dotfiles y de mi vimrc.

Con el pendrive grabado, se reinicia el ordenador manteniendo pulsada la tecla ALT para que salte el cargador de arranque extendido y en el menú se elige la unidad USB conectada. A partir de ahí, a instalar.

Hasta siempre, «Asignar app a espacios»

Una opción discreta pero útil que había en versiones anteriores de macOS era la posibilidad de fijar ventanas de una aplicación a todos los espacios o escritorios virtuales. Así, daba igual en qué escritorio virtual te colocases, podías tener algunas ventanas mostrarse en todas partes. Útil si organizas ventanas en escritorios pero hay momentos en los que necesitas mostrar una ventana concreta en todas partes. (Por ejemplo, en el escritorio 1 tienes una hoja de cálculo, en el escritorio 2 un navegador web, pero quieres tener visible la calculadora tanto en el escritorio 1 como en el 2).

Pues bueno, parece que esta opción ha desaparecido en la última versión de macOS. Quería fijar mi llamada de Google Meet a todos los escritorios virtuales, para tener el botón del micrófono a mano mientras miraba cosas, pero al ir al menú contextual ya no aparece.

Captura de pantalla del dock de macOS.
Esto es lo que veo al hacer clic derecho en el icono.

No encuentro comentarios al respecto en Reddit, lo cual me resulta llamativo porque siempre hay alguien en Reddit que critica este tipo de regresiones argumentando que «es el fin de macOS como lo conocemos y Apple no nos escucha» o cosas así.

Pero en el manual de usuario de macOS sí que ha desaparecido. En el manual de instrucciones de macOS 10.15 hay un epígrafe llamado «Asignar apps a espacios». En el manual de instrucciones de macOS 11.0 ya no está esa sección.

Triste.