Parámetros contextuales, haciendo amable a una API

Esto fue idea de Armando, pero ayudé a implementarlo asi que me siento un poco padre de la criatura, y ademas, es una excelente idea como para que muera en nuestra aplicación y no vea la luz.

No se si alguna vez ustedes intentaron acceder a una API, o si alguna vez crearon una. En el fondo la idea es tener una interface para comunicar distintos sistemas. Cuanto mas simple sea esta interface, mas facil va a ser la comunicacion, ergo mas gente la va a poder usar.

Get Real, nadie lee la documentación

Como toda API, la de Cajabox está siendo documentada (ya tiene nombre y todo, y ojo que el nombre es una pista importante), pero cuanto menos cosas haya que aclarar porque estas son obvias, mejor será, y es por eso que nos tomamos el trabajo de crear este feature o detalle que me gustaria ver en mas lugares.

Cómo trabaja una API

Dije que una API era una comunicacion, por lo tanto lo minimo que vamos a tener es un pedido y una respuesta.

El pedido puede hacerse de muchisimas maneras, a mi la que mas me agrada y mas usable me parece, es hacerlo a travez de la URL, por ejemplo:

http://cajabox.com/api/accion/grande/provolone/false

Lo cual devolvera una respuesta, puede ser desde true o false o algo mas complejo como en el caso de flickr que envia una imagen o set de imagenes.

Incluso en la manera de devolver la respuesta hay muchas variantes, desde CSV, XML o el chico nuevo del barrio, Json (el cual todavia no me acaba de simpatizar).

Pero es en el pedido donde quiero enfocarme, a simple vista no parece dificil. De hecho, es la manera mas simple de todas, llamo a una URL y esta da una respuesta, tal como hacemos todo el tiempo con el navegador.

Pero hay un truco, el orden de los parámetros debe ser siempre ese, sino, puede pasar… lo inesperado. Y sinceramente no me parece muy usable una URL llena de parámetros que, fuera de contexto no tienen sentido.

Cómo hacer para que esto se vuelva mas usable?

Si fuera de contexto no tienen sentido, la respuesta obvia es: darles contexto.

Si se define un nombre para cada parámetro, ganamos dos cosas:

  1. Mas usabilidad porque la URL quedaria llena de parametros definidos.
  2. Mas flexibilidad porque al tener el nombre del parametro, ya no es indispensable el orden.

La URL quedaria entonces asi:

http://cajabox.com/api/accion/tamanio:grande/sabor:provolone/con_aceitunas:false

Como saben, Cajabox esta construido sobre la base del imponderable CakePHP, asi que este snippet seguramente sea liberado en forma de componente para vuestro disfrute.

Y no, Cajabox no es una aplicacion para pizzerias!

Que es spam y que no?

Acabo de leer que los carriers de Argentina (Movistar, Personal y CTI) bloquearon todo tipo de recepcion de mensajes enviados desde internet por problemas con el spam.

Lo cual, si bien me parece una actitud oligopolica y se que no es lo mejor que se puede hacer, la entiendo, yo en su lugar, probablemente haria lo mismo. No es negocio estar dando soporte a un monton de mensajes que no paga nadie y que genera una comunidad de parasitos (si, esos sitios de envio SMS via internet, conocen alguno?)

Ahora, no pueden poner como excusa para cerrar estos canales al spam, y que en 3 dias me lleguen 3 mensajes-spam de Movistar a mi celular, me estan jodiendo?

Qué es la programación orientada a Objetos (POO)

En la vida profesional de un programador creo que hay dos grandes momentos.

  1. El primero cuando descubre las funciones, como darle parametros y que estas devuelvan un resultado.
  2. El segundo y al que no todos llegan, es pensar en objetos.

Respecto a la programación funcional, la verdad que es muy sencilla y no tengo demasiado que decir. De la segunda, muy al contrario, es como un renacimiento de la programación, o al menos, asi fue para mi.

Antes de explicar que es, hay que saber algo mucho mas importante, que beneficios tiene hacer esto.

Continue reading

Templates sponsoreados

Acabo de bajar este tremendamente hermoso template para WordPress creado por Scott Wallick y mirando un rato el footer, me llama la antención que tenga tantos links, me fijo mas en detalle y dice:

Sponsor: Chicago Flower Delivery

La verdad que jamás se me hubiese ocurrido esto de sponsorear templates, pero por qué no? Yo como anunciate estaría muy contento por ganar links y difusión y como diseñador tendría muchísima libertad para diseñar lo que quiera.

Doble felicitación para Scott, por el template y por el mini modelo de negocios al que me sumo ya mismo, a quién le ofrezco mis servicios?

Hacía mucho que no decía “Guau”

Digg El problema de digg, meneame, fresqui, etc es la gran cantidad de contenido que manejan y como mostrar la actividad del sitio.

La primer solución, y medio provisoria fue el digg spy, que mostraba un listado que se actualizaba usando Ajax de todas las acciones (envios, votos y comentarios).

Stack

Digg stack es… no se como explicarlo, pero es excelente, hacia mucho que no venia una respuesta tan ingeniosa a un problema tan concreto.

Viene a cubrir la misma necesidad pero con una interface infinitamente mejor, veanlo por ustedes mismos.

Swarm

Con Swarm ya, como se dice por aca, la limaron. Muestra las historias que van siendo votadas y a los usuarios que las votan, estas historias van creciendo a medida que son votadas y se relacionan con otras votadas por los mismos usuarios, por lo tanto es un mapa de burbujas de noticias y usuarios en constante movimiento.

Será asi como vamos a ver las noticias en un futuro no muy lejano?

MyComments para Movable Type

MT Logo Que buena onda que es la gente.

Alex Sancho (el afamado diseñador de Cajabox) hace unos dias creó un plugin para usar MyComments en MovableType, para lo cual se puso a programar en Perl.

Deja ya mismo lo que estas haciendo, ponete de pie y aplaudilo, increible lo que hizo este muchacho!!

Al plugin ya lo pueden descargar del sitio oficial de MyComments, sí, el de la URL rara: mycomments.idslab.com.ar.

Lo que viene lo que viene

Todos nos leemos entre todos casi, asi que ya se habran enterado en lo del otro, igual hago el anuncio aca también de guapo nomás.

CajaBox

CajaBox logo Como salido de una pelicula de Hollywood se viene CajaBox, que es esto? no lo vamos a decir hasta el momento oportuno, es decir: cuando se nos cante :-P.

Mientras tanto, pueden morirse de risa con mis intentos de escribir en ingles en el blog oficial de esta cosa tan revolucionaria que estamos desarrollando.

Es todo, no quiero dar mas detalles porque se que hay espias de Google leyendo todo lo que escribimos y viendo todo lo que hacemos, tuve que tapar la ventana del banio con papel de diario para tener algo de intimidad, imaginense.

Lanzamiento: trollr!

El otro dia hablaba del plugin de votos de comentarios, bueno, hoy tuve algo de tiempo asi que lo emprolije y empaquete para distribuirlo.

trollr-logo.png

Con ustedes trollr, en cuanto pueda le voy a hacer un microsite, pero mientras tanto me gustaria que lo prueben y aparezcan sugerencias y por que no, mejoras en el código :-).

Pueden bajarse el código, lean muy bien el archivo instalacion.txt que explica paso a paso como instalarlo.

Update: Ya hay un microsite :-).

Moderando el offtopic

Bue, me llevo un rato mas del pensado (4:13 am…) pero quedo mas o menos terminadito el plugin que tuve que armar anoche para contener un poco tanta hormonería junta.

Si se fijan en los comentarios de este blog, al lado de cada nick va a haber dos manitos (con guantes de heavy metal! donados por Luk), al mejor estilo digg, esta en sus nuestras manos, decidir que es troll y que no.

Como funciona

Cada vez que uno clickea suma o resta un punto a cada comentario, me base en la libreria Ajax de Daniel Mota para hacer los envios al servidor. Y pretende evitar el abuso mediante una cookie, tambien cuento un poco con la buena fé de la gente.

Si un comentario recibe cierta cantidad de votos negativos, aparece el simpatico capirote de troll loco que crearon en 37signals.

Simple, sencillo y simpatico. Espero que sirva.

Yahoo & Firefox tips

Yahoo! cambio su portada. Quedo bastante prolijo, pero lo que mas me llamó la atencion fue este texto arriba de todo cuando entre con Firefox:

yahoo search snippet

  1. Look for the search box in the upper right corner of your browser.
  2. Click on the small triangle in the search box.
  3. Choose Yahoo!. You’re done!

Sip, Yahoo! cada dia me gusta mas (y Google cada dia menos, shhh), no solo se fija en los demas navegadores, sino que hasta se anticipa a todos tomandolos en serio y les hace sugerencias a los usuarios, excelente.

Lanzamiento: Vibmarks

Me di el gusto de hacer algo con Sosa, hace rato ya que veniamos intando hacer algo juntos y no se nos daba la oportunidad (me siento un músico hablando asi :P). Pero bueno, el viernes pasado estuvimos un rato online y usando una de nuestras librerias favoritas, salió Vibmarks.

Que es Vibmarks?

VibmarksVery Important Bokmarks… o algo asi.
Soy adicto a revisar el popular de delicious, tanto que muchas veces no me alcanza la cantidad de enlaces nuevos que aparecen. Estaria muy bueno tener un lugar con todos los enlaces populares de todos los servicios de bookmarks pensé. Luego de un par de debates técnicos, como ser la forma como mostrarlos, chequear que no haya enlaces repetidos y una forma interna de ordenar por relevancia a los enlaces, estuvo todo listo para usarlo.

Peligro, es muy adictivo!

Estuve engripado el fin de semana, para lo unico que me acerque a la PC fue para usar Vibmarks, ya estan sobre aviso :P.

Update Gracias Alejandro por regalarnos el dominio :-).

MobileSearch: Buscador para Opera mini

Sisi, ya se que hay buscadores en xhtml que andan perfectamente. pero que hay con los resultados?

Que sentido tiene recibir el resultado de la busqueda en xhtml, si luego el sitio donde esta la respuesta a mi busqueda esta en html, maquetado con tablas y totalmente inaccesible?

Usando la API de Google, y el conversor a WAP, tambien de Google, se obtiene un buscador que da resultados en WAP… mas util no? :-)

Para hacerlo inverti 28 minutos, unas pocas neuronas (las que estaban de oferta a medianoche en mi cabeza :-P) y me base en este artículo de Stylegala, que usa NuSOAP para acceder a la API de Google.

Con ustedes: MobileSearch, que se aproveche.

Lanzamiento: 11 feeds

El proyecto del que hablaba en el post anterior es producto de una noche de insomnio, y unos ajustes hechos en los dias siguientes, asi que sepan a que atenerse!

Con ustedes 11feeds (se pronuncia eleven feeds, ya mas adelante se entendera porque).

Esto es una copia del viejo (ya tiene como una semana!) popurls pero, la idea era hacerlo con servicios -solo- en espaniol.

He ahi un problema, originalmente en lugar de del.icio.us estaba SopaSabrosa, que me parece una gran idea, pero tiene muy poco movimiento (ni que hablar si lo pongo junto a meneame, digg y barrapunto), por lo tanto no se ajustaba a la idea.

Asi fue que decidi dejar pasar por un rato a del.icio.us y digg, que si bien no son en espaniol es muy probable que el q use los demas servicios en espaniol, tb le sean de utilidad estos.

Los otros son ALT1040 y Microsiervos, creo que son los dos blogs en espaniol del tema con mas movimiento, pero estoy abierto a sugerencias por otros servicios.

Respecto al codigo seguro que en estos dias lo libere, aun estoy buscando una licencia que logre convencerme…

Para hacerlo me base en script.aculo.us y simplepie, ambos muy recomendados.

Es todo, espero que no se envicien con esto como yo que lo ando mirando cada media hora :P.

Update: Bienvenido Fresqui a 11feeds :).

Una persona, muchos feeds

Es un problema que ya nos esta afectando a muchos, y es que todos tenemos al menos un blog, una cuenta en flickr, una cuenta en delicious, calendarios compartidos, y casi cualquier cosa 2.0 viene con RSS.

Cuando vamos a ser capaces de unir toda nuestra informacion en un unico feed, haciendo mas comodo todo?

Hay una empresa que cubre este nicho, para mi bastante pobre la solucion que implementaron, sin mencionar, que no creo que sea a ellos quienes les corresponda esto.

Lo mas natural seria que FeedBurner tenga la opcion de agregar nuevos feeds a nuestro feed y que uno al suscribirse, pueda elegir que cosas desea recibir y cuales no. Shaun Inman es un visionario en esta funcionalidad concreta, hasta creo que ya deberia venir por defecto en WordPress.

Un año de SMS-sender

SMS-senderHace exactamente un año liberaba SMS-sender, uno de los primeros sistemas para enviar mensajes de texto via internet a celulares de Argentina, se ve que cuando vuelvo de las vacaciones tengo muchas pilas y libero proyectos! :).

Si hago un balance, debo reconocer que fue muy positivo, conoci muchisima gente, aprendi a manejar sitios que ofrecen servicios publicos, y los problemas que eso trae (aun recuero la fusion Movicom-Unifon y como me rompio toda la base de datos :P), sin mencionar el valor que le supe dar a las sugerencias y el pedir feedback constantemente a los usuarios.

Hoy, como dije en su momento creo que el proyecto ya cumplio un ciclo, pese a que cada vez sea mas usado. Sera el hecho que lo veo igual hace mas de 6 meses, y ya me parece viejo, desactualizado y que no responde a todas las necesidades que hay.

Sigue o no sigue?

SMS-sender, tal y como se lo conoce, no va a durar mucho, estoy en un momento en el que siento que el proyecto necesita un cambio, un poco de aire fresco, si logro hacerme del tiempo necesario para poder revitalizarlo, en menos de un mes van a verlo comentado en algun lado ya que tengo pensadas varias novedades para esto. Sino logro hacerme de ese tiempo… vere como me las ingenio para que el proyecto no quede a la deriva sin actualizarse mas… Cosa que es inaceptable, como dije siempre, esto es un proyecto, no un producto :).

Los que no fueron

En cuatro meses pueden pasar muchas cosas, cambios de ideas de diseños, de conceptos, etc.

Asi es como fue modificandose MyComments, desde el 24 de Septiembre (dia en que se me ocurrio) hasta hace 15 dias que lo libere.

Mi primer desarrollo web 2.0

Leyendo un articulo que explica como lucir web 2.0, fue que recorde este diseño, muy basico, muy simple y sigue todas y cada una de las reglas que menciona el articulo :P. La web se hizo tan obvia ultimamente…

El primer diseño fallido de MyComments

Era mi intencion que MyComments fuese una aplicacion en donde uno viera las respuestas a sus comentarios, algo como lo que en su momento solo flickr tenia, y ahora hace coComment.

Continue reading

MyComments WordPress tiene un parche antispam

Y a 15 dias de liberado hay un update del plugin de WordPress de MyComments 1.0.

De la mano de Marcoss, quien logro solucionar el tema del spam, ya esta disponible el plugin MyComments 1.1.

Si bien la solucion no es definitiva ya que aun estoy trabajando en la validacion del servidor, es algo necesario, incluso asi se va a ahorrar mucho trafico de pings e incluso algunas mejoras, como por ejemplo no publicar en el RSS los comentarios que el administrador no publique en su sitio.

Un hip hip hurra para Marcoss :P.