Escrito el 13 ene 2012

Algunas notas sobre Twilater.com

Hace una semana que puse a funcionar en pruebas Twilater.com. La primera versión la programé en 3 días , el diseño era aún  peor que ahora :) Pero para no ser diseñador, bastante hice.

Durante los días siguientes, algunos amigos se dieron de alta para probarlo y me sirvió para encontrar bugs que me reportaban y para ir mejorando el sistema de crawler de datos de Twitter. Todo está programado con la última versión del framework Codeigniter.

He tenido problemas de escalado, a medida que aumentaba el número de usuarios era más complicado extraer sus datos. Todo motivado por los límites de peticiones por hora de la API de Twitter. Que como dije en un tweet, los programadores pasan más tiempo optimizando esas peticiones que en la propia lógica de la aplicación.

El sistema funciona de la siguiente forma:

  • Un usuario se loga en Twilater mediante su cuenta Twitter, para ello da permisos de lectura de su cuenta a la aplicación (esto no incluye DMs).
  • A partir de ese momento el sistema de crawler empezará a extraer información sobre la gente que sigue y los tweets que marcaron favoritos. Para ello Twilater utiliza una cantidad mínima de peticiones a la API de la cuenta del usuario (como todas las aplicaciones).
  • El Crawler indexa la cuenta de cada usuario varias veces al día.
  • Además del crawler existen otros procesos como la indexación de todo el contenido de los tweets para generar keywords relavantes para el buscador (esto lo programé hace 2 días).
  • El sistema da prioridad en la indexación al contenido de los usuarios que más entran en Twilater, que lo hacen más a menudo, para que tengan la información más reciente (Secciones “today” y “yesterday”). Para los que entran con menos frecuencia sería suficiente con las secciones “Week” y “Month”.
  • Todos los resultados, tanto de rankings como de búsquedas,  tienen una sola página de un máximo de 50 resultados. Porque casi nadie visita la 2ª página de ningún buscador (dicen que es el mejor sitio para ocultar un cadáver).

 

Todo esto ha hecho que en solo una semana tengamos mucha información indexada, en concreto ahora mismo hay 202 usarios registrados que siguen a 190.286 usuarios (Yo creo que si sigues a más de 500 personas en Twitter, simplemente no las sigues) y que han marcado como favoritos 201.644 tweets. El índice de keywords del buscador cuenta con 975.597 términos. Aquí las podéis ver en tiempo real.

La aplicación fue publicada hace 2 días en WWWhatsnew de mi admirado Juan Diego Polo y a partir de ahí ha sido publicado en varios blogs españoles, Francia e Italia. También se ha extendido bastante por Twitter. Y es que la idea de ver que guardan los demás en favoritos de forma organizada y resumida, gustó mucho.

Me quedan cosas por hacer como la posibilidad de configurar nuestro perfil, personalizar nuestro twilater (frecuencia de rastreo, email,etc.) y la posibilidad de enviar un informe semanal por email con los X tweets que más  marcaron como favoritos tus contactos. Lo más interesante de la semana.

No sé si seré capaz de escalarlo correctamente ya que además está alojado en un servidor compartido, con las limitaciones de configuración, tunning y potencia que eso supone. Si veo que  muere de éxito, cerraré el registro a nuevos usuarios y lo utilizaré como herramienta propia, que era el objetivo principal.

Si tenéis alguna sugerencia o comentario serán bienvenidos. Podéis comentar aquí mismo o enviar un email a admin en twilater.com.