Intro to developing for @twitterapi (updated)Raffi Krikorian
A short primer on how to develop for the Twitter API.
This is the newly edited version of http://www.slideshare.net/raffikrikorian/intro-to-developing-for-twitterapi
Intro to developing for @twitterapi (updated)Raffi Krikorian
A short primer on how to develop for the Twitter API.
This is the newly edited version of http://www.slideshare.net/raffikrikorian/intro-to-developing-for-twitterapi
Intervento di Paolo Bajardi al secondo incontro del corso di formazione per dirigenti sindacali "Le parole dell'innovazione e il lavoro", nato da una progettazione congiunta tra ISMEL e le segreterie CGIL, CISL e UIL di Torino e tenutosi tra marzo e maggio 2019.
WARNING: This will be an opinionated webinar.
Among Web architects and API designers we've seen growing interest in HATEOAS as a valuable approach to RESTful Web APIs. In this Webinar, we'll introduce the core principles, look at examples, and explore the value of the approach for API providers and application developers.
Join this live Webinar with Brian Mulloy to discuss the fundamentals and to explore the trade-offs of providing and consuming HATEOAS APIs.
If you can't join the live webinar, register and we'll send you a video recording.
We Will Discuss »
Overview of HATEOAS
Example Applications
Pros and cons of using HATEOS for RESTful API design
People using your web app also use many other online services. You'll often want to pull data from those other services into your app, or publish data from your app out to other services. In this talk, Randy will explain the terminology you need to know, share best practices and techniques for integrating, and walk through two real-world examples. You'll leave with code snippets to help you get started integrating.
Web APIs have revolutionized all kinds of products and services, and still continue to do so. Nowadays the most relevant architecture is REST along with the JSON media type. Furthermore, lots of specifications to serialize those media types are appearing. JSON API has released its first version last May.
This talk walks through the basics of web security without focussing too much on the particular tools that you choose. The concepts are universal, although most examples will be in Perl. We'll also look at various attack vectors (SQL Injection, XSS, CSRF, and more) and see how you can avoid them. Whether you're an experienced web developer (we all need reminding) or just starting out, this talk can help avoid being the next easy harvest of The Bad Guys.
After a brief introduction into the history of Database Management Systems different types of NoSQL data stores are characterized. Theoretical background information about sharding mechanisms, horizontal scaling and the CAP theorem are getting explained.
After a comparison of different NoSQL stores you will get to know the pros and cons of the different approaches and you will learn how to take the decision for the best fitting database in your project.
Building a Production-ready Predictive App for Customer Service - Alex Ingerm...PAPIs.io
Have you always wanted to add predictive capabilities to your application, but haven’t been able to find the time or the right technology to get started? In this session, learn how a smart application for predictive customer service can be built in the AWS cloud. We will walk through the process of labeling data, setting up a real-time data ingestion pipeline and using machine learning to make real-time predictions for messages arriving via social media channels. You will be able to later replicate everything shown on your own, using the provided sample code and training dataset.
Alex Ingerman leads the product management team for Amazon Machine Learning. He joined Amazon in 2012, after working on products including web-scale search, content recommendation systems, immersive data exploration environments, and enterprise email and content servers. Alex holds a Bachelor of Science degree in Computer Science, and a Master of Science degree in Medical Engineering.
Re-architecting a system is wrought with problems:
* We almost always underestimate the difficulty of said task
* We almost never completely understand our customers’ needs
* The system almost always changes out from underneath us
However, what we can sometimes forget is the most important aspect of any project: the team! Your team, who miraculously survives these projects, has to continue to change with your business and your technology! But, don’t fret, we can architect our way towards this way of thinking! Let’s figure out how to be resilient and adaptive with the help of each and every team member. Ignore re-architecting your team at your own risk!
The decision and process behind rewriting or re-architecting a system is often plagued with a series of problems: people always underestimate the complexity, people never fully understand the customers, system requirements constantly change out from under them, and, in almost all cases, it takes much longer than anybody can predict. As part of this workshop, we’ll look at a couple of case studies of re-architecture to gleam strategies of success from them as well as common pitfalls to avoid. This workshop should arm you with a framework by which to approach your own decisions around how to manage, maintain, and evolve your own systems:
* understanding the underlying motivations;
* developing a method for deciding whether to evolve or to rewrite;
* managing the engineering effort of re-architecture in the midst of a changing business;
* setting up metrics to understand whether you’re on course; and
* organizing the engineering team and the culture to ensure success
More Related Content
Similar to Developing for @twitterapi (Techcrunch Disrupt Hackathon)
Intervento di Paolo Bajardi al secondo incontro del corso di formazione per dirigenti sindacali "Le parole dell'innovazione e il lavoro", nato da una progettazione congiunta tra ISMEL e le segreterie CGIL, CISL e UIL di Torino e tenutosi tra marzo e maggio 2019.
WARNING: This will be an opinionated webinar.
Among Web architects and API designers we've seen growing interest in HATEOAS as a valuable approach to RESTful Web APIs. In this Webinar, we'll introduce the core principles, look at examples, and explore the value of the approach for API providers and application developers.
Join this live Webinar with Brian Mulloy to discuss the fundamentals and to explore the trade-offs of providing and consuming HATEOAS APIs.
If you can't join the live webinar, register and we'll send you a video recording.
We Will Discuss »
Overview of HATEOAS
Example Applications
Pros and cons of using HATEOS for RESTful API design
People using your web app also use many other online services. You'll often want to pull data from those other services into your app, or publish data from your app out to other services. In this talk, Randy will explain the terminology you need to know, share best practices and techniques for integrating, and walk through two real-world examples. You'll leave with code snippets to help you get started integrating.
Web APIs have revolutionized all kinds of products and services, and still continue to do so. Nowadays the most relevant architecture is REST along with the JSON media type. Furthermore, lots of specifications to serialize those media types are appearing. JSON API has released its first version last May.
This talk walks through the basics of web security without focussing too much on the particular tools that you choose. The concepts are universal, although most examples will be in Perl. We'll also look at various attack vectors (SQL Injection, XSS, CSRF, and more) and see how you can avoid them. Whether you're an experienced web developer (we all need reminding) or just starting out, this talk can help avoid being the next easy harvest of The Bad Guys.
After a brief introduction into the history of Database Management Systems different types of NoSQL data stores are characterized. Theoretical background information about sharding mechanisms, horizontal scaling and the CAP theorem are getting explained.
After a comparison of different NoSQL stores you will get to know the pros and cons of the different approaches and you will learn how to take the decision for the best fitting database in your project.
Building a Production-ready Predictive App for Customer Service - Alex Ingerm...PAPIs.io
Have you always wanted to add predictive capabilities to your application, but haven’t been able to find the time or the right technology to get started? In this session, learn how a smart application for predictive customer service can be built in the AWS cloud. We will walk through the process of labeling data, setting up a real-time data ingestion pipeline and using machine learning to make real-time predictions for messages arriving via social media channels. You will be able to later replicate everything shown on your own, using the provided sample code and training dataset.
Alex Ingerman leads the product management team for Amazon Machine Learning. He joined Amazon in 2012, after working on products including web-scale search, content recommendation systems, immersive data exploration environments, and enterprise email and content servers. Alex holds a Bachelor of Science degree in Computer Science, and a Master of Science degree in Medical Engineering.
Re-architecting a system is wrought with problems:
* We almost always underestimate the difficulty of said task
* We almost never completely understand our customers’ needs
* The system almost always changes out from underneath us
However, what we can sometimes forget is the most important aspect of any project: the team! Your team, who miraculously survives these projects, has to continue to change with your business and your technology! But, don’t fret, we can architect our way towards this way of thinking! Let’s figure out how to be resilient and adaptive with the help of each and every team member. Ignore re-architecting your team at your own risk!
The decision and process behind rewriting or re-architecting a system is often plagued with a series of problems: people always underestimate the complexity, people never fully understand the customers, system requirements constantly change out from under them, and, in almost all cases, it takes much longer than anybody can predict. As part of this workshop, we’ll look at a couple of case studies of re-architecture to gleam strategies of success from them as well as common pitfalls to avoid. This workshop should arm you with a framework by which to approach your own decisions around how to manage, maintain, and evolve your own systems:
* understanding the underlying motivations;
* developing a method for deciding whether to evolve or to rewrite;
* managing the engineering effort of re-architecture in the midst of a changing business;
* setting up metrics to understand whether you’re on course; and
* organizing the engineering team and the culture to ensure success
Our talk covers the migration of the Twitter architecture from primarily Ruby on Rails (RoR) to a JVM-based SOA system with emphasis on high performance, scalability, and resilience to failure. General lessons include the advantages of asynchronous, real-time architectures over synchronous, process / thread-oriented systems, as well as caching and data store patterns.
http://thinkvitamin.com/events/geolocation-online-conference/
What do users want with geo?
In this session Raffi will be discussing what companies are doing right now with geo and where they are being most successful. He'll also take an in-depth look at the privacy concerns and UI implications, along with what users actually want from geo-enabled apps and where the opportunities lie in the future.
The slides to a tech talk I gave as part of @TwitterU at UC Berkeley on 9 September 2010.
See the blog post at http://mehack.com/twitter-by-the-numbers, and an animated version of the slide deck at http://www.youtube.com/watch?v=TdY0jU697lY
How to use Geolocation in your webapp @ FOWA Dublin 2010Raffi Krikorian
Building geolocation into your web app is becoming a necessity for almost everyone these days. It's a complex problem though, so in this session you'll learn from how Twitter is doing this and pick up important lessons for your web app.
Twitter has launched a Geotagging API – we really wanted to enable users to not only talk about “What’s happening?” but also “What’s happening right here?” For a while now, we’ve been watching as users have been trying to geo-tag their tweets through a variety of methods, all of which involve a link to a map service embedded in their Tweet. This talk will delve into how Twitter handles their geocontent including tool suggestions.
As a platform, we’ve tried to make it easier for our users by making location be omnipresent through our platform, and an inherent (but optional) part of a tweet. We’re making the platform be not just about time, but also about place.
Social applications have been venues for people to converse, emote, and share -- and in those applications, "when" has always been inherent and well captured, but the other contextual signal, "where", has been (usually) conspicuously missing. Location, when taken into account, can provide rich signals to help understand social connectivity whilst helping to discover and surface content. Numerous devices and infrastructure services have the ability to expose location, but comprehending how to best make use of these technologies can be complex. Additionally, after the infrastructure is put in place, the next hurdle to overcome is understanding how to create a useable location-based feature that users can comprehend and love while also feeling safe and secure.
This session is targeted to those who want to learn about these technologies, and to those who want to understand how to think about their users' needs, their security, and their privacy. We'll also review web and mobile services that have been designed with location at their core, or location as a feature. And, finally, we'll talk about how Twitter thinks about adding "where" to our "when".
It is clear that the lifestyles of the western world have become unsustainable. Fossil fuel scarcity and global climate change are threatening to cause great economic and environmental damage to the world. Individuals have been looking for ways to understand their contribution to the global and local energy stages, and make better decisions to reduce their impact. WattzOn.com is providing users with an online tool to calculate, track, compare, understand, and budget their personal energy consumption – much in the same way they would manage their finances.
In doing this, WattzOn also strives to innovate on the tools currently available for personal energy tracking. The status quo on personal impact tools involves online “carbon calculators,” which are already ubiquitous on the Internet. However, these calculators suffer from fundamental flaws that prevent them from becoming an effective tool for change. First, they are static and therefore do not react to improvements in knowledge or allow the addition of data. They are also “black box” in operation and do not clearly show a user how their energy numbers were calculated and what assumptions were made. Finally, they have a singular focus on carbon emissions, which doesn’t fully characterize power usage independent of fossil fuels. WattzOn changes this by providing the entire community with a collaborative environment to understand and manipulate how the numbers are calculated, while also shifting to a more comprehensive paradigm by tracking total power usage in watts.
The WattzOn back-end is powered by a pretty unique database nicknamed “holmz” – holmz is a structured wiki-engine that allows people to not only manipulate and share text, but also lets people collectively edit structured data and workflows. With holmz, WattzOn users can debate how much energy goes into, say, growing an apple; separately debate how much energy is needed to transport the apple to a local grocery store; and then have another set of people combine those two together into one result: the energy cost of an apple. Finally, that data propagates through the system, updating the total watts calculated for people with profiles indicating that they eat apples. The crowds can collaborate on getting all the individual parts of the equation correct so that everybody many benefit.
WattzOn is currently a global tool with assumptions made on a national/statewide scale. However, the ultimate goal of the system is to be able to accurately understand the exact power needs of a user’s lifestyle. Given differences in distances from product sources, weather, population density, and transportation options, the impact of any decision will be dependent on the location of the individual. By allowing users to populate the database with information from their own lives (either manually or passively by linking to online bills), the accuracy of the calculations will improve. Once this detailed database exists, anyone will be able to run specialized queries and create clear graphics to illustrate power usage of various communities and groups.
By giving individuals a tool to clearly visualize how they are “spending” energy, we hope that they will take measures to lessen their impact on the world, ultimately spurring widespread energy reduction in our society.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
2. At the Techcr unch Disrupt
Ha ckathon - giving a talk about
@twitte rapi & watching people hack!
21 May via Twitter for iPhone
from Pier 94
755 12th Avenue
New York, NY
View Tweets at this place
5. The opportunity
Analytics
Content Interpreting user information (for
Filtering valuable data data signals
Creating rich(real-time) to convey
Surfacingreal-time experiences (for the
Helping users publish the right content
into actionable information for
relevant, meaningful conversations
ecosystem) in exchange for greater to
enterprise users) to facilitate target
at the right time to optimize resonance.
Curation industries
audiences.or interests.
reach and growth.
engagement and manage reputation.
Publishing
Enterprise
6. Every tweet that comes from quora to
twitter results in 30 clicks per tweet.
⇢ Charlie Cheever, Co-Founder
8. Twitter is just three things:
Tweets,relationships between those three
And the users, anD Timelines
9. What is the @TwitterAPI?
REST API
⇢provides Twitter functionality
⇢read / write / read DM (Tweet, Follow, DM, etc.)
Search API
⇢real-time search index
Streaming API
⇢HTTP long poll connection
⇢Tweets in real-time
10. Using the system
13B API calls 150,000 calls
per day ≈ per second
11. Three main objects
Status Objects → the Tweet (text, author, and metadata)
User objects → username, screen name, avatar
Timelines → orderings of Tweets
12. The tweet's unique ID. These Text of the tweet.
IDs are roughly sorted & Consecutive duplicate tweets
developers should treat them are rejected. 140 character
as opaque (http://bit.ly/dCkppc). max (http://bit.ly/4ud3he).
DEPRECATED
{"id"=>12296272736,
"text"=>
"An early look at Annotations:
http://groups.google.com/group/twitter-api-announce/browse_thread/thread/fa5da2608865453", Tweet's
"created_at"=>"Fri Apr 16 17:55:46 +0000 2010", creation
"in_reply_to_user_id"=>nil, The ID of an existing tweet that date.
"in_reply_to_screen_name"=>nil, this tweet is in reply to. Won't
"in_reply_to_status_id"=>nil be set unless the author of the
The author's
The screen name &
"favorited"=>false,
user ID.
user ID of replied to referenced tweet is mentioned.
"truncated"=>false, Truncated to 140
characters. Only tweet author.
"user"=>
possible from SMS. The author's
{"id"=>6253282,
user name. The author's
"screen_name"=>"twitterapi",
The author's biography.
"name"=>"Twitter API",
screen name.
bedded object can get out of sync.
"description"=>
"The Real Twitter API. I tweet about API changes, service issues and
The author of the tweet. This
happily answer questions about Twitter and our API. Don't get an answer? It's on my website.",
"url"=>"http://apiwiki.twitter.com", The author's
"location"=>"San Francisco, CA", URL.
The author's "location". This is a free-form text field, and
"profile_background_color"=>"c1dfee", there are no guarantees on whether it can be geocoded.
"profile_background_image_url"=>
"http://a3.twimg.com/profile_background_images/59931895/twitterapi-background-new.png",
Rendering information
"profile_background_tile"=>false,
for the author. Colors
"profile_image_url"=>"http://a3.twimg.com/profile_images/689684365/api_normal.png",
are encoded in hex
"profile_link_color"=>"0000ff",
values (RGB).
"profile_sidebar_border_color"=>"87bc44", The creation date
13. Timelines
user → a the Tweets a given user has authored
home → the main timeline you would see in a client
Mentions → all the Tweets that @mention a user
14. Causing change
Tweeting → a POST to status/update
Following → a POST to friendships/create
DM-ing → a POST to direct_messages/new
15. Authentication
OAuth 1.0a
⇢ signature based requests
⇢ user driven access to the API
⇢ client differentiated access to the API
Applications don’t have passwords
⇢ applications store tokens for their users
⇢ users can change passwords, but tokens still work
OAuth 2.0
⇢ coming soon!
16. Limits
350 OAuth calls / user / hour / IP
⇢ authenticated calls goes against calling user
⇢ unauthenticated calls goes against calling IP
“Natural” limits
⇢ limits on number of Tweets / DMs sent
⇢ limits on number of follows / unfollows a day
Status Limits
⇢ can’t send “duplicate” tweets
17. Streaming API
Persistent connections
⇢get pushed a tweet, in real-time, that matches your predicate
⇢“push” version of search
⇢read-only
User streams / Site streams
⇢re-create the client experience using streams
⇢great for “client” experiences
19. Streaming API’s Sample hose
http://stream.twitter.com/1/statuses/sample.json
use curl
⇢uses basic authentication
⇢one connection per username
20. Streaming API’s Track and follow
http://stream.twitter.com/1/statuses/filter.json
Track
⇢watch a particular keyword
⇢up to 200 can be sent as CSV with track parameter
Follow
⇢get all the tweets (RTs, etc.) from a particular user
⇢up to 400 can be issued as CSV with follow parameter
21. Search API
Real-time search index
⇢Tweets indexed in <10 seconds
⇢1.5 billion requests a day
Search Corpus
⇢index goes back 7-10 days depending on traffic
⇢contains the best quality Tweets
22. Querying the Search API
http://search.twitter.com/search.atom?q= !
Use Curl
⇢ unauthenticated
⇢ rate-limited by IP address
Parameters
⇢ just put your query in the q parameter
⇢ use from to restrict to a particular username
⇢ OR to combine queries (q=techcrunch+OR+disrupt)
⇢ - to negate (q=techcrunch+-from=%3Araffi)
23. Tools of the Trade
dev.twitter.com
⇢ documentation central
⇢ create and register new applications
twurl
⇢ OAuth enabled version of curl
⇢ allows you to manually test authenticated and unauthenticated REST
Twitter for Mac
⇢ built in “developer console”