Tres usos para jQuery.extend()

1 comentarios

Tres ejemplos de algunas de las cosas que puedes hacer utilizando el método $.extend() de jQuery: fusionar objetos y arrays, utilizar opciones predeterminadas en una función y extender jQuery

$.extend() es uno de esas funciones de jQuery que quizás no son las que más utilizarías al comenzar a trabajar con este estupendo framework, pero que con el tiempo descubres que puede ser de inmensa ayuda, ya que es una solución simple a una tarea bastante común: mezclar objetos o arreglos.

Revisaré tres ejemplos de uso. Claramente, se puede utilizar en muchísimos casos más; como siempre, los comentarios quedan abiertos para aportes. Para una referencia completa, puedes echar un vistazo a su documentación.

Continuar leyendo “Tres usos para jQuery.extend()”

5(+2) recursos: por qué NO justificar textos en la web

1 comentarios

Para aquellos momentos en que a alguien se le ocurre la brillante idea: pero este texto quedaría mejor justificado… 5 links donde explican porqué no es buena idea usar texto justificado en la web

Y dos herramientas:

  • Unjustify, un bookmarklet para quitar el justificado al texto
  • … y supongamos, por un momento, que están amenzando a tu familia y la única forma de salvarla es usando texto justificado: Sweet Justice es un plugin para jQuery que permite realizar separación silábica automática a partir de la adaptación del algoritmo de Knuth/Plass (al parecer, el único que ha sido publicado). Lamentablemente, sólo funciona con textos en inglés

Jeff Jarvis en TEDx

1 comentarios

Jeff Jarvis es uno de esos personajes que tienen la claridad suficiente para analizar el contexto de los medios digitales e internet. Estuvo presente en la reciente edición TEDxNewYork, con una presentación donde parte desde el convencimiento de que el público ya no es solamente una audiencia y lo lleva a interesantes reflexiones sobre las transformaciones que está sufriendo la academia y los medios de comunicación en la era de Google.

Dejo el video de la presentación y algunas notas (personales) a partir del mismo. También pueden consultar consultar sus notas de la presentación en su blog.

Y mis notas… pueden servir de resumen si no entiendes inglés, aunque probablemente he deformado (o interpretado, si lo prefieren) varias de sus ideas:

  • El público ya no es una audiencia, sino participantes de los procesos.
  • La academia (centros educativos) y los medios proveen principalmente validación, pero no estimulan la creatividad, el debate ni la colaboración.
  • Deberíamos apuntar a una lógica distinta: dedicarnos a lo que hacemos mejor, y enlazar a los demás (“do what do you best, and link to the rest”).
  • Academia, periodismo (medios de comunicación), consumo… mover al “usuario final” del final de la cadena.
  • Estos sistemas fueron pensados para la edad industrial y una lógica de producción en cadena y consumidores finales… ya no estamos en la era industrial: estamos en la era de Google.
  • La era de Google subvierte el orden de las relaciones de producción del conocimiento, la información (¿y los productos?); es una era donde cualquiera puede producir conocimiento o información, y todos pueden aprender.
  • Esto debería llevar a re-pensar (al menos en estos ámbitos) el problema económico de la escasez: el valor no puede estar asociado a la limitación de espacio en un salón.
  • La normalización de los saberes pierde sentido… el conocimiento no puede ser un producto, sino un proceso.
  • Los centros de educación podrían reflejar la regla del 20% de Google (Google permite a sus empleados utilizar el 20% de su tiempo en desarrollar proyectos personales; esto ha dado lugar a Gmail, Google Apps, entre otros). El fin de un proceso de conocimiento no estaría marcado por un diploma, sino por un portafolio de trabajo, lo que constituye una mejor representación de una forma de pensar

Sitios web aún más rápidos

0 comentarios

A propósito del post sobre la “sensación” de velocidad y los selectores eficientes que publicó recientemente Armonth en su blog, recordé una de las presentaciones de la Web 2.0 Expo en San Francisco de la que había visto sus diapositivas, y que hablaba más o menos del mismo tema.

La presentación estuvo a cargo de Steve Souders, quien trabaja en Google en iniciativas de código abierto y alta performance, es el creador de YSlow — una herramienta (plugin para Firebug) desarrollada por Yahoo! para medir la performance de un sitio — y especialista en sitios de alta performance.

Pueden ver la presentación en Slideshare o bien descargar la original desde la ficha técnica de su charla.

Apple y Adobe: el burro hablando de orejas

0 comentarios

La pelea entre Adobe y Apple se está tornando cada día más bizarra: en el último round se cruzaron acusaciones de poca apertura, en circunstancias en que ninguno de los dos tiene un historial muy limpio en ese ámbito.

De parte de Adobe:

We are at the beginning of a significant change in the industry, and I believe that ultimately open platforms will win out over the type of closed, locked down platform that Apple is trying to create. I am excited about Flash Player 10.1 and Adobe AIR 2.0 and all of the opportunities that they will make available to Flash developers across multiple platforms (desktop, Android, Palm, Windows Phone 7, RIM, etc…). — On Adobe, Flash CS5 and iPhone Applications at Mike Chambers

Pero…

  • Flash nunca ha sido un estándar abierto… incluso los archivos que se usan en producción son compilados (los SWF), por lo que ni siquiera es un formato editable (necesitas acceso a la fuente FLA). Los movimientos más recientes hacia un desarrollo abierto son tentativos e insuficientes: el Open Screen Project establece condiciones para extender Flash, pero no para abrirlo: se elimina el pago de licencias, y se abren las especificaciones para dar la posibilidad de desarrollar otras implementaciones de reproductores Flash, pero el reproductor desarrollado por Adobe seguirá siendo de fuente cerrada — en otras palabras, se abre el formato, no el reproductor, y hasta la fecha (y hasta donde yo conozco) no hay ninguna implementación completa de estas especificaciones.
  • El tránsito de Adobe hacia estándares abiertos ha sido lento y movido principalmente por las amenazas de sus competidores: sólo comenzó el camino para transformar a PDF en un estándar abierto en 2007, luego que Microsoft tratara de avanzar en su mercado con XPS; mientras que el Open Screen Project sólo tomó forma luego de la fuerte promoción de Silverlight por parte de Microsoft, y del peligro de perder una importante cuota de mercado ante la implementación de HTML 5 y sus tecnologías asociadas.
  • PSD, el formato nativo de Photoshop, no es un estándar abierto. AI, el formato nativo de Illustrator, no es un estándar abierto. Los PNG producidos por Fireworks sólo sirven como imágenes planas con otros programas. Hasta donde yo sepa, no existen programas que ofrezcan compatibilidad completa con ninguno estos formatos.
  • El compromiso de Adobe con el código abierto ha sido en los mejores casos parcial: está ocurriendo con Flash, al licenciar parte de sus tecnologías asociadas, ocurrió con sus contribuciones al motor de Javascript de Mozilla.

"Someone has it backwards–it is HTML5, CSS, JavaScript, and H.264 (all supported by the iPhone and iPad) that are open and standard, while Adobe’s Flash is closed and proprietary," said spokeswoman Trudy Muller in a statement. — Adobe scraps work to bring Flash apps to iPhone | Deep Tech – CNET News

Pero ¿qué moral tiene Apple para hablar de apertura?

  • Todas las aplicaciones para iPhone/iPod Touch/iPad deben pasar por el control central de Apple, a través de un proceso muy poco claro del que más de alguno se ha quejado, como Google por Google Voice (en un lío que llegó hasta la Comisión Federal de Comunicaciones en EEUU), o más recientemente Grooveshark que ha visto a su aplicación rechazada sistemáticamente. (¿No se alcanza a ver el patrón? Google Voice atentaba contra el modelo de negocios de AT&T; la aplicación de Grooveshark contra el de la iTunes Music Store)
  • Como bien señala Jeff Jarvis, el iPad es un dispositivo que básicamente convierte al usuario en parte de una audiencia: el modelo de las aplicaciones por sobre la web, limita la posibilidad de un usuario para comentar, re-publicar, re-mezclar e incluso enlazar.
  • Ya que estamos en eso… ¿de qué estándares abiertos estamos hablando sobre el iPhone/iPod Touch/iPad? No tienen conexión USB, y el único diálogo que pueden establecer con mi PC es a través de iTunes: a menos que aplique un hack o jailbreak, no puedo utilizar otro software para traspasar música, videos ni aplicaciones… y por supuesto, no hay versión de iTunes para Linux
  • Volviendo a las tecnologías de la web, vale la pena recordar algo de la historia de WebKit: inicialmente Apple basó Safari en KHTML (desarrollado por KDE para Konqueror), que usa una licencia GPL por lo cual Apple debía publicar el código fuente de sus modificaciones al distribuir su software. A medida que avanzó el desarrollo de Safari, las constribuciones de Apple a KHTML comenzaron a ser progresivamente más problemáticas (en parte porque el desarrollo en Apple comenzó un año antes de hacer públicos sus primeros cambios), llegando a un punto en que la mejor opción para Apple no fue seguir contribuyendo al desarrollo de KHTML sino crear un fork. Hoy en día, Google ha superado en número de contribuciones al equipo de desarrollo de Apple (lo que ciertamente no es una buena medida de la cantidad absoluta de trabajo puesta en un proyecto, pero de todos modos constituye un dato a considerar). Incluso ahora, que el desarrollo de WebKit es abierto, Apple usa APIs no documentadas en su navegador que le otorgan una ventaja considerable sobre otras alternativas.
  • Para los que piensan que con el tag <video /> en HTML 5 se acaba lo propietario: para que el video funcione, el navegador debe incluir el códec correspondiente. Actualmente la pelea está entre dos frentes: Ogg Theora, un formato libre y libre de patentes (por lo que es apoyado por Firefox y Opera) y H.264, un estándar abierto pero cuya implementación está sueta al pago de patentes. Apple y Google soportan H.264, y para ello deben pagar miles (¿millones?) de dólares para su utilización… ¿por qué no invertir esa cantidad (la que sea) en el desarrollo de un Ogg Theora?
  • WebKit no ha sido la única vez que Apple comienza un desarrollo desde un proyecto abierto: el mismísimo OSX está basado una variante de UNIX (FreeBSD) y otros proyectos de software libre. Sin embargo, las APIs más elevadas para el desarrollo de software sobre OSX son propietarias de Apple, por lo que no puede ejecutar aplicaciones para Mac. Apple estableció una comunidad de desarrollo esperando recolectar contribuciones para la base de su sistema operativo a través del proyecto OpenDarwin, pero finalmente cerró el proyecto en julio del 2007 .