juantomas Hacking the planet

16 abril, 2012

bazar ng: ya se puede empezar a usar el nuevo diseño de bazar

Filed under: Garum Fundatio,Proyecto Bazar,Proyectos,rmd,ruby on rails — Etiquetas: , , , — juantomas @ 5:56 pm

Para los que habéis seguido en tiempo real el repositorio del proyecto bazar no será una sorpresa que a mediados de diciembre creamos un branch que llamamos bazar-ng en el que empezamos a implementar el nuevo diseño creado por el equipo de vostok studio con Javier Cañada a la cabeza.

Hace un mes hicimos el merge con la versión master y empezamos a migrar los bazares que tenían la versión antigua. Si quieres probarlo es posible hacerlo en algunos de los bazares migrados.

No ha sido un viaje sencillo llegar hasta esta nueva versión. Han sido casi 100 días super intensos en los que hemos recorrido un camino apasionante en que hemos descubierto desde los secretos de la simplicidad a la búsqueda permanente de la mejor usabilidad. Un trabajo que no termina con la primera publicación de este diseño y que será un trabajo continuado día a día.

Esta versión se merece una pequeña serie de posts para poder compartir con vosotros algunos de estos momentos que no por sencillos dejan de ser especiales. De momento os dejo un par de screenshots:

Bazarum - Homepage

 

22 enero, 2012

bazar: truncando texto html

Cuando tienes un texto demasiado grande o quieres sacar solo las primeras 200 palabras de un post tienes un pequeño problema. Sobre todo si el texto incluye etiquetas o entidades html.

Tampoco es que sea un problema que no cualquier programador no pueda abordar en una horas. Pero ya se sabe: si ya está programado para que escribirlo de nuevo.

Googleando un poco he encontrado un par de soluciones que encajan con lo que necesitaba, y seguro que hay alguna más.

Por un lado hay una solución que aborda el problema en la parte del cliente (su navegador). Es un pequeño plugin de jquery que se llama: html-truncate

Este plugin va muy bien cuando quieres tener un enlace al final del texto con el típico enlace «leer más» y cuando se pulsa haces visible el resto del texto. Se puede ver como funciona en la página de demo de autor (Henrik Nyh) y como resiste bien a cosas como truncar en medio de una tabla 😉

En mi caso solo quiero mostrar dos o tres lineas de cada oferta que publicamos en los bazares y no tenía sentido mandar toda la oferta y luego recortarlo. De hecho si se pulsa en el div que muestra la oferta reducida se envía a la ficha completa de la oferta/demanda. Para recortar lo hacemos en el servidor con el código de Henrik pero adaptado a rails.

Esta mejora forma parte del nuevo diseño y usabilidad de bazar que estará listo en unas semanas. La implementación de esta versión se puede seguir en vivo en la rama ng del proyecto bazar en github. En cuanto esté un poco más «funcional»  daremos la opción a los usuarios para empezar a usarlo.

 

 

3 diciembre, 2011

Como hacer thumbnails de una página web

Tenemos un pequeño proyecto para analizar páginas web y clasificarlas sin son empresas. Es solo un experimento basado en una idea muy simple: las empresas tienen página web y su contenido nos puede decir si es una empresa y a que se dedica. Esta información es muy útil para proyectos como Bazar y la dinamización de mercados. Todavía está muy alfa pero ya está analizando 2 millones de webs en español. Por si queréis ver como va avanzando, está en este enlace: webexplorer de bazarum.

Una de las cosas que queríamos añadir era un thumbnail del sitio. Algo que no ha terminado de ser fácil. Había dos estratégias:

* Que nuestros servidores (ahora solo tenemos un par de servidores) hicieran el proceso de generarlos

* Usar un servicio externo.

Aunque nos atraía mucho la idea de progarmarlo nosotros, tampoco había una herramienta que lo hiciera fácil y que funcionara en nuestros servidores. Una de ellas, la que más nos gusto por su simplicidad fué: moz-snapshooter.rb

Al final la descartamos, de momento, por que requería instalar gtk en los servidores y sus dependencias. Nos gusto mucho lo fácil que era usarla y que era ruby 😉

En el proceso de búsqueda encontramos un servicio online muy sencillo de usar y que ofrece medio millón de thumbnails al mes, lo cual es más que suficiente para nuestro proyecto.

Se llaman BitPixels  y es tan fácil como incluir como fuente de la imagen la siguiente url:

http://img.bitpixels.com/getthumbnail?code=xxxxx&url=http://www.example.com

Podéis ver la integración el página del dominio bazarum.com. Aunque todavía quedan muchas cosas por hacer!!!

 

 

31 julio, 2011

Bazar Garum: Tiene nueva versión

Como suele terminar pasando en todos los proyectos el Proyecto Bazar ha alcanzado la versión 1.0.

Cuando uno se acostumbra a los desarrollos ágiles no tienen mucho sentido la numeración de versiones tradicionales. La sensación es que todas las semanas hay una versión nueva que deja antigua, mejorada o más deseable a la anterior. A veces siento que incluso hay commits en el github del proyecto Bazar que se merecen una versión. Pero estas son el tipo de cosas que sentimos los programadores en esa relación tan especial que tenemos con nuestros proyectos.

Una sensación tan especial que incluso a mí no deja de sorprenderme día a día. De pronto la vida te da la oportunidad de poder participar en un proyecto como la Garum Fundatio, de poder desarrollar desde cero una herramienta como Bazar, te da la oportunidad de implementar y demostrar que hay cosas que se pueden hacer de otra forma y de pronto surge esa relación tan especial con un proyecto, con su código y termina convirtiéndose en la versión 1.0.

Esta versión ha incluido muchas mejoras y lo mejor es ver algunas de ellas en el anuncio oficial del Proyecto Bazar. Para todos los demás que siguen considerando que el código es poesía hay algunos commits en github de los que estamos orgullosos y nos encantan. Eso si no son fáciles de encontrar entre otros muchos que «simplemente» hacen que estemos contentos y satisfechos con esta primera versión. Primera por que vendrán muchas más y serán tan frecuentes como podamos.

Y por supuesto no habríamos llegado hasta aquí si no hubiera sido por:

 

* La gente que nos inspiro desde el principio y no nos abandono en ningún momento de este camino.

* Los que nos recordaron como era el html de los 90 para que hiciéramos todo lo posible para erradicarlo.

* Los que llenaron de diseño y buen gusto cada rincón del proyecto para terminar con la sobriedad que siempre intentamos imponer desde la tiranía del código.

*  Los que nos enseñaron que no existe ni la telepatía, ni los mensajes subliminares cuando diseñas un interface de usuario (y eso que sería un gran avance).

Muchas Gracias a todos !!!!

Os dejo algunos enlaces:

Página del Proyecto Bazar

Como descargar e instalar Bazar

Página de Github con el código

 

 

 

 

31 enero, 2011

Proyecto Bazar: Distribuido

Filed under: Garum Fundatio,Hacks,Proyecto Bazar,Proyectos,rmd — Etiquetas: , , , — juantomas @ 2:14 pm

Si hay algo que es estratégico a corto plazo es pensar en arquitecturas distribuidas. Si quieres que tu proyecto sobreviva a una crisis de crecimiento, si quieres aprovechar el poder de las redes, es la única alternativa.

Creo que se merece una explicación detallada y voy a usar el Proyecto Bazar para ello.

El proyecto bazar básicamente es un marketplace libre. Esto no sería un valor diferencial a priori contra el resto de herramientas incluidas las de pago. Para nosotros la clave es que  desde el primer día su arquitectura es distribuida. Las razones son muchas:

* Si quieres montar una red de verdad y que funcione tiene que ser abierta y libre.
Esta puede parecer obvia y que no tiene que ver con distribuido pero es importante. Si estudias los casos de éxito de otros marketplaces o redes sociales empresariales incluso otras redes sociales, no dejan de estar centralizadas y se convierten en cotos privados en la Red. Lo cual no deja de ser cerrado  y con la imposición de sus reglas (privacidad, económicas, etc).
Si una red es abierta, no está controlada por una empresa sino por los usuarios, es una red con muchas más posibilidades. En bazar cada grupo de interés común (cooperativas, asociaciones empresariales o grupos formados en torno a una localización física) gestionan su bazar.
* Una red distribuida es sostenible y gestionable.
Pensemos en la inversión necesaria para montar y mantener fakebook o linkedin. Si distribuyes los servidores, el problema se diluye entre los diferentes bazares.
Desde un punto de vista técnico,  gestionar un red social o marketplace con miles de servidores es complicado y muy exigente. Gestionar miles de bazares distribuidos y autónomos reduce varios órdenes de magnitud el problema. Cada bazar puede requerir asistencia técnica de forma puntual y esta se puede conseguir localmente. Al fin y al cabo no dejar de ser un servidor web sencillo, no un datacenter. Como efecto colateral genera beneficio local.
* Crecimiento de una red.
El crecimiento de una red depende de muchos factores pero hay algunos que son especialmente interesantes si la arquitectura es distribuida:
Tu red tiene que ofrecer algo más que las redes actuales. En el Proyecto Bazar hemos planificado algunos módulos que echamos de menos y que nos parecen útiles para agilizar mercados: doble rating, ofertas/demandas, formación, recursos humano, financiación, compartir ficheros, etc. Lo importante es que lo implementamos de forma modular. Vamos añadiendo los módulos al proyecto bazar, pero lo más interesante es que si la demanda require otros módulos se pueden implementar fácilmente por terceros.
Una red depende del número de miembros. Esta es una de las partes más complicadas de una red para que sea eficaz. Si tienes una red distribuida tienes muchos más recursos de promoción: cada bazar promociona su nodo. Esto facilita el crecimiento y el valor de toda la red en conjunto. Los costes de «animación» se distribuyen entre los responsables de cada bazar.
* Alta Disponibilidad.
La gestión de búsquedas depende de los nodos, no de un datacenter central. Cada vez que se hace una búsqueda de empresas o de ficheros se envía una petición distribuida. Si hay nodos desconectados o no funcionan, se descartan pero la red distribuida sigue funcionando y ofreciendo resultados. Estamos mejorando la gestión de peticiones y seguramente las siguientes versiones soporten hasta el 100% de nodos desconectados.
* Curva de entrada sencilla.
Tu eliges el bazar o montas uno. Tu decides con que nodos te conectas, por defecto todos están activados. No hay costes de licencia, no hay restricciones de uso, tu decides como usas la red. Las decisiones están en el lado del usuario. Todo está distribuido.
Al final es objetivo del Proyecto Bazar es poner en contacto a empresas, agilizar mercados, eliminar barreras y crear nuevas relaciones. Todo está distribuido incluso la decisión de como será el futuro de Bazar.

4 enero, 2011

Estado del proyecto Garum Fundatio

Hacía bastante tiempo que no escribía en este blog y ya va siendo hora que lo actualice un poco. Siempre he huido de hacer un post con lo que «esperamos» del nuevo año en curso. Eso de esperar y desear es tan poco proactivo que se ha convertido un mal generalizado y no hay ninguna duda de que  me gusta más el verbo actuar. Y hecha esta pequeña, pero no menos importante, aclaración paso a contaros algunas cosas en las que estamos trabajando.

Garum Fundatio

Como ya sabéis casi todos los que me leéis, estoy trabajando en algunos proyectos muy interesantes de la Garum Fundatio. Esta fundación esta impulsada por Jose Ignacio Goirigolzarri y os recomiendo leer su blog para comprender la evolución del proyecto y el mito del garum. No puedo dejar de reconocer que desde la primera vez que le conocí en la presentación del libro «El capitalismo que viene» de Juan Urrutia, no ha dejado de sorprenderme.

Día Garum

El próximo día 16 de febrero presentaremos en Bilbao la Garum Fundatio. Un evento que además tendrá algunos invitados muy especiales. Os incluyo alguna referencia aunque la información es mucho más precisa y estará más actualizada en la página del Día Garum.

Douglas Rushkoff (autor de CiberiaProgram or be Programmed)

Michael Widenius (fundador y desarrollador principal de la versión original de MySQL)

Rudy Rucker (matemático, programador, escritor, pintor y experto en robótica)

Yuval Cohen (fundador de StageOne Ventures)

Arturo Torres (Vicerrector del Instituto Tecnológico de Monterrey y Director de la División de Emprendimiento y Desarrollo Empresarial en el Campus Monterrey).

Una jornada para reservar en la agenda. Para confirmar la asistencia enviar un correo a: info (arroba) garumfundatio.org

Proyecto Bazar

En este post no voy a entrar en detalle por que en entre otras cosas podéis leerlo en la página del proyecto bazar y además ya podéis echar un vistazo al código en el github de la fundación garum. Solo algunas pinceladas:

  • Es un marketplace disruptivo. Lease sencillo y nada que ver con los tradicionales.
  • Tiene una arquitectura distribuida. ¿puede algún proyecto nuevo no ser distribuido?
  • Es modular. ¿Echas algo de menos? Lo puedes implementar sin problemas.
  • Es abierto en todos los sentidos: software libre y no es un corralito privado estilo fakebook.
  • Muy pronto tendremos un bazar para que podáis ver los progresos en tiempo real.
  • Estará listo, versión beta con aspiración a RC, para el 16 de febrero.

Pero tranquilos seguiré contando más cosas en otros posts.

16 noviembre, 2010

Proyecto Bazar de la Garum Fundatio

Como ya sabréis por la página del proyecto bazar en github, desde julio estoy involucrado en el diseño de este proyecto de la Garum Fundatio. La idea es crear una herramienta, bazar,  para agilizar las relaciones entre empresas. Y hay algunas cosas que me gustaría contaros sobre el proyecto.

La primera es su naturaleza distribuida. Hay bastantes aproximaciones a como agilizar y potenciar las relaciones entre empresas pero todas son centralizadas en un servicio. Esto desde nuestro punto de vista hace que se pierda uno de los pontenciales más interesantes de Internet: las redes distribuidas. Por esta razón desde el principio hemos diseñado el proyecto bazar para que su arquitectura sea distribuida y  cada uno de los servidores establezca relaciones con el resto de servidores. Esto nos da varias  ventajas: robustez, gestión distribuida, crecimiento sin limitaciones a priori.

En cuanto a la tecnología nos hemos decantado por usar rails3. La razón principal es por que en el proyecto bazar la funcionalidad se define en módulos y necesitábamos crear un tejido que nos permitiera incluir nuevos módulos, propios o de terceros, facilmente. Rails3 era el tejido perfecto. Para la implementación de los módulos la nueva implementación de engines es lo más adecuado.

Enlaces con información del proyecto:

Página oficial del proyecto bazar en Github.

Garum Fundatio.

Objetivos del proyecto bazar.

Algunos artículos sobre el espíritu de Garum.

5 julio, 2010

Proyecto Bazar

Filed under: Garum Fundatio,Hacks,Proyecto Bazar,Proyectos,rmd — Etiquetas: , , — juantomas @ 8:41 am

Nunca se sabe a ciencia cierta cuando empieza un proyecto pero si hay algo que deja una huella memorable en un desarrollador,  esto es sin duda el primer commit que realiza. No hay mucho más que eso:  un primer commit con un fichero y algunos enlaces para entender que el proyecto Bazar y la Garum Fundatio pero este siempre es el primer paso al menos desde mi punto de vista 😉 Stay tuned  el Proyecto Bazar ya está en marcha ….

Powered by WordPress