Your SlideShare is downloading. ×
Taller de Diseño y Desarrollo de Aplicaciones para Twitter - Congreso Internet del Mediterráneo
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Taller de Diseño y Desarrollo de Aplicaciones para Twitter - Congreso Internet del Mediterráneo

6,541

Published on

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
6,541
On Slideshare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
31
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • Buenas tardes campuseros!!! En primer lugar me gustaría agradecer a la Organización de la Campus y al equipo de EVENTOESFERA por haber contando con nosotros para contar un poco, desde nuestra humilde experiencia, los conocimientos que han surgido después del desarrollo de unas cuantas aplicaciones sobre la API de nuestro querido Twitter. Para ello, me acompaña mi compañero en equipo24, Alfredo Artiles, un verdadero crack y que a su joven edad me consta que lleva programando más años que matusalén. E24apps es la línea de nuestra empresa de consultriía equipo24 en la que nos dedicamos a incubar proyectos y que por ahora están fuertemente relacionados con twitter aunque no lo estarán en su totalidad en un futuro cercano
  • Algunas de las aplicaciones que hemos desarrollado y son; Locafollow: Un buscador de usuarios de twitter en función de su Localización, Bio, el contenido de sus tweets y Nombre. RetweetFollow, una aplicación que permite listar todas las personas que bien ha hecho un Retweet a una determinada URL o bien han mencionado una palabra clave en algunas de las urls Retweeteadas, Resonancers.com un ranking de las personas más resonantes basado en la cantidad de veces que han aparecido sus tweets en la portada de Tweeter y Followfriday, del que la semana pasada sacamos la versión global en folllowfriday.com que consite en un ranking de todas las recomendaciones por el famoso hashtag #followfriday o #ff realizadas entre usuarios. Todas ellas están orientadas a facilitar la tarea de encontrar a los usuarios indicados para seguir
  • El Ecosistema de Twitter lo componen cada una de las aplicaciones que seguro muchos de los que estáis aquí utilizáis y es el principal “usuario” de Twitter ya que conforma el 75% de todo el Tráfico de Twitter: Clientes como Twittdroid, Tweetdeck o Seesmic que te permiten gestionar nuestras cuentas de twitter de una manera más completa. Aplicaciones de SocialMedia de las cuales hay algunas muy buenas por aquí cerca como para la gestión de Followers como ShooTools, Tweepie, para Analítica y Monitorización Cham.tl , Buscadores y Directorios: Como las aplicaciones nuestrar que he nombrado anteriormente, Aplicaciones que nos permiten añadir medias como fotos, videos archivos a nuestros tweets como tweetpic, filesocial, tweetmeme. Hoy mismo han aparecido en algunos perfiles de twitter para añadir Medias a sus perfiles. Agregadores como Recomendar.com y Bots (Algunos gracisos como el de 5 o el de la T4)
  • Una vez visto este volumen de datos es muy importante antes de empezar tu aplicación tener en cuenta el posible volumen que tendrán los datos que deseas manejar. Por ejemplo, nosotros en Followfriday contabilizamos en los picos del Viernes 80 tweets por segundo cuando Twitter contabiliza en un día normal 750 tweets por segundo.
  • Además los usuarios registrados en tu aplicación pueden tener de 0 a más de un 1.000.000 de seguidores (@ladygaga tiene 5.000.000) por lo que una simple búsqueda entre ellos puede ir en contra de los límites de Twitter y en los propios de límites de Tus servidores al realizar consultas demasiado pesadas. Por ello es muy importante optimizar todo este tipo de consultas en función de tu base de datos.
  • Bueno, después de estos datos para entrar en materia, veamos las diferentes API’s que nos facilita twitter: Existe la API RESTful que nos permite jugar con la funcionalidad básica de Twitter: Enviar Tweet, Follow/Unfollow, Marcar como favorito, hacer RT, DM, es decir casi, todo lo que se puede hacer desde la Web. Search API: Índice debúsqueda en tiempo real (cada 10 segundos). Sólo resultados relevantes Streaming API: Conexión permanente a los Servidores de Twitter. Monitorización en tiempo real  Aparecen todos los tweets (desde 5% garden house hasta 100% phirehouse) independientemente de su calidad. Así permiten hacer el seguimiento de un grupo de hashtag o de personas @Anywhere: API javascript de acceso a la Api RESTful Oauth: Protocolo de Autenticación sin necesidad de revelar contraseñas a Apps de terceros
  • Las reglas: Suplantación de personalidad, Marca registrada el número de cuentas creadas crear cuentas con el propósito de impedir que otros utilicen dichos nombres de cuentas crear cuentas con el propósito de vender dichas cuentas utilización de información del contenido de terceras partes para actualizar y mantener cuentas con los nombres de dichas terceras partes ----------------------------------------------------------------------- Si el usuario sigue un gran número de usuarios en un corto período de tiempo; Si el usuario se hace seguidor y desigue en un corto período de tiempo, de manera particular con medios automatizados (fuga de seguidores agresiva). ------------------------------------------------------------------------- Veamos un ejemplo: http://dev.twitter.com/doc/post/statuses/update
  • La API de búsqueda también tiene límites aunque no están publicados para desanimar el abuso la misma. Para usarla es necesario incluir el USER AGENT en las peticiones HTTP. Para pedir el Whitelist es necesario tener una aplicación YA desarrollada para probar que de verdad la necesita. Containing a word: http://search.twitter.com/search.atom?q=twitter From a user: http://search.twitter.com/search.atom?q=from%3Aal3x Replying to a user (tweet starts with @mzsanford): http://search.twitter.com/search.atom?q=to%3Amzsanford Mentioning a user (tweet contains @biz): http://search.twitter.com/search.atom?q=%40biz Containing a hashtag (up to 16 characters): http://search.twitter.com/search.atom?q=%23haiku Combine any of the operators together: http://search.twitter.com/search.atom?q=happy+hour&until=2009-03-24 Originating from an application: http://search.twitter.com/search.atom?q=landing+source:tweetie
  • La API de búsqueda también tiene límites aunque no están publicados para desanimar el abuso la misma. Para usarla es necesario incluir el USER AGENT en las peticiones HTTP. Para pedir el Whitelist es necesario tener una aplicación YA desarrollada para probar que de verdad la necesita. Containing a word: http://search.twitter.com/search.atom?q=twitter From a user: http://search.twitter.com/search.atom?q=from%3Aal3x Replying to a user (tweet starts with @mzsanford): http://search.twitter.com/search.atom?q=to%3Amzsanford Mentioning a user (tweet contains @biz): http://search.twitter.com/search.atom?q=%40biz Containing a hashtag (up to 16 characters): http://search.twitter.com/search.atom?q=%23haiku Combine any of the operators together: http://search.twitter.com/search.atom?q=happy+hour&until=2009-03-24 Originating from an application: http://search.twitter.com/search.atom?q=landing+source:tweetie JavaScript Object Notation
  • Cachear es una de las principales recomendaciones de Twitter para no llegar a los límites, para ello deberás guardar los datos que te pidió un usuario de tu apliicación para que el siguiente para que el siguiente que pida esos mismos datos, no vuelvas a realizar una llamada a la API, sino que los consultes de tu BBDD. Otra buena opción es utilizar API de terceros los cuáles están en el whitelist o tienen esos datos cacheados y te permiten obtener más información ahorrando llamadas a la API. Cuando tenemos tablas de a partir de 1.000.000 de registros es importante evitar consutas pesadas con Joins para ello no se debe de temer a la redundancia de datos.
  • http://dev.twitter.com/doc/post/statuses/update http://dev.twitter.com/doc/post/friendships/create http://dev.twitter.com/doc/get/users/show En el browser http://dev.twitter.com/doc/get/users/lookup En el browser http://dev.twitter.com/doc/post/direct_messages/new http://dev.twitter.com/doc/post/account/update_profile
  • http://dev.twitter.com/doc/post/statuses/update http://dev.twitter.com/doc/post/friendships/create http://dev.twitter.com/doc/get/users/show En el browser http://dev.twitter.com/doc/get/users/lookup En el browser http://dev.twitter.com/doc/post/direct_messages/new http://dev.twitter.com/doc/post/account/update_profile
  • http://dev.twitter.com/doc/post/statuses/update http://dev.twitter.com/doc/post/friendships/create http://dev.twitter.com/doc/get/users/show En el browser http://dev.twitter.com/doc/get/users/lookup En el browser http://dev.twitter.com/doc/post/direct_messages/new http://dev.twitter.com/doc/post/account/update_profile
  • http://dev.twitter.com/doc/post/statuses/update http://dev.twitter.com/doc/post/friendships/create http://dev.twitter.com/doc/get/users/show En el browser http://dev.twitter.com/doc/get/users/lookup En el browser http://dev.twitter.com/doc/post/direct_messages/new http://dev.twitter.com/doc/post/account/update_profile
  • http://dev.twitter.com/doc/post/statuses/update http://dev.twitter.com/doc/post/friendships/create http://dev.twitter.com/doc/get/users/show En el browser http://dev.twitter.com/doc/get/users/lookup En el browser http://dev.twitter.com/doc/post/direct_messages/new http://dev.twitter.com/doc/post/account/update_profile
  • http://dev.twitter.com/doc/post/statuses/update http://dev.twitter.com/doc/post/friendships/create http://dev.twitter.com/doc/get/users/show En el browser http://dev.twitter.com/doc/get/users/lookup En el browser http://dev.twitter.com/doc/post/direct_messages/new http://dev.twitter.com/doc/post/account/update_profile
  • Aunque el día de mañana se centrará en jugar con el código, también será muy útil para toda la gente interesada en el Social Media ya que pondremos la aplicación para descargar y en el taller se explicará como utilizar la Herramienta
  • Transcript

    • 1. Diseño e Implementación de Aplicaciones para Twitter e24apps.com Alfredo Artiles @aartiles24
    • 2. Acerca de e24Apps.com Congreso Internet del Mediterráneo - e24apps.com
    • 3. Lo que veremos hoy
      • Ecosistema de Twitter
      • 4. Algunas cifras y límites
      • 5. La API (Application Program Interface) de Twitter
        • Tipos de API
        • 6. Modelo de Datos
        • 7. Algunos Métodos
        • 8. Pruebas en el API Console
        • 9. Implementación del bookmarklet “MeSigue?”
        • 10. AutoFollowBack
      Congreso Internet del Mediterráneo - e24apps.com
    • 11. Ecosistema de Twitter > 250,000 Aplicaciones Registradas
      • Clientes (móbiles/web/escritorio)
      • 12. SocialMedia (gestión/analítica/monitorización)
      • 13. Buscadores/Directorios
      • 14. Media (enlaces/fotos/vídeos/archivos)
      • 15. Agregadores (noticias/clasificados/recomendaciones)
      • 16. Bots
      Congreso Internet del Mediterráneo - e24apps.com
    • 17. Cifras: Volumen de datos
      • 70 millones de tweets/día = 800 tweets/segundos
      • 18. 6 billones de llamadas a la API/día
      • 19. Sirve 7 Terabytes/día = 10,000 CDs/día
      • 20. Sirve 300GB mientras doy esta charla
      • 21. Velocidad de escritura disco duro ~80MB/seg, almacenar 7 TB en un disco tomaría 24.3 horas
      Congreso Internet del Mediterráneo - e24apps.com
    • 22. Cifras: Piensa en grande
      • > 160 millones de usuarios
      • 23. 97% de usuarios tienen menos de 100 seguidores
      • 24. Hay usuarios que tiene más de 1 millón de seguidores
      • 25. 800 tweets/sec = 160KB/sec = 9MB/min = 12 GB/día
      • 26. Crecimiento de un 752% en 2009 y 1358% en 2009
      Congreso Internet del Mediterráneo - e24apps.com
    • 27. APIs de Twitter
      • REST(Representational State Transfer) API : funcionalidad básica de Twitter: enviar tweets, seguir, etc.
      • 28. Search API : Índice de búsqueda en tiempo real. Solo resultados relevantes.
      • 29. Streaming API : conexión permanente a los servidores de Twitter. Monitorización en tiempo real. Aparecen todos los tweets independientemente de su calidad.
      • 30. @Anywhere : API javascript de acceso a la REST API
      • 31. Oauth : Protocolo de autenticación sin necesidad revelar contraseñas a Apps de terceros.
      Congreso Internet del Mediterráneo - e24apps.com
    • 32. Conoce los Límites (REST API)
      • 175 llamadas/hora a la API, por usuario o por IP(sin autenticar).
      • 33. Whitelist 20,000 llamadas/hora (https://twitter.com/help/request_whitelisting)
      • 34. 250 DMs/día
      • 35. 1000 tweets/día
      • 36. 4 Cambios email/hora
      • 37. 1000 follows día* y hasta 2000*
      • 38. No olvides las reglas: http://support.twitter.com/forums/82075/entries/72688
      Congreso Internet del Mediterráneo - e24apps.com
    • 39. Conoce los Límites (SearchAPI)
      • No está publicada pero > que REST API
      • 40. Introduce User-Agent en tus peticiones HTTP
      • 41. Search Whitelisting (No para clouds)
      • 42. Sólo Tweets Relevantes
      Congreso Internet del Mediterráneo - e24apps.com
    • 43. Algunos ejemplos - Search API
      • Tweets que contienen una palabra: http://search.twitter.com/search.atom?q=twitter
      • O un hashtag (up to 16 characters): http://search.twitter.com/search.atom?q=%23cpvalencia
      • Combinar algún operador: http://search.twitter.com/search.atom?q=%23cpvalencia&until=2010-07-27
      • Que se originen desde una aplicación: http://search.twitter.com/search.atom?q=%23cpvalencia&source:tweetdeck
      • Fundamentales: Rpp, page y sinceid
      Congreso Internet del Mediterráneo - e24apps.com
    • 44. @Anywhere – make it simple Congreso Internet del Mediterráneo - e24apps.com
    • 45. El Modelo de Datos
      • Todo se trata de usuarios y tweets y las relaciones entre ellos (ver mapa de un tweet: http://e24.li/mw)
      • 46. Cachea y vence a los límites
      • 47. Reutiliza APIs de terceros y vuelve a vencer a los límites
      • 48. No temas a la redundancia de datos
      Congreso Internet del Mediterráneo - e24apps.com
    • 49. Creando una Aplicación
      • Visitar http://dev.twitter.com/apps/new y registrar la aplicación
      • 50. Visitar http://dev.twitter.com/console para probar algunos métodos de la API
      Congreso Internet del Mediterráneo - e24apps.com
    • 51. Bookmarklet MeSigue?
      • Herramienta que nos permitirá desde un perfil de usuario en Twitter.com conocer si éste usuario nos sigue.
      • 52. Conocimientos básicos para crear un bookmarklet
      • 53. Mootools Javascript Framework http://mootools.net/
      • 54. Método: friendships/exists
      Congreso Internet del Mediterráneo - e24apps.com
    • 55. Bookmarklets
      • Marcador que en lugar de apuntar a una URL, hace referencia a un código JavaScript.
      • 56. Básico:
      • 57. javascript:location.href='http://trends.google.com/websites?q='%20+%20location.href%20+%20'%2F%2C+www.mashable.com&sa=N
      • 58. Avanzado:
      • 59. var script = document.createElement("script");
      script.src="http://www.example.com/javascript.js"; document.body.appendChild(script); Congreso Internet del Mediterráneo - e24apps.com
    • 60. Instalando MeSigue?
        http://www.bitacoradewebmaster.com javascript:function%20loadScript(scriptURL)%20{%20var%20scriptEl%20=%20document.createElement('SCRIPT');%20scriptEl.setAttribute('language',%20'JavaScript');%20scriptEl.setAttribute('src',%20scriptURL);%20document.body.appendChild(scriptEl);}%20loadScript('http://www.bitacoradewebmaster.com/wp-content/misc/mesigue.js');void(0);
      Congreso Internet del Mediterráneo - e24apps.com
    • 61. AutoFollowBack
      • Bot que devuelve el follow siguiendo una serie filtros de calidad.
      • 62. PHP + Zend Framework
      • 63. Métodos API Twitter:
        • statuses/followers
        • 64. friendships/create
      Congreso Internet del Mediterráneo - e24apps.com
    • 65. Filtros de AutoFollowBack
      • Número followers
      • 66. Número following
      • 67. Número tweets
      • 68. Número de listas
      • 69. Ratio Followers / Following
      • 70. Si tiene avatar/bio/location/url
      • 71. Idioma
      Congreso Internet del Mediterráneo - e24apps.com
    • 72. Más recursos útiles
      • Web de desarrolladores: http://dev.twitter.com
      • 73. Status de la API: http://dev.twitter.com/status
      • 74. Grupo de desarrolladores: http://groups.google.com/group/twitter-development-talk?pli=1
      • 75. Anuncios de la API: http://groups.google.com/group/twitter-api-announce
      • 76. Bibliotecas para Oauth: http://dev.twitter.com/pages/oauth_libraries
      • 77. Cliente CURL con soporte para Oauth: http://github.com/marcel/twurl
      • 78. Bibliotecas: http://dev.twitter.com/pages/libraries
      • 79. Tutoriales: http://www.newwebplatform.com/tips-and-tutorials/Twitter
      • 80. Blog de los ingenieros de Twitter: http://engineering.twitter.com/
      • 81. Bookmarklets: http://www.bitacoradewebmaster.com/2009/01/18/como-crear-un-bookmarklet/
      Congreso Internet del Mediterraneo - e24apps.com
    • 82. Muchas Gracias
        Códigos: http://www.bitacoradewebmaster.com/wp-content/misc/cintermed.zip Alfredo Artiles Larralde (@aartiles24) e24Apps.com Network
        • http://www.followfriday.com
        • 83. http://www.locafollow.com
        • 84. http://www.resonancers.com
        • 85. http://www.retweetfollow.com
      Congreso Internet del Mediterraneo - e24apps.com

    ×