diseño de aplicaciones para twitter
TRANSCRIPT
Campus Party Valencia 2010
Diseño de Aplicaciones para
e24apps.com
Alfredo Artiles
@aartiles24
Francisco Javier Burón@javierburon
Acerca de Nosotros
2Campus Party Valencia 2010 - e24apps.com
Lo que veremos hoy
• Ecosistema de Twitter
• Algunas cifras y límites
• La API (Application Program Interface) de
– Tipos de API
– Modelo de Datos
– Algunos Métodos
– Pruebas en el API Console
3Campus Party Valencia 2010 - e24apps.com
Ecosistema de Twitter > 160,000 Aplicaciones Registradas / El 75% del tráfico
viene de apps
• Clientes (móbiles/web/escritorio)
• SocialMedia (gestión/analítica/monitorización)
• Buscadores/Directorios
• Media (enlaces/fotos/vídeos/archivos)
• Agregadores (noticias/clasificados/recomendaciones)
• Bots
Campus Party Valencia 2010 - e24apps.com 4
Cifras: Volumen de datos
• 65 millones de tweets/día
• 3.5 billones de llamadas a la API
• Sirve 7 Terabytes/día = 10,000 CDs/día
• Sirve 300GB mientras doy esta charla
• Velocidad de escritura disco duro ~80MB/seg, almacenar 7 TB en un disco tomaría 24.3 horas
Campus Party Valencia 2010 - e24apps.com 5
Cifras: Piensa en grande
• El 75% del tráfico viene de apps
• > 100 millones de usuarios
• 97% de usuarios tienen menos de 100
seguidores
• Hay usuarios que tiene más de 1 millón de
seguidores
Campus Party Valencia 2010 - e24apps.com 6
APIs de Twitter
• REST(Representational State Transfer) API:
funcionalidad básica de Twitter: enviar tweets, seguir,
etc.
• Search API: Índice de búsqueda en tiempo real. Solo
resultados relevantes.
• Streaming API: conexión permanente a los servidores
de Twitter. Monitorización en tiempo real. Aparecen
todos los tweets independientemente de su calidad.
• @Anywhere: API javascript de acceso a la REST API
• Oauth: Protocolo de autenticación sin necesidad
revelar contraseñas a Apps de terceros.
Campus Party Valencia 2010 - e24apps.com 7
Conoce los Límites (REST API)
• 175 llamadas/hora a la API, por usuario o por IP(sin autenticar).
• Whitelist 20,000 llamadas/hora (https://twitter.com/help/request_whitelisting)
• 250 DMs/día
• 1000 tweets/día
• 4 Cambios email/hora
• 1000 follows día* y hasta 2000*
• No olvides las reglas: http://support.twitter.com/forums/82075/entries/72688
Campus Party Valencia 2010 - e24apps.com 8
Conoce los Límites (SearchAPI)
• No está publicada pero > que REST API
• Introduce User-Agent en tus peticiones HTTP
• Search Whitelisting (No para clouds)
• Sólo Tweets Relevantes
Campus Party Valencia 2010 - e24apps.com 9
Algunos ejemplos - Search API
• Tweets quecontienenunapalabra: http://search.twitter.com/search.atom?q=twitter
• O un hashtag (up to 16 characters): http://search.twitter.com/search.atom?q=%23cpvalencia
• Combinaralgúnoperador: http://search.twitter.com/search.atom?q=%23cpvalencia&until=2010-07-27
• Que se originendesdeunaaplicación:http://search.twitter.com/search.atom?q=%23cpvalencia&source:tweetdeck
• Fundamentales: Rpp, page ysinceidCampus Party Valencia 2010 - e24apps.com 10
Conoce los Límites
(Streaming - Subsets)
Campus Party Valencia 2010 - e24apps.com 11
Firehose(Google, Bing)
Gardenhose(5%)
Spritzer ( 1%)
Search versus Streaming
Campus Party Valencia 2010 - e24apps.com 12
@Anywhere – make it simple
Campus Party Valencia 2010 - e24apps.com 13
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)
• Cachea y vence a los límites
• Reutiliza APIs de terceros y vuelve a
vencer a los límites
• No temas a la redundancia de datos
Campus Party Valencia 2010 - e24apps.com 14
Creando una Aplicación
• Visitar http://dev.twitter.com/apps/new y
registrar la aplicación
• Visitar http://dev.twitter.com/console
para probar algunas métods de la API
Campus Party Valencia 2010 - e24apps.com 15
Más recursos útiles
• Web de desarrolladores: http://dev.twitter.com
• Status de la API: http://dev.twitter.com/status
• Grupo de desarrolladores: http://groups.google.com/group/twitter-development-talk?pli=1
• Anuncios de la API: http://groups.google.com/group/twitter-api-announce
• Bibliotecas para Oauth: http://dev.twitter.com/pages/oauth_libraries
• Cliente CURL con soporte para Oauth: http://github.com/marcel/twurl
• Bibliotecas: http://dev.twitter.com/pages/libraries
• Tutoriales: http://www.newwebplatform.com/tips-and-tutorials/Twitter
• Blog de los ingenieros de Twitter: http://engineering.twitter.com/
Campus Party Valencia 2010 - e24apps.com 16
Mañana Taller
• Poner en práctica( escribircódigo PHP)
muchas de lascosas vistas hoy.
• Crearemos un botqueenvíe tweets aleatorios
de una Base de Tweets
• Otrobotquesigaautomaticamente a
aquellosquemencionenciertostérminosy con
un conjunto de filtrosconfigurables.
Campus Party Valencia 2010 - e24apps.com 17