Eoin CoffeyRealtime Team Lead, Twitter | @ecoffey
Building Power Track: Philosophy & Design
500 M Tweets per day
Finding the needle in the haystack
FIREHOSE
FILTERING
STREAMING
CUSTOMER
RULES
PowerTrack
Product Highlights
How We Built PowerTrack
from:ecoffey (has:mentions OR has:media)
from:ecoffey (has:mentions OR has:media)
AND
from:ecoffey OR
has:mentions has:media
from:ecoffey (has:mentions OR has:media)
AND
from:ecoffey OR
has:mentions has:media
from:ecoffey (has:mentions OR has:media)
AND
from:ecoffey OR
has:mentions has:media
from:ecoffey (has:mentions OR has:media)
AND
from:ecoffey OR
has:mentions has:media
from:ecoffey (has:mentions OR has:media)
AND
from:ecoffey OR
has:mentions has:media
from:ecoffey (has:mentions OR has:media)
AND
from:ecoffey OR
has:mentions has:media
5,787 Tweets per second
.000172 Seconds per Tweet
Predicate Indexing
from:ecoffey (has:mentions OR has:media)
AND
from:ecoffey OR
has:mentions has:media
What do we index?
from:ecoffey (has:mentions OR has:media)
AND
from:ecoffey OR
has:mentions has:media
FIREHOSE
FILTERING
STREAMING
CUSTOMER
RULES
RULESRULES TEXT
UPDATESRULES LIST
RULESRULES TEXT
UPDATES
from:ecoffey add
RULES LIST
from:ecoffey
RULESRULES TEXT
UPDATES
from:ecoffey add
RULES LIST
from:ecoffey delete
RULESRULES TEXT
UPDATES
from:ecoffey add
RULES LIST
from:ecoffey delete
“twitter fabric” add“twitter fabric”
RULESRULES TEXT
UPDATES
from:ecoffey add
RULES LIST
from:ecoffey delete
“twitter fabric” add
from:jack add“twitter fabric”
from:jack
FIREHOSE
STREAMING
CUSTOMER
RULES
FILTERING
Side A
CUSTOMER 1
CUSTOMER 2
Side B
CUSTOMER 1
CUSTOMER 2
Bend, Don’t Break
Quarantine
CUSTOMER
FIREHOSEFIREHOSE
FILTERINGFILTERING
RULES
STREAMING
Common Themes In Each Layer
LIMIT TIME OF CUSTOMER IMPACT
DEFENSE IN DEPTH
OPERATIONAL SIMPLICITY
RELIABLE TECHNOLOGIES
Not just about code… It’s about people
The customer motivates everything we do
Collective code ownership
Face to face communication over processes and tools
Introduce or keep code only when it solves a business problem
Optimizes for the group over the individual
FIREHOSE
FILTERING
STREAMING
CUSTOMER
RULES
Thank You@ecoffey
APPENDIX OF TEMPLATE SLIDES
SUBTITLE
Graph/Chart ExamplesBASED ON MASTER SLIDES
of people are… This is an example of an editable pie chart with a large statement80%
Line Chart Editable Example
TIME VIEWED
20
15
10
5
0
-5
Other
AT
TR
AC
TIO
NA
VE
RS
ION
Source | Nielsen, Video Engagement in Choice Environments, Dec 2014
Bar Chart Editable Example
Source | “Where Can Digital Video Ads Have Consumers' Attention? Smartphones” eMarketer, Oct 2014
34%
37%
23%
51%
47%
41%
52%
56%
64%
SMARTPHONE
TABLET
PC
High Attention
Moderate Attention
Low Attention
Code ExamplesBASED ON THE CODE MASTER SLIDE
DGTAuthenticateButton *digitsButton = [DGTAuthenticateButton buttonWithAuthenticationCompletion:
^(DGTSession *session) { // Inspect and/or store session object}];
[self.view addSubview:digitsButton];
DGTAuthenticateButton *digitsButton = [DGTAuthenticateButton buttonWithAuthenticationCompletion:^(DGTSession *session) {}];
Web Screenshot ExamplesBASED ON MASTER SLIDES
fabric.io
Feature Namefabric.io
Tweet ExamplesCOPY AND PASTE THESE TWEETS TO CREATE YOUR OWN
The Barista Bar @baristabar
Visit our site to see the full Barista Bar menu and specials! #LoveCoffee
41 68
The Barista Bar @baristabar
Visit our site to see the full Barista Bar menu and specials! #LoveCoffee
41 68
Special ExamplesBASED ON BLANK MASTER SLIDES
This is a blank slide for use in a variety of scenarios
“Nowadays, Crashlytics is a normal part of our development and production
lifecycle, and we're very happy with it.”
–Justin Morgan Senior iOS Developer | Starbucks