how we bootstrapped lanyrd using twitter's social graph

23
Simon Willison @simonw Lanyrd.com How we bootstrapped Lanyrd using Twitter’s social graph

Post on 18-Oct-2014

3.235 views

Category:

Technology


2 download

DESCRIPTION

A talk presented at the London Web meetup on 21st July 2011.

TRANSCRIPT

Page 1: How we bootstrapped Lanyrd using Twitter's social graph

Simon Willison @simonw

Lanyrd.comHow we bootstrapped Lanyrd

using Twitter’s social graph

Page 2: How we bootstrapped Lanyrd using Twitter's social graph

Lanyrd.com

Definitive databaseof professional events

and speakers

Page 3: How we bootstrapped Lanyrd using Twitter's social graph

Lanyrd.com

Social event recommendationComprehensive speaker profiles

Archive of slides, notes and video

Definitive databaseof professional events

and speakers

Page 4: How we bootstrapped Lanyrd using Twitter's social graph

Lanyrd.com

Demo

Page 5: How we bootstrapped Lanyrd using Twitter's social graph

Lanyrd.com

Why does it work?•The right crowdsourcing incentives

•Wiki-style shared ownership

•The parts support the whole

•Twitter!

Page 6: How we bootstrapped Lanyrd using Twitter's social graph

Lanyrd.com

Why Twitter?•It’s where the event discussion happens

•Speakers promote their Twitter accounts

•Follow beats Friend for recommendations

•Culturally amenable to public profiles

Page 7: How we bootstrapped Lanyrd using Twitter's social graph

Lanyrd.com

Bootstrapping•Classic social software challenge

•Our secret weapon: the speakers!

•Twitter accounts are public identifiers

•(and speakers have lots of followers)

•500 profiles before launching our beta

Page 8: How we bootstrapped Lanyrd using Twitter's social graph

Lanyrd.com

More demos

Page 9: How we bootstrapped Lanyrd using Twitter's social graph

Lanyrd.com

Key Twitter APIs

Page 10: How we bootstrapped Lanyrd using Twitter's social graph

Lanyrd.com

friends/ids.json[43593, 19972629, 778518, 1249881, 70478255, 3829151, 350373, 12161, 13141, 751953, 22785347, 2633711, 14835908, 143883, 14159138, 11963132, 14917418, 15732699, 756475, ...]

Page 11: How we bootstrapped Lanyrd using Twitter's social graph

Lanyrd.com

friendships/create

Page 12: How we bootstrapped Lanyrd using Twitter's social graph

Lanyrd.com

users/search.json

Page 13: How we bootstrapped Lanyrd using Twitter's social graph

Lanyrd.com

Under the hood

Page 14: How we bootstrapped Lanyrd using Twitter's social graph

Lanyrd.com

Page 15: How we bootstrapped Lanyrd using Twitter's social graph

Lanyrd.com

Secret weapon #1: Redis

Page 16: How we bootstrapped Lanyrd using Twitter's social graph

Lanyrd.com

Secret weapon #2: Solr

Page 17: How we bootstrapped Lanyrd using Twitter's social graph

Lanyrd.com

Redis set intersection

Page 18: How we bootstrapped Lanyrd using Twitter's social graph

Lanyrd.com

Calendar•Pull user’s friends/ids.json

•Cache for ten hours

•Store in Redis

•Solr search: attendees:(34722 OR 1312313 OR...

Page 19: How we bootstrapped Lanyrd using Twitter's social graph

Lanyrd.com

Pros and cons

Page 20: How we bootstrapped Lanyrd using Twitter's social graph

Lanyrd.com

Pros•One-click signup

•Naturally viral

•Instant personalisation

•Pre-created profiles, ready to be claimed

•APIs are pleasant to work with

Page 21: How we bootstrapped Lanyrd using Twitter's social graph

Lanyrd.com

Cons •One big, scary dependency

•No namespace control

•Hard to optimise, as no local graph copy

•Some users follow/are-followed a LOT

•OAuth permissions...

Page 22: How we bootstrapped Lanyrd using Twitter's social graph

Lanyrd.com

Permissions hell

Page 23: How we bootstrapped Lanyrd using Twitter's social graph

Lanyrd.com

Tweet this:@lanyrd attending

#londonweblanyrd.com/adthp