SlideShare a Scribd company logo
1 of 25
Angus Fox
Co-Chair Social Developers London
@nuxnix
This talk draws on information from
developers.facebook.com and dev.twitter.com
but is in no way endorsed byTwitter Corporation
or Facebook Corporation  #justsaying
The first places to start are at dev.twitter.com and
developers.facebook.com
@recorditapp
#worldcup
• Prototype engagement
flow
Stream API
• Sample
• Filter
• Context
• Heatmap
GIF support in theTwitter API
NativeTwitter authentication on OS X
They use STTwitter - an Objective-C library forTwitter REST
API 1.1 and (often overlooked)AppleScript
After the user provides credentials, they can then be
guaranteed that ourAPI upload of the tweet with a GIF will
work.
On first use only which makes it really simple to share GIFs.
https://github.com/nst/STTwitter @STTLibrary
https://twitter.com/recorditapp/statuses/479723295550353409
If no such account exists, they use AppleScript plus Apple’s
Scripting Bridge: -
tell application "System Preferences"
activate
set the current pane to pane id
"com.apple.preferences.internetaccounts"
get the name of every anchor of pane id
"com.apple.preferences.internetaccounts"
reveal anchor
"com.apple.twitter.iaplugin" of pane id
"com.apple.preferences.internetaccounts"
end tell
Generates a header file with an API that you can use to communicate with another
application using Objective-C code.
SystemPreferencesApplication *systemPreferences = [SBApplication
applicationWithBundleIdentifier:@"com.apple.systempreferences"];
SystemPreferencesPane *pane = (SystemPreferencesPane *)
[[systemPreferences panes]
objectWithID:@"com.apple.preferences.internetaccounts"];
SystemPreferencesAnchor *anchor = (SystemPreferencesAnchor *)
[[pane anchors] objectWithName:@"com.apple.twitter.iaplugin"];
[systemPreferences activate];
systemPreferences.currentPane = pane;
[anchor reveal]
Lets talk about the world cup
Twitter.Com has had a
#worldcup makeover
https://twitter.com/i/start/world_cup/choose_tea
m
After Choosing a team,
encourages you to
change profile pic
https://twitter.com/i/start/world_cup/setup_profile
Suggests followers
https://twitter.com/i/start/world_cup/follow_team
Tweet your support
Twitter.Com has had a
#worldcup makeover
https://twitter.com/i/start/world_cup/choose_tea
m
After Choosing a team,
encourages you to
change profile pic
https://twitter.com/i/start/world_cup/setup_profile
Suggests followers
https://twitter.com/i/start/world_cup/follow_team
Tweet your support
Get Started
Add some affinity to
your twitter picture
Add followers with the
same affinity
Tweet Support
A couple of SampleApps might stimulate your appetite
#worldcup
• Prototype
engagement flow
Stream API
• Creating an App
• Sample Endpoint
• Heatmap
Streaming APIs are at the cornerstone of the most
fascinating products relying onTwitter data.
 Analyzing the mood of people in the world
 predicting elections
 detecting breaking news
 providing help to people during emergencies
https://blog.twitter.com/2014/connecting-to-the-pulse-of-
the-planet-with-twitter-apis
https://dev.twitter.com/docs/streaming-apis/streams/public
https://github.com/romainhuet/twitter-platform-demos
Provides you with roughly 1% of allTweets,
randomly selected from the firehose.
There are 500 millionTweets posted every
single day, so 1% is still a very large number
and statistically relevant for many use cases.
https://dev.twitter.com/docs/api/1.1/get/statuse
s/sample
DEMO OAuth signing results
The filter endpoint, lets you receiveTweets
matching different criteria to trackTweets
 with some keywords,
 from a selection of users
 around a location when users explicitly choose to
share it
Stream geo-tagged tweets using Node.js
The end result is a real-time heat map
depicting where in the world people are
tweeting from
Download it from github
http://blog.safe.com/2014/03/twitter-stream-
api-map/
 March 25, 2014 - Stewart Harper
Package.json holds a variety of metadata
related to the project and lists dependencies.
Server.js is where all of the logic lies.This
code first sets up a web server using express,
which serves the static web pages, loads
socket.io the web socket module, and loads
theTwitterAPI module.
You must create an application onTwitter.
Set the API keys to those in the twitterAPI
tab.
 API key > consumer_key
 API secret > consumer_secret
 Access token > access_token_key
 Access token secret > access_token_secret
The client mapping application connects to the web
socket server and triggers the connection listener.
Another listener, start tweets, is set up and a
connected message is sent to the client telling them
they are connected and everything is ready.
When the client receives this message, it sends a
message to the start tweets listener and theTweets
get streamed.
 We only want to streamTweets with location, so they are
parsed, and if they have coordinates we create a simple
piece of JSON containing the location.
This sets up the Google Map then opens up a
websocket connection with the server.
Once the server confirms it has received the
connection and is ready to start sendingTweets,
the connected listener is called and the client
sends a message back to the server to say it is
ready via socket.emit(“start tweets”);.
The server responds with a stream ofTweets
captured in the twitter-stream listener, where
they are added to an array bound to a Google
Maps heat layer.
Presentations are available from Slideshare
Slides
http://www.slideshare.net/nuxnix

More Related Content

What's hot

Twitter applications
Twitter applicationsTwitter applications
Twitter applicationsNewplans
 
Facebook Native Videos vs YouTube and other video formats
Facebook Native Videos vs YouTube and other video formatsFacebook Native Videos vs YouTube and other video formats
Facebook Native Videos vs YouTube and other video formatsquintly
 
Postman Webinar: "API Governance with Postman"
Postman Webinar: "API Governance with Postman"Postman Webinar: "API Governance with Postman"
Postman Webinar: "API Governance with Postman"Postman
 
App Indexing: Blurring the Lines Between Your Website and App
App Indexing: Blurring the Lines Between Your Website and AppApp Indexing: Blurring the Lines Between Your Website and App
App Indexing: Blurring the Lines Between Your Website and AppJuan Gomez
 
Build an Access Control System Using Tessel and Einstein Vision
Build an Access Control System Using Tessel and Einstein VisionBuild an Access Control System Using Tessel and Einstein Vision
Build an Access Control System Using Tessel and Einstein VisionShruti Sridharan
 
Usando o Twitter na Internet das Coisas - #WebBR2016
Usando o Twitter  na Internet das Coisas - #WebBR2016Usando o Twitter  na Internet das Coisas - #WebBR2016
Usando o Twitter na Internet das Coisas - #WebBR2016Juliana Chahoud
 
Connecting your android application to cloud.
Connecting your android application to cloud.Connecting your android application to cloud.
Connecting your android application to cloud.Eng Chrispinus Onyancha
 
Meteor Framework Introduction
Meteor Framework IntroductionMeteor Framework Introduction
Meteor Framework IntroductionRiza Fahmi
 
How To Get Started And Use IFTTT
How To Get Started And Use IFTTTHow To Get Started And Use IFTTT
How To Get Started And Use IFTTTCa Milles
 
Meteor Talk At TokoPedia
Meteor Talk At TokoPediaMeteor Talk At TokoPedia
Meteor Talk At TokoPediaRiza Fahmi
 

What's hot (12)

Twitter applications
Twitter applicationsTwitter applications
Twitter applications
 
How to use IFTTT
How to use IFTTTHow to use IFTTT
How to use IFTTT
 
Facebook Native Videos vs YouTube and other video formats
Facebook Native Videos vs YouTube and other video formatsFacebook Native Videos vs YouTube and other video formats
Facebook Native Videos vs YouTube and other video formats
 
Postman Webinar: "API Governance with Postman"
Postman Webinar: "API Governance with Postman"Postman Webinar: "API Governance with Postman"
Postman Webinar: "API Governance with Postman"
 
App Indexing: Blurring the Lines Between Your Website and App
App Indexing: Blurring the Lines Between Your Website and AppApp Indexing: Blurring the Lines Between Your Website and App
App Indexing: Blurring the Lines Between Your Website and App
 
Build an Access Control System Using Tessel and Einstein Vision
Build an Access Control System Using Tessel and Einstein VisionBuild an Access Control System Using Tessel and Einstein Vision
Build an Access Control System Using Tessel and Einstein Vision
 
Usando o Twitter na Internet das Coisas - #WebBR2016
Usando o Twitter  na Internet das Coisas - #WebBR2016Usando o Twitter  na Internet das Coisas - #WebBR2016
Usando o Twitter na Internet das Coisas - #WebBR2016
 
Connecting your android application to cloud.
Connecting your android application to cloud.Connecting your android application to cloud.
Connecting your android application to cloud.
 
Meteor Framework Introduction
Meteor Framework IntroductionMeteor Framework Introduction
Meteor Framework Introduction
 
Google App indexing
Google App indexingGoogle App indexing
Google App indexing
 
How To Get Started And Use IFTTT
How To Get Started And Use IFTTTHow To Get Started And Use IFTTT
How To Get Started And Use IFTTT
 
Meteor Talk At TokoPedia
Meteor Talk At TokoPediaMeteor Talk At TokoPedia
Meteor Talk At TokoPedia
 

Viewers also liked

London Twitter Developer community meet up - Sept 2016
London Twitter Developer community meet up - Sept 2016London Twitter Developer community meet up - Sept 2016
London Twitter Developer community meet up - Sept 2016Angus Fox
 
London Twitter Devnest 7 - WarbleCamp
London Twitter Devnest 7 - WarbleCampLondon Twitter Devnest 7 - WarbleCamp
London Twitter Devnest 7 - WarbleCampAngus Fox
 
Social Developers London - Facebook F8 and Twitter Developer comparison
Social Developers London - Facebook F8 and Twitter Developer comparisonSocial Developers London - Facebook F8 and Twitter Developer comparison
Social Developers London - Facebook F8 and Twitter Developer comparisonAngus Fox
 
Tayside Police Mobile App launch presentation
Tayside Police Mobile App launch presentationTayside Police Mobile App launch presentation
Tayside Police Mobile App launch presentationAngus Fox
 
Building a scalable app factory with Appcelerator Platform
Building a scalable app factory with Appcelerator PlatformBuilding a scalable app factory with Appcelerator Platform
Building a scalable app factory with Appcelerator PlatformAngus Fox
 

Viewers also liked (6)

London Twitter Developer community meet up - Sept 2016
London Twitter Developer community meet up - Sept 2016London Twitter Developer community meet up - Sept 2016
London Twitter Developer community meet up - Sept 2016
 
London Twitter Devnest 7 - WarbleCamp
London Twitter Devnest 7 - WarbleCampLondon Twitter Devnest 7 - WarbleCamp
London Twitter Devnest 7 - WarbleCamp
 
Social Developers London - Facebook F8 and Twitter Developer comparison
Social Developers London - Facebook F8 and Twitter Developer comparisonSocial Developers London - Facebook F8 and Twitter Developer comparison
Social Developers London - Facebook F8 and Twitter Developer comparison
 
Tayside Police Mobile App launch presentation
Tayside Police Mobile App launch presentationTayside Police Mobile App launch presentation
Tayside Police Mobile App launch presentation
 
Ignition Five 01 02 10
Ignition Five 01 02 10Ignition Five 01 02 10
Ignition Five 01 02 10
 
Building a scalable app factory with Appcelerator Platform
Building a scalable app factory with Appcelerator PlatformBuilding a scalable app factory with Appcelerator Platform
Building a scalable app factory with Appcelerator Platform
 

Similar to Social Developers London update for Twitter Developers

Mz twitter-1.1-sdl
Mz twitter-1.1-sdlMz twitter-1.1-sdl
Mz twitter-1.1-sdlAngus Fox
 
Twitter API 2.0
Twitter API 2.0Twitter API 2.0
Twitter API 2.0Alex Payne
 
Social media analysis in R using twitter API
Social media analysis in R using twitter API Social media analysis in R using twitter API
Social media analysis in R using twitter API Mohd Shadab Alam
 
Twitter Update for Social Developers London - March 2013
Twitter Update for Social Developers London - March 2013Twitter Update for Social Developers London - March 2013
Twitter Update for Social Developers London - March 2013Angus Fox
 
Embedded Tweets, Timelines and Twitter Cards - Social Developers London 09 Ja...
Embedded Tweets, Timelines and Twitter Cards - Social Developers London 09 Ja...Embedded Tweets, Timelines and Twitter Cards - Social Developers London 09 Ja...
Embedded Tweets, Timelines and Twitter Cards - Social Developers London 09 Ja...Angus Fox
 
iPhoneアプリのTwitter連携
iPhoneアプリのTwitter連携iPhoneアプリのTwitter連携
iPhoneアプリのTwitter連携So Matsuda
 
PHP Experience 2016 - [Palestra] Experiências e casos de uso com as APIs Twitter
PHP Experience 2016 - [Palestra] Experiências e casos de uso com as APIs TwitterPHP Experience 2016 - [Palestra] Experiências e casos de uso com as APIs Twitter
PHP Experience 2016 - [Palestra] Experiências e casos de uso com as APIs TwitteriMasters
 
Microservices: Utilizando o Twitter como Plataforma
Microservices: Utilizando o Twitter como PlataformaMicroservices: Utilizando o Twitter como Plataforma
Microservices: Utilizando o Twitter como PlataformaJuliana Chahoud
 
Building TweetEngine
Building TweetEngineBuilding TweetEngine
Building TweetEngineikailan
 
The Open Source... Behind the Tweets
The Open Source... Behind the TweetsThe Open Source... Behind the Tweets
The Open Source... Behind the TweetsChris Aniszczyk
 
Designing Your API
Designing Your APIDesigning Your API
Designing Your APIAlex Payne
 
Collect twitter data using python
Collect twitter data using pythonCollect twitter data using python
Collect twitter data using pythonKe Jiang
 
Social Media Data
Social Media DataSocial Media Data
Social Media DataWill Simm
 
Connecting to the Pulse of the Planet with the Twitter Platform
Connecting to the Pulse of the Planet with the Twitter PlatformConnecting to the Pulse of the Planet with the Twitter Platform
Connecting to the Pulse of the Planet with the Twitter PlatformAndy Piper
 
Building a Production-ready Predictive App for Customer Service - Alex Ingerm...
Building a Production-ready Predictive App for Customer Service - Alex Ingerm...Building a Production-ready Predictive App for Customer Service - Alex Ingerm...
Building a Production-ready Predictive App for Customer Service - Alex Ingerm...PAPIs.io
 
How I solved my NYC parking problem with Python
How I solved my NYC parking problem with PythonHow I solved my NYC parking problem with Python
How I solved my NYC parking problem with PythonTwitter Developers
 
Collect twitter data using python
Collect twitter data using pythonCollect twitter data using python
Collect twitter data using pythonKe Jiang
 
Slack meetup 16 02-2020
Slack meetup 16 02-2020Slack meetup 16 02-2020
Slack meetup 16 02-2020Amit Chavan
 
Five steps to get tweets sent by a list of users
Five steps to get tweets sent by a list of usersFive steps to get tweets sent by a list of users
Five steps to get tweets sent by a list of usersWeiai Wayne Xu
 

Similar to Social Developers London update for Twitter Developers (20)

Mz twitter-1.1-sdl
Mz twitter-1.1-sdlMz twitter-1.1-sdl
Mz twitter-1.1-sdl
 
Twet
TwetTwet
Twet
 
Twitter API 2.0
Twitter API 2.0Twitter API 2.0
Twitter API 2.0
 
Social media analysis in R using twitter API
Social media analysis in R using twitter API Social media analysis in R using twitter API
Social media analysis in R using twitter API
 
Twitter Update for Social Developers London - March 2013
Twitter Update for Social Developers London - March 2013Twitter Update for Social Developers London - March 2013
Twitter Update for Social Developers London - March 2013
 
Embedded Tweets, Timelines and Twitter Cards - Social Developers London 09 Ja...
Embedded Tweets, Timelines and Twitter Cards - Social Developers London 09 Ja...Embedded Tweets, Timelines and Twitter Cards - Social Developers London 09 Ja...
Embedded Tweets, Timelines and Twitter Cards - Social Developers London 09 Ja...
 
iPhoneアプリのTwitter連携
iPhoneアプリのTwitter連携iPhoneアプリのTwitter連携
iPhoneアプリのTwitter連携
 
PHP Experience 2016 - [Palestra] Experiências e casos de uso com as APIs Twitter
PHP Experience 2016 - [Palestra] Experiências e casos de uso com as APIs TwitterPHP Experience 2016 - [Palestra] Experiências e casos de uso com as APIs Twitter
PHP Experience 2016 - [Palestra] Experiências e casos de uso com as APIs Twitter
 
Microservices: Utilizando o Twitter como Plataforma
Microservices: Utilizando o Twitter como PlataformaMicroservices: Utilizando o Twitter como Plataforma
Microservices: Utilizando o Twitter como Plataforma
 
Building TweetEngine
Building TweetEngineBuilding TweetEngine
Building TweetEngine
 
The Open Source... Behind the Tweets
The Open Source... Behind the TweetsThe Open Source... Behind the Tweets
The Open Source... Behind the Tweets
 
Designing Your API
Designing Your APIDesigning Your API
Designing Your API
 
Collect twitter data using python
Collect twitter data using pythonCollect twitter data using python
Collect twitter data using python
 
Social Media Data
Social Media DataSocial Media Data
Social Media Data
 
Connecting to the Pulse of the Planet with the Twitter Platform
Connecting to the Pulse of the Planet with the Twitter PlatformConnecting to the Pulse of the Planet with the Twitter Platform
Connecting to the Pulse of the Planet with the Twitter Platform
 
Building a Production-ready Predictive App for Customer Service - Alex Ingerm...
Building a Production-ready Predictive App for Customer Service - Alex Ingerm...Building a Production-ready Predictive App for Customer Service - Alex Ingerm...
Building a Production-ready Predictive App for Customer Service - Alex Ingerm...
 
How I solved my NYC parking problem with Python
How I solved my NYC parking problem with PythonHow I solved my NYC parking problem with Python
How I solved my NYC parking problem with Python
 
Collect twitter data using python
Collect twitter data using pythonCollect twitter data using python
Collect twitter data using python
 
Slack meetup 16 02-2020
Slack meetup 16 02-2020Slack meetup 16 02-2020
Slack meetup 16 02-2020
 
Five steps to get tweets sent by a list of users
Five steps to get tweets sent by a list of usersFive steps to get tweets sent by a list of users
Five steps to get tweets sent by a list of users
 

More from Angus Fox

#TapIntoTwitter - London - 15 May 2018
#TapIntoTwitter - London - 15 May 2018#TapIntoTwitter - London - 15 May 2018
#TapIntoTwitter - London - 15 May 2018Angus Fox
 
Titanium London Lightning Talk - Building Titanium from the source
Titanium London Lightning Talk - Building Titanium from the sourceTitanium London Lightning Talk - Building Titanium from the source
Titanium London Lightning Talk - Building Titanium from the sourceAngus Fox
 
Mz sdl-140331
Mz sdl-140331Mz sdl-140331
Mz sdl-140331Angus Fox
 
Mz sdl-130917
Mz sdl-130917Mz sdl-130917
Mz sdl-130917Angus Fox
 
Twitter Update for Social Developers London - May 2013
Twitter Update for Social Developers London - May 2013Twitter Update for Social Developers London - May 2013
Twitter Update for Social Developers London - May 2013Angus Fox
 
Open social mobile apps increase community involvement in policing and confid...
Open social mobile apps increase community involvement in policing and confid...Open social mobile apps increase community involvement in policing and confid...
Open social mobile apps increase community involvement in policing and confid...Angus Fox
 
Social Developers London - Twitter Cards Update
Social Developers London - Twitter Cards UpdateSocial Developers London - Twitter Cards Update
Social Developers London - Twitter Cards UpdateAngus Fox
 
Social Developers London - Twitter
Social Developers London - Twitter Social Developers London - Twitter
Social Developers London - Twitter Angus Fox
 
#BLNMIM 2012 - Multizone Mobile Apps for engagement with the community
#BLNMIM 2012 - Multizone Mobile Apps for engagement with the community#BLNMIM 2012 - Multizone Mobile Apps for engagement with the community
#BLNMIM 2012 - Multizone Mobile Apps for engagement with the communityAngus Fox
 
Mz mps-120704-published
Mz mps-120704-publishedMz mps-120704-published
Mz mps-120704-publishedAngus Fox
 
Mz digitalsurrey-120125-published
Mz digitalsurrey-120125-publishedMz digitalsurrey-120125-published
Mz digitalsurrey-120125-publishedAngus Fox
 
Devnest 111115
Devnest 111115Devnest 111115
Devnest 111115Angus Fox
 
Mz bcl9-20111029-published
Mz bcl9-20111029-publishedMz bcl9-20111029-published
Mz bcl9-20111029-publishedAngus Fox
 
Devnest 110913
Devnest 110913Devnest 110913
Devnest 110913Angus Fox
 
Mz app launch-23_8_v2
Mz app launch-23_8_v2Mz app launch-23_8_v2
Mz app launch-23_8_v2Angus Fox
 
Devnest 110802
Devnest 110802Devnest 110802
Devnest 110802Angus Fox
 
110514 ez0ne-ioftech-practical-social-media
110514 ez0ne-ioftech-practical-social-media110514 ez0ne-ioftech-practical-social-media
110514 ez0ne-ioftech-practical-social-mediaAngus Fox
 
Devnest 110503
Devnest 110503Devnest 110503
Devnest 110503Angus Fox
 
Devnest 110301
Devnest 110301Devnest 110301
Devnest 110301Angus Fox
 
110301 psi-ezone-social
110301 psi-ezone-social110301 psi-ezone-social
110301 psi-ezone-socialAngus Fox
 

More from Angus Fox (20)

#TapIntoTwitter - London - 15 May 2018
#TapIntoTwitter - London - 15 May 2018#TapIntoTwitter - London - 15 May 2018
#TapIntoTwitter - London - 15 May 2018
 
Titanium London Lightning Talk - Building Titanium from the source
Titanium London Lightning Talk - Building Titanium from the sourceTitanium London Lightning Talk - Building Titanium from the source
Titanium London Lightning Talk - Building Titanium from the source
 
Mz sdl-140331
Mz sdl-140331Mz sdl-140331
Mz sdl-140331
 
Mz sdl-130917
Mz sdl-130917Mz sdl-130917
Mz sdl-130917
 
Twitter Update for Social Developers London - May 2013
Twitter Update for Social Developers London - May 2013Twitter Update for Social Developers London - May 2013
Twitter Update for Social Developers London - May 2013
 
Open social mobile apps increase community involvement in policing and confid...
Open social mobile apps increase community involvement in policing and confid...Open social mobile apps increase community involvement in policing and confid...
Open social mobile apps increase community involvement in policing and confid...
 
Social Developers London - Twitter Cards Update
Social Developers London - Twitter Cards UpdateSocial Developers London - Twitter Cards Update
Social Developers London - Twitter Cards Update
 
Social Developers London - Twitter
Social Developers London - Twitter Social Developers London - Twitter
Social Developers London - Twitter
 
#BLNMIM 2012 - Multizone Mobile Apps for engagement with the community
#BLNMIM 2012 - Multizone Mobile Apps for engagement with the community#BLNMIM 2012 - Multizone Mobile Apps for engagement with the community
#BLNMIM 2012 - Multizone Mobile Apps for engagement with the community
 
Mz mps-120704-published
Mz mps-120704-publishedMz mps-120704-published
Mz mps-120704-published
 
Mz digitalsurrey-120125-published
Mz digitalsurrey-120125-publishedMz digitalsurrey-120125-published
Mz digitalsurrey-120125-published
 
Devnest 111115
Devnest 111115Devnest 111115
Devnest 111115
 
Mz bcl9-20111029-published
Mz bcl9-20111029-publishedMz bcl9-20111029-published
Mz bcl9-20111029-published
 
Devnest 110913
Devnest 110913Devnest 110913
Devnest 110913
 
Mz app launch-23_8_v2
Mz app launch-23_8_v2Mz app launch-23_8_v2
Mz app launch-23_8_v2
 
Devnest 110802
Devnest 110802Devnest 110802
Devnest 110802
 
110514 ez0ne-ioftech-practical-social-media
110514 ez0ne-ioftech-practical-social-media110514 ez0ne-ioftech-practical-social-media
110514 ez0ne-ioftech-practical-social-media
 
Devnest 110503
Devnest 110503Devnest 110503
Devnest 110503
 
Devnest 110301
Devnest 110301Devnest 110301
Devnest 110301
 
110301 psi-ezone-social
110301 psi-ezone-social110301 psi-ezone-social
110301 psi-ezone-social
 

Recently uploaded

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 

Recently uploaded (20)

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 

Social Developers London update for Twitter Developers

  • 1. Angus Fox Co-Chair Social Developers London @nuxnix This talk draws on information from developers.facebook.com and dev.twitter.com but is in no way endorsed byTwitter Corporation or Facebook Corporation  #justsaying
  • 2. The first places to start are at dev.twitter.com and developers.facebook.com @recorditapp #worldcup • Prototype engagement flow Stream API • Sample • Filter • Context • Heatmap
  • 3.
  • 4. GIF support in theTwitter API NativeTwitter authentication on OS X They use STTwitter - an Objective-C library forTwitter REST API 1.1 and (often overlooked)AppleScript After the user provides credentials, they can then be guaranteed that ourAPI upload of the tweet with a GIF will work. On first use only which makes it really simple to share GIFs. https://github.com/nst/STTwitter @STTLibrary https://twitter.com/recorditapp/statuses/479723295550353409
  • 5. If no such account exists, they use AppleScript plus Apple’s Scripting Bridge: - tell application "System Preferences" activate set the current pane to pane id "com.apple.preferences.internetaccounts" get the name of every anchor of pane id "com.apple.preferences.internetaccounts" reveal anchor "com.apple.twitter.iaplugin" of pane id "com.apple.preferences.internetaccounts" end tell
  • 6. Generates a header file with an API that you can use to communicate with another application using Objective-C code. SystemPreferencesApplication *systemPreferences = [SBApplication applicationWithBundleIdentifier:@"com.apple.systempreferences"]; SystemPreferencesPane *pane = (SystemPreferencesPane *) [[systemPreferences panes] objectWithID:@"com.apple.preferences.internetaccounts"]; SystemPreferencesAnchor *anchor = (SystemPreferencesAnchor *) [[pane anchors] objectWithName:@"com.apple.twitter.iaplugin"]; [systemPreferences activate]; systemPreferences.currentPane = pane; [anchor reveal]
  • 7. Lets talk about the world cup
  • 8. Twitter.Com has had a #worldcup makeover https://twitter.com/i/start/world_cup/choose_tea m After Choosing a team, encourages you to change profile pic https://twitter.com/i/start/world_cup/setup_profile Suggests followers https://twitter.com/i/start/world_cup/follow_team Tweet your support
  • 9. Twitter.Com has had a #worldcup makeover https://twitter.com/i/start/world_cup/choose_tea m After Choosing a team, encourages you to change profile pic https://twitter.com/i/start/world_cup/setup_profile Suggests followers https://twitter.com/i/start/world_cup/follow_team Tweet your support Get Started Add some affinity to your twitter picture Add followers with the same affinity Tweet Support
  • 10. A couple of SampleApps might stimulate your appetite #worldcup • Prototype engagement flow Stream API • Creating an App • Sample Endpoint • Heatmap
  • 11. Streaming APIs are at the cornerstone of the most fascinating products relying onTwitter data.  Analyzing the mood of people in the world  predicting elections  detecting breaking news  providing help to people during emergencies https://blog.twitter.com/2014/connecting-to-the-pulse-of- the-planet-with-twitter-apis https://dev.twitter.com/docs/streaming-apis/streams/public https://github.com/romainhuet/twitter-platform-demos
  • 12.
  • 13.
  • 14.
  • 15. Provides you with roughly 1% of allTweets, randomly selected from the firehose. There are 500 millionTweets posted every single day, so 1% is still a very large number and statistically relevant for many use cases. https://dev.twitter.com/docs/api/1.1/get/statuse s/sample DEMO OAuth signing results
  • 16.
  • 17. The filter endpoint, lets you receiveTweets matching different criteria to trackTweets  with some keywords,  from a selection of users  around a location when users explicitly choose to share it
  • 18.
  • 19. Stream geo-tagged tweets using Node.js The end result is a real-time heat map depicting where in the world people are tweeting from Download it from github http://blog.safe.com/2014/03/twitter-stream- api-map/  March 25, 2014 - Stewart Harper
  • 20. Package.json holds a variety of metadata related to the project and lists dependencies. Server.js is where all of the logic lies.This code first sets up a web server using express, which serves the static web pages, loads socket.io the web socket module, and loads theTwitterAPI module.
  • 21. You must create an application onTwitter. Set the API keys to those in the twitterAPI tab.  API key > consumer_key  API secret > consumer_secret  Access token > access_token_key  Access token secret > access_token_secret
  • 22. The client mapping application connects to the web socket server and triggers the connection listener. Another listener, start tweets, is set up and a connected message is sent to the client telling them they are connected and everything is ready. When the client receives this message, it sends a message to the start tweets listener and theTweets get streamed.  We only want to streamTweets with location, so they are parsed, and if they have coordinates we create a simple piece of JSON containing the location.
  • 23. This sets up the Google Map then opens up a websocket connection with the server. Once the server confirms it has received the connection and is ready to start sendingTweets, the connected listener is called and the client sends a message back to the server to say it is ready via socket.emit(“start tweets”);. The server responds with a stream ofTweets captured in the twitter-stream listener, where they are added to an array bound to a Google Maps heat layer.
  • 24.
  • 25. Presentations are available from Slideshare Slides http://www.slideshare.net/nuxnix

Editor's Notes

  1. Logo https://about.twitter.com/press/brand-assets
  2. @recorditapp.
  3. https://twitter.com/recorditapp/statuses/479723295550353409
  4. Twitter is a global, real-time platform; an indispensable companion to life in the moment. As such, Twitter is a reflection of what’s happening in the world at any given time and the Twitter APIs give developers the opportunity to tap into the pulse of the planet and use that data in innovative ways.
  5. What are you going to engage people with about your product/brand/service? Using the Twitter Stream API to
  6. As you can see on the screenshot, you can expect on average between 50 and 60 Tweets per second (TPS) when connecting to the sample endpoint. Twitter see on average 5,700 TPS on the platform, with a record at 143,199 TPS, which is why the complete firehose is very hard to consume without a high-capacity platform behind an application.
  7. Beyond the sample, one of the most interesting way to collect Tweets in real time is the filter endpoint, which lets you receive Tweets matching different criteria. Whether you want to track Tweets with some keywords, Tweets from a selection of users, or Tweets posted around a location when users explicitly choose to share it, this endpoint is fascinating since it makes it possible to connect to the pulse of the planet in a way that is relevant to a very specific context. The following demo provides a simple interface for the different parameters offered by this endpoint. By sending the selected options such as a hashtag and a bounding box on the map over a WebSocket, the Node server establishes a connection to the filter endpoint which starts streaming Tweets matching at least one of the criteria. For example, on the screenshot below, Tweets containing #WorldCup or sent from a region in Brazil are sent over the WebSocket and displayed on the web page.