Vuelve Mercadelia
Vuelve Mercadelia luego de 3 años de congelación. Cómo explicar lo que ocurrió en los 3 años que este proyecto hobbie ha padecido, me va a costar un poco debido al cúmulo de cosas.
Para empezar, este proyecto lo aparcamos mayoritariamente por razones personales. Tanto de Ernesto como yo, y con el transcurso del verano, las pocas ganas de estar en el ordenador, el poco tiempo que queda fuera de las horas de trabajo, las novias, los amigos y las nuevas aficiones hizo que dejáramos de lado el proyecto. No fue hasta hace unos meses que tomamos fuerzas y empezamos en los ratos libres este proyecto personal para dejarlo online y funcionando.
Regresamos en un momento bastante frenético en el ámbito de las webs de anuncios clasificados. Basta con echar un vistazo por la categoría Clasificados en el blog de negocios Loogic para tener una idea.
La nueva versión
La nueva versión es –valga la redundancia– nueva de verdad. No hay un byte de información del proyecto anterior, decidí hacer borrón y cuenta nueva de muchas cosas a las que estoy acostumbrado a hacer, de hecho, aprovechando nuestro know-how montamos todo en Ruby on Rails, y en frontend estamos usando técnicas que es muy probable termine aprovechando en los excelentes proyectos que estoy trabajando, pobre Minid.net siempre lo dejamos afuera. Mercadelia me sirve terriblemente de ayuda para esto, es la zona ideal para crear y probar cosas, ver resultados y sacar conclusiones con datos de uso bien reales ajenos al perfil de un bloguer.
La aplicación en comparación con su primera versión es como si habláramos del primer aeroplano con motor y los actuales que van a turbina, que no hay color entre uno y otro. De todas formas, cuando miréis la nueva versión, podréis saborear cosas del pasado, cosas que a nivel de interfaz, usabilidad y otros menesteres funcionaron a la perfección.
Las cosas chachi
Cuenta con un gestor de contenido. Je, sí, sí… es increíble, pero ya tocaba tener un gestor en buena forma y no tener que tocar nada de base de datos de forma manual ni nada parecido. Aún así, el sitio se mantiene solo y otra parte con ayuda de los usuarios. De esta forma, simplemente usaremos el administrador para borrar aquellos anuncios molestos que han sido marcados por la comunidad o bien aquellos que de entrada vemos que están publicados. De todas formas, Rails te permite trabajar cómodo en este aspecto, montándote scaffolds de cualquier cosa que necesites, y luego nosotros le ponemos nuestro estilo y algunos toques para que quede a nuestro gusto. Realmente no nos llevó mucho tiempo tener algo sólido y todo fue relajado. Lo que no fue relajado fue definir y montar el frontend del sitio.
El frontend del sitio es algo especial. Gira en torno al sistema de listados que vengo trabajando hace aproximadamente 6 años. Innovamos en algunos aspectos con respecto a la versión antigua, pero la base que descubrimos en el pasado la mantendremos. Muchos de los usuarios habituales de Mercadelia notarán que los cambios no son tan radicales.
Hemos incorporado las recomendaciones de Yahoo para optimización de páginas y peticiones HTTP. En todos los recursos que controlamos las hemos implementado, pero en algunos scripts o funcionalidades externas no hemos podido (Google por ejemplo en el caso de Google Maps no envía sus scripts con compresión gzip). En la mayoría de las páginas tenemos grado de rendimiento B (superior a 80), y en algunas tenemos grado A (superior a 90), para determinar esto hemos utilizado el plug-in creado por Yahoo para Firebug: YSlow.
Por otro lado, las nuevas herramientas y el proceso de publicación lo hemos revisado de pe a pa. Era y sigue siendo importantísimo este proceso. En el pasado habíamos mejorado algunas cosas con respecto a otros sitios del mismo sector. El hecho de no registrarte, de hacerlo todo en pocos pasos ya era una bendición. Ahora el proceso es más simple y directo: 1 paso. También en el formulario encontrarán cosas que se activarán y reaccionarán dependiendo las opciones y en nuestra opinión es una de las formas más rápidas de cargar un anuncio.
Pero las novedades del nuevo Mercadelia no se ajustan sólo al proceso de publicación, hay más cosas para enterarse:
- Re-escritura 100% del código.
- Nuevo XHTML y CSS.
- Ruby on Rails, MySQL, páginas estáticas, memcached, etc.
- Framework propio.
- Diseño orientado a la acción.
- Revisión total de los recursos utilizados.
- Las páginas con pesos ideales para todo tipo de dispositivos: 60KB
- Media de 9 peticiones HTTP por página, con un primed cache de 1 petición.
- Clases de CSS revisadas y refactorizadas.
- Compresión de ficheros: .css, .js, .html
- Cabeceras de caducidad (para aumentar el caching de los recursos).
- Apenas 3 imágenes cubren todas las necesidades gráficas del sitio.
- Hacks de Internet Explorer 6 y 7 ajenos al sitio y excluidos en una hoja aparte (que sólo carga IE6 e IE7 y no el resto de navegadores). Recomendamos utilizar otro navegador para mejor performance y seguridad.
- Framework de desarrollo propio y en fase experimental.
- JQuery y Google Maps.
- Soporte UTF-8 y bidi.
- Internacionalización: varios idiomas.
- Rutas 100% amigables y sanadas.
- Categorías e interfaz traducidas al idioma elegido.
- Sistema más automatizado, que nos libera de trabajo.
- Soporte de pago con Paypal.
- Nuevas herramientas de comunicación:
- Enviar a un amigo.
- Contactar con el anunciante en la misma página del anuncio.
- Marcar como favorito, inapropiado, mal clasificado y spam.
- Lenguaje anticorporativo, que somos gente normal y no necesitamos ponernos corbatas para parecer serios.
- Proceso de publicación revisado y abreviado: 3 pasos (1 opcional).
- E-mails en formato texto, compatibles con todo.
- Buscador powered by Google.
- Soporte de impresión de anuncios (aunque recomendamos no gastar papel).
- Sitio totalmente amigable en iPhones y iPods Touchs.
Nuestra filosofía
La idea de Mercadelia es un sitio libre de información de personas, un gran mercado popular libre, donde la gente publica anuncios y realiza operaciones. No queremos gente registrada, creemos que en muchos casos, registrarse es sólo una barrera más para operar en Internet. Te registras aquí, allá y terminas loco luego sin saber donde está tu información. Aquí sólo te exigimos una cuenta de correo electrónico para comprobar que no eres un robot, eso es todo. A los 60 días, tu anuncio caduca, si no lo renuevas en los próximos 10 días, el sistema automáticamente borra el anuncio como tu correo electrónico, como los datos de tu anuncio. Toda esta información que has publicado ya no estará más a disponibilidad de Internet. Menos problemas para ti, menos problemas para nosotros.
El sitio funciona estupendamente en cualquier iPhone y, supongo, que también lo hará en un iPod Touch. No tengo un iPod Touch a mano, pero en mi iPhone me va perfecto. Estos meses estoy estudiando este aparato a fondo, y creando en mis tiempos libres un Framework libre de frontend para iPhone, así cualquiera se hace una aplicación web orientada a WebKit Mobile.
Hacer esta versión WebKit Mobile no es mucho problema, tenemos una en pruebas y funciona bien. Montamos unas vistas en nuestro proyecto Rails y ya podemos trabajar en vistas pura y exclusivamente para el teléfono usando nuestro framework.
Ventajas que le veo a esto:
- Recursos únicos para los usen iPhone.
- Elementos de interfaz de iPhone.
- Menos código HTML por vista.
- Menos código CSS.
Desventajas, pocas:
- Otro fin de semana haciendo cosas
- Más trabajo de manutención si se diseñan nuevas cosas.
- Sólo beneficia a usuarios de iPhone, el resto no se verá muy beneficiado.
Mercadelia en el futuro
A corto plazo: colgar la versión iPhone, pero lo más importante: idiomas y países. No nos basta con tener español, inglés y catalán. A nivel de funcionalidades Ernesto tiene algunas ya en mente para irlas incorporando, pero lo más importante es hacer que la web llegue a más regiones en sus respectivos idiomas.
Estamos abiertos a todo tipo de colaboración, pero la que más necesitamos –aparte de poner anuncios– es la de traducir el sitio a los idiomas que nos falten. Traducir Mercadelia es sencillo, las cadenas del sitio están en un fichero de texto modificable con cualquier editor con soporte UTF-8.
Creemos que os debíamos una explicación y que la aplicación estuviese online de nuevo. Esperamos que esto solvente todos los problemas ocasionados, que os guste y que os sea útil.
Hemos creado un Twitter para Mercadelia en el cual iremos dando más información y updates.
Siguiente proyecto
Ernesto está trabajando en una red social vertical destinada a un nicho que actualmente está descuidado pero que tiene un potencial enorme. Hay algunos proyectos similares muy interesantes pero que no han fijado su atención en el público hispano, o pecan de ser muy regionalistas, algo irónico si se trata de proyectos en Internet donde puedes llegar a tanta gente si simplemente te preocupas en internacionalizar tu aplicación. Hará un anuncio más concreto en unos meses junto a una beta privada.
11 Respuestas a la entrada “Vuelve Mercadelia”
Escrito por llops
diciembre 21st, 2008 at 11:42 pm
Ernex, Diego, muchas felicidades! No me puedo ni imaginar la de horas que os tiene que haber llevado un proyecto así. Conociéndoos, seguro que será un éxito.
Nos vemos en Reyes
Escrito por konkas
diciembre 22nd, 2008 at 5:32 am
Ya tengo ganas de probar esta nueva versión de Mercadelia. Pude ver alguna cosilla y la verdad es que me parecéis unos cracks, felicidades
Escrito por brainstorm
diciembre 22nd, 2008 at 11:15 am
Buenas !
Supongo que ya estais al caso de largo, pero hace poco vi este screencast sobre las novedades en i18n de rails 2, yummy:
http://railscasts.com/episodes/138-i18n
Muy interesante el post & mercadelia, no conocia el yslow, thx 4 da hint !
Escrito por ErneX
diciembre 22nd, 2008 at 11:22 am
Gracias chicos.
@brainstorm: cuando empecé a reescribir Mercadelia aún no había salido Rails 2.2, por lo que tenía todo el sistema de internacionalización hecho con gettext/ruby-gettext (un gem por cierto bastante desfasado). Hace ya unos días he pasado todo a simple localization (lo que trae Rails 2.2) y la verdad es que va bastante bien.
Soy un admirador del trabajo que hace Ryan Bates, tengo todos los Railscasts en mi iTunes y me han sido un recurso de gran utilidad.
Escrito por gonzalo
diciembre 22nd, 2008 at 4:19 pm
lastima! en htc touch dual con opera mini no veo mercadelia me quedo en el logo!. por cierto que tal la tz3?
Escrito por ErneX
diciembre 22nd, 2008 at 4:40 pm
@gonzalo ahora sólo hay una cuenta atrás del lanzamiento, la web sale en enero de 2009
Escrito por Paul Lopez
diciembre 22nd, 2008 at 8:03 pm
Muy buenas ideas, felicidades.
Escrito por Stan
diciembre 22nd, 2008 at 8:20 pm
Diego me da gusto leer que andas metido en proyectos cada vez mas interesantes. Suena este nuevo Mercadelia un proyecto muy maduro, te deseo gran exito y espero nos platiques en un futuro no muy lejano las herramientas mas al detalle que estas utilizando.
Felices Fiestas!
Escrito por dgil
diciembre 23rd, 2008 at 11:00 am
Hola Ernex, una duda que siempre me ha surgido y no he sabido como solucionar es el tema de la internacionalización -referente a soporte de varios idiomas-. ¿Tienes alguna web interesante sobre el tema?
Escrito por ErneX
diciembre 23rd, 2008 at 12:14 pm
@dgil con Rails puedes hacerlo con gettext y otros plugins (globalize), ahora en Rails 2.2 tienen algo llamado “simple localization”:
http://rails-i18n.org/wiki
A mi lo que me gustaba de gettext antes de pasarme a simple localization eran las herramientas de traducción (editores de ficheros .po), me imagino que saldrá alguna aplicación similar para simple localization.
En PHP también tienes soporte gettext http://www.php.net/gettext
Escrito por dgil
diciembre 23rd, 2008 at 12:38 pm
Gracias por la respuesta ErneX. Ahora estaba buscando para PHP y ya he visto el Gettext
Saludos!