Archivo de la categoría: pruebas

Beta del Menéame v3

Finalmente después de semanas de estrés. agobios, discusiones pruebas y correcciones ya podemos hacer pública para pruebas la tercera iteración del Menéame: beta.meneame.net.

El diseño lo hicieron y maquetaron Damián Vila y Benjamí, este pringao se ocupó de código y dar el coñazo a los dos. Pusimos tambień mucho esfuerzo en mantener la velocidad de carga y visualización de las páginas.

Pasamos los últimos días corrigiendo errores graves de visualización y usabilidad para IE, especialmente IE6 (incluso tuvimos que poner un fichero especial de hacks para el IE6) que representa más o menos un 16% de la audiencia del Menéame.

Aunque podríamos estar semanas perfeccionándolo, es hora de parar y que nos aviséis en los comentarios si veis problemas graves de usabilidad o visualización.

Si todo va razonablemente bien, lo pasaremos a “producción” a principios de la semana qe viene.

Qué hay de nuevo

En principio no queríamos cambiar la estructura básica. Pero con el tiempo nos dimos cuenta que la barra de la izquierda, con sus casi infinitas opciones, era prácticamente invisible a pesar que ocupaba la mejor parte de la pantalla. El objetivo era poner las noticias a la izquierda así darles más notoriedad y que sean más fáciles de leer en monitores pequeños o dispositivos móviles.

En la barra de la izquierda sí había unos enlaces importantes (enviar noticias, fisgona…) que debían seguir siendo relevantes, así que tomamos la decisión de ponerlas al lado del logo pero el mismo tiempo dar una imagen no tan tradicional y que al mismo tiempo “envolviese” mejor al megabanner superior. De allí la posición actual en diagonal. Además trabajamos en la cabecera para reducir al mínimo el espacio ocupado y que además diese más funcionalidad.

Las demás opciones de la barra de la izquierda las pusimos en el pié de página de las “página largas”, fundamentalmente los índices.

El otro objetivo importante era mostrar con más relevancia los comentarios más votados  y además mostrar en la misma portada las noticias más “populares” de las últimas horas. Así es que se hizo la barra lateral más ancha que además sirve para colocar el “robapáginas” de publicidad, que es lo más solicitado por los publicistas.

Aunque desde hace tiempo existe la pestaña de populares, esta no era muy visitada, y de hecho nos preguntaban muchas veces cómo hacer para ver esas noticias. Otros nos criticaban de que no lo hayamos hecho antes cuando es obvio. Había que darles más visibilidad, pero eso exigía una restructuración importante como la de ahora. Así, ahora  se muestran las más votadas en las últimas 24 horas pero ordenadas con una función que da prioridad a las más nuevas (un decay temporal). Usamos la misma técnica para ordenar los mejores comentarios, aunque en ese caso sólo se consideran los de las últimas 6 horas.

Siguiendo con la idea de ahorrar espacio vertical entre la cabecera y las noticias hemos reducido el espacio necesario para mostrar las meta y categorías que se están visualizando.

Aprovechando el espacio de la barra lateral también agregamos:

  • Las candidatas a ser publicadas –pero para votar con responsabilidad, recordad que el voto karmawhore o becerro está fuertemente penalizado :-)– en la página de pendientes. Esta información era accesible desde la pestaña “popular” en pendientes y también en el promote, pero poniéndolas allí damos una visión rápida.
  • Mapa de geolocalización de la noticia. Antes estaba incrustada en el texto, era muy pequeña y “molestaba” a la lectura. Ahora es más grande y a la derecha.
  • Comentarios más populares de la noticia. Cuando una noticia supera los 20 comentarios se le agrega una caja lateral que muestra ordenado los comentarios más valorados. El número de comentarios que aparecen en la caja depende del número de comentarios de la noticia (total/4 con un máximo de 25).
  • También agregamos la misma barra al nótame, allí también hay una caja con las notas más votadas (y más abajo la de comentarios).
  • La nube de etiquetas. Ya estaba en la versión anterior, pero ahora es más legible. Cuando se está en portada muestra las etiquetas más usadas –48 horas– en las publicadas, la nube de pendientes las etiquetas de pendientes.

Luego mejoramos o arreglamos varios detalles, entre ellos (me olvido de unos cuantos):

  • La referencia #0 –bastante usada en los comentarios para señalar al texto del envío– ahora se comporta igual que para las referencias cruzadas a otros comentarios. Es decir, mostrará un tooltip con el contenido.
  • El promote ya obtiene los datos de la base de datos (y valida correctamente).
  • Se agregó un ranking a cada usuario. Eso da una idea de cuántas personas tiene un karma superior. Así todos los que tengan 20 serán el #1, y los que tengan 6 –por ejemplo– también tendran el mismo ranking que todos los demás con el mismo karma. El ranking es visible en el perfil del usuario y también en los tooltips. Se actualiza al instante, es decir que si a alguien se le modifica el karma durante el día el cambio se refleja inmediatamente.

Sabemos que hay muchos otros detalles que mejorar y optimizar (o espacios que rellenar). Pero eso es parte de la evolución de esta versión –como las dos anteriores–, que esperemos tarde mucho en hacerse obsoleta, es como un parto y este ya es el tercero :-)

PS: Ojalá que para la siguiente iteración el IE6 ya no exista, en serio.

Voto negativos a publicadas (II), ahora con efecto

En setiembre del año pasado pusimos en marcha los votos negativos a publicadas.   Ahora estamos a punto de introducir una modificación que hará que los votos negativos sí tengan efecto: enviar de nuevo a cola de pendientes a las noticias con más votos negativos que positivos durante la primer hora de publicación.

Es una prueba atendiendo a la sugerencia de muchas personas –Digg lo hace así desde que puso el voto negativo –o bury–. Si no funciona o no cumple los objetivos, lo cambiaremos, mejoraremos o quitaremos. Las reglas son muy restrictivas y se aplica sólo a los votos errónea y copia/plagio:

  1. La noticia tiene que haber sido publicada en las últimas tres horas.
  2. El total de votos negativos debe ser al menos un 25% del número de votos positivos.
  3. Para las siguientes reglas sólo se cuentan los votos de usuarios autentificados y emitidos después que la noticia haya sido publicada.
  4. La suma del karma negativo de los votos debe ser superior al karma de los votos negativos en el mismo período.
  5. La suma del karma negativo debe ser como mínimo el 25% del karma con que ha salido publicada una noticia (para asegurar que haya los votos suficientes y evitar efectos ping-pong).
  6. En los logs de la noticia se verá un evento nuevo para este caso: link_depublished.

Nota: las fórmulas y parámetros pueden verse en el values.php, en el apartado “fórmulas”. El algoritmo actual (la versión 4) está implementado en discard.php (casi al principio, comienza justo debajo del comentario Count only those votes with karma > 6 to avoid abuses with new accounts with new accounts).

¿Qué quiere decir esto? Que si te das cuenta sólo al momento que sale publicada –como pasa algunas veces–  que una noticia es un magufo, un engaño claro, o es plagio evidente [*] puedes votarla negativo y ese voto tendrá efecto, no será inútil como hasta ahora.

Esperemos que mejore y que no haya abusos (aunque con las reglas tan restrictivas es bastante difícil).

Muchos no estarán de acuerdo o les parecerá mal. Esperad un tiempo por favor, veremos como funciona, estará todo visible y siempre podemos deshacerlo si es un error.  Otorgadnos la duda razonable que quizás sea una buena idea –además sugerida por muchas personas–.

[*] Tuvimos muchas quejas de autores que se quejaban por apuntes plagiados de ellos subieran a portada y no el original. Por eso hace tiempo agregamos el voto negativo copia/plagio y estamos sensibles con el tema.

“Stemmer” en castellano del buscador

Queda un problema con el buscador: que también busque por palabras raíces, y derivadas del lexema original. Con eso se mejora la búsqueda porque también busca las palabras en plural/singular, masculino/femenino, en diferentes tiempos verbales, gerundio, etc.

Para realizar ese proceso se reducen las palabras a sus lexemas básicos, el proceso se denomina stemming. El Sphinx sólo trae stemmers en inglés y ruso, afortunadamente Jose Manuel Peso desarrolló un stemmer castellano para el Sphinx. El problema es que ya no funcionaba con la última versión del Sphinx, por lo que le hice unas pocas modificaciones (parche) y ya lo tenemos en marcha.

Espero que mejore aún más la calidad de los resultados. Si no es así seguro que nos enteraremos rápido ;-)

Votos negativos públicos en el futuro (desde ya)

En las siguientes horas o días –estamos con esa duda de plazos– haremos que los votos negativos a noticias dejen de ser anónimos. No sabemos si será definitivo, se podrían generar “batallitas” y discusiones inútiles entre usuarios. Lo probaremos de todas formas, si vemos que se producen esas “batallas” volveremos a la situación actual.

En el momento que lo habilitemos serán visibles también los votos negativos pasados, eso nos genera dudas, ¿estamos respetando las “condiciones” anteriores de los que han votado pensando que sería anónimo? ¿no pasa nada? ¿es una exageración?

Serán bienvenidas dudas, críticas y sugerencias [1].

[1] Una sugerencia obvia es que se muestren sólo a partir del momento en que se pone en marca, pero eso significa que la fecha debería ir hard coded en el código. No sólo que no es lógico, sino que al ser software libre y usado en otros sitios es un bug importante.

Actualización: se pondrá en marcha a partir de las 16:15 (del 6 del diciembre) hora peninsular. No se muestran los votos anteriores. Gracias por las sugerencias.

Menéame con memcached

Todo el mundo me decía que era muy sencillo, además es muy usado por sitios con mucho tráfico (poir ejemplo Slashdot o Digg). Así que esta tarde me puse a modificar el código del menéame para que funcione con el memcached.

Tal como dicen es muy fácil.

Agregué unas pocas funciones genéricas que verifican que esté habilitado el cache y luego usé esas funciones para cachear la caja de etiquetas y la de mejores comentarios. Fue muy rápido y fácil.

Como me quedé con el mono, también modifiqué las página de historias populares para que cachee la lista de identificadores de artículos (el sql es bastante costoso ya que no puede usar índices para la selección y luego ordenarla).

Salvo la página de populares –que se nota una mejora en el tiempo de respuesta– con las demás que muestran esas dos cajas no he notado nada. Mañana veremos en las horas pico si hay diferencias en la carga del MySQL.

Nota: Para hacerlo funcionar en Debian basta instalar los paquetes memcached y php5-memcache. Ni siquiera hace falta configurar nada. En el Menéame sólo hay que poner el nombre del servidor (normalmente localhost) en la variable $globals[‘memcache_host’]. Et voilà.

Análisis de etiquetas del Menéame (de la U. de Sevilla)

Este apunte lo escribo con la más sanas de las rabiosas envidias. Es algo que siempre quiero hacer y nunca tengo el tiempo ni la tranquilidad necesaria.

En el Departamento de Lenguajes y Sistemas Informáticos de la Universidad de Sevilla están haciendo algunos análisis de redes de las etiquetas del menéame (gracias Fernando) y ya tienen los primeros datos. Muy curioso la red de la etiqueta “crisis” (la imagen de abajo).

análisis etiquetas

Necesitan algunos datos más para hacer análisis temporales. En cuanto pueda les desarrollaré los programas que necesiten.

Enlaces cortos de fon.gs en el Jabber

En fon.gs –¡ains! dije Fon :-)– han implementado un API muy simple para generar enlaces cortos desde otros sitios o programas. Aprovechando que desde el Perl/Jabber es una tontería usarlo, implementé un comando que usa ese API.

El comando funciona tanto desde el Nótame/Jabber como desde la Fisgona/Jabber:

!gs http://un.enlace.muy.largo etiqueta

Etiqueta es opcional. El servidor devolverá el resultado de la operación con el enlace de http://fon.gs.

PS: cómo nos gustan a los frikis estas chorraditas.