Microsoft matará los comentarios condicionales en IE10

Hace un rato, en el blog de desarrollo de IE10, se anunció que la próxima versión de este navegador no traerá comentarios condicionales.

Para los que no los conozcan, los comentarios condicionales son una característica que MS implementó en IE5 para detectar la versión del navegador y cargar algunas cosas. Por ejemplo, algún mensaje, un estilo diferente, etc. En teoría sería algo muy útil, en la práctica la manera más utilizada fue para cargar hojas de estilo adicionales que corrigieran los errores de las distintas versiones de IE y así poder tener cierta consistencia en un sitio web en diferentes plataformas.

Pronto no hará falta recurrir a métodos tan radicales para que IE se comporte. Foto de BlubrNL

Ahora, MS recomienda da un paso más hacia la estandarización y seguir el camino que llevan todos los demás al recomendar que se use detección de características en vez de detectar el navegador. Es decir, en vez de tratar de ver que navegador está usando tu cliente para servir el sitio de tal o cual manera, mejor checas si el navegador puede hacer tal o cual cosa. Esto es lo que deberías estar haciendo de cualquier modo.

A pesar de que en esta versión MS se intenta apegar lo más posible a los estándares del W3C (e IE9 es un muy buen ejemplo de como ha intentado hacer las cosas bien) sin duda todavía habrá diferencias entre sus navegadores y los demás, simple y sencillamente porque siempre hay diferencias entre navegadores, así es la vida. Para casos que no quede de otra seguro que todavía será posible detectar el navegador a través de javascript, igual que los demás navegadores.

Pues no parece gran cosa, pero espero que sea una señal de que MS va por el camino correcto al hacer a IE10 más como los demás navegadores.

Improve WordPress TwentyTen theme with HTML5 and JavaScript

In a recent survey by Chris Coyier over at CSS-Tricks, almost two thirds of respondents said they would not use HTML5 in new projects. In a similar survey by Smashing Magazine the results were almost identical: only 37% of voters said they use HTML5. This is depressing reading. Perhaps developers and designers are scared off by cross-browser incompatibility and the chore of learning new mark-up. The truth is that with a pinch of JavaScript, HTML5 can be used safely today across all browsers, back to IE6. Using HTML5 To Transform WordPress’ TwentyTen Theme – Smashing Magazine

Formularios en html5 en cualquier navegador usando jQuery

Una de las cosas que html5 hace mucho mejor que html 4 es el manejo de formularios. Incluye mejores etiquetas, manejo de fechas, rangos, validación, etc.

Desafortunadamente sólo Chrome y Safari entienden esas etiquetas actualmente; pero con este plugin para jQuery se pueden utilizar en Firefox e Internet Explorer (siempre que tengan javascript activado, claro).

Es un desarrollo del argentino Matías Mancini. ¡Muy bueno y útil!

/vía @usejquery

Biblioteca JavaScript de Google criticada por lenta e ineficiente

Having delivered a talk on how to write your own JavaScript library (detailed notes) at the conference, Dmitry shared his thoughts on the new library over breakfast the next morning. “Just what the world needs—another sucky JavaScript library,” he said (…) For the rest of the day, to anyone who would listen, Dmitry cited example after example of the terrible code he had found when he went digging through Closure.Google Closure: How not to write JavaScript

Hace un par de días les comentaba sobre la liberación de Google de su biblioteca JavaScript. Pues parece que la movida no fue del todo buena porque dándose una vuelta por el código, un experto en JavaScript ha descubierto bastantes malas prácticas y faltas de programación que hacen al código más lento. Es una biblioteca de JavaScript escrita por desarrolladores de Java que claramente no entienden a JavaScript dijo Dmitry Baranovsky.

Para que no digan que es pura envidia mandó las cosas que encontró a Sitepoint y ellos han creado un artículo con estos puntos de crítica.

Es posible que la biblioteca de Google no sea la más rápida del mundo y que aún no esté preparada para hacerle la competencia a jQuery o MooTools, pero por lo menos ahora que es de código abierto todas esas ineficiencias se pueden corregir.

Google abre su biblioteca de Javascript

The Closure Library is an industrial-strength JavaScript library. It provides user interface widgets, an event framework, a packaging and dependency resolution system, tools for DOM manipulation, tools for creating animation effects (including drag and drop), communication utilities, a unit testing framework, and a wide variety of other packages. Closure Library API Documentation (Closure Library API Documentation – JavaScript)

Entre las herramientas que ha desarrollado Google para hacer sus aplicaciones e interfaces está Closure, que es una biblioteca Javascript con la que se pueden crear widgets, resolver dependencias, controlar eventos, animaciones, etc.

Google la ha hecho pública bajo licencia libre Apache, lo que significa que cualquiera la puede descargar, modificar y usar como se le dé la gana. En el sitio de Googlecode también hay algo de documentación y un tutorial para irse adentrando.

Arrastra y comparte artículos en tu blog

We’ve all seen the brilliant functionality on Mashable where news stories and interesting articles can be shared to social networking sites; the functionality is driven by the images accompanying the articles; you click and hold on an image and can then drag it into a toolbar to share it.Drag to Share – Nettuts+

Si son visitantes del blog Mashable tal vez se hayan dado cuenta de una nueva funcionalidad para compartir un artículo en varias redes sociales simplemente arrastrando una imagen hacia el icono de la red social y soltándolo ahí. Dan Wellman nos enseña como hacer lo mismo en nuestro blog usando jQuery.

Extrayendo y reusando contenidode un sitio web con YQL

During the mentoring sessions at last weekend’s Young Rewired State one of the most asked questions was how you can easily re-use content on the web. The answer I gave was by using YQL and I promised a short introduction to the topic so here it is. What we are going to do here and now is to turn a web sites into a widget with YQL and a few lines of JavaScriptWait till I come! » Blog Archive » Tutorial: scraping and turning a web site into a widget with YQL

Este es un muy buen ejemplo práctico sobre como utilizar YQL para extraer el contenido de un sitio e insertarlo en otro.

YQL es una API desarrollada por Yahoo! para hacer consultas de contenido usando un lenguaje muy parecido al SQL. Con éste se puede unir información de varios servicios para crear mash-ups interesantes con pocas líneas de código. Puedes leer más en la documentación de YQL.

Too old or too modern, but the site is just not very smart

Thanks to the magic of Twitter @Malarkey sent a very curious message about this error message:

Error Displayed: The current browser is either too old or too modern
“The current browser is either too old or too modern”

So, the calendar can’t be used because the javascript that’s supposed to handle it was made for the Netscape Navigator browser which I imagine no one thought would ever ever go away. Unfortunately it went away in March 2008, after years of almost nil market share. Someone must have thought that people actually bothered to install the gazillions CDs that AOL polluted the world with for about a decade.

Unfortunately that was not the case and hardly anyone has used Navigator since 2002, and so what could have been seen as a bold move by the developers betting their all on the success of one single browser now survives solely as a curious error message that I think could also be a haiku.

On the other hand it could be that the error message should be “The developers of this site are either too stupid or too lazy.”

So, kids, let this be a lesson to you: don’t develop for a single browser, make sure your code degrades gracefully and, if you are the website owner, check your websites more often than once every five years, preferably with what people would most likely be using to see it.

Efecto de acordeón en javascript

Lo interesante y novedoso de este script para un efecto de acordeón es que es muy ligero, sólo mide 1 KB y no necesita de otras bibliotecas como jQuery o Mootools. Los resultados quedan bastante bien, se degrada grácilmente y no hay que sacrificar la codificación semántica del sitio. Muy recomendable si estás buscando este tipo de efecto en tu sitio.
clipped from www.leigeber.com
This versatile 1kb horizontal accordion script can be used for menus, images, presentation content and more. I had seen a similar looking feature on the mootools homepage and set out the replicate the functionality as a standalone script and as lightweight as possible. The script will automatically adjust to the number of elements in the accordion and the dimensions of the accordion.
blog it

Como validar campos

Muchas veces tienes la necesidad de poner una forma en tu sitio y además asegurarte que los campos sean llenados de cierta manera. Esto se puede convertir fácilmente en un quebradero de cabeza para la programación inicial y el mantenimiento del sitio. Pero hay un modo más fácil. De Robertobaca.Net

La biblioteca javascript wForms sirve para validar campos de formas fácil y rápidamente. La desarrolló una empresa llamada TheFormAssembly que hacen y venden software para crear formas. Sin embargo ellos decidieron liberar esta biblioteca de funciones bajo la licencia GNU, así que todo mundo la puede usar, cambiar y distribuir libremente.

Usar la biblioteca es muy sencillo. Después de descargar el archivo de su sitio, descomprimes su contenido y lo subes a tu sitio usando algún cliente de FTP. Después nada más añades las siguientes líneas a las páginas que quieres que usen esta biblioteca:

<script type="text/javascript" src="/wForms/v2.0/modules/wforms_core.js" ></script>
<script type="text/javascript" src="/wForms/v2.0/modules/wforms_validation.js" ></script>

Por supuesto en src tienes que poner la ruta al subdirectorio donde subiste el archivo.

Una vez hecho esto puedes hacer cosas como lo siquiente:

<div class="requiredall">
1: <input type="radio" name="opcion1" value="1" />
2: <input type="radio" name="opcion1" value="2" />
A: <input type="radio" name="opcion2" value="A" />
B: <input type="radio" name="opcion2" value="B" />
</div>

que obliga a los usuarios a seleccionar algo tanto en opcion1 como en opcion2.

Simplemente cambiando el atributo class de tu etiqueta puedes decir si ese campo es un requisito, si debe ser numérico, alfanumérico, fecha, etc. o incluso si cumple con una expresión regular que tú mismo determines.

La ventaja de este método es que es totalmente semántico, no es intrusivo, se degrada grácilmente y es fácilmente personalizable. Con unas pocas líneas de código puedes cambiar los mensajes de error que recibiría el usuario. Como usa clases puedes configurar los campos de la manera que quieras. Y como es una biblioteca externa el añadir, quitar o modificar campos no requiere que reprogrames el javascript entero.

Por supuesto, no sustituye la necesidad de validad una entrada en el servidor. Por motivos de seguridad siempre debes validar los datos también en el servidor. Pero sí te facilita mucho la programación de formas amigables y útiles para los usuarios.