SlideShare une entreprise Scribd logo
1  sur  15
Télécharger pour lire hors ligne
Collecting Photo Stream
 in Node.js on Heroku

         @stomita (ja)
       @shinichitomita (en)
Who am I ?
•   CEO at Mashmatrix, Inc.

•   JavaScript Developer

•   Formerly (almost forgot)

    •   Identity (OpenID/SAML/SSO)        @stomita

    •   JavaEE

    •   Oracle

•   Ex-Salesforce.com (2006/12-2007/12)
Objective

• Collect and store photos tweeted in the
  world
• Add metadata to photos manually by crowd
 • Category ? (food/people/landscape)
 • Venue ? (foursquare)
Twitter Streaming API




https://dev.twitter.com/docs/streaming-api
Photo Stream
•   Set tracking keywords to filter tweets with
    photo uploading services URL

    •   e.g.
        tracks=lockerz,plixi,tweetphoto,twitpic,yfrog,
        photozou,twitgoo,instagr

•   Extract photo URLs by pre-given rule

    •   e.g. http://twitpic.com/7wiwlw =>
            http://twitpic.com/show/thumb/7wiwlw
Architecture

Streaming   JSON
Twitter-Node




https://github.com/technoweenie/twitter-node
Visualization

• Present photo stream to users in real-time
• Not our primary goal, but just interesting
• Don’t think, FEEL.
tweet-photo-stream




  http://tweet-photo-stream.herokuapp.com/
https://github.com/stomita/tweet-photo-stream
socket.io
• A Node.js library, enabling push messaging
  to browsers
• Stream Transport Supported :
 • WebSocket/FlashSocket/XHR-Multipart/
    XHR-polling/JSONP-polling
• Used as fallback of SocketStream
Architecture

Streaming   socket.io
Similar Work - Twitcaps




      http://twitcaps.com/
Twitcaps - Not Real-time




 Delayed Streaming   Ajax Polling
Issue

• Heroku Node.js doesn’t support
  WebSocket yet (as of Dec 2011)
 • Fallbacks to XHR-polling
 • c.f. Joyent No.de SmartMachine
End

Contenu connexe

Similaire à Collecting Photo Stream in Node.js on Heroku

WebNetConf 2012 - Single Page Apps
WebNetConf 2012 - Single Page AppsWebNetConf 2012 - Single Page Apps
WebNetConf 2012 - Single Page Apps
Pop Apps
 
Speedupiosdevelopment
SpeedupiosdevelopmentSpeedupiosdevelopment
Speedupiosdevelopment
slidepaddemo
 
WEB SOCKET 應用
WEB SOCKET 應用WEB SOCKET 應用
WEB SOCKET 應用
Jerromy Lee
 
Real World REST with Atom/AtomPub
Real World REST with Atom/AtomPubReal World REST with Atom/AtomPub
Real World REST with Atom/AtomPub
Peter Keane
 

Similaire à Collecting Photo Stream in Node.js on Heroku (20)

WebNetConf 2012 - Single Page Apps
WebNetConf 2012 - Single Page AppsWebNetConf 2012 - Single Page Apps
WebNetConf 2012 - Single Page Apps
 
Ready? Bootstrap! Go! (CFUG Belgium 24 04-2012)
Ready? Bootstrap! Go! (CFUG Belgium 24 04-2012)Ready? Bootstrap! Go! (CFUG Belgium 24 04-2012)
Ready? Bootstrap! Go! (CFUG Belgium 24 04-2012)
 
淺談 Startup 公司的軟體開發流程 v2
淺談 Startup 公司的軟體開發流程 v2淺談 Startup 公司的軟體開發流程 v2
淺談 Startup 公司的軟體開發流程 v2
 
Agile startup company management and operation
Agile startup company management and operationAgile startup company management and operation
Agile startup company management and operation
 
 Active Storage - Modern File Storage? 
 Active Storage - Modern File Storage?  Active Storage - Modern File Storage? 
 Active Storage - Modern File Storage? 
 
Speedupiosdevelopment
SpeedupiosdevelopmentSpeedupiosdevelopment
Speedupiosdevelopment
 
Getting started with titanium
Getting started with titaniumGetting started with titanium
Getting started with titanium
 
普通のwebエンジニアでも出来る、ド素人からの機械学習のはじめ方
普通のwebエンジニアでも出来る、ド素人からの機械学習のはじめ方普通のwebエンジニアでも出来る、ド素人からの機械学習のはじめ方
普通のwebエンジニアでも出来る、ド素人からの機械学習のはじめ方
 
Getting started with Appcelerator Titanium
Getting started with Appcelerator TitaniumGetting started with Appcelerator Titanium
Getting started with Appcelerator Titanium
 
2015 WordCamp Maine Keynote
2015 WordCamp Maine Keynote2015 WordCamp Maine Keynote
2015 WordCamp Maine Keynote
 
WEB SOCKET 應用
WEB SOCKET 應用WEB SOCKET 應用
WEB SOCKET 應用
 
Introduction to Twitter's Bootstrap 2
Introduction to Twitter's Bootstrap 2Introduction to Twitter's Bootstrap 2
Introduction to Twitter's Bootstrap 2
 
REST In Action: The Live Coverage Platform at the New York Times
REST In Action: The Live Coverage Platform at the New York TimesREST In Action: The Live Coverage Platform at the New York Times
REST In Action: The Live Coverage Platform at the New York Times
 
Enterprise 2.0 using Social Frameworks like Agorava (SMWCPH 2014)
Enterprise 2.0 using Social Frameworks like Agorava (SMWCPH 2014)Enterprise 2.0 using Social Frameworks like Agorava (SMWCPH 2014)
Enterprise 2.0 using Social Frameworks like Agorava (SMWCPH 2014)
 
Front End Development for Back End Developers - Devoxx UK 2017
 Front End Development for Back End Developers - Devoxx UK 2017 Front End Development for Back End Developers - Devoxx UK 2017
Front End Development for Back End Developers - Devoxx UK 2017
 
Developing Multi Platform Games using PlayN and TriplePlay Framework
Developing Multi Platform Games using PlayN and TriplePlay FrameworkDeveloping Multi Platform Games using PlayN and TriplePlay Framework
Developing Multi Platform Games using PlayN and TriplePlay Framework
 
REST easy with API Platform
REST easy with API PlatformREST easy with API Platform
REST easy with API Platform
 
Xitrum Web Framework Live Coding Demos / Xitrum Web Framework ライブコーディング
Xitrum Web Framework Live Coding Demos / Xitrum Web Framework ライブコーディングXitrum Web Framework Live Coding Demos / Xitrum Web Framework ライブコーディング
Xitrum Web Framework Live Coding Demos / Xitrum Web Framework ライブコーディング
 
Xitrum @ Scala Matsuri Tokyo 2014
Xitrum @ Scala Matsuri Tokyo 2014Xitrum @ Scala Matsuri Tokyo 2014
Xitrum @ Scala Matsuri Tokyo 2014
 
Real World REST with Atom/AtomPub
Real World REST with Atom/AtomPubReal World REST with Atom/AtomPub
Real World REST with Atom/AtomPub
 

Plus de Shinichi Tomita

スマートデバイス×HTML5で
 企業情報システムはどう変わる? ~最新動向から考えるエンタープライズWebの現在と未来~
スマートデバイス×HTML5で
 企業情報システムはどう変わる? ~最新動向から考えるエンタープライズWebの現在と未来~スマートデバイス×HTML5で
 企業情報システムはどう変わる? ~最新動向から考えるエンタープライズWebの現在と未来~
スマートデバイス×HTML5で
 企業情報システムはどう変わる? ~最新動向から考えるエンタープライズWebの現在と未来~
Shinichi Tomita
 
アイデンティティ2.0とOAuth/OpenID Connect
アイデンティティ2.0とOAuth/OpenID Connectアイデンティティ2.0とOAuth/OpenID Connect
アイデンティティ2.0とOAuth/OpenID Connect
Shinichi Tomita
 
モバイルBaaSの概観と最新動向(2014版)
モバイルBaaSの概観と最新動向(2014版)モバイルBaaSの概観と最新動向(2014版)
モバイルBaaSの概観と最新動向(2014版)
Shinichi Tomita
 
シングルサインオンの歴史とSAMLへの道のり
シングルサインオンの歴史とSAMLへの道のりシングルサインオンの歴史とSAMLへの道のり
シングルサインオンの歴史とSAMLへの道のり
Shinichi Tomita
 
モバイルBaaSの概観と最新動向 (2013/6/7)
モバイルBaaSの概観と最新動向 (2013/6/7)モバイルBaaSの概観と最新動向 (2013/6/7)
モバイルBaaSの概観と最新動向 (2013/6/7)
Shinichi Tomita
 
(M)BaaS and Enterprise Mobile Applications
(M)BaaS and Enterprise Mobile Applications(M)BaaS and Enterprise Mobile Applications
(M)BaaS and Enterprise Mobile Applications
Shinichi Tomita
 
クラウド・スマートデバイス事例調査報告
クラウド・スマートデバイス事例調査報告クラウド・スマートデバイス事例調査報告
クラウド・スマートデバイス事例調査報告
Shinichi Tomita
 
Cloud-to-Intranet messaging by Force.com Streaming API
Cloud-to-Intranet messaging by Force.com Streaming APICloud-to-Intranet messaging by Force.com Streaming API
Cloud-to-Intranet messaging by Force.com Streaming API
Shinichi Tomita
 
Sales Force Episode VI ~ Return of Ajax Toolkit ~
Sales Force Episode VI ~ Return of Ajax Toolkit ~Sales Force Episode VI ~ Return of Ajax Toolkit ~
Sales Force Episode VI ~ Return of Ajax Toolkit ~
Shinichi Tomita
 
Herokuで動かす スクリーンショットサーバ
Herokuで動かす スクリーンショットサーバHerokuで動かす スクリーンショットサーバ
Herokuで動かす スクリーンショットサーバ
Shinichi Tomita
 
Force.com とか @ PaaS祭り
Force.com とか @ PaaS祭りForce.com とか @ PaaS祭り
Force.com とか @ PaaS祭り
Shinichi Tomita
 
Streaming API で実現する クラウド ⇔ イントラ連携
Streaming API で実現する クラウド ⇔ イントラ連携Streaming API で実現する クラウド ⇔ イントラ連携
Streaming API で実現する クラウド ⇔ イントラ連携
Shinichi Tomita
 

Plus de Shinichi Tomita (20)

SalesforceでのモダンSPA開発(Mashmatrix ”Sheet"の場合)
SalesforceでのモダンSPA開発(Mashmatrix ”Sheet"の場合)SalesforceでのモダンSPA開発(Mashmatrix ”Sheet"の場合)
SalesforceでのモダンSPA開発(Mashmatrix ”Sheet"の場合)
 
SalesforceからAWSへの接続 using OIDC/SAML
SalesforceからAWSへの接続 using OIDC/SAMLSalesforceからAWSへの接続 using OIDC/SAML
SalesforceからAWSへの接続 using OIDC/SAML
 
Developing SLDS Apps with React.js
Developing SLDS Apps with React.jsDeveloping SLDS Apps with React.js
Developing SLDS Apps with React.js
 
Spring'15 Update - Named Credential & Long Running Callout
Spring'15 Update - Named Credential & Long Running CalloutSpring'15 Update - Named Credential & Long Running Callout
Spring'15 Update - Named Credential & Long Running Callout
 
スマートデバイス×HTML5で
 企業情報システムはどう変わる? ~最新動向から考えるエンタープライズWebの現在と未来~
スマートデバイス×HTML5で
 企業情報システムはどう変わる? ~最新動向から考えるエンタープライズWebの現在と未来~スマートデバイス×HTML5で
 企業情報システムはどう変わる? ~最新動向から考えるエンタープライズWebの現在と未来~
スマートデバイス×HTML5で
 企業情報システムはどう変わる? ~最新動向から考えるエンタープライズWebの現在と未来~
 
Summer'14 Update - What's new in Force.com Canvas -
Summer'14 Update - What's new in Force.com Canvas -Summer'14 Update - What's new in Force.com Canvas -
Summer'14 Update - What's new in Force.com Canvas -
 
アイデンティティ2.0とOAuth/OpenID Connect
アイデンティティ2.0とOAuth/OpenID Connectアイデンティティ2.0とOAuth/OpenID Connect
アイデンティティ2.0とOAuth/OpenID Connect
 
モバイルBaaSの概観と最新動向(2014版)
モバイルBaaSの概観と最新動向(2014版)モバイルBaaSの概観と最新動向(2014版)
モバイルBaaSの概観と最新動向(2014版)
 
シングルサインオンの歴史とSAMLへの道のり
シングルサインオンの歴史とSAMLへの道のりシングルサインオンの歴史とSAMLへの道のり
シングルサインオンの歴史とSAMLへの道のり
 
Salesforce1最速経路
Salesforce1最速経路Salesforce1最速経路
Salesforce1最速経路
 
モバイルBaaSの概観と最新動向 (2013/6/7)
モバイルBaaSの概観と最新動向 (2013/6/7)モバイルBaaSの概観と最新動向 (2013/6/7)
モバイルBaaSの概観と最新動向 (2013/6/7)
 
(M)BaaS and Enterprise Mobile Applications
(M)BaaS and Enterprise Mobile Applications(M)BaaS and Enterprise Mobile Applications
(M)BaaS and Enterprise Mobile Applications
 
モバイルHTML5サイトでの写真アップロードの最適化と業務アプリへの適用
モバイルHTML5サイトでの写真アップロードの最適化と業務アプリへの適用モバイルHTML5サイトでの写真アップロードの最適化と業務アプリへの適用
モバイルHTML5サイトでの写真アップロードの最適化と業務アプリへの適用
 
クラウド・スマートデバイス事例調査報告
クラウド・スマートデバイス事例調査報告クラウド・スマートデバイス事例調査報告
クラウド・スマートデバイス事例調査報告
 
Cloud-to-Intranet messaging by Force.com Streaming API
Cloud-to-Intranet messaging by Force.com Streaming APICloud-to-Intranet messaging by Force.com Streaming API
Cloud-to-Intranet messaging by Force.com Streaming API
 
Sales Force Episode VI ~ Return of Ajax Toolkit ~
Sales Force Episode VI ~ Return of Ajax Toolkit ~Sales Force Episode VI ~ Return of Ajax Toolkit ~
Sales Force Episode VI ~ Return of Ajax Toolkit ~
 
Intro to JFDG
Intro to JFDGIntro to JFDG
Intro to JFDG
 
Herokuで動かす スクリーンショットサーバ
Herokuで動かす スクリーンショットサーバHerokuで動かす スクリーンショットサーバ
Herokuで動かす スクリーンショットサーバ
 
Force.com とか @ PaaS祭り
Force.com とか @ PaaS祭りForce.com とか @ PaaS祭り
Force.com とか @ PaaS祭り
 
Streaming API で実現する クラウド ⇔ イントラ連携
Streaming API で実現する クラウド ⇔ イントラ連携Streaming API で実現する クラウド ⇔ イントラ連携
Streaming API で実現する クラウド ⇔ イントラ連携
 

Dernier

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Dernier (20)

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 

Collecting Photo Stream in Node.js on Heroku