SlideShare a Scribd company logo
From API to Website




Monday, July 18, 11                   1
About Us




                      @themattharris                                                @jasoncosta



                          Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                                               2
et demi!




Monday, July 18, 11              3
About Us



                      @themattharris                                                @jasoncosta


                                                                    @twitterapi


                        @episod                                                        @rno

                          Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                                               4
It shouldn’t take longer than 5 minutes to allow
                      someone to Tweet about your content, and stay
                      informed about what you’re saying.




Monday, July 18, 11                                                      5
Overview
                         Sending a Tweet

                         Reviewing the technology


                         Making it easier


                         Following a user


                         Doing more

                      Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                             6
Overview
                         Sending a Tweet

                         Reviewing the technology


                         Making it easier


                         Following a user


                         Doing more

                      Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                             7
Tweeting the RESTful way

                 https://api.twitter.com/1/statuses/update.json -d status="Working on the
                 Open Web Camp III presentation"


                {
                      "coordinates": null,
                      "created_at": "Sat Jul 09 19:17:34 +0000 2011",
                      "truncated": false,
                      "favorited": false,
                      "id_str": "89775215936143360",
                      "in_reply_to_user_id_str": null,
                      "contributors": null,
                      "text": "Working on the Open Web Camp III presentation",
                      ...
                }




                              Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                                         8
Tweeting through twitter.com




                      Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                             9
Tweeting through twitter.com




                      Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                             10
Tweeting with @anywhere


                <script src="http://platform.twitter.com/anywhere.js?id=API_KEY&amp;v=1"></script>
                <script type="text/javascript">
                  twttr.anywhere(function (T) {
                      T("#tbox").tweetBox({
                        defaultContent: "Working on the Open Web Camp III presentation",
                      });
                  });
                </script>
                <div id="tbox"></div>




                          Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                                                  11
Tweeting with @anywhere




                      Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                             12
Is there an easier way?




Monday, July 18, 11                             13
Overview
                         Sending a Tweet

                         Reviewing the technology


                         Making it easier


                         Following a user


                         Doing more

                      Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                             14
The RESTful way ...
                • Requires some programming experience




                      Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                             15
The RESTful way ...
                • Requires some programming experience
                • Often needs a developer to have privileged access to a server




                       Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                               16
The RESTful way ...
                • Requires some programming experience
                • Often needs a developer to have privileged access to a server
                • Requires the developer to handle the authentication (OAuth)




                       Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                               17
The RESTful way ...
                • Requires some programming experience
                • Often needs a developer to have privileged access to a server
                • Requires the developer to handle the authentication (OAuth)
                • Prefers the developer to register an application on dev.twitter.com




                       Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                                     18
@anywhere ...
                • Assumes a developer is comfortable developing with JavaScript




                       Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                               19
@anywhere ...
                • Assumes a developer is comfortable developing with JavaScript
                • Sometimes a developer needs privileged access to a server




                       Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                               20
@anywhere ...
                • Assumes a developer is comfortable developing with JavaScript
                • Sometimes a developer needs privileged access to a server
                • Requires the developer to register an application on dev.twitter.com




                       Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                                      21
@anywhere ...
                • Assumes a developer is comfortable developing with JavaScript
                • Sometimes a developer needs privileged access to a server
                • Requires the developer to register an application on dev.twitter.com
                • Requires every URL it’s used on to be registered




                       Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                                      22
@anywhere ...
                • Assumes a developer is comfortable developing with JavaScript
                • Sometimes a developer needs privileged access to a server
                • Requires the developer to register an application on dev.twitter.com
                • Requires every URL it’s used on to be registered
                • Can be hard to implement without support from Twitter




                       Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                                      23
@anywhere ...
                • Assumes a developer is comfortable developing with JavaScript
                • Sometimes a developer needs privileged access to a server
                • Requires the developer to register an application on dev.twitter.com
                • Requires every URL it’s used on to be registered
                • Can be hard to implement without support from Twitter
                • Some users find it confusing




                       Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                                      24
some users find it confusing




Monday, July 18, 11                                 25
Monday, July 18, 11   26
Strengths & Weaknesses
                        Method                              @anywhere                           REST

                                                   Can code client-side                   Performance tied to
                       Strengths
                                                       interactions                         api.twitter.com
                                                 JavaScript is familiar to            RESTful model for accessing
                                                      developers                               resources

                      Weaknesses               Too complex to implement               Must handle authentication

                                                                                        Need direct access to a
                                               Confusing model for users
                                                                                                server


                           Open Web Camp III    Stanford University   July 16, 2011


Monday, July 18, 11                                                                                                 27
Overview
                         Sending a Tweet

                         Reviewing the technology


                         Making it easier


                         Following a user


                         Doing more

                      Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                             28
Starting out




                      Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                             29
Starting out
                • REST, @anywhere weren’t the right tools




                       Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                              30
Starting out
                • REST, @anywhere weren’t the right tools
                • Many open web technologies are familiar to users




                       Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                              31
Starting out
                • REST, @anywhere weren’t the right tools
                • Many open web technologies are familiar to users
                • HTML and JS can be extended easily




                       Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                              32
Starting out
                • REST, @anywhere weren’t the right tools
                • Many open web technologies are familiar to users
                • HTML and JS can be extended easily
                • Improved ubiquity




                       Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                              33
Goals




                      Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                             34
Goals
                • Remove the need for an “application”




                       Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                              35
Goals
                • Remove the need for an “application”
                • Don’t require per site customizations to get it to work




                       Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                              36
Goals
                • Remove the need for an “application”
                • Don’t require per site customizations to get it to work
                • Provide flexible and easy integration methods




                       Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                              37
Goals
                • Remove the need for an “application”
                • Don’t require per site customizations to get it to work
                • Provide flexible and easy integration methods
                • High performance




                       Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                              38
No whales
Monday, July 18, 11               39
Remove the need for an “application”




                      Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                             40
Remove the need for an “application”




                      Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                             41
Don’t require per site customizations




                      Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                             42
Don’t require per site customizations




                      Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                             43
Provide flexible integration methods




                      Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                             44
Provide flexible integration methods
                 HTML
                <a href="http://twitter.com/share?via=themattharris" class="twitter-share-button">Tweet</a>




                          Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                                                           45
Provide flexible integration methods
                 HTML
                <a href="http://twitter.com/share?via=themattharris" class="twitter-share-button">Tweet</a>




                 JavaScript
                <script src="http://platform.twitter.com/widgets.js" type="text/javascript"></script>
                <a href="http://twitter.com/share" class="twitter-share-button" data-via=”themattharris”>Tweet</a>




                          Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                                                                  46
Provide flexible integration methods
                 HTML
                <a href="http://twitter.com/share?via=themattharris" class="twitter-share-button">Tweet</a>




                 JavaScript
                <script src="http://platform.twitter.com/widgets.js" type="text/javascript"></script>
                <a href="http://twitter.com/share" class="twitter-share-button" data-via=”themattharris”>Tweet</a>




                 iFrame
                <iframe allowtransparency="true" frameborder="0" scrolling="no"
                        src="http://platform.twitter.com/widgets/tweet_button.html?via=themattharris"
                        style="width:130px; height:50px;"></iframe>




                          Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                                                                  47
Use standards and sensible defaults




                      Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                             48
Use standards and sensible defaults
                • Detect the URL or use rel=”canonical” if it exists




                       Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                              49
Use standards and sensible defaults
                • Detect the URL or use rel=”canonical” if it exists
                • Detect language from lang attribute, browser language




                       Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                              50
Use standards and sensible defaults
                • Detect the URL or use rel=”canonical” if it exists
                • Detect language from lang attribute, browser language
                • Detect via user from rel=”me” links that point to twitter.com




                       Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                               51
Use standards and sensible defaults
                • Detect the URL or use rel=”canonical” if it exists
                • Detect language from lang attribute, browser language
                • Detect via user from rel=”me” links that point to twitter.com
                • Allow values to be manually overridden




                       Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                               52
Use standards and sensible defaults
              Data Source


                      url




                            Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                                   53
Use standards and sensible defaults
              Data Source                                                                default


                      url                                                             HTTP Referrer




                            Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                                                   54
Use standards and sensible defaults
              Data Source                                                              rel attribute     default


                      url                                                             rel=”canonical” HTTP Referrer




                            Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                                                                   55
Use standards and sensible defaults
              Data Source                                             data-* attribute    rel attribute     default


                      url                                                   data-url     rel=”canonical” HTTP Referrer




                            Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                                                                      56
Use standards and sensible defaults
              Data Source                Query string                 data-* attribute    rel attribute     default


                      url                       ?url                        data-url     rel=”canonical” HTTP Referrer




                            Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                                                                      57
Use standards and sensible defaults
              Data Source                Query string                 data-* attribute    rel attribute     default


                      url                       ?url                        data-url     rel=”canonical” HTTP Referrer


                      via                       ?via                        data-via        rel=”me”




                            Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                                                                      58
Use standards and sensible defaults
              Data Source                 Query string                 data-* attribute    rel attribute     default


                      url                        ?url                        data-url     rel=”canonical” HTTP Referrer


                      via                        ?via                        data-via        rel=”me”


                      text                       ?text                      data-text                        <title>




                             Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                                                                       59
Use standards and sensible defaults
              Data Source                 Query string                 data-* attribute    rel attribute     default


                      url                        ?url                        data-url     rel=”canonical” HTTP Referrer


                      via                        ?via                        data-via        rel=”me”


                      text                       ?text                      data-text                        <title>

                                                                                                            Browser
                      lang                       ?lang                     data-lang
                                                                                                            setting

                             Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                                                                       60
Easy to integrate




                      Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                             61
Easy to integrate




                      YouTube                                    WordPress       Mashable



                       Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                                         62
WordPress.com



Monday, July 18, 11                   63
the easier way




Monday, July 18, 11                    64
<a href="http://twitter.com/share">Tweet</a>




Monday, July 18, 11                                                  65
The Tweet Button




                <a href="http://twitter.com/share"
                   class="twitter-share-button"
                   data-text="Working on the Open Web Camp III presentation"
                 >Tweet</a>

                <script src="http://platform.twitter.com/widgets.js" type="text/javascript"></script>




                          Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                                                     66
Monday, July 18, 11   67
Monday, July 18, 11   68
Monday, July 18, 11   69
Overview
                         Sending a Tweet

                         Reviewing the technology


                         Making it easier


                         Following a user


                         Doing more

                      Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                             70
Following the RESTful way

                 https://api.twitter.com/1/friendships/create.json -d user_id=777925
                {
                  "expanded_url": "http://themattharris.com",
                  "name": "Matt Harris",
                  "created_at": "Sat Feb 17 20:49:54 +0000 2007",
                  "location": "SFO/LHR/YVR/JAX/IAD/AUS",
                  "id_str": "777925",
                  "protected": false,
                  "time_zone": "Pacific Time (US & Canada)",
                  "geo_enabled": true,
                  "description": "Developer Advocate at Twitter and married to @cindyli. NASA enthusiast, British
                expat and all around geek living in San Francisco.",
                  "statuses_count": 3916,
                  "friends_count": 362,
                  "display_url": "themattharris.com",
                  "screen_name": "themattharris",
                  ...
                }


                          Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                                                                 71
Following a user through twitter.com




                      Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                             72
Following a user through twitter.com




                      Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                             73
Following with @anywhere


                <script src="http://platform.twitter.com/anywhere.js?id=API_KEY&amp;v=1"></script>
                <script type="text/javascript">
                  twttr.anywhere(function (T) {
                      T("#follow").followButton('themattharris');
                  });
                </script>
                <div id="follow"></div>




                          Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                                                  74
Tweeting with @anywhere




                      Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                             75
Is there an easier way?




Monday, July 18, 11                             76
The Follow Button




                <a href="http://twitter.com/themattharris"
                   class="twitter-follow-button"
                 >Follow @themattharris</a>

                <script src="http://platform.twitter.com/widgets.js" type="text/javascript"></script>




                          Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                                                     77
Overview
                         Sending a Tweet

                         Reviewing the technology


                         Making it easier


                         Following a user


                         Doing more

                      Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                             78
Web Intents
                             Tweet

                             Follow


                             Retweet


                             Reply


                             Favorite

                      Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                             79
Streamlined UI and similar pattern to perform each
                      intent




Monday, July 18, 11                                                        80
Web Intents
                             Tweet                              http://twitter.com/intent/tweet

                             Follow                             http://twitter.com/intent/user


                             Retweet                            http://twitter.com/intent/retweet


                             Reply                              http://twitter.com/intent/reply


                             Favorite                           http://twitter.com/intent/favorite

                      Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                                                  81
JavaScript Events




                      Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                             82
JavaScript Events
                twttr.events.bind(‘click’, function(event) {
                    // Do something there
                });

                twttr.events.bind(‘favorite’, function(event) {
                    // Do something there
                });

                twttr.events.bind(‘tweet’, function(event) {
                    // Do something there
                });

                twttr.events.bind(‘retweet’, function(event) {
                    // Do something there
                });

                twttr.events.bind(‘follow’, function(event) {
                    // Do something there
                });




                          Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                                 83
JavaScript Events - Analytics
                function log_event(evt, label) {
                  if (evt) {
                    pageTracker._trackEvent('twitter_web_intents', evt.type, label);
                  }
                }

                twttr.events.bind('click', function(intent_event) {
                  log_event(intent_event, intent_event.region);
                });
                twttr.events.bind('tweet', function(intent_event) {
                  log_event(intent_event, 'tweet');
                });
                twttr.events.bind('retweet', function(intent_event) {
                  log_event(intent_event, intent_event.data.source_tweet_id);
                });
                twttr.events.bind('favorite', function(intent_event) {
                  log_event(intent_event, 'favorite');
                });
                twttr.events.bind('follow', function(intent_event) {
                  log_event(intent_event, intent_event.data.user_id + " (" + intent_event.data.screen_name + ")");
                });




                          Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                                                                  84
Invert the model




Monday, July 18, 11                      85
Invert the model

                      Start simple and then add complexity




Monday, July 18, 11                                          86
Before
                curl https://api.twitter.com/1/statuses/update.json -d status="Working
                on the Open Web Camp III presentation" -d oauth_token=”12345-
                abcdefghijkl” -d oauth_secret=”abc123def456” ................




                       Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                                      87
Before
                curl https://api.twitter.com/1/statuses/update.json -d status="Working
                on the Open Web Camp III presentation" -d oauth_token=”12345-
                abcdefghijkl” -d oauth_secret=”abc123def456” ................


                After
                <a href="http://twitter.com/intent/tweet">Tweet</a>




                       Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                                      88
We give you the tools to build great integrations




Monday, July 18, 11                                                       89
Finding out more
                https://dev.twitter.com/docs/tweet-button
                https://dev.twitter.com/docs/follow-button
                https://dev.twitter.com/docs/intents
                https://dev.twitter.com/docs/intents/events




                       Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                              90
Twitter for Websites



                @danwrong @brianellin                              @benward        @chanian   @zprad    @rsarver




                      @ded       @richardhenry @connors                             @kpk      @binder

                         Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                                                                91
Questions?




Monday, July 18, 11                92
http://twitter.com/intent/user?screen_name=themattharris




                         http://twitter.com/intent/user?screen_name=jasoncosta




                      Open Web Camp III   Stanford University   July 16, 2011


Monday, July 18, 11                                                                 93
Thank You




Monday, July 18, 11               94

More Related Content

Recently uploaded

Walmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdfWalmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdf
TechSoup
 
spot a liar (Haiqa 146).pptx Technical writhing and presentation skills
spot a liar (Haiqa 146).pptx Technical writhing and presentation skillsspot a liar (Haiqa 146).pptx Technical writhing and presentation skills
spot a liar (Haiqa 146).pptx Technical writhing and presentation skills
haiqairshad
 
Présentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptx
Présentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptxPrésentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptx
Présentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptx
siemaillard
 
writing about opinions about Australia the movie
writing about opinions about Australia the moviewriting about opinions about Australia the movie
writing about opinions about Australia the movie
Nicholas Montgomery
 
RESULTS OF THE EVALUATION QUESTIONNAIRE.pptx
RESULTS OF THE EVALUATION QUESTIONNAIRE.pptxRESULTS OF THE EVALUATION QUESTIONNAIRE.pptx
RESULTS OF THE EVALUATION QUESTIONNAIRE.pptx
zuzanka
 
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
Nguyen Thanh Tu Collection
 
How to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 InventoryHow to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 Inventory
Celine George
 
How to deliver Powerpoint Presentations.pptx
How to deliver Powerpoint  Presentations.pptxHow to deliver Powerpoint  Presentations.pptx
How to deliver Powerpoint Presentations.pptx
HajraNaeem15
 
Chapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptxChapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptx
Denish Jangid
 
Temple of Asclepius in Thrace. Excavation results
Temple of Asclepius in Thrace. Excavation resultsTemple of Asclepius in Thrace. Excavation results
Temple of Asclepius in Thrace. Excavation results
Krassimira Luka
 
Mule event processing models | MuleSoft Mysore Meetup #47
Mule event processing models | MuleSoft Mysore Meetup #47Mule event processing models | MuleSoft Mysore Meetup #47
Mule event processing models | MuleSoft Mysore Meetup #47
MysoreMuleSoftMeetup
 
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptxBeyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
EduSkills OECD
 
SWOT analysis in the project Keeping the Memory @live.pptx
SWOT analysis in the project Keeping the Memory @live.pptxSWOT analysis in the project Keeping the Memory @live.pptx
SWOT analysis in the project Keeping the Memory @live.pptx
zuzanka
 
Lifelines of National Economy chapter for Class 10 STUDY MATERIAL PDF
Lifelines of National Economy chapter for Class 10 STUDY MATERIAL PDFLifelines of National Economy chapter for Class 10 STUDY MATERIAL PDF
Lifelines of National Economy chapter for Class 10 STUDY MATERIAL PDF
Vivekanand Anglo Vedic Academy
 
A Independência da América Espanhola LAPBOOK.pdf
A Independência da América Espanhola LAPBOOK.pdfA Independência da América Espanhola LAPBOOK.pdf
A Independência da América Espanhola LAPBOOK.pdf
Jean Carlos Nunes Paixão
 
BIOLOGY NATIONAL EXAMINATION COUNCIL (NECO) 2024 PRACTICAL MANUAL.pptx
BIOLOGY NATIONAL EXAMINATION COUNCIL (NECO) 2024 PRACTICAL MANUAL.pptxBIOLOGY NATIONAL EXAMINATION COUNCIL (NECO) 2024 PRACTICAL MANUAL.pptx
BIOLOGY NATIONAL EXAMINATION COUNCIL (NECO) 2024 PRACTICAL MANUAL.pptx
RidwanHassanYusuf
 
math operations ued in python and all used
math operations ued in python and all usedmath operations ued in python and all used
math operations ued in python and all used
ssuser13ffe4
 
Film vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movieFilm vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movie
Nicholas Montgomery
 
Wound healing PPT
Wound healing PPTWound healing PPT
Wound healing PPT
Jyoti Chand
 
Leveraging Generative AI to Drive Nonprofit Innovation
Leveraging Generative AI to Drive Nonprofit InnovationLeveraging Generative AI to Drive Nonprofit Innovation
Leveraging Generative AI to Drive Nonprofit Innovation
TechSoup
 

Recently uploaded (20)

Walmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdfWalmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdf
 
spot a liar (Haiqa 146).pptx Technical writhing and presentation skills
spot a liar (Haiqa 146).pptx Technical writhing and presentation skillsspot a liar (Haiqa 146).pptx Technical writhing and presentation skills
spot a liar (Haiqa 146).pptx Technical writhing and presentation skills
 
Présentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptx
Présentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptxPrésentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptx
Présentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptx
 
writing about opinions about Australia the movie
writing about opinions about Australia the moviewriting about opinions about Australia the movie
writing about opinions about Australia the movie
 
RESULTS OF THE EVALUATION QUESTIONNAIRE.pptx
RESULTS OF THE EVALUATION QUESTIONNAIRE.pptxRESULTS OF THE EVALUATION QUESTIONNAIRE.pptx
RESULTS OF THE EVALUATION QUESTIONNAIRE.pptx
 
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
 
How to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 InventoryHow to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 Inventory
 
How to deliver Powerpoint Presentations.pptx
How to deliver Powerpoint  Presentations.pptxHow to deliver Powerpoint  Presentations.pptx
How to deliver Powerpoint Presentations.pptx
 
Chapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptxChapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptx
 
Temple of Asclepius in Thrace. Excavation results
Temple of Asclepius in Thrace. Excavation resultsTemple of Asclepius in Thrace. Excavation results
Temple of Asclepius in Thrace. Excavation results
 
Mule event processing models | MuleSoft Mysore Meetup #47
Mule event processing models | MuleSoft Mysore Meetup #47Mule event processing models | MuleSoft Mysore Meetup #47
Mule event processing models | MuleSoft Mysore Meetup #47
 
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptxBeyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
 
SWOT analysis in the project Keeping the Memory @live.pptx
SWOT analysis in the project Keeping the Memory @live.pptxSWOT analysis in the project Keeping the Memory @live.pptx
SWOT analysis in the project Keeping the Memory @live.pptx
 
Lifelines of National Economy chapter for Class 10 STUDY MATERIAL PDF
Lifelines of National Economy chapter for Class 10 STUDY MATERIAL PDFLifelines of National Economy chapter for Class 10 STUDY MATERIAL PDF
Lifelines of National Economy chapter for Class 10 STUDY MATERIAL PDF
 
A Independência da América Espanhola LAPBOOK.pdf
A Independência da América Espanhola LAPBOOK.pdfA Independência da América Espanhola LAPBOOK.pdf
A Independência da América Espanhola LAPBOOK.pdf
 
BIOLOGY NATIONAL EXAMINATION COUNCIL (NECO) 2024 PRACTICAL MANUAL.pptx
BIOLOGY NATIONAL EXAMINATION COUNCIL (NECO) 2024 PRACTICAL MANUAL.pptxBIOLOGY NATIONAL EXAMINATION COUNCIL (NECO) 2024 PRACTICAL MANUAL.pptx
BIOLOGY NATIONAL EXAMINATION COUNCIL (NECO) 2024 PRACTICAL MANUAL.pptx
 
math operations ued in python and all used
math operations ued in python and all usedmath operations ued in python and all used
math operations ued in python and all used
 
Film vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movieFilm vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movie
 
Wound healing PPT
Wound healing PPTWound healing PPT
Wound healing PPT
 
Leveraging Generative AI to Drive Nonprofit Innovation
Leveraging Generative AI to Drive Nonprofit InnovationLeveraging Generative AI to Drive Nonprofit Innovation
Leveraging Generative AI to Drive Nonprofit Innovation
 

Featured

PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
SpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
Rajiv Jayarajah, MAppComm, ACC
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
Christy Abraham Joy
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
Vit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
MindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
GetSmarter
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
Alireza Esmikhani
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
Project for Public Spaces & National Center for Biking and Walking
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
DevGAMM Conference
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
Erica Santiago
 

Featured (20)

PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 

2011 07-16-openwebcampiii-110718110907-phpapp01

  • 1. From API to Website Monday, July 18, 11 1
  • 2. About Us @themattharris @jasoncosta Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 2
  • 4. About Us @themattharris @jasoncosta @twitterapi @episod @rno Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 4
  • 5. It shouldn’t take longer than 5 minutes to allow someone to Tweet about your content, and stay informed about what you’re saying. Monday, July 18, 11 5
  • 6. Overview Sending a Tweet Reviewing the technology Making it easier Following a user Doing more Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 6
  • 7. Overview Sending a Tweet Reviewing the technology Making it easier Following a user Doing more Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 7
  • 8. Tweeting the RESTful way https://api.twitter.com/1/statuses/update.json -d status="Working on the Open Web Camp III presentation" { "coordinates": null, "created_at": "Sat Jul 09 19:17:34 +0000 2011", "truncated": false, "favorited": false, "id_str": "89775215936143360", "in_reply_to_user_id_str": null, "contributors": null, "text": "Working on the Open Web Camp III presentation", ... } Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 8
  • 9. Tweeting through twitter.com Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 9
  • 10. Tweeting through twitter.com Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 10
  • 11. Tweeting with @anywhere <script src="http://platform.twitter.com/anywhere.js?id=API_KEY&amp;v=1"></script> <script type="text/javascript"> twttr.anywhere(function (T) { T("#tbox").tweetBox({ defaultContent: "Working on the Open Web Camp III presentation", }); }); </script> <div id="tbox"></div> Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 11
  • 12. Tweeting with @anywhere Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 12
  • 13. Is there an easier way? Monday, July 18, 11 13
  • 14. Overview Sending a Tweet Reviewing the technology Making it easier Following a user Doing more Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 14
  • 15. The RESTful way ... • Requires some programming experience Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 15
  • 16. The RESTful way ... • Requires some programming experience • Often needs a developer to have privileged access to a server Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 16
  • 17. The RESTful way ... • Requires some programming experience • Often needs a developer to have privileged access to a server • Requires the developer to handle the authentication (OAuth) Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 17
  • 18. The RESTful way ... • Requires some programming experience • Often needs a developer to have privileged access to a server • Requires the developer to handle the authentication (OAuth) • Prefers the developer to register an application on dev.twitter.com Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 18
  • 19. @anywhere ... • Assumes a developer is comfortable developing with JavaScript Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 19
  • 20. @anywhere ... • Assumes a developer is comfortable developing with JavaScript • Sometimes a developer needs privileged access to a server Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 20
  • 21. @anywhere ... • Assumes a developer is comfortable developing with JavaScript • Sometimes a developer needs privileged access to a server • Requires the developer to register an application on dev.twitter.com Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 21
  • 22. @anywhere ... • Assumes a developer is comfortable developing with JavaScript • Sometimes a developer needs privileged access to a server • Requires the developer to register an application on dev.twitter.com • Requires every URL it’s used on to be registered Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 22
  • 23. @anywhere ... • Assumes a developer is comfortable developing with JavaScript • Sometimes a developer needs privileged access to a server • Requires the developer to register an application on dev.twitter.com • Requires every URL it’s used on to be registered • Can be hard to implement without support from Twitter Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 23
  • 24. @anywhere ... • Assumes a developer is comfortable developing with JavaScript • Sometimes a developer needs privileged access to a server • Requires the developer to register an application on dev.twitter.com • Requires every URL it’s used on to be registered • Can be hard to implement without support from Twitter • Some users find it confusing Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 24
  • 25. some users find it confusing Monday, July 18, 11 25
  • 27. Strengths & Weaknesses Method @anywhere REST Can code client-side Performance tied to Strengths interactions api.twitter.com JavaScript is familiar to RESTful model for accessing developers resources Weaknesses Too complex to implement Must handle authentication Need direct access to a Confusing model for users server Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 27
  • 28. Overview Sending a Tweet Reviewing the technology Making it easier Following a user Doing more Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 28
  • 29. Starting out Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 29
  • 30. Starting out • REST, @anywhere weren’t the right tools Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 30
  • 31. Starting out • REST, @anywhere weren’t the right tools • Many open web technologies are familiar to users Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 31
  • 32. Starting out • REST, @anywhere weren’t the right tools • Many open web technologies are familiar to users • HTML and JS can be extended easily Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 32
  • 33. Starting out • REST, @anywhere weren’t the right tools • Many open web technologies are familiar to users • HTML and JS can be extended easily • Improved ubiquity Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 33
  • 34. Goals Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 34
  • 35. Goals • Remove the need for an “application” Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 35
  • 36. Goals • Remove the need for an “application” • Don’t require per site customizations to get it to work Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 36
  • 37. Goals • Remove the need for an “application” • Don’t require per site customizations to get it to work • Provide flexible and easy integration methods Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 37
  • 38. Goals • Remove the need for an “application” • Don’t require per site customizations to get it to work • Provide flexible and easy integration methods • High performance Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 38
  • 40. Remove the need for an “application” Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 40
  • 41. Remove the need for an “application” Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 41
  • 42. Don’t require per site customizations Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 42
  • 43. Don’t require per site customizations Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 43
  • 44. Provide flexible integration methods Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 44
  • 45. Provide flexible integration methods HTML <a href="http://twitter.com/share?via=themattharris" class="twitter-share-button">Tweet</a> Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 45
  • 46. Provide flexible integration methods HTML <a href="http://twitter.com/share?via=themattharris" class="twitter-share-button">Tweet</a> JavaScript <script src="http://platform.twitter.com/widgets.js" type="text/javascript"></script> <a href="http://twitter.com/share" class="twitter-share-button" data-via=”themattharris”>Tweet</a> Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 46
  • 47. Provide flexible integration methods HTML <a href="http://twitter.com/share?via=themattharris" class="twitter-share-button">Tweet</a> JavaScript <script src="http://platform.twitter.com/widgets.js" type="text/javascript"></script> <a href="http://twitter.com/share" class="twitter-share-button" data-via=”themattharris”>Tweet</a> iFrame <iframe allowtransparency="true" frameborder="0" scrolling="no" src="http://platform.twitter.com/widgets/tweet_button.html?via=themattharris" style="width:130px; height:50px;"></iframe> Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 47
  • 48. Use standards and sensible defaults Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 48
  • 49. Use standards and sensible defaults • Detect the URL or use rel=”canonical” if it exists Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 49
  • 50. Use standards and sensible defaults • Detect the URL or use rel=”canonical” if it exists • Detect language from lang attribute, browser language Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 50
  • 51. Use standards and sensible defaults • Detect the URL or use rel=”canonical” if it exists • Detect language from lang attribute, browser language • Detect via user from rel=”me” links that point to twitter.com Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 51
  • 52. Use standards and sensible defaults • Detect the URL or use rel=”canonical” if it exists • Detect language from lang attribute, browser language • Detect via user from rel=”me” links that point to twitter.com • Allow values to be manually overridden Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 52
  • 53. Use standards and sensible defaults Data Source url Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 53
  • 54. Use standards and sensible defaults Data Source default url HTTP Referrer Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 54
  • 55. Use standards and sensible defaults Data Source rel attribute default url rel=”canonical” HTTP Referrer Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 55
  • 56. Use standards and sensible defaults Data Source data-* attribute rel attribute default url data-url rel=”canonical” HTTP Referrer Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 56
  • 57. Use standards and sensible defaults Data Source Query string data-* attribute rel attribute default url ?url data-url rel=”canonical” HTTP Referrer Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 57
  • 58. Use standards and sensible defaults Data Source Query string data-* attribute rel attribute default url ?url data-url rel=”canonical” HTTP Referrer via ?via data-via rel=”me” Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 58
  • 59. Use standards and sensible defaults Data Source Query string data-* attribute rel attribute default url ?url data-url rel=”canonical” HTTP Referrer via ?via data-via rel=”me” text ?text data-text <title> Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 59
  • 60. Use standards and sensible defaults Data Source Query string data-* attribute rel attribute default url ?url data-url rel=”canonical” HTTP Referrer via ?via data-via rel=”me” text ?text data-text <title> Browser lang ?lang data-lang setting Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 60
  • 61. Easy to integrate Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 61
  • 62. Easy to integrate YouTube WordPress Mashable Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 62
  • 64. the easier way Monday, July 18, 11 64
  • 66. The Tweet Button <a href="http://twitter.com/share" class="twitter-share-button" data-text="Working on the Open Web Camp III presentation" >Tweet</a> <script src="http://platform.twitter.com/widgets.js" type="text/javascript"></script> Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 66
  • 70. Overview Sending a Tweet Reviewing the technology Making it easier Following a user Doing more Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 70
  • 71. Following the RESTful way https://api.twitter.com/1/friendships/create.json -d user_id=777925 { "expanded_url": "http://themattharris.com", "name": "Matt Harris", "created_at": "Sat Feb 17 20:49:54 +0000 2007", "location": "SFO/LHR/YVR/JAX/IAD/AUS", "id_str": "777925", "protected": false, "time_zone": "Pacific Time (US & Canada)", "geo_enabled": true, "description": "Developer Advocate at Twitter and married to @cindyli. NASA enthusiast, British expat and all around geek living in San Francisco.", "statuses_count": 3916, "friends_count": 362, "display_url": "themattharris.com", "screen_name": "themattharris", ... } Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 71
  • 72. Following a user through twitter.com Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 72
  • 73. Following a user through twitter.com Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 73
  • 74. Following with @anywhere <script src="http://platform.twitter.com/anywhere.js?id=API_KEY&amp;v=1"></script> <script type="text/javascript"> twttr.anywhere(function (T) { T("#follow").followButton('themattharris'); }); </script> <div id="follow"></div> Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 74
  • 75. Tweeting with @anywhere Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 75
  • 76. Is there an easier way? Monday, July 18, 11 76
  • 77. The Follow Button <a href="http://twitter.com/themattharris" class="twitter-follow-button" >Follow @themattharris</a> <script src="http://platform.twitter.com/widgets.js" type="text/javascript"></script> Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 77
  • 78. Overview Sending a Tweet Reviewing the technology Making it easier Following a user Doing more Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 78
  • 79. Web Intents Tweet Follow Retweet Reply Favorite Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 79
  • 80. Streamlined UI and similar pattern to perform each intent Monday, July 18, 11 80
  • 81. Web Intents Tweet http://twitter.com/intent/tweet Follow http://twitter.com/intent/user Retweet http://twitter.com/intent/retweet Reply http://twitter.com/intent/reply Favorite http://twitter.com/intent/favorite Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 81
  • 82. JavaScript Events Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 82
  • 83. JavaScript Events twttr.events.bind(‘click’, function(event) { // Do something there }); twttr.events.bind(‘favorite’, function(event) { // Do something there }); twttr.events.bind(‘tweet’, function(event) { // Do something there }); twttr.events.bind(‘retweet’, function(event) { // Do something there }); twttr.events.bind(‘follow’, function(event) { // Do something there }); Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 83
  • 84. JavaScript Events - Analytics function log_event(evt, label) { if (evt) { pageTracker._trackEvent('twitter_web_intents', evt.type, label); } } twttr.events.bind('click', function(intent_event) { log_event(intent_event, intent_event.region); }); twttr.events.bind('tweet', function(intent_event) { log_event(intent_event, 'tweet'); }); twttr.events.bind('retweet', function(intent_event) { log_event(intent_event, intent_event.data.source_tweet_id); }); twttr.events.bind('favorite', function(intent_event) { log_event(intent_event, 'favorite'); }); twttr.events.bind('follow', function(intent_event) { log_event(intent_event, intent_event.data.user_id + " (" + intent_event.data.screen_name + ")"); }); Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 84
  • 85. Invert the model Monday, July 18, 11 85
  • 86. Invert the model Start simple and then add complexity Monday, July 18, 11 86
  • 87. Before curl https://api.twitter.com/1/statuses/update.json -d status="Working on the Open Web Camp III presentation" -d oauth_token=”12345- abcdefghijkl” -d oauth_secret=”abc123def456” ................ Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 87
  • 88. Before curl https://api.twitter.com/1/statuses/update.json -d status="Working on the Open Web Camp III presentation" -d oauth_token=”12345- abcdefghijkl” -d oauth_secret=”abc123def456” ................ After <a href="http://twitter.com/intent/tweet">Tweet</a> Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 88
  • 89. We give you the tools to build great integrations Monday, July 18, 11 89
  • 90. Finding out more https://dev.twitter.com/docs/tweet-button https://dev.twitter.com/docs/follow-button https://dev.twitter.com/docs/intents https://dev.twitter.com/docs/intents/events Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 90
  • 91. Twitter for Websites @danwrong @brianellin @benward @chanian @zprad @rsarver @ded @richardhenry @connors @kpk @binder Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 91
  • 93. http://twitter.com/intent/user?screen_name=themattharris http://twitter.com/intent/user?screen_name=jasoncosta Open Web Camp III Stanford University July 16, 2011 Monday, July 18, 11 93