5.1.1.

30 junio 2005

Japonesitos y chinitos no son iguales

Categoría

Fer (Into the woods) preguntaba en su post Spooky sobre cómo podía estar seguro que el pibe que aparecía en la foto (del mismo post) era un chinito y no un japonecito.

La respuesta es muy simple: los japoneses tienen mecha.

Imagen: Chica japonesa (humana) comandando un robot

Otra que Opera y Firefox. ¡Yo quiere ese robot! No importa para qué; sólo sé que lo quiero.

Por si lo notaron, la imagen ampliada de la chica japonesa comandando un robot.

Para continuar con fanatismo por los mecha, no dejes de ver la publicidad del Citroën C4

27 junio 2005

Internet Explorer 7, RSS y Atom

Categoría

A pesar de todo el anuncio sobre el soporte para RSS en MS Longhorn, es importante recalcar que no planear dejar de soporte para Atom. Cita del artículo Frequently Asked Questions and Answers about RSS support in Longhorn (MSDN):

Longhorn will support all common RSS formats, including: RSS 1.0, 2.0 and Atom 0.3. We will support Atom 1.0 when it’s released.

O sea que mi comentario sobre el botón RSS se mantiene. Claro que como dije en ese momento: si esta versión de RSS tiene más funcionalidad, es normal que Internet Explorer prefiera empezar a popularizar el término.

Luego, en El impacto de MS en el mercado de la sindicación segunda parte (Denken Über), comentaba que lo curioso que me resultaba que hayan elegido RSS por sobre Atom (como formato preferido) cuando el primero (según parece) tiene problemas con su capacidad para definir el contenido, sumado a las incompatibilidades de las diferentes versiones. Y aún más curioso cuando son ellos mismos los que reconocen las mejores intenciones de Atom. Cita de All About Blogs and RSS (MSDN):

Atom is the name of a project for developing a new Web log syndication format to address what many feel are the main problems with RSS today (a soup of confusing version numbers, not a truly open standard, inconsistent, poorly defined, and so on). Atom hopes to offer a clean version that addresses everyone's needs. It is designed to be completely vendor neutral, freely extensible by anybody, and thoroughly specified.

En Comparing RSS 2.0 and ATOM - For the Rest of Us! (Weblog Tools Collection) comentan más sobre los problemas de RSS:

RSS’s main problem is with the description and title elements, that they may be encoded HTML, or not. As markp puts it, I can’t tell you, and you can’t guess. RSS doesn’t have any way to say a link is via related or alternate, although you could put it all into the content stuff, but that sucks since you can’t process that data and keep track of it. In RSS there is also some problem with silent data loss and all versions of RSS are incompatible with each other while they claim they are compatible.

En Microsoft to take RSS five steps backwards (Digital Web) insisten con la idea de por qué extender RSS — más allá de lo no incompatible que eso sea — cuando Atom permitiría la misma funcionalidad de las listas ordenadas. Posiblemente sea como dicen en Microsoft Internet Explorer vendrá con soporte RSS (Garbage In, Garbage Out) una forma de MS de asegurarse tener la última tecnología desde el principio.

26 junio 2005

Viendo las capturas de Internet Explorer 7

Categoría

Para este momento debo ser uno de los últimos en ver las primeras capturas de Internet Explorer con su famoso lector de RSS, pero aún así. En Flexbeta (Internet Explorer 7 Screenshots) publicaron unas capturas de gran tamaño — que a su vez aparecieron primero en la galeria de fotos de Nial Kennedy — sobre las que quisiera hacer unos ligeros comentarios.

Punto a favor por aplicarse estilos al archivo de sindicación. Logran prevenir al usuario promedio del terror de ver código XML crudo.

Por el cuadro de dialogo para la suscripción, parece como si estuvieran copiando el esquema de suscripción de Live Bookmarks de Firefox — y eso no es necesariamente bueno. Esa opción de seleccionarle una carpeta es lo que me genera desconfianza. Poder agrupar suscripciones es sin duda una buena idea, pero que de entrada se les haya ocurrido como opción me resulta raro. Suena más a que el sistema de suscripción es apenas una modificación de los clásicos favoritos.

Pero lo más llamativo es que para indicar que un sitio incluye un archivo para suscripción, Internet Explorer mostraría un botón en que se lee RSS.

Curiosa elección. Firefox, al principio, también mostraba un botón con la misma leyenda pero lo cambiaron luego del tirón de orejas que le dieron al recordarle que Atom no es RSS. Justamente Opera todavía está cometiendo el mismo error de hablar de RSS cuando también soporta Atom. Claro que cuando uno piensa que Microsoft le tiene ganas a RSS todo parece menos casual. Atom… fue un gusto conocerte.

Blogger agrega DIV clear:both a los posts

Categoría

gringo avisa que Blogger agregó una opción para corregir el problema. La nota original (en inglés) es Google Blogger adds one feature, breaks another pero para resumirla (traducida) sería:

  1. Loguearte en Blogger
  2. Opciones
  3. Formato
  4. Cambiar Enable float alignment a NO

Desde hace unos días, de manera automática, Blogger está agregando al principio y al final del texto de cada post dos elementos DIV con clear:both.

<div style="clear:both;"></div>

<!-- cuerpo del post -->

<div style="clear:both; padding-bottom: 0.25em;"></div>

Estos no pueden ser editados ni removidos y están produciendo — culpa de la loca teoria de los float — que muchos plantillas se estén rompiendo. La solución que proponen en Blogger Forum (Blogger "Clear:Both" Glitch workaround) es agregar

div { clear: none !important; }

En el mismo articulo, uno de los usuarios comenta que Blogger reconoció que se trataría de un bug y que sería corregido pronto.

Tengan en cuenta que la solución anterior es bastante drástica y puede producir aún más problemas de maquetación.

Para los que manejan mínimamente CSS hay dos soluciones más. El problema que se produce es que la columna de los posts aparece recién donde termina la barra lateral. En la mayoría de las plantillas, esta segunda columna aparece primera en el código, y por tal lo que hacen es flotarla para que luego la columna de posts se acomode.

  • Una solución es flotar la columna de los posts y definirle un ancho (lo bastante angosto como para que pueda ubicarse al lado de la otra).
    #lateral {float:left;width:40%}
    #posts {float:left;width:60%}
    
  • La otra solución sería simplemente invertir el orden en que aparecen la columna de posts y la columna lateral en el código HTML. El clear sólo tiene efecto sobre los elementos flotantes que aparecen antes en el código, por lo que la columna de posts no notaría la presencia de la lateral.

Seguramente todo este problema está relacionado con la incorporación de las opciones de imágenes en Blogger. Durante el proceso semi automatizado, está la opción de alinear las imágenes a los lados. Como seguramente Blogger automáticamente les define float, los infames DIV son una forma de asegurarse que cada post no se mezcle con las fotos de los otros.

25 junio 2005

Firefox bug: El texto que parpadea

Categoría

En los comentarios, Yelo me remarcaba el curioso efecto de parpadeo que se está produciendo con Firefox. Cuando se activa el :hover, el cartel de Opera en la columna derecha parpadea. En este caso noté que borrando la propiedad float para esa columna, el problema desaparecía. Pero como le aclaré, este curioso efecto ya lo había notado en los elementos PRE.

Probé aislar el problema y sin duda se trata de un error de Firefox. Es más, ni siquiera hace falta un PRE y no es muy complicado hacerlo aparecer. De momento yo lo estoy reproduciendo en Firefox 1.0.3

El código sería el siguiente:

div {float:left}
a:hover {border:0}
p#flickr {overflow:auto}


<p>Lorem<br>Imsum<br>Dolor<br>Sit<br>Amet

<div>
 <p id="flickr">Este texto aparece arriba.</p>
 <p><a href="#" id="flick">Hacelo parpadear</a>.
</div>

El parpadeo del texto se activa cuando el mouse pasa sobre el enlace. Si no hay texto antes, el efecto parece no ocurrir. Tanto el texto que parpadea como en enlace deben estar contenidos dentro de otro bloque flotante. Aunque overflow: auto no produce ningún efecto en especial, es parte del problema. Fijense que :hover define los bordes como 0, aunque ningún elemento tiene bordes.

Esta prueba no funcionará en Internet Explorer: Prueba: Firefox hace al texto parpadear.

Suponiendo que quieran seguir usando este navegador, no me queda más que decirles que esperen a que Firefox 1.1 (AKA Deer Park) sea lanzado porque parece que se decidieron a corregir el problema.

24 junio 2005

De números inflados y Opera

Categoría

Hace unos días se comentaba el CEO de Opera se habría quejado de que los números de Firefox estaban inflados.

Ahora, Haavard Nord, (casi) el vocero de Opera, comenta en Igniting the browser wars que simplemente de la larga entrevista que tuvo Jon von Tetzchner con la gente de ZDNet, la entrevista (Opera: Firefox user figures 'inflated') eligió resaltar ese detalle en particular como una forma de avivar la guerra de navegadores.

No es por defender a Opera, pero teniendo en cuenta que la gente de ZDNet no publica una entrevista textual sino un artículo fuertemente editado, al menos se les puede dar el beneficio de la duda.

Habría que ver cómo fue que Tetzchner comentó el tema. Es un hecho que si uno mira las estadisticas de ciertos sitios especificos, los números de Mozilla Firefox tendrían falsos positivos — tengamos en cuenta que Stanford es tanto una universidad como un personaje y que otros sitios jamás notarán a Opera.

Por cierto, la gente de Mozilla ama hablar de Opera (sin editores como intermediarios) y a nadie parece molestarle.

23 junio 2005

IM7 22

Categoría

¡Feliz cumpleaños! ¿Viste que me acordé, puto?

22 junio 2005

Opera soporta WAP

Categoría

Hace poco, Pablo Viojo se sorprendía de que Opera renderizara páginas WAP. Pero sinceramente más me sorprendí yo al enterarme que Opera tiene soporte WAP desde su versión 4.

Como pasa el tiempo. Ni usé yo esa versión.

Opera se burla del browser sniffing

Categoría

En una web plagada de sitios (muy años 90) que sólo saben identificar a Internet Explorer y Netscape, el resto de los navegadores tuvieron que aprender a mimetizarse con los representantes de facto.

Opera tiene dos formas de mimetizarse. Una, la más conocida, consiste en usar el menú de configuración rápida. Presionando F12 y seleccionando Identify as. Las opciones de identificarse como Internet Explorer y Mozilla no son perfectas porque se sigue incluyendo la palabra Opera en el user-agent id (identificación de agente de usuario). Esta solución alcanza para lidiar con scripts obsoletos y permite que Opera siga apareciendo en los registros de los servidores.

Lamentablemente la mentalidad retrograda del browser sniffing no ha desaparecido y los bestias de ahora aprendieron (a medias) a identificar a (casi) cualquier navegador — Safari no es Firefox, por ejemplo. Para casos extremos, existe desde la versión 8 de Opera un archivo de configuración llamado ua.ini que lista aquellos sitios que, o bien saben identificar a los navegadores, pero sólo reconocen a Internet Explorer o Firefox, o que concientemente patean a Opera.

Editando ua.ini

Este archivo se guarda en la carpeta profile de Opera. Para ubicar primero esta carpeta, dirijanse a la dirección opera:about y busquen la linea que dice Opera directory.

El archivo ua.ini contiene, en principio, las siguientes lineas:

Opera Preferences version 2.0
; Do not edit this file while Opera is running
; This file is stored in UTF-8 encoding

[Identity]
www.opera.com=1
pncbank.com=4
online.wellsfargo.com=4
gmail.google.com=1
gmail.com=1
msdn.microsoft.com=2
my.opera.com=1
espn.go.com=1

La parte importante es la lista de sitios. Cada linea se compone del nombre de dominio del sitio, el signo igual y un número. Cada número representa una identificación distinta.

NúmeroIdentificación (user-agent id)
0Opción elegida como por defecto en Identify as
1Opera
2Mozilla + Opera
3Internet Explorer + Opera
4Mozilla (no hay rastros de Opera)
5Internet Explorer (no hay rastros de Opera)

Tengan en cuenta que Opera carga este archivo en memoria cada vez que se inicia, por lo que si Opera está corriendo mientras editan el ua.ini, tendrán que reiniciarlo para que los cambios surtan efecto.

Por ejemplo, un sitio que patea a Opera es Getty Images. Simplemente agregen al ua.ini gettyimages.com=4 y podrán ver que el sitio funciona perfectamente.

20 junio 2005

El color del neumotorax

Categoría

Algunos recordarán que hace casí un año me operaron por un neumotorax. Curiosa coincidencia que visitando COLOURlovers encuentre un color llamado Pneumothorax.

Lastima que no es un color muy lindo. Personalmente prefiero el color Piriformin (en honor al síndrome piriforme).

16 junio 2005

Opera 8.01 y Opera 8.0 oficialmente en español

Categoría

Opera 8.01

Opera 8.01 ya está oficialmente en español.

Luego de un no anunciado intento fallido de lanzar esta nueva versión, finalmente es oficial. Para Opera 8.01 se hicieron, entre otras cosas, correcciones de seguridad, por lo que es recomendable la actualización.

Descargas
Opera 8.01 para Windows (en inglés)
Opera 8.01 para Linux (en inglés)
Opera 8.01 para MacOS (en inglés) —me parece que se habían quedado en 8 beta para MacOS así que ésta es una buena noticia.

Los servidores de Opera nuevamente no dan abasto. Acá tienen dos mirrors para tal caso:

Changelogs
Changelog for Opera 8.01 for Windows
Changelog for Opera 8.01 for Linux
Changelog for Opera 8.01 for MacOS

Una de las novedades de esta versión es Browser JavaScript, un archivo javascript para corregir problemas con sitios que intentan detectar a Opera o scripts demasiado antiguos. Este archivo es creado por la gente de Opera personalmente y es actualizado semanalmente. Pueden leer una explicación más oficial sobre el tema, además de la lista de los primeros sitios de la lista en Browser JavaScript Explained.

Para los que probaron modificar las busquedas en Opera: ¡hagan una copia de seguridad del archivo search.ini! Esta nueva versión cambio el número de file versión a 6, por lo que éste archivo será reemplazado en cuando instalen Opera 8.01.

Opera 8 en español es oficial

Desde hace un tiempo se pueden descargar las versiones en español de Opera 8.0. Aunque hace un tiempo había comentado sobre una traducción no oficial al español de Opera 8, esta versión incluye una traducción de otra persona. Si ya tienen Opera 8 en inglés, pueden bajar el archivo oficial de traducción al español (que extraje del instalador) que, seguramente, también funciona en la versión 8.01.

También pueden descargar el programa completo: Opera 8.0 en español para Windows.

15 junio 2005

Podcast, la nueva moda inaccesible

Categoría

Ayer, HTMLlife publicaba su primer podcast y me di cuenta que esta nueva moda (personalmente, estupida) tiene todas las ganas de quedarse. Temí que fuera el único que lo notara, pero por suerte Podcasting, ¿accesible? en Accesibilidad Web no sólo se hizo eco sino que también lo comenta con lujo de detalles.

Aún así, esperando que sepan disculpar mi alto ego, quiero expresar las pocas ideas que tuve al ver el infame post. Primero y principal, como triste usuario de dial up, cualquier cosa que supere el 200kb debe ser lo bastante bueno como para no ser ignorado, por lo que es obvia mi reacción ante una extravagancia de 3mb.

Sin ir más lejos, fueron ellos mismos quienes comentaron sobre el servicio de podcasting Odeo y mi (levemente sarcástico) comentario sobre problemas de accesibilidad fue equivalentemente ignorado.

Por otro lado, quisiera rescatar el comentario de MC en el post de Accesibilidad Web:

De acuerdo Pablo, pero si te fijas, me estás diciendo que hay que publicar el texto y el podcast. Redundante, ¿no crees?

Aunque Pablo Viojo respondió a éste comentario, quisiera agregar que lo de alternativa no es una opción de lujo sino una pauta de accesibilidad. La Guía breve para crear sitios web accesibles especifica para el contenido multimedia:

Multimedia. Proporcione subtítulos y transcripción del sonido, y descripción del vídeo.

Luego, el documento Técnicas HTML para las Pautas de Accesibilidad al Contenido de la Web 1.0, en el punto 9.2, Equivalentes textuales para multimedia, especifica:

Proporcione un texto equivalente para todo elemento no textual (…). Esto incluye: (…) archivos exclusivamente auditivos.

También hay una cuestión de sentido común, pero éste no viene documentado.

14 junio 2005

Technorati beta es tan Internet 1.0

Categoría

Que triste coincidencia que mientras todos están felices con la versión beta de Technorati, tenga que ser un blog perdido entre muchos el que rescate que en las páginas dedicadas a los Technorati tags usan Ajax para obtener la información de Flickr, furl y otros.

Technorati será Web 2.0 pero éste uso de Ajax es muy Internet 1.0.

¿Tan poca plata tendrán para invertir en servidores que ahora los navegadores tienen que hacer todo el trabajo?

Si a alguien le queda alguna duda sobre el uso de Ajax:

<script src="/js/ajaxlib.js" type="text/javascript"></script>

Por cierto, no funciona en Opera, al que, dado mi poco conocimiento de Javascript, asumo que están pateando:

if (navigator.userAgent.indexOf('Opera') > -1)
            {
                return false;
            }

Junto con el rediseño oficial, arreglaron los scripts de browser sniffing para que funcione en Opera 8.

¡Que asco! ¡Sin Javascript (y en Opera identificándose como Opera) ni siquiera aparecen los tags relacionados!

Por supuesto, mi uso de la expresión Internet 1.0 es diferente al que normalmente se está usando. Entiendase mi razonamiento como tan años 90 —pero si modifico el titulo, se modifica la URL.

12 junio 2005

¡HTML es semántico!

Categoría

Siguiendo con la linea de ¡HTML es estricto! esta vez le toca al mito que dice que XHTML es más semántico que HTML.

  • ¡Los buscadores entienden perfectamente HTML! El 90% del código HTML en internet es un asco, y sin embargo Google no para de indexar páginas. Puede que sea cierto que a los buscadores les gusta ver elementos H1, strong y similares, pero no olvidemos que son elementos que ya existen en HTML.
  • ¡XHTML es HTML! No hay elementos nuevos ni atributos nuevos. Todo sigue exactamente igual. Fijense las diferencias oficiales entre XHTML y HTML.
  • XHTML no separa mejor el contenido de la estructura. A los que le tienen terror al elemento FONT les recuerdo que ese elemento no está permitido según el DTD de HTML 4.01 Strict, sin embargo si está permitido según el DTD de XHTML 1 Transitional. El DTD de XHTML 1 Transitional es el mismo HTML 4 Transitional sólo que reformulado para funcionar como XML y lo mismo pasa con los dtd de HTML 4 Strict y XHTML 1 Strict. Decir que XHTML va a impedir que el nabo promedio use FONT o align es como decirle te saco el tenedor porque te podes pinchar y estarle entregando un cuchillo.

Y no, no hay mucho más. El mito de la semantica de XHTML casi siempre esta relacionada con los buscadores y con la separación de la presentación del contenido. ¿Se entiende por qué desconfió cuando veo a alguien escribir sobre XHTML?

Microsoft Planning 'Lower Rights' IE 7.0

Categoría

IE 7.0 will add support for IDN (International Domain Names), built-in RSS and seamless search that will include choices of search providers.

The browser will also improve Web page printing capabilities like the automatic fit-to-page feature…

(Eweek.com) Federico ROTFL.

10 junio 2005

Opera y los premios de PC World

Categoría

Es extraño que nadie me haya comentado sobre el incidente de Opera y PC World, por lo que antes que se escuchen los gritos (en castellano) de algún Firefox zealot, aprovecharé para comentar.

Para los que no estén enterados, paso a contarles. Hace unos días, la revista PC World publicó 100 Best Products of 2005 en el que —mal que me pese— Firefox apareció como producto del año. Luego, en el sitio oficial de Opera, apareció un informe de prensa diciendo que Opera había ganado como el mejor navegador. Luego de todo esto, Asa Dotzler (parte de la organización Mozilla) puso el grito en el cielo diciendo que Opera lies about being named PC world best browser (noticia que muy simpáticamente tradujeron en DiarioTI como Opera intentó usurpar posición de Firefox en lista "Top 100"). Luego de este mini escándalo, la página inicial de Opera fue modificada diciendo que habían ganado un PC World's World Class Award y también modificaron el anuncio oficial a Opera 8 is a PC World 2005 World Class Award Winner. No, no hubo aún ninguna respuesta oficial sobre el asunto con la excusa de que Opera aparece listado en la categoría web pero Firefox no y que eso les habría creado la confusión (a los del departamento de marketing de Opera).

Mi visión personal sobre el asunto. Cuando apareció el anuncio oficial (original), di vuelta media internet buscando dónde cuernos decía que habían ganado como mejor navegador, hasta que finalmente encontré la mención en la lista pero como si se trata de un producto más. Por supuesto que en ese momento me resultó curiosa la auto proclamación, pero ni me preocupe. Planeaba comentarla pero sin negar que aparecía mencionado medio perdido en la lista. Sobre la noticia, sí, creo que estuvieron medio desubicados y decir que fueron mencionados entre los ganadores es más correcto.

Sobre el resto de los navegadores mencionados, además de estas dos divas, apareció Maxthon. Ahora, olvidando todo el cariño que uno puede tener por su navegador. ¿Se dan cuenta que un mísero skin para Internet Explorer aparece no sólo mencionado sino que en puesto bastante alto? Ya sé que no querían ver a Opera en esa lista, pero ¿eso? Habiendo tantos navegadores (especialmente para MacOS) le dan un premio a un maquillaje para la aplicación más pedorra del momento. Después del incidente de Cnet ya no da para confiar en nadie.

08 junio 2005

Cambio de template otra vez

Categoría

Así como vino, se fue. Perdón por el alboroto. Igualmente sigue estando enlazado como alternate stylesheet para aquellos que quieran ver lo del selector de adyacentes.

Si no fuera porque cierta persona le encontró una virtud, no hubiera cambiado. Después de verlo tantos días seguidos, ya prácticamente lo odio.

¿La virtud novedosa? Sólo disponible, hasta donde puedo confirmar, en Opera 7 o superior y vaya uno a saber qué versión de Mozilla y Firefox. Entren por la página principal y bajando hasta donde termina el segundo post. La loca magia del selector de adyacentes. Sí, justo en este momento se ve medio pedorro por mi mala costumbre de meter posts extremadamente largos, pero la idea se entiende.

En Internet Explorer 6 y Opera 6 se ve sólo una columna interminable pero al menos se ve decente. Opera 5 es un chiste. IE 5 lo dejaré para otro día. ¿Sabían que Opera 6 implementa el selector de adyacentes pero no first-child?

Vuelvo a tener trackbacks gracias al buen Haloscan porque resulta que aunque borra los comentarios no así los trackbacks, sumado a que los que envío quedan almacenados en el servidor de los terceros. Demasiado fácil como para no unirme al grupo.

Presto apesta. Al final sólo Firefox jamás me dio problemas.

El marrón últimamente se combina con el rosa o el celeste. El problema es que el rosa me recuerda cierta organización que defiende minorías. Y no, tampoco hay tanto celeste como quería.

Por si algún nerd revisa el código HTML: lo siento, sé muy bien que es un sacrilegio pero mientras Blogger no se ponga media pila, es lo hay. Lo importante son los fuegos artificiales.

Al margen, espero que cierta persona me perdone que esté usando ancho fijo.

Faltan los comentarios

Y ya está. Hay mejores cosas sobre que escribir.

06 junio 2005

BrowseHappy queda en manos de Wordpress

Categoría

BrowseHappy es un sitio que funciona como campaña para navegar más feliz, o dicho más directamente, dejar usar Internet Explorer. Fueron los de The Web Standards Project quienes lo habían creado y se venían ocupando de mantenerlo, pero recientemente decidieron pasarle el mando a la gente de WordPress. En el comunicado oficial de The Web Standards Project titulado BrowseHappy Now Part of WordPress as WaSP Refocuses Mission explican las razones de esta decisión.

In an effort to refocus energy on advocating for standards from a perspective of universal access and vendor neutrality

(BrowseHappy campaign's) lack of neutrality has actually put WaSP in a compromising position by seemingly showing favoritism toward specific browsers.

Vaya uno a saber por qué específicamente lo dicen. En principio se me ocurren dos simples razones. Primero, si se fijan en el sitio, casi todo el contenido es a favor de Firefox, dejando a Opera con sólo una recomendación y a Mozilla y Safari con ninguna. La fundación Mozilla no siente menos respeto por los estándares que el resto de los productores.

Por otro lado, tampoco les debe convenir mucho estar peleados con Microsoft. Es un hecho que Internet Explorer 6 está muy desactualizado pero Internet Explorer 7 parece querer mejorar el soporte de estándares. No resultaría muy ético que por un lado se reunan con ellos para discutir sobre estándares y por otro estén pateando sin asco su producto. Como bien dicen, la cuestión es ponerse de acuerdo en el objetivo y no avivar más la actual guerra de navegadores.

La gente de Wordpress también comentó la noticia Browsing Happy with WordPress.

We’ve promoted Firefox for a long time…, this will allow us to expand our promotion to cover other excellent browsers as well.

¿A qué se referirán con otros navegadores? Es un hecho que el sitio es una campaña en contra de Internet Explorer ?alcanza con ver la bienvenida del sitio. ¿En qué sistemas operativos podemos encontrar a Internet Explorer? Sólo en Windows y MacOS. En Windows las únicas opciones (gráficas) que existen (si no me equivoco) serían Opera y los derivados de Gecko, mientras que en MacOS serían (hasta donde sé) Safari, OmniWeb e iCab, además de, nuevamente, los derivados de Gecko. O sea que en general tienen todas las alternativas ya contempladas en el sitio; faltaría agregar Netscape 8.01, K-meleon y el antes mencionado iCab. A menos, que de pronto sean iluminados y elijan tener un sitio con comparativas objetivas de características de cada navegador. En ese caso, habría que recordarles que Lynx es un navegador y que funciona bastante bien. Aunque en el fondo ni siquiera tengo esa esperanza. BrowseHappy es sólo propaganda orientada al público promedio. Espero que al menos completen un poco más el sitio.

04 junio 2005

:only-child. Testeando el selector de CSS3 en Deer Park Alpha 1

Categoría
Este post es experimental. Para verlo completo se necesita un navegador medianamente moderno —puedo confirmar que funciona en Opera 8 y en Firefox 1.0.4— y los ejemplos de momento sólo funcionan en Deer Park Alpha 1.

No soy un avanzado de CSS como para esperar encontrar errores en la implementación de este selector pero eso no quita que es divertido probarlo contra casos bastante básicos. Por si alguien no se dio cuenta, :only-child se usa para seleccionar aquellos elementos que no tienen hermanos.

Prueba básica

p:only-child {background:red}

<body>
 <p>Texto sin sentido</p>
</body>

P, más allá de su contenido, sigue siendo el único hijo de BODY por lo que debería poder ser seleccionado. Como era de esperarse, P muestra fondo rojo. Demostración de Prueba básica.

Prueba básica 2

Como dije antes, el contenido de un elemento no afecta su condición de hijo único.

ul:only-child {background:red}

<body>
 <ul>
  <li>Item 1
  <li>Item 2
  <li>Item 3
 </ul>
</body>

Demostración de Prueba básica 2

Elementos anónimos

em:only-child {background:red}

<p>Esto es texto común pero 
 <em>éste tiene énfasis</em>
</p>

Mi error. Pensé que el texto fuera de EM contaría como otro elemento pero no es así. En realidad ni siquiera se trata de un elemento anónimo sino de una caja en línea —inline box— anónima. Cita de Anonymous inline boxes (Visual formatting model en CSS 2):

The P generates a block box, with several inline boxes inside it. The box for emphasized is an inline box generated by an inline element (EM), but the other boxes (Some and text) are inline boxes generated by a block-level element (P).

Demostración de Elementos anónimos

El elemento HTML

html:only-child {background:red;}

El elemento HTML no es hijo de nadie por lo que no puede ser seleccionado.

Demostración de El elemento HTML

Hermanos con ::after (o ::before)

body::after {content:"Hola mundo"}
p:only-child {background:red}

<body>
 <p>Texto sin sentido</p>
</body>

::after y ::before crean al pseudo elemento dentro del elemento seleccionado; en este caso, dentro de BODY, por lo que P ya no debería ser hijo único.

Mi error nuevamente. El selector se basa en los elementos declarados en el DOM. Cita de What's New in Deer Park Alpha en Mozilla.org:

CSS3 :only-child
This CSS3 selector allows selecting an element that has no other elements as siblings in the DOM.

Sumado a que a ::before y ::after no afectan al DOM. Cita de Adding Generated Content in CSS2 en Javascript Kit.

Generated content is not considered actual content, and hence doesn't alter the document tree, for those of you who work with the DOM.

Y por si falta más, el mismo DOM Inspector de Firefox muestra que no existe otro elemento más que P.

Demostración de Hermanos con ::after (o ::before).

Único hijo con ::after (o ::before)

body::after:only-child {content:"Hola mundo";background:red}

Por todo lo explicado antes, esta declaración tampoco tendria efectos.

Conclusión

No hay mucho más. Es un selector bastante simple por lo que no creo que logren sacarle algún error. Por cierto, según el módulo CSS3 Selectors una forma de emular a only-child es usar :first-child:last-child. Claro que Opera no soporta last-child. ¡Opera! ¡Ponete las pilas, por favor!

03 junio 2005

¡HTML es estricto!

Categoría
Haciendo amigos por enésima vez. Para evitar problemas, evitaré mencionar la fuente de cada cita —aunque no debería ser muy difícil encontrar gente que represente ese tipo de pensamiento.

XHTML es mucho más estricto que HTML.

Entiéndase que la frase anterior se dice mientras se muestra como todos los elementos tienen que tener su correspondiente etiqueta de cierre.

El siguiente bloque de código es HTML 4 válido y una muestra de lo estricto que es:

<p>
<div>
 Texto
</div>

Si no se dieron cuenta de lo reusable y lo estricto, ¿qué mejor que mirar las especificaciones? El DTD de HTML 4 declara al elemento P:

<!ELEMENT P - O (%inline;)*            -- paragraph -->

El contenido entre paréntesis se refiere al tipo de contenido que el elemento acepta. En este caso, %inline; se refiere a elementos en línea (más conocidos como inline).

<!-- %inline; covers inline or "text-level" elements -->
<!ENTITY % inline "#PCDATA | %fontstyle; | %phrase; | %special; | %formctrl;">

Para que se den una idea, inline se refiere tanto al texto y a ciertos elementos como A, SPAN o STRONG.

Pero volviendo al ejemplo original, ¿qué es un elemento DIV? ¡DIV es un elemento de tipo bloque!

<!ENTITY % block
     "P | %heading; | %list; | %preformatted; | DL | DIV | NOSCRIPT |
      BLOCKQUOTE | FORM | HR | TABLE | FIELDSET | ADDRESS">

Por tal razón, es inadmisible que ocurra dentro de un elemento P. Entonces cuando un navegador con dos dedos de frente se encuentra con un elemento P sin etiqueta de cierre seguido de un elemento de tipo bloque (DIV en ejemplo) sabe perfectamente que P termina donde empieza el siguiente.

Por favor, no crean que esto una locura mía. Fíjense nuevamente la declaración para el elemento P. Luego del nombre del elemento tenemos un guión y una letra O. El guión significa que la etiqueta de apertura es obligatoria, pero que la de cierre es opcional. Si quieren hechos, simplemente defínanle un color de fondo al elemento P y fíjense dónde termina el color. En un navegador decente —cualquiera calculo— el contenido de DIV no se debería ver afectado.

En XHTML el ejemplo anterior tendría que ser reescrito para volverlo más estricto.

<p></p>
<div>Texto</div>

¿Pero por qué tenemos que hacer esto cuando en HTML 4 quedó demostrado que no es necesario? Muy simple. Porque XHTML es XML, o al menos la mayoría cree estar utilizando XML. Un analizador de XML no conoce nada de HTML, sólo distingue etiquetas. Entonces, en el ejemplo de XHTML válido, no tendría problemas en entender que P termina en cuanto encuentra la etiqueta </p>. En cambio, en el ejemplo de HTML válido, no tiene por qué saber que P termina donde empieza DIV, por tal va a considerar a DIV como hijo de P y seguirá analizando el documento con la esperanza de encontrar la etiqueta de cierre para éste último.

XHTML funciona mejor con dispositivos móviles, navegadores antiguos, etc.

Error. Si estamos hablando de navegadores comunes y corrientes (sin importar antigüedad o plataforma), deberían ser perfectamente capaces de leer un documento HTML. Ya quedó claro antes que HTML tiene reglas claras. De ahí a que un navegador tenga errores es una tema ajeno a HTML.

Programar un analizador de XML sin duda sería mucho más fácil que uno de HTML pero la diferencia es mínima. Si el analizador conoce la diferencia entre un P y un DIV, entonces no debería importarle si tiene que trabajar sobre un documento XHTML o uno HTML. Aclaro igualmente que estamos suponiendo que ambos documentos son válidos —analizar un documento no válido puede ser un parto sin importar las reglas que estemos usando.

Otro ejemplo de HTML:

1. <dl>
2. <dt>Termino 1
3.  <dd>Definición 1
4.  <dd>Definición 2
5.   <p>Párrafo 1
6. <dt>Termino 2 
7.  <dd>Definición 3
8. </dl>
9. <p>Párrafo 2

DT sólo puede contener elementos inline, por lo que ante la apertura de DD en la línea 3 sabe que debe cerrarse.

DD no puede contener otro DD por lo que el de la línea 3 se cierra en cuanto empieza el de la linea 4.

DD puede contener tanto elementos de tipo inline como tipo bloque por lo que el elemento DD de la línea 4 puede tener por hijo al elemento P de la línea 5.

Como P sólo puede contener elementos de tipo inline, al ver la apertura de un nuevo DT en la línea 6, sabe que debe cerrarse. Como DD tampoco puede contener a DT, también se cierra.

En la línea 8 cerramos a DL como una forma de avisarle al DD de la línea 7 que también debe cerrarse, y así evitar que contenga al elemento P de la línea 9.

¿Y si quisiéramos reutilizar un documento HTML en una aplicación que sólo recibe XML? Es claro que en principio no se puede. Un analizador no podría entender las reglas de HTML. Pero para eso existen herramientas como Tidy. Tidy es lo bastante inteligente como para entender las reglas de HTML y agregar las etiquetas de cierre donde corresponden y así tener un documento XML bien anidado.

Entonces HTML es tan estricto como XHTML. Las etiquetas de cierre obligatorias —la causa de lo estricto— no van a impedir que haya gente escribiendo <a><h1>Titulo</h1></a> esperando que funcione mientras se sienten orgullosos por estar usando la última tecnología.

02 junio 2005

Sanitize and report

Categoría

Deer Park Alpha 1, includes an easy way to let users remove browsing history, cookies, cache, saved form information, and other personal data —a Sanitize feature, according to Mozilla.

Also new is the report a broken website wizard, which could help in the effort to get more Web sites compatible with Firefox.

Cita de Users can 'sanitize' next Firefox browser.

Sòlo espero que no salten a llamarlo revoluciòn. Bah, los de Cnet son capaces.

01 junio 2005

Sólo funciona con

Categoría

O haciendo amigos, parte 2.

Amazing X-Ray Effect es una simpática muestra del poder de CSS 2 —apostaría que el truco está en la correcta implementación de background-scroll: fixed background-attachment: fixed como aclaró Rodrigo en Lindo ejemplo de background-attachment. Justamente con correcta se puede distinguir a cualquier navegador que se haya actualizado recientemente —Internet Explorer 6 tiene varios años sin mejorar. Todo esto viene a la errónea leyenda que acompaña la página: Only works with Firefox. Aclaremos algo bastante obvio: funciona en varios navegadores. Normalmente no me molestaría en hacer notar esto. El problema es que en la nota Efecto Rayos X en Microsiervos eligieron repetir el mismo error y aunque, como corresponde, pedí amablemente una corrección del error (para que no digan que soy jodido), no me llevaron demasiado el apunte. Exactamente la respuesta oficial fue:

Opera, Konqueror, Safari… son todo "mozillas" así que también se debería ver ok en ellos (en Safari por ejemplo sí)

Firefox en este caso yo diría que se usa como abanderado de los "mozillas-todos-en-general" (Opera incluído) en lugar de nombrarlos a todos cuando al final son más o menos lo mismo y en cambio son menos conocidos que éste.

Para futuras referencias les recuerdo que ninguno de esos navegadores son lo mismo; cada uno tiene su propio motor de renderizado. Decir que uno puede ser abanderado de los demás es ignorar las capacidades individuales de cada uno y sólo exaltar las carencias en comparación con el abanderado de facto.

Ahora bien, ¿a quién está dirigido este experimento y en consecuencia el mensaje erróneo? Se me ocurren dos objetivos: el público promedio que no sabe ni usar Windows, y los diseñadores (especialmente aquellos minimamente interesados en CSS).

Si el objetivo es el público en general, no hay mucho que hacerle. El marketing se basa en las mentiras. Decir que sólo Firefox puede mostrar la página es una mentira hecha con conocimiento de causa.

Si el objetivo son los diseñadores, están jugando un juego, como dije antes, muy peligroso y dañino. El verdadero merito del experimento debería ser demostrar las cosas que se pueden hacer con CSS, y no simplemente hacer presión para que, como temo, un día tengamos a Firefox en el lugar monopólico de Internet Explorer.>

¡La web se supone que sea abierta! Y querer hacer creer que sólo existe una forma de entrar no está muy lejos de una burda discriminación.

Powered by Blogger