La Decadencia de los Códigos QR

Recientemente han instalado unas taquillas de recogida de paquetes 24h en un parking cerca de mi casa. Hace años que hay casilleros similares desperdigados por aquí, pero ninguno lo suficientemente cerca de mi zona como para que me apeteciera usarlo. Finalmente probé este y la experiencia de uso deja mucho que desear.
Me acerqué de madrugada a retirar mi paquete con el PIN de 6 cifras preparado (que imagino que hayan generado de cualquier manera, sin tener en cuenta la RFC 4226). Al intentar introducir el código de desbloqueo de la taquilla me percaté de que la pantalla táctil no estaba funcionando correctamente, seguramente debido al frío gélido que siempre está presente en la estepa donde vivo.
La alternativa era abrirla sin contacto, usando el código QR que no me habían enviado… Así que intenté obtenerlo en la App del servicio de mensajería. Para ello tuve que:
- Instalar una app invasiva, que pesa 64MB, desde un parking gélido y sin apenas cobertura.
- Darme de alta con mi email.
- Validar mi email.
- Acceder con el código que mandan por SMS.
- Desbloquear y concederle acceso a mi geolocalización por GPS, porque sólo funciona a 50m de las taquillas.
Después de pasar por todo este proceso draconiano, en vez de mostrarme el deseado QR, me daba la opción de desbloquearlo de forma remota, directamente desde la app.
Al día siguiente me puse a investigar y resulta que su QR, que parece que ahora evitan usar, sigue un esquema muy sencillo P|teléfono|PIN que si hubiera conocido previamente podría haber generado con la app de QR que ya tengo instalada en el móvil. Entiendo que una empresa, con sus espurios intereses, intente que instalemos una app totalmente innecesaria para resolver un problema que no existe de la forma más incómoda posible, y de paso recopilar datos personales y financieros por el camino (la lista de permisos de la app es un despropósito total) siguiendo la imperante lógica de enshittification.
Lo que no entiendo es que un entusiasta del software libre, de cuyo nombre no quiero acordarme, como del nombre del servicio de mensajería para no promocionar a quien no lo merece, haya desarrollado una webapp para generar el dichoso QR y lo haya hecho tan mal. Por supuesto, esta opinión parte de un enfoque que aplica la filosofía Unix a todo el software, pero sinceramente, me parece una frivolidad que su app ocupe miles de líneas de código y use un pesado framework para resolver una tarea tan sencilla (sólo se salvaría si ese volumen incluyera una función para renderizar el QR, pero no, usa una librería de terceros).
Como no soy de los que critican sin presentar una alternativa, ahí va la mía. Un bookmarklet en menos de 400 caracteres
javascript:(()=>{const text=`P|${prompt("Phone")}|${prompt("PIN")}`;const w=window.open("","_blank");w.document.write("<div id='qr'></div>");const s=w.document.createElement("script");s.src="https://cdnjs.cloudflare.com/ajax/libs/qrcodejs/1.0.0/qrcode.min.js";s.onload=()=>new w.QRCode(w.document.getElementById("qr"),{text,width:360,height:360});w.document.head.append(s)})()
Además de ser una solución absurdamente simple, es serverless, pero de verdad, no como los mal denominados servicios de FAAS.
Un par de días después volví a pasar por el casillero y vi que ya volvía a funcionar la pantalla táctil para introducir el código de 6 cifras que me habría evitado esta bizarra experiencia. Tendré a mano el bookmarklet, por si acaso lo necesito la próxima vez, ya que desinstalé la app como no podía ser de otro modo. #KISS
