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.

 

 

26 octubre, 2011

Dia Garum América 2011

Ya estoy en Montevideo y mañana será el Día Garum América 2011. La Fundación Garum celebrará mañana día 27 este evento después del éxito del primer Día Garum en Bilbao.

Será la presentación y puesta de largo de la Fundación en América. Por mi parte tengo el honor de compartir el evento con unos ponentes impresionantes que si estáis en Montevideo os sugiero que no dejéis pasar esta oportunidad. Tenéis la lista de ponentes en la agenda del Día Garum América 2011.

Estaré en Montevideo unos días así que si os apetece tomar unas cervezas y/o que os cuente el proyecto Bazar y las novedades que se avecinan estoy a vuestra disposición.

 

 

 

21 septiembre, 2011

Bazar: listados continuos con scroll automático

Ayer publicamos en el blog de la garum fundatio una entrada explicando por que hemos implementado listados continuos con scroll automático y como en el proyecto Bazar. Si estás usando ruby on rails, incluso si no lo estás usando, nos parece un avance significativo en usabilidad y diseño de proyectos web.

Espero que este post os sea útil.

 

2 septiembre, 2011

Bazar Garum: paso a paso

Filed under: Garum Fundatio,Hacks,Personal,Proyecto Bazar,Proyectos,rmd,ruby on rails — juantomas @ 1:25 pm

De las pocas cosas claras que hay en un proyecto que se precie de serlo, es que nunca se acaba.

Y esto no podía ser menos con el Bazar Garum. Casi con una frecuencia semanal hay mejoras, nuevas prestaciones, incidencias resueltas, etc.

Esta semana el protagonista es un pequeño cambio que mejora que nos parece super útil: editor enriquecido para las ofertas. Puede parecer trivial pero permite a las empresas de la red de bazares ser mucho más creativos con sus ofertas/demandas.

El post oficial de este cambio ha sido publicado en la página oficial del proyecto Bazar. Para todo el resto de commit que no van a tener sus 15 minutos de gloria, está el repositorio oficial de Bazar Garum en Github.

Es un próximo post contaré como integramos tinymce en rails 3 usando jquery. Tiene alguna trampilla para que funcione y se merece un post.

 

 

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

 

 

 

 

15 julio, 2011

Bazar Garum: Mejorando las formas de instalarlo

Se acerca la versión 1.0 de Bazar Garum y de momento seguimos en beta privada a la que solo se puede acceder por invitación pero seguimos trabajando para que instalar un bazar sea cada vez más sencillo.

Para el 31 de julio tendremos disponibles estas formas de instalar y/o probar Bazar:

(1) Acceso directo, mediante invitación, con una cuenta en http://bazar.garumfundatio.org 
Dificultad 0 y  no requiere configuración ni conocimiento del sistema.
(2) Seguir el procedimiento de instalación en el wiki de la fundación.
Dificultad alta require servidor propio, require configuración y conocimiento de sistemas.
Si quieres seguir esta opción tienes toda la información de como descargar e instalar Bazar en la garumpedia de la Fundación .
(3) Instalación Asistida mediante un proceso de respuestas si/no.
Dificultad media require un servidor, require configuración y conocimiento del sistema.
Este es un clásico de las instalaciones sencillas. El proceso te descarga una shell que te va indicando paso a paso que hay que instalar y te va guiando en el proceso.
(4) Hosting de Bazar.
Dificultad 0, no requiere configuración, ni conocimientos especiales.
Esta es una de las instalaciones favoritas. Estamos llegando a acuerdos con compañías de servicios para que gestionen el hosting completo de los bazares. ¿Qué conlleva esto? Que llegues a un acuerdo con una de estas compañías y que la instalación y mantenimiento de tu Bazar Garum sea simplemente un servicio que no te genere ninguna exigencia técnica.
(5) Descargar una imagen de Bazar.
Dificultad media, no require configuración y solo conocimiento en Xen/virtualbox/vmware/parallels.
Estamos preparando una imagen de un servidor completo con todos los requerimientos listo para funcionar y probar. Esta es otras de nuestras favoritas.
Y tenemos muchas más novedades pero esto será tema para otros posts 😉

 

 

4 junio, 2011

Bazar Garum: ¿Quieres probarlo?

Filed under: Casos de Exito,Garum Fundatio,Proyecto Bazar,Proyectos,rmd — Etiquetas: , , , , — juantomas @ 11:59 am

Estamos a punto de liberar la primera beta del Bazar Garum. Si quieres probar bazar antes de que se lance oficialmente esta es tu oportunidad 😉

El registro automático esta cerrado de momento, así que tendrás que solicitar una invitación por correo a:

juanto (arroba) garumfundatio (dot) org

Por si a estas alturas no sabes que es el Bazar de la Garum Fundatio te recomiendo que le des un vistazo a este enlace y/o revises las FAQ sobre el Bazar Garum que hemos escrito.

En Junio se incorporarán a la red nuevos bazares: Ayuntamiento de Gijón, Extremadura – Instituto de la Juventud y Rancagua – Chile. Os iremos manteniendo informados.

 

 

 

 

22 abril, 2011

Integrando OpenHeatMap en el Bazar Garum

ACTUALIZACIÓN: Acabo de descubrir que Pete Warden es uno de los chicos que han levantado el escándalo del iPhone Tracker 😉

Ayer me encontré sin querer con una de esas joyas que genera el software libre: OpenHeatMap de Pete Warden.

Pete Warden es un auténtico crack. No solo por lo fácil que hace publicar datos, solo tenéis que ver los vídeos en los que cuenta como funciona OpenHeatMap para descubrir que además no se puede ser más abierto y humilde como persona.

La idea de OpenHeatMap es que creas un csv o una hoja de cálculo en google con la información que quieres representar geolocalizada, configuras como quieres el mapa y ya está. Pete ha creado un par de vídeos para explicarlo:

Este que es general para todo el mundo:

 

Y este otro más dirigido a periodistas:

 

Puede que exista una forma igual de sencilla para hacerlo con google maps, pero ¿quien no está hasta las narices de Google?

Además usa Openstreetmaps que desde siempre me han caído mucho mejor y están en la linea que tiene futuro: información abierta y libre para todo el mundo.

En modo server  va como la seda pero para incluirlo en tu proyecto, en mi caso en el bazar garum, he tenido que pelearme un poco. Estos son los pasos que he realizado:

* Meter lo includes necesarios:

OpenHeatMap requiere jquery y esto ya lo tengo incluido en Bazar.

<%= javascript_include_tag(«jquery.openheatmap.js») %>

Me lo he bajado en local que no es cuestión de que Pete pague de más a Amazon por el almacenamiento.

* LLamar a OpenHeatMap

Esto es todo lo que se necesita:

<div id=»mapa-paises-container»></div>

<script type=’text/javascript’>

$(document).ready(function(){

// tamaño del mapa y tipo de render.

// no prefiero flash, pero html5 canvas no termina de ir bien todavía

$(‘#mapa-paises-container’).insertOpenHeatMap({

width: 800,  height: 500, prefer: ‘flash’

});

});

function onMapCreated() {

var map = $.getOpenHeatMap();

csv = ‘<%= Pais.paisestocsv -%>’;

map.loadWaysFromFile(‘http://static.openheatmap.com/world_countries.osm’);

map.loadValuesFromCSVString(csv);

map.setSetting(‘gradient_value_min’, 0);

map.setSetting(‘gradient_value_max’, 10);

map.setColorGradient([‘#ffbdf7a0’, ‘#ffff0000’]);

}

</script>

El método de rails que me devuelve las empresas que hay en cada país es muy sencillo:


def self.paisestocsv
csv = "country_code,value\\n"
max = Pais.count_by_sql("select max(total_empresas_mercado) from paises")
for pais in Pais.where ('total_empresas_mercado > 0')
csv += "#{pais.cod3},#{(pais.total_empresas_mercado*10)/max}\\n"
end
return csv
end

Como veis simplemente selecciono los países que tienen empresas y monto un string en formato CSV que luego uso en los scripts de OpenHeatMap. Con el código iso de país de 2 dígitos no funciona o no lo he conseguido yo. Pero echando mano de geonames lo he incluido en la tabla de países. En el modo servidor si subes un CSV con códigos de 2 dígitos funciona perfectamente. Si alguien se anima a corregirlo, seguro que Pete se alegra mucho.

He normalizado los valores del número de empresas para siempre devuelva valores entre 0 y 10 para poder ajustar mejor los gradientes pero no estoy seguro de que haga falta realmente.

El resultado ya integrado con Bazar Garum se puede ver en la página de datos de Bazar. En un par de semanas tendremos los nuevos bazares en funcionamiento y poco a poco se ira llenando el mapa.

 

 

 

 

 

 

 

 

 

 

 

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.
Older Posts »

Powered by WordPress