Bazar: Implementando listados continuos en 15 minutos

Para los que ya estéis usando Bazar habréis notado que hay algunas cosas de las que estamos muy orgullosos y nos gustaría describiros más en detalle.

Se trata del concepto de listados continuos. Cuando abordas como mostrar muchos registros en un proyecto web hay una solución comúnmente aceptada que es la paginación por un número de registros e incluir botones a cada una de las páginas, siguiente y anterior. Como solución es muy práctica y resuelve perfectamente el problema de mostrar mucha información.

Sin embargo nos parece mucho más natural e integrado los listados continuos. Un listado continuo muestra la primera información, pongamos 30 registros y cuando detecta que haciendo scroll en la página añade automáticamente los siguiente registros.

El usuario no tiene que desplazar el ratón para seleccionar la siguiente página si no que se convierte en algo tan natural como simplemente navegar.

Una vez más Ruby on Rails lo hace simple y elegante. Os contamos como se hace:

A) Primero hay que usar el plugin jquery.pageless

Este plugin se puede bajar desde github.

B) Como funciona:

En el controlador:

def show

    @consulta = Empresasconsulta.find_by_empresa_id_and_id(current_user.id, params[:id])
    @empresasresultados = Empresasresultado.where('empresasconsulta_id = ?', params[:id]).order('orden desc').paginate(:page => params[:page], :per_page => 30)

    if request.xhr?
      render(:partial => "empresasresultado", :collection => @empresasresultados)
    end
end

Como se puede ver usamos el paginate tradicional para obtener todas las empresas de una búsqueda de 30 en 30 items.

La magia de Ruby on Rails viene con en que solo vamos a tratar las peticiones ajax y hacer un partial con la página que queremos pintar o añadir al listado.

En la vista:

En la vista el plugin jquery.pageless hace todo el trabajo «sucio»:



          "empresasresultado", :collection => @empresasresultados) %>

Aquí hay más elegancia aún, tenemos un render partial para pintar cada uno de los resultados de la siguiente página.

El resultado es que implementar listados continuos te lleva 15 minutos por vista y un código del que puedes estar muy orgulloso.

Mejorando la publicación de ofertas y demandas en Bazar

Si hay algo que define al proyecto Bazar es la palabra agile. Hace nada que liberamos la versión 1.0 del software pero esto no ha significado, ni significará, que dejemos de incluir mejoras todas las semanas. Solo hay que darle un vistazo a la página oficial con el código para ver que prácticamente a diario se incluyen nuevas mejoras y funcionalidades, mientras también se arreglan incidencias.

Nuestra favorita de esta semana puede parecer trivial pero nos parece que mejora la efectividad de la herramienta: la posibilidad de editar las ofertas y demandas con texto enriquecido.

Editor WYSIWYG en Bazar

Cuando se publica en Bazar una oferta es posible editar el texto de la oferta de modo que se puedan incluir imágenes, enlaces a documentos o páginas, distintas tipografías. Esto sin duda mejorará la presentación y eficacia de las ofertas de las empresas en la red de bazares. De esta forma, en lugar de editar en texto plano, Bazar trae de serie un editor del tipo «Lo que ves es lo que obtienes», habitualmente descritos por sus siglas en inglés WYSIWYG (What you see is what you get).

Además hay algún pequeño plus que hemos añadido para facilitar la edición como habilitar la posibilidad de pegar desde una página web o un documento de ofimática (MS Word, OpenDocument).

Ya que el texto enriquecido nos confiere versatilidad a la hora de estructurar y embellecer nuestras comunicaciones en Bazar, esta nueva función se integrará próximamente en otros elementos de Bazar en los que tenga sentido el mismo. En los próximos días ya estará disponible en la ficha de empresa.

Tras un año de intenso y callado desarrollo, Bazar 1.0

Coincidiendo con el 31 de julio, una fecha muy especial para Garum Fundatio, el Bazar Garum estrena versión. Oficialmente el código de Bazar pasa a ser la versión 1.0.

Este momento siempre es un paso histórico al menos en la vida de un programa. Siempre hay que decidir cuando un programa esta listo para empezar a usarlo y después de muchas pruebas en local, de abrir a unos cuantos invitados para que lo evaluaran, ha llegado el momento de considerarlo una versión 1.0.

Hay muchas mejoras en Bazar  pero nos gustaría compartir algunas:

  • Rating
    Esta es sin duda la estrella del proyecto. La diferencia entre un directorio  y/o una red social de empresas al uso y Bazar es el nivel de confianza. Por eso hemos diseñado un sistema de Rating que favorezca la búsqueda y relaciones entre empresas.

    Nos decidimos por un sistema de doble evaluación. Que básicamente consiste en que la evaluación se realiza de forma simétrica. Cuando decides evaluar a una empresa lo haces por que has establecido una relación comercial y la otra empresa también debe evaluarla. Hasta que no hay  una valoración por ambas partes no se hace público el rating.

    Con esta información y con otros valores como cuantas empresas distintas han realizado valoraciones, número de valoraciones o si ha rechazado valoraciones creamos lo que llamamos el garumrank (si Larry Page llamó PageRank al suyo,  nosotros también podemos). Como todos los métodos de rating seguirá mejorando y evolucionando.

  • Distribuido.
    Desde el inicio del proyecto hemos tenido claro que la arquitectura de Bazar tenía que ser distribuida. El futuro de los sistemas y las redes es distribuido y simplemente Bazar no podía ignorarlo.

    Esta versión ha mejorado y mucho su arquitectura distribuida. Mejorando sus prestaciones y preparando su arquitectura para ser capaz de trabajar con miles de Bazares. Siendo capaz de soportar sin problemas de usabilidad que una buena parte de los nodos no esten operativos.

    En definitiva: aprovechando todas las virtudes de una red distribuida.

  • Prestaciones.
    En esta versión  hemos empezados a incluir muchos cambios orientados a mejorar las prestaciones de Bazar. Hemos metido desde varios niveles de caché a búsquedas paralelizadas y se nota y mucho.
  • Mejoras en las relaciones entre empresas.
    La relaciones entre personas, y más entre empresas, no son simétricas y esto lo hemos tenido muy en cuenta. Hemos mejorado Bazar para que sea muy fácil descubrir las empresas que te pueden interesar.

    Y por último no menos importante: no vamos a quedarnos estancado en esta versión. El desarrollo de bazar es ágil y seguiremos incluyendo mejoras y nuevas características todas las semanas. Cada vez somos más los que aportamos al proyecto desde el diseño pasando por la usabilidad hasta nuevas funcionalidades. Así que podéis esperar que publiquemos nuevo código y lo hagamos frecuentemente.

Presentación de Bazar a medios especializados

Esta mañana celebramos en la céntrica calle Barco de Madrid la presentación de Bazar, en petit comité, para medios y personalidades especializadas del ámbito de economía, nuevas tecnologías y software libre.

Jose Ignacio Goirigolzarri y Juantomás García presentan Bazar

En la presentación, Jose Ignacio Goirigolzarri (impulsor de Garum Fundatio) y Juantomás García (director de programación de Bazar), han explicado primero cuál es la motivación tras el proyecto y, posteriormente, cuáles son las características y virtudes técnicas de Bazar como herramienta de software libre.

En este aspecto, la conversación ha partido de las cuestiones habituales, algunas ya frecuentes y otras siempre presentes cuando se habla de una aplicación online, para acabar versando sobre el funcionamiento interno de Bazar, donde la estructura distribuida de la aplicación y su capacidad para «replicar en la Red el mercado que encuentras en la calle, que no tiene dueño, contiene conversaciones y relaciones y va mucho más allá que el mero acuerdo económico», en palabras de Jose Ignacio Goirigolzarri que han sido acogidas con entusiasmo.

Por su parte, Juantomás García ha descrito la arquitectura distribuida de Bazar y cómo éste está concebido, profundizando en los aspectos más técnicos señalando que «con Bazar no existe una posición dominante para el propietario de la plataforma», como sí sucede cuando recurrimos a tecnologías privativas o a servicios webs centralizados. Es en la creación de mercados más justos donde Bazar cobra sentido, y es por ello que Garum Fundatio libera Bazar como software libre y lo construye atendiendo a tecnologías de infraestructura y topología de red distribuida.

Presentación de Bazar en Galicia

El martes 7 de junio a las 19 horas presentamos Bazar, el primer software libre desarrollado por Garum Fundatio y cuya función es generar nuevos mercados transnacionales para pymes, en Santiago de Compostela. Lo haremos en colaboración con la start-up Cilenis, que se ha hecho cargo de la organización y de Sargadelos, que nos ha facilitado su preciosa tienda como escenario de la presentación y de las conversaciones que esperamos generar. Serán bienvenidas empresas, emprendedores, entidades de apoyo al emprendedor y, en general, cualquier persona interesada en las redes, las empresas, los mercados globales y el software libre. ¡Os esperamos!

Inicio del desarrolllo de Bazar

El equipo de desarrollo de la Garum Fundatio se complace en anunciar el inicio del desarrollo de la herramienta articuladora de mercados: Bazar. Bazar es el primer desarrollo de la Garum Fundatio en el marco de su objetivo de poner a disposición de emprendedores y empresas herramientas que les ayuden a llevar a cabo sus proyectos.

Todos los interesados pueden darse de alta como observadores en la página de desarrollo de Bazar.