Reality Cracking #118 - El podcast que se viene:
Los bookmarklets eran una cosa muy chula que se inventó a finales de los 90 y se popularizó y mantuvo en uso hasta aproximadamente 2015. Un bookmarklet es un marcador o favorito que en lugar de contener una URL contiene la etiqueta "javascript:" seguida de código JavaScript. Es algo que en su día competía con las, más complejas, extensiones y que básicamente es un fragmento de javascript generalmente pequeño que se ejecuta en el mismo espacio de memoria que los scripts de la página que estemos viendo. El hecho de ejecutarse dentro del propio espacio de memoria permite acceder al arbol DOM de esta y modificarlo cambiando así el aspecto de la página. Si bien se le pueden dar diversos usos, los más comunes eran en su día alterar el formato de una web o compartir algo en redes sociales.
Los bookmarklets eran una cosa muy chula que se inventó a finales de los 90 y se popularizó y mantuvo en uso hasta aproximadamente 2015. Un bookmarklet es un marcador o favorito que en lugar de contener una URL contiene la etiqueta "javascript:" seguida de código JavaScript. Es algo que en su día competía con las, más complejas, extensiones y que básicamente es un fragmento de javascript generalmente pequeño que se ejecuta en el mismo espacio de memoria que los scripts de la página que estemos viendo. El hecho de ejecutarse dentro del propio espacio de memoria permite acceder al arbol DOM de esta y modificarlo cambiando así el aspecto de la página. Si bien se le pueden dar diversos usos, los más comunes eran en su día alterar el formato de una web o compartir algo en redes sociales.
Sigue siendo posible utilizar bookmarklets en muchas webs, aunque entre 2013 y 2015 se añadió algo a los navegadores que llevó a aquellos al olvido. Y para 2016 todo el mundo utilizaba extensiones para las mismas cosas que antes hacía con un bookmarklet. Ese algo era Content Security Policy o CSP, el cual en principio surgió para combatir la inyección de scripts de unas páginas en otras, llamada Cross Site Scripting o XSS, pero que tuvo el efecto lateral de impedir que los bookmarklets se ejecutaran en el mismo espacio de memoria de las webs que usaban algún tipo de CSP. A pesar de las duras protestas de los usuarios que valoraban los bookmarklets por encima de las extensiones, los navegadores decidieron implementar CSP sin permitir ningún tipo de excepción para los bookmarklets, lo que en la práctica significó su fin. Así por ejemplo si intentamos utilizar cualquiera de los bookmarklets que listamos abajo estando en Twitter, el bookmarklet no tendrá ningún efecto. La única solución sería desactivar CSP en el navegador. Por ejemplo en Firefox podemos escribir "about:config" en la barra de direcciones y buscar "security.csp.enable". Deshabilitando esa opción deja de aplicarse CSP. El problema de esto es que seremos vulnerables a XSS y lo cual suele representar un problema si no sabemos lo que hacemos. Aún así, hay muchas webs que no hacen uso de CSP por lo que todavía es posible disfrutar de algunos bookmarklets.
Los bookmarklets son algo innovador e increíble. Al ser solo un marcador con un script no requiere de instalación. Un bookmarklet no ocupa memoria mientras no está en uso. Se carga cuando se hace click en el marcador y el resto del tiempo no ocupa recursos. En cambio las extensiones ocupan memoria y hacen el navegador más lento. Como pasó con los formatos de vídeo Beta2000 y VHS, en las guerras tecnológicas no siempre gana el mejor. En el caso de los bookmarklets ocurrió algo similar. Los bookmarklets eran claramente superiores, pero han caído en el olvido mientras todos hemos recurrido a lo que era peor: las extensiones.
Los siguientes bookmarklets se incluyen para dar una idea de lo que fueron y lo que pueden ser. Para instalarlos sólo tenemos que mostrar la barra de marcadores de nuestro navegador, arrastrar uno de los enlaces y soltarlo sobre ella. En caso de que no quepan, siempre se puede crear una carpeta llamada bookmarklets y meterlos ahí.
- Ocultar imágenes: ¿Quién no ha querido alguna vez ver una web sin las imágenes? Solo hay que abrir la web que sea o situarse en la pestaña adecuada y hacer clic en el marcador.
- Traducir: Este bookmarklet traduce al español cualquier web.
- Compartir: Compartir cualquier web en cualquier red social. Utiliza el servicio Shareaolic.
- Mono Dark: Cambia el formato a alto contraste oscuro, para leer de noche.
- Mono light: Cambia el formato a alto contraste claro, para leer de día.
- Gmail this: Envía cualquier cosa por email.
- PrintWhatYouLike: Permite decidir qué partes de una web queremos imprimir. Utiliza el servicio del mismo nombre.
- WayBack: Acabas de llegar a una página y te sale un error 404. Con este bookmarklet puedes mirar antiguas versiones de la web en The way back machine.
- Buscar!: Buscar lo que acabas de seleccionar dentro de la web en la que estás. Utiliza Google.
- RightClick: Habilitar el botón derecho del ratón en esas páginas horribles donde no nos deja.
- QRCode: Crea un código QR de una página para abrirla de manera simple en el móvil sin recurrir a una URL larga.
- SortTable: Ordena una tabla html con posibilidad de elegir por qué columna.
- WhatFont: ¿Qué fuente es esta? Permite conocer qué fuente se ha usado en una determinada web.
- ViewPass: Permite ver en texto plano contraseñas de formularios de acceso. Para cuando tengamos la contraseña en el gestor pero se nos haya olvidado.
Por supuesto, estos solo son un puñado, existen muchísimos más dispuestos a salir a la luz con escarbar un poco.
P.D.: Puesto que al irme de Ivoox nos hemos quedado sin la posibilidad de comentar, he pensado en escribir un artículo corto para cada podcast donde podamos comentar.
Desconocía los bookmarklets.
ResponderEliminarMe evocan una extensión llamada greasemonkey o algo así que permitía hacer cosas muy interesantes, por ejemplo, en el juego para navegador Ogame.
Pero claro está, como bien señalas, son cosas diferentes.
Muy buena idea hacer entradas en el blog para cada entrada del podcast. Lo bueno de comentar por aquí es que todo queda más ordenado y duradero que en Telegram. Los comentarios en Ivoox son susceptibles de desaparecer cuando esa empresa quiebre o desaparezca tras una "absorción" de esas tan habituales en el mundillo empresaurial tecnológico. :D
Claro, precisamente esa extensión se creó para permitir que lo que antes se hacía con un bookmarklet pudiera seguir haciéndose, incluso en webs protegidas con CSP, como scripts de usuario dentro de Greasemonkey. Como CSP no bloquea las extensiones, esto fue una especie de parche. Pero los bookmarklets eran mejores y hubiera sido sencillo añadir una excepción para que estos pequeños scripts funcionaran en CSP. No quisieron hacerlo.
EliminarLa cuestión es que cerré alegremente mi cuenta de Ivoox y luego me di cuenta de que eso me iba a privar de los comentarios de los oyentes. Espero que se animen a comentar por aquí. Ivoox a mi juicio ha hecho cambios nefastos en su web. Creo que va a causar mucho daño al podcasting. Porque si Youtube paga cada vez menos, un podcast que es algo muy desconocido todavía para el público en general, pues como que no va a dar un volumen de ganancias como para que merezca la pena. Lo que sí va a pasar es que cualquiera que tenga un podcast empiece a tener expectativas de ganar dinero con ello y pocos van a conseguirlo.
Está genial para mi trabajo. Puedo configurar el navegador con pequeñas herramientas que agilizan mi trabajo.
ResponderEliminarEfectivamente. Estas cosas le vienen bien a cualquiera. Hay oficios donde prácticamente es obligado usar bookmarklets. Por ejemplo los que se dedican a SEO. Un saludo!
Eliminarhay un video de ello https://youtu.be/xCOZ1F5eGIA
ResponderEliminarte cita dando crédito. ¿lo borro?
Hola, gracias por el aviso. Ese vídeo tan solo ofrece una pequeña parte de mi post y además me aporta tráfico. No lo considero un plagio. Dejalo que exista. Por cierto, ¿el vídeo es tuyo? De otra forma, ¿cómo pensabas borrarlo? jejeje. No hay problema.
EliminarUn saludo!
Pues efectivamente he sacado mucho provecho a los bookmarklets. Gracias.
ResponderEliminarMe alegro! ;-)
Eliminar