Link del día: Social por defecto

Este es uno de esos ejemplos que van guíando a los programas de la forma que tienen que ser. Hace un tiempo ya César DOnofrio me estuvo comentando sobre una aplicación llamada Color. Con un nombre tan simple, es una herramienta para dispositivos móviles que nos permite formar parte de un “enjambre” de gente que participa de un evento.

Basándose en la localización y el tiempo actual en donde el multimedia es capturado (fotos, videos, etc.), se puede considerar que varias fotos de distintas personas son en realidad pertenecientes a un mismo eventos. Así es como Color nos permite compartir lo que hemos visto con la gente que estuvo en ese evento y con otros. Lo curioso es que entonces todos los detalles que nos perdimos del evento fueron entonces capturados por otros presentes y están disponibles para nosotros también.

La idea es maravillosa, es hacer social en el mundo virtual lo que ya es social en el mundo real. Yo personalmente creo que si esta herramienta no es de alguna forma un ejemplo de cómo deben seguir siendo las aplicaciones (directas en su propósito), al menos tiene un concepto más que interesante.

Soy un zorrinito social.

(Read more →)

Link del día: Los fines de semana son para JavaScript

Aunque el título original del post es Weekends are for hacking, yo creo que este título se le ajusta un poco mejor y se presta menos a confusión, ya que el hacking al que se refiere es hacking de archivos JavaScript para crear nuevas funcionalidades o sobreescribir funcionalidades que ya existen en determinados navegadores. Los ejemplos son muy buenos, y las aplicaciones son múltiples. Pasamos desde la posibilidad de crear gráficos hasta la posibilidad de reproducir MIDI desde el navegador. Por supuesto, todo esto es una gran fuente de conocimiento que podemos utilizar para aprender.

Quizá hacer nuestros propios hacks no sean tan difíciles (y de hecho, nos invitan a que lo hagamos), pero personalmente no creo ser tan conocedor de JavaScript como para ser capaz de algo así. ¿Ustedes sí?

Soy un zorrinito JavaScript.

Dicho sea de paso, ¡Felices Pascuas!

(Read more →)

Link del día: El algoritmo del Kinect

Si es que han visto demos, publicidades, o han jugado personalmente con el Kinect, probablemente se habrán dado cuenta que tiene mucho trabajo volcado en ese producto, y mucha tecnología novedosa sobre la forma en la que se pueden reconocer los cuerpos, las caras y los movimientos. Simplemente, una forma que resultó ser viable de utilizar el reconocimiento de gestos de una forma muy amplia.

Hace no mucho tiempo Microsoft reveló públicamente el algoritmo que utiliza Kinect para hacer estos reconocimientos. Toda esa información está presente en un paper publicado bajo el nombre de Real-Time Human Pose Recognition in Parts from Single Depth Images. El paper es bastante conciso y no muy largo, pero claro, hay que tener ciertos conocimientos de probabilidad, grafos y procesamiento de imágenes para poder apreciarlo en su totalidad.

Siendo esto público ahora, ¿quién de nosotros será el próximo en armar su aplicación Kinect-like?

Soy un zorrinito en movimiento.

(Read more →)

Link del día: Patrones CSS3

La magia de CSS3 nos da la posibilidad de crear una enorme cantidad de figuras complejas, y lo bueno es que son características propias del lenguaje, no se tratan de hacks o de implementaciones propias de navegadores.

Han habido quienes lo llevaron un poco más allá para crear fondos con patrones hechos exclusivamente de código CSS3, y su galería puede observarse en CSS3 Pattern Gallery. La galería es totalmente interesante e interactiva, podemos cambiar los valores que forman los patrones en las cajas de texto y crear nuevos o modificar los existentes a nuestro gusto. Como extra, también es una buena forma de practicar CSS3 de una forma muy gráfica, ¿no lo creen?

Esta galería forma parte del blog de Lea Verou, un blog sobre estándares webs y técnicas CSS, que vale la pena revisar (y cuyo diseño es envidiable).

Soy un zorrinito CSS3.

(Read more →)

Link del día: Adapt.js

Siguiendo con la seguidilla de implementos JavaScript, hoy tenemos a Adapt.js, un archivo javascript que nos permite condicionalmente cargar uno u otro CSS de acuerdo a valores del navegador. No se trata solamente de variar las versiones del navegador como podemos hacer con HTML condicional, sino a condiciones como el tamaño de la pantalla, y de hecho, ese es el uso principal que se le da a esta herramienta.

La capacidad de elegir un CSS según el tamaño de la pantalla nos permite fácilmente apuntar a determinados dispositivos móviles de forma distinta que los navegadores de escritorio, e incluso a pantallas que ya quedaron atrás en el avance de los monitores grandes. Tener esa posibilidad nos asegurará que nuestra página siempre se verá bien en cualquier tipo de monitor en el que se la visualice.

Soy un zorrinito adaptativo.

(Read more →)

Link del día: Live.js

Para diseñar y trabajar sobre HTML, mientras más atajos tomemos, mejor. Mucho del trabajo es repetitivo, y cuando queremos aplicar estilos, la cantidad de idas y vueltas de una ventana a otra es innumerable, por lo menos, hasta que logramos la perfección del diseño original.

Ya alguien tuvo la idea de circunvalar ese problema y surgió Live.js, un script más cerca a diseñar en el navegador, que automáticamente detecta cambios en el HTML, el JavaScript, o el CSS y los aplica a la página actual.

El proyecto surgió como una desviación desde BackFire, un sistema un poco más complejo (cliente-servidor) que nos permitía guardar los cambios en CSS que hacíamos con cualquier navegador inline (como FireBug, WebKit developer toolbar, etc.).

El punto es que Live.js automatiza todo eso y nos permite trabajar en los archivos de forma directa y ver los resultados en el navegador de forma transparente. Imaginen utilizarlo en conjunto con dos monitores. La productividad se eleva una muy buena cantidad.

Soy un zorrinito en vivo.

(Read more →)

Link del día: El juego del test-driven-design

Recuerdo haber hablado más de una vez sobre distracciones y productividad. Varias de esas veces he mencionado que si podemos darle un toque interesante a lo que estamos haciendo, casi a modo de juego o de desafío, la actividad se vuelve mucho más divertida, y por supuesto, nosotros nos volvemos más concentrados hacia ella.

Un muy buen ejemplo de este caso es TDGotchi, autodefinido como una mascota virtual que nos permite mejorar nuestra práctica de Test Driven Design (TDD).

Se trata de una mascotita, una especie de ninja pixelado que tendremos en nuestro entorno de Eclipse, y que mientras vamos avanzando con ciertas reglas en el proceso de TDD (rojo a verde, verde a verde con refactor, verde a rojo con cambios?) este gana puntos y va evolucionando.

¡Velemos por la seguridad de nuestra mascotita y mejoremos nuestros procesos!

…y más allá de eso, tengamos en cuenta una buena forma en la que se da ese _toque especial _a los procesos tediosos.

Soy un zorrinito tedioso.

(Read more →)

Link del día: Blueprint visual

Estaba leyendo un artículo sobre herramientas gratuitas para desarrolladores (27 Free Online & Offline Applications for Designers & Developers) cuando una de ellas realmente llamó mi atención. Se llama Boks, y es una aplicación de Adobe Air (eso significa, funciona en Mac, Windows y Linux) que nos permite trabajar sobre Blueprint.

Para quién no recuerda de qué se trata Blueprint, es un framework CSS basado en grillas, ampliamente utilizado para la rápida construcción de diseños, que nos permite crearlos armoniosos y esquematizados.

Boks nos da la posibilidad de hacer esto de una forma visual, una gran ayuda para aquellos que no hemos aprendido a utilizar el framework CSS más famoso de una forma totalmente profunda, y que queremos comenzar a utilizarlo.

Soy un zorrinito CSS.

(Read more →)

Link del día: Galería de pre-loaders

Para aquellos que preferimos el mundo HTML+JS seguramente pensemos que Flash es un mundo en el que no conviene meternos, aunque Google fácilmente lo desmintió comenzando a indexar sitios en Flash, de forma que las primerísimas razones para no usar Flash se vieron derribadas.

Fuera de eso, y de la enorme discusión sobre la forma en las que se puede encarar un diseño gráfico o una experiencia del usuario, sabemos que Flash y/o SilverLight (o tecnologías similares) nos abren todo un nuevo mundo.

Y para muchos lugares, todavía se trata de un problema al momento de pre-cargar esa aplicación, ya que hay que presentar algo para que el usuario sepa que todavía estamos trabajando para su experiencia.

Por supuesto, no faltan quiénes quisieron hacer una galería para la inspiración de aquellos que no sepan cómo aproximarse, o aquellos que simplemente quiera ver cuáles son los mejores pre-loaders que hay por la web. Allí surgió Pretty Loaded, una galería de pre-cargadores en donde podemos ver muchos de estos interesantes ejemplos.

Soy un zorrinito precargado.

(Read more →)

Link del día: Encapsulación psicológica

Este es otro de los links que me fue compartido via Twitter por la gente de BreakingDev, y el concepto es bastante simple, dejenmé presentarlo:

Se dice que una pieza de software está encapsulada cuando no conocemos su funcionamiento interno y sus aspectos externos nos proporcionan todo lo que necesitamos para hacerla funcionar. No nos importa cómo, nos importa el qué hace. El cómo es responsabilidad de ese software, no nuestra.

Este concepto es muy utilizado en el paradigma de programación orientado a objetos, en donde cada objeto encierra la responsabilidad de su propio comportamiento.

Sin embargo, en el artículo llamado Psychological Encapsulation se ve este tema de una mirada distinta: ¿Qué ocurre cuando no confiamos en la forma en la que una pieza de software realiza sus tareas? ¿Qué ocurre cuando tenemos un problema y el no conocer ese comportamiento interno nos impide solucionarlo?

Esto es lo que ellos denominan encapsulación psicológica, y supongo que otros simplemente lo pueden llamar fiabilidad de un determinado software, o, siendo más específicos aún, el gusto y confianza que cada persona en particular le tiene a un software en particular.

Creo que es un concepto a tener en cuenta al momento de diseñar (y usar!) software, trabajar con herramientas en las que no confiamos (o peor aún: no podemos confiar) es realmente una experiencia desagradable, y puede conducir a grandes bloqueos en nuestra productividad.

(Aquí podríamos hablar sobre distintos tipos de software, cuáles son de mayor confianza, si el open source comunitario o el software propietario que tiene a una empresa respaldando el buen funcionamiento del mismo, si los sistemas hechos de piezas simples integradas o si los sistemas que lo hacen todo, etc. Son libres de dejar sus opiniones.)

Soy un zorrinito de confianza.

(Read more →)