El politiqueo de los navegadores web

(Disculpad el tono amargo de la entrada. No he sido capaz de escribirla de otra forma.)

No os perdáis el último episodio del pódcast de Igalia (aquí arriba incrustado, y en vuestro reproductor de pódcast favorito buscando ‘Igalia’), dando un repaso a toda la política que hay detrás de los navegadores web, que ahora mismo dependen todos del dinero de los anuncios de Google: Chrome, obviamente, y con Chrome todos los navegadores basados en Chromium (con Microsoft Edge y Samsung Internet a la cabeza, pero básicamente, todo lo que no sea Safari ni Firefox, es Chromium y, por tanto, la mayor parte del desarrollo que hay detrás lo paga Google), pero también Safari (Apple tiene toda la pasta del mundo, pero la millonada que Google le paga a Apple para mantener Google como motor de búsqueda por defecto en su navegador) y, no nos engañemos, Firefox: diría que lo hemos dicho en algún momento por aquí, pero Mozilla vive casi exclusivamente de la subvención de Google… Casi añoraríamos los tiempos en que Microsoft tenía su propio motor, porque a pesar de que no son precisamente unas angelitas de la caridad, como mínimo había una parte del ecosistema que no dependía de una única empresa. (De los tiempos en que Opera era una compañía con una mínima capacidad para la independencia a base del dinero que le daba Opera Mini ya no se acuerda absolutamente nadie (bueno, un puñado de nerds que, en el fondo, no pasan de error de redondeo), de Netscape no me hagáis hablar, que pienso en Andreesen y me sube la presión, y siempre nos quedará el W3C… pero el poder real que ostenta es el que es, y se parece mucho a cero.)

¿Y cómo nos afecta a todos ese politiqueo? Pues como resultado, el programita con el que más interactúas en tu vida, y que sabe más de ti que absolutamente nadie, está controlado en buena parte (no toda, no, queda algún resquicio para la esperanza) por una empresa que se dedica a la venta de publicidad, con una cierta intervención de una empresa que a toda costa quiere defender su bosque cerrado, todos los fosos que lo defienden y los pingües beneficios que genera, y que solo ha permitido determinadas capacidades en el mundo de los navegadores cuando ha sentido la presión de los políticos por atacar el poder de las grandes tecnológicas, más una fundación no demasiado bien gestionada, me temo, y con las manos atadas por su absoluta dependencia económica.

Y demos gracias por la existencia de Mozilla y Firefox, y de esa empresa imposible que es Igalia (aquí hablamos más con uno de sus miembros), y un buen puñado de nerds más (a los que uno imagina casi en una cierta aldea gala). Y toda la admiración por las personas que trabajan desarrollando los navegadores, que suelen ser unos cracks bienintencionados, por lo que yo sé, por cierto, incluidos e incluidas las que trabajan directamente para Mordor.

(Como decía al principio, disculpas por la bilis.)


PS 2024/1/20 Después del «ataque de furia» de hace un par de días, un poco de optimismo (moderado). Si anteayer hablábamos de la concentración de poder que hay en el mundo de los navegadores, pero decíamos que los y las profesionales que se dedican a ello se dejan la piel por los estándares y el avance de la web, hoy podemos escuchar a una de esas profesionales, Jen Simmons (aquí arriba tenéis incrustado el reproductor, pero siempre tenéis el hogar del episodio, donde encontraréis la transcripción completa), contándonos cómo Safari se ha dado mucha caña últimamente (decíamos anteayer que la cosa coincide, especialmente por lo que respecta a determinadas características —las relativas a las aplicaciones web progresivas o PWAs, por ejemplo— con la creciente amenaza de que los gobiernos regulen contra Apple, pero sea cual sea el motivo, hay que reconocer el esfuerzo del equipo de Safari), y de la existencia de esfuerzos como Interop, un cónclave de los diferentes equipos de desarrollo de los grandes navegadores donde se marcan objetivos para mejor la interoperabilidad a lo largo del siguiente año (el «marcador» de cómo se avanza en lo marcado el año pasado). Que es de ley reconocer que, pese a la amenaza de la concentración de poder, estamos viviendo una verdadera época dorada del desarrollo de los navegadores… sin una guerra de los navegadores.

Y aprovecho para «subir» desde los comentarios este aporte: https://github.com/alexpdp7/…/programming/a_plan_against_the_current_web.md.

Google, su índice y los sitios «mobile friendly»

Nota breve, hoy. Tenemos a «media» internet (la parte que hace webs y se preocupa por su posicionamiento en Google) revolucionada por el anuncio de que va a comenzar a tener en cuenta si una web se ve bien en dispositivos en sus resultados. El anuncio es de 26 de febrero y avisan que la cosa se pondrá en marcha el 21 de abril. A medida que se acerca la fecha, los webmasters sin versión responsive se ponen nerviosos e incluso los que la tienen echan humo por la presión que mete Google…

Algunas puntualizaciones:

  • La noticia no es que Google añada un factor a su algoritmo. Esto, al fin y al cabo, lo hacen con una cierta frecuencia. El algoritmo de Google tiene más ingredientes que la receta de CocaCola y, además, cambia bastantes veces al año. De hecho, os podéis jugar lo que queráis a que ese factor ya es parte del algoritmo. El 21 de abril, como mucho, le darán más relevancia.
  • La noticia es que Google avise con tanta claridad y antelación, algo que, con esta intensidad, diría que no ha hecho nunca.
  • ¿Por qué? Google cambia su algoritmo para seguir siendo el mejor o, como mínimo, parecerlo. Y eso, al fin y al cabo, es lo mejor para sus usuarios y para los usuarios, en general (si estoy buscando desde el móvil, yo también prefiero que la web a la que me vayan a llevar se vea bien en el móvil). Google anuncia cambios en el algoritmo para ejercer presión sobre los webmasters. A Google, que obtiene más del 90% de sus ingresos de vender publicidad en sitios web, le interesa que, desde cualquier dispositivo, el usuario navegue, cuanto más mejor. Cuando el usuario «consulta una web» desde una app Google pierde la oportunidad de vender un anuncio. Cada app de medio de comunicación es un montón de dinero que Google deja de ingresar. Y eso duele en la cuenta de explotación. Y van a hacer todo lo posible por que, al menos para los sitios «de contenido», la web móvil plante batalla a las apps (que, para la categoría «de contenido», apenas le suponen ingresos a Google a través de su tienda de aplicaciones para Android).
  • Webmasters del mundo hartos del yugo de Google, la única solución que os queda es hacer todo lo posible por «repartir juego» y que el indexador de Google pierda al menos parte de su relevancia en favor de los Bings y DuckDuckGos del mundo. Eso sí… si pensáis que Bing y DuckDuckGo no cambian su algoritmo con frecuencia, preparaos para llevaros una profunda decepción. La única manera de luchar contra la ley de Campbell es cambiar la receta con frecuencia. Al menos mientras haya SEOs. Y podemos estar de acuerdo todos en que mientras haya buscadores y la gente los use habrá SEOs…
  • (Y si la solución iba a ser el social media, recordad que los Facebooks del mundo también tienen sus algoritmos de ordenación.)
  • Conspiranoicos del mundo: hay, desde luego un motivo excelente para sospechar de Google: que uno de los factores para ordenar la relevancia de una página sea «contiene publicidad AdSense». Nadie ha demostrado que eso sea así. Si fuese así, Google estaría jugando con fuego, se merecería arder y, dicho sea de paso, yo me apuntaría encantado a rociar gasolina.

Ale. Suficiente por hoy. Y suerte que he dicho que iba a ser una «nota breve»…

Los tuits de la semana (59)

Lo de ‘semana’, cada vez entre más comillas… pero ahí van los tuits más interesantes que han salido últimamente de @chechar

De historia y efemérides

RT @C_64 Goodbye, Lotus 1-2-3. http://www.zdnet.com/goodbye-lotus-1-2-3-7000015385/

RT @C_64RT @photonstorm: Dave Needle and the Story of the Amiga Computer http://bit.ly/16z2fzs

el atractor de Lorenz (y por tanto el caos, (al menos como concepto científico ;-))) cumple 50 años http://obm.as/10CJ9QH

la lección de historia de hoy: Colossus @ The National Museum of Computing, Bletchley Park (YouTube) http://obm.as/11FesPl

RT @UOCeimt Para recordar con nostalgia y reírse un poco: anuncios de tecnología de los años 80 http://j.mp/17mJZuo

RT @UOCeimt llegamos 3 días tarde a la celebración del 65 aniversario del 1er programa almacenado en la memoria de un ordenador http://j.mp/1cbclEK

RT @UOCeimt 10 ordenadores colosales que cambiaron la historia de la informática (via @JosepJorba) http://j.mp/1264Az4

RT @UOCeimt Un mapa de todo internet en 1977 (via @WPMigrations) http://j.mp/1aQhhCN

…con un espacio especial para Douglas Engelbart…

RT @waxpancake Douglas Engelbart has passed, leaving our world transformed. Watch him introduce the future of computing in 1968: http://dougengelbart.org/events/1968-demo-highlights.html

RT @waxpancake Bret Victor on Doug Engelbart. http://worrydream.com/Engelbart/

el homenaje de xkcd a Doug Engelbart (gran url accidental, por cierto) https://xkcd.com/1234/

De desarrollo web

o.O Google’s Blink team pulls 8.8 million lines of WebKit code in one month http://obm.as/185pZZV

Va de WordPress…

Running WordPress on Google App Engine http://obm.as/12HkX2C

RT @WPMigrations RT @wpmudev: The Quickest Way to Create Custom #WordPress Queries – http://wp.mu/2or by @pollyplummer

.@dreamhost se apunta al juego del hosting especializado en wordpress http://obm.as/10OBCTE

RT @WPMigrations RT @wptavern: http://GenerateWP.com – Useful WordPress Code Generators

Adminer plugin, un gestor de MySQL dentro de WordPress http://obm.as/19CWLSX

RT @WPMigrations RT @wpblackbelt: 10 Things To Look For When Choosing a New WordPress Theme http://ow.ly/mHFJE

Adobe Brackets apunta maneras:

RT @leebrimelow Check out a video of my responsive design tool for Adobe @brackets. I showed this last week during the #MAXSneaks – http://www.leebrimelow.com/responsive-design-with-adobe-brackets/

RT @bomberstudiosOpening PSD files in Bracket code editor: my jaw just dropped to the basement https://www.youtube.com/watch?v=xAP8CSMEwZ8

Y otra herramienta a tener muy en cuenta:

(mac & windows) Prepros: Compile less, sass, scss, stylus, cofffeescript and more with live browser refresh. http://obm.as/10KArEk

Virguerías JavaScript:

ClippyJS es… exactamente lo que parece (si eres lo suficientemente viejo y geek como para recordar a Clippy) http://obm.as/10WGqWq

jemul8 is… an object-oriented JavaScript x86 Emulator o.O http://obm.as/1aeS8Ne

RT @waxpancake ScummVM was ported to JS with Emscripten! Loom, Maniac Mansion, Monkey Island in the browser: http://clb.demon.fi/html5scummvm/dott/dott.html (Audio’s Firefox only.)

Voyeur is a tiny JS library that lets you transverse and manipulate the DOM as it should have been (via @elecash) http://obm.as/12kRk4W

Y para aprender a hacer virguerías con JavaScript,

RT @softmodeling RT @speckyboy: JSbooks – Directory of Free Javascript Books http://ow.ly/lSTd1

…y para hacerlas un poco más fácil…

RT @qmarcos TypeScript 0.9 has been released: http://blogs.msdn.com/b/typescript/archive/2013/06/18/announcing-typescript-0-9.aspx

Dos de Google Analytics:

RT @WPMigrations RT @newsycombinator: Use Google Analytics on your blog? Check your bounce rate http://j.mp/175kttc

RT @EdgeAnimate Google Analytics introduces new A/B testing & allows server-side variant selection: http://bit.ly/120glbf

Algo que muy probablemente no sabías de HTML5:

Mastering HTML5 Prefetching http://obm.as/11tPKCX

RT @brucel The <main> element, explained by @html5doctor @Rich_Clark http://html5doctor.com/the-main-element/ #html5 #a11y

Algo de ‘responsive’:

truquillos para imágenes responsive http://obm.as/11RiVhZ

CSS only responsive navigation http://obm.as/11AXmPO

Algo de accesibilidad:

RT @UOCeimt la BBC publica el borrador de su guía de accesibilidad móvil http://j.mp/11I8gC8

Y unas cuantas lecturas para tomárselas con calma:

#mustread why it’s time to rethink visual storytelling on the web from the bottom up http://obm.as/189vmYd

I have a problem with intuitive interfaces. My problem is that I keep talking about them as if they exist. They don’t http://obm.as/10Bx27N

How people read online: Why you won’t finish this article (Slate) http://obm.as/14EjWrj

#must Making WebGL Dance. or How I Learnt to Stop Worrying and Love Linear Algebra (necesita WebGL y CSS3) http://obm.as/16PhkxO

De seguridad

Think Skype messages get end-to-end encryption? Think again. Ars catches them accessing links sent in test messages http://obm.as/10mrAJg

RT @UOCeimt Cómo almacenan los navegadores web tus contraseñas (y por qué no deberías dejarles hacerlo) http://j.mp/14dHxjz

Para perder horas y horas

RT @katskii Google Trends – what people are searching for right now http://www.google.com/trends/hottrends/visualize?nrow=15&ncol=15 This is hypnotising!

Tetris Printer Algorithm. lo más nerd que vas a ver hoy. ¡me encanta! (vía @C_64) http://obm.as/13jFQlR

RT @sitepointdotcom You are about to view the best 404 page that I’ve ever come across. http://masswerk.at/404 ^hawk

De cacharritos

¿he dicho ya que *quiero* este ebook? http://obm.as/YOhQGF

por si alguien quiere ir haciendo lista para mi cumpleaños (o el de @cottonfieldsbcn, que también le gustaría) http://obm.as/13BK5JA

La exposición que tenéis que ir a ver

RT @robertclariso Todo este aparato sólo para almacenar… 1 byte RT ‏@UOCeimt: IBM a principios de los 60. Espectacular… #FeliciTICS http://ow.ly/i/2bUDl

Aunque no es la única…

un día de estos, más y mejor, pero mientras tanto, unas cuantas fotos del domingo en Bletchley Park http://obm.as/17JlgQq

Volver un grid responsive y algo más semántico y cómodo con un poco de LESS

(Si con esta entrada no me llevo el premio al título más aburrido, ya no sé cómo hacerlo…)

Lo confieso: hasta hace un par de semanas el responsive y yo nos conocíamos, pero no teníamos la confianza deseable y los preprocesadores de CSS eran un concepto interesante pero a explorar. Afortunadamente, hace poco me ha surgido la oportunidad de hacer una web (muy en estado de work in progress, ahora mismo) que ha supuesto el momento perfecto para, si no aprender, al menos darme un chapuzón en el tema…

En las pocas ocasiones en que me ha tocado hacer una web, y no limitarme a parchear un tema de WordPress (de la última vez ya hace un año y medio) mi modus operandi habitual ha sido comenzar a base de un grid (para puristas, rejilla o cuadrícula, desde luego) generado con una herramienta bastante abandonada pero funcional, Boks. Una de las cosas que me atrae de la herramienta (a parte de la simplicidad de uso) es que cuenta con una herramienta en la que uno especifica qué ancho de página quiere en píxels, y cuántas columnas para la rejilla, y te ofrece todas las posibles alternativas:

Captura de pantalla de la herramienta boks
En el fondo, no es más que resolver una ecuación diofántica, pero uno es comodón…

Si sólo quieres hacer un diseño sencillo (y ya lo tienes en mente), en cinco minutos acabas con una estructura como esta:

Ejemplo de una cuadrícula generada con Boks
No va a ganar un premio de diseño, pero he visto cosas peores…

Boks te genera en un santiamén el HTML y el CSS (a partir del framework Blueprint) y a partir de ahí te pones a aplicarle un poco de diseño a las órdenes de alguien que sepa más del tema que tú.

Naturalmente, la cosa tiene limitaciones más que evidentes:

  • Por un lado, Blueprint te lo deja todo definido en píxels, con lo que el responsive queda muy lejos.
  • Por otro, y diría que como con casi todos los frameworks, el aspecto no se aplica exclusivamente desde el CSS: también necesitamos una ensalada de clases presentacionales en nuestro HTML: así, para la captura que tenéis ahí arriba, la cabecera se lleva un span-12 last, las caja grande un clear span-8, la de la derecha un span-4 last y las cajas pequeñas un span-4 que acompañamos de clear y last dependiendo de su posición… (La «sintaxis» de Blueprint, por cierto, se vuelve bastante intuitiva bastante deprisa, por cierto. No sé si otros frameworks son tan «naturales», pero es algo a tener muy en cuenta a la hora de seleccionar uno).

Dicen los proponentes del object oriented CSS que unas cuantas clases presentacionales no nos van a matar y que permitirán reutilizar código y ser más eficientes. Pero estaremos todos de acuerdo que para lo que tenemos ahí arriba no nos hace falta y, además, que por debajo de una cierta resolución vamos a querer que los ítems de la barra de la derecha sean más bien span-6 y que los ítems a los que querremos aplicar clears y lasts no van a ser siempre los mismos…

Con todo ello en mente, unos abre el CSS y comienza a hacer cambios. El más evidente, desde luego, es cambiar el width: 960px; del contenedor por un max-width: 960px; y añadir el dichoso meta name="viewport" content="width=device-width, height=device-height" para que smartphones y demás dispositivos presuntamente inteligentes se den aludidos.

Pero luego viene el arduo trabajo de explorar el CSS a la caza de anchos en píxels y pasarlos a porcentajes… Con un poco de calculadora y mucha paciencia acabaremos convirtiendo cosas como

.span-1  {width: 69px;}
.span-2  {width: 150px;}
.span-3  {width: 231px;}
.span-4  {width: 312px;}
.span-5  {width: 393px;}
.span-6  {width: 474px;}
...
.span-12  {width: 960px;}

en

.span-1  {width: 7.1875%;}
.span-2  {width: 15.625%;}
.span-3  {width: 24.0625%;}
.span-4  {width: 32.5%;}
.span-5  {width: 40.9375%;}
.span-6  {width: 49.375%;}
...
.span-12  {width: 100%;}

Los que tengáis buena vista habréis notado que he usado columnas de 69 píxels y canales (gutters, si preferís el anglicismo) de 12, que convertimos a porcentajes dividiendo por 960 (el ancho total al que estaba trabajando) y multiplicando por 100: 69 pasa a convertirse en 7.1875%, 12 en 1.25% y… paciencia, que nos tocará arreglar así, además de los span-n, unos cuantos append-, prepend- y demás clases que use nuestro framework.

Pero claro… seguimos teniendo esas clases presentacionales que no nos van a ayudar nada cuando nos pongamos con el responsive… ¿Qué se le ocurre a uno? Pues bien, si tenemos un div (sí, debería haber usado articles y sections… prometo que estoy en ello) con clases div span-4 last itemagenda, ¿no podríamos buscar el CSS que aplican las presentacionales clear y span-4 y aplicarlo desde la muy semántica itemagenda? De hecho, sí podemos, y acabamos con algo como

#itemagenda {
    /* span-4 */
        float: left;
        /* margin-right: 1.25%; */
        width: 32.5%;
    /* last */
        margin-right: 0%;
}

Así resultará más fácil, además, aplicar una media query que, pongamos por caso, coja esos ítems de agenda que ahora viven a la derecha de los destacados en fila de a uno y los ponga, si la resolución baja de 800 píxels, bajo esos mismos destacados, en fila de a dos (aplicando clears y lasts según convenga a base de pseudoclases :nth-of-type).

¿Y no habrá una forma más eficiente?

Porque si a estas alturas estás pensando que esto es picar piedra de muy mala manera… de hecho tienes razón. Para esto se han inventado los preprocesadores de CSS.

Ahora mismo el «mercado» de los preprocesadores lo copan Sass y LESS. Me gustaría poder decir que elegí uno tras un detallado análisis de sus respectivas ventajas y desventajas, pero voy a confesar que opté por LESS porque encontré muy fácilmente la manera de usarlo con mi editor favorito del momento, el gratuito Komodo Edit. En cualquier caso, queda aclarar que Sass resuelve tan bien como LESS (tengo entendido :-)) los problemas que detallo a continuación:

No copies y pegues tú

#itemagenda {
    /* span-4 */
        float: left;
        /* margin-right: 1.25%; */
        width: 32.5%;
    /* last */
        margin-right: 0%;
}

…no es terrible, pero seguro que te gusta más…

#itemagenda {
    .span-4
    .last
}

¿Verdad? El preprocesador de turno ya se encargará de ir a buscar qué hay definido en span-4 y last y hacer con ello lo que convenga (ahora mismo LESS añadirá tanto el margin-right: 1.25%; como el margin-right: 0%; y te tocará a ti limpiarlo más tarde (o no), cosa que no resulta especialmente elegante, pero me han pasado cosas más graves).

Todas esas divisiones

Sé que estoy usando columnas de 7.1875% y canales de 1.25%. Sé que un span-4 son cuatro columnas y tres canales… ¿por qué debería hacer yo todas las divisiones? ¿No se supone que para esto están los ordenadores? Efectivamente. Con LESS (y con Sass también) podemos definir un par de variables

@column-width: 7.1875%;
@gutter-width: 1.25%;

(por si en algún momento queremos cambiar las dimensiones de la cuadrícula), después definir

.span( @columns )  {
    width: (@columns * @column-width) + ((@columns - 1) * @gutter-width)}
}

y finalmente usar

#itemagenda {
    .span(4)
    .last
}

para conseguir exactamente el mismo resultado que antes, pero con mucho menos dolor e inútil picado de teclas… :-)


Y hasta aquí mis primeros pinitos con las cuadrículas responsive y los preprocesadores. Seguro que hay muchas cosas que podría hacer mucho mejor, y para eso están los comentarios :-). Me gustaría decir, eso sí, que me he inclinado por tomar Blueprint como fuente porque ya me lo conocía, pero también que no he elegido ninguno de los frameworks responsive que corren por ahí porque los que he visto tienden a definirte unos breakpoints dados y a decidir por ti qué hacen con la cuadrícula a medida que cae la resolución, cosa que no me gusta nada. Si alguien sabe de algún framework (tiene que haberlos, sencillamente es que no he buscado mucho) responsive que no imponga tales limitaciones, que avise :-).

Los tuits de la semana (58, edición web)

Van pasando las semanas desde el último ‘tuits de la semana’, y toca edición recopilatorio de temas web, antes de que se pierdan en la inmensidad el océáno Twitter…

La noticia, desde luego, es el cambio pontecialmente sísmico provocado por el abandono de WebKit por parte de Google…

RT @brucelBy me: Hello Blink, the new engine that will power Opera’s browsers and Chrome henceforth http://www.brucelawson.co.uk/2013/hello-blink/

RT @antonello Chromium Blog: Blink: A rendering engine for the Chromium project http://bit.ly/17dDwzg al final parece que no habrá monocultivo webkit

from May 2010: «Dear Google: Please fork WebKit» (via @brucel) http://obm.as/16rilq6

:-| WebKit fracture puts a pinch on open-source browser efforts (Webware, CNET) http://obm.as/12tiRnd

RT @robertclariso RT ‏@softmodeling: RT @zef: Code Hard or Go http://hypercritical.co/2013/04/12/code-hard-or-go-home (on WebKit and forking in open source projects)

Contenidos en castellano, para que no se diga (pero, en serio, si te dedicas a esto y no lees inglés con facilidad, te lo estás perdiendo casi todo):

la webmaster academy de google, ahora en español http://obm.as/YkETJ0

HTML5 se sigue moviendo…

RT @iandevlin<hgroup> removed from the #HTML5 specification: http://lists.w3.org/Archives/Public/public-html-admin/2013Apr/0003.html (link via @cgiffard)

Y CSS, y las técnicas para trabajar con CSS, ni te cuento…

Working with flexbox (Adobe Developer Connection, via @webmonkey) http://obm.as/YYiqy5

RT @htmlboySimpletastic, a Sass-based grid framework by the talented @mrrocks: https://github.com/mrrocks/simpletastic

RT @p7rOnce you realise you can make a Bootstrap framework theme to make your site look like Geocities, this is inevitable http://divshot.github.com/geo-bootstrap

RT @brucel ptb/flexgrid: a flexbox-based CSS grid in 3.6k, non-flex browsers get fluid Bootstrap 3 layout, IE6, 7 fixed layout http://bit.ly/15ByJsk

@kazuhito CSS Architectures: Scalable and Modular Approaches http://bit.ly/13LnFow

RT @WPMigrations RT @speckyboy: Write less, do more: CSS Style http://ow.ly/jDHWE

BEM, la metodología de yandex para ‘desarrollar sitios de forma efectiva’ http://obm.as/11izp5e

LayoutIt! – Interface Builder for Bootstrap http://obm.as/15LwhQ3

Una gota de tipografía…

Why You Should Consider A Ligature Icon Font For Your Next Project http://obm.as/14p89mE

…una de usabilidad…

@brad_frost Usability Checklist http://userium.com/ This is fantastic.

…algo sobre diseño ‘touch’…

RT @kazuhito LukeW | An Event Apart: Designing for Touch http://bit.ly/16s5INe

…y una ración completa de accesibilidad:

RT @WPMigrations RT @speckyboy: Making accessible icon buttons http://ow.ly/jDHDw

YDN Blog: Accessible Data Tables http://obm.as/11PFEdT

RT ‏@UOCicommunity RT @AccessiQ: Part II of the ultimate accessible HTML and CSS checklist for developers is now live http://bit.ly/htmlcsschecklistpartii #a11y

RT @UOCicommunity RT @dennisl: Results of @WebAIM survey of #web users with #lowvision http://webaim.org/projects/lowvisionsurvey/ #a11y #stats #ux

RT @mundoaccesibleGuía Breve de Accesibilidad Web http://www.w3c.es/Divulgacion/GuiasBreves/Accesibilidad

Un poco de WordPress…

RT @WPMigrationsRT @wpengine: Free WordPress Framework Guide – Get a Rundown of the 7 Best | @wpmudev http://bit.ly/10sqsmu

QueryPosts.com . better WordPress code reference. via @WPMigrations http://obm.as/11kBfvT

Consejos para mejorar la seguridad de WordPress. via @qmarcos http://obm.as/ZHzSqU

…y, ya para acabar, una herramienta interesante:

Codassium, un editor de texto colaborativo más un chat de vídeo basado en WebRTC http://obm.as/10NHslc

Un día de estos, más.