SlideShare a Scribd company logo
1 of 20
www.birdpie.com
     Anup Narkhede
About Me
• Anup Narkhede
• On Rails since 2007
• Employee at www.dynamic50.com
• http://twitter.com/railsbob
Do you tweet links?
What if you want to
look back through
  your old links?
Limitations

• Search only returns last 1500 tweets
• Different TinyUrls for same target links
• Twitter API goes back for 3000 tweets
• Twitter web application
• Aggregates all your tweeted links
• Auto link tagging
• Categories for link management
• Shows popularity of the bookmark
• Resolves the Tiny URLs
• Stores the count
• 404 Errors and Deadlinks
• Gets the page title
Sign Up
• Twitter OAuth (Read-Only)
• Private Users?
Intelligent Tags
   • Auto Tags
   • Listing by tags
Categories
• Manage bookmarks by assigning a category
• A Category acts like a Folder
Hashtags
• Auto Assign a category by adding a hashtag
       RT @dynamic50: New blog post:
      Birdpie Launched http://bit.ly/8iyh2g
                    #ruby



  Puts the bookmark under Ruby Category
Rails 3.0
Architecture
  • 75% Background processes

Crawl       Resolve       Tag
Redis
• Key value store
• Eliminates need for counter cache
• Lists, Sets, Ordered Sets
• Used to manage bookmark counts
Resque
• Queue Manager
• Admin Sinatra Application
• Inspect Failed Jobs
• Add and remove workers
Process
   User      URLs         Bookmarks




 Worker 1           Worker 2      Worker 3



•Crawl                 •Resolve
•Store                 •Tag
                       •Update count
Resque Admin
(Sinatra App)
Redis
http://code.google.com/p/redis/
http://github.com/ezmobius/redis-rb


          Resque
http://github.com/defunkt/resque
Coming soon
• Mozilla Plugin to manage your bookmarks
• Retweets
• Bookmark Search
About Us



 blog.dynamic50.com
www.dynamic50.com
twitter.com/dynamic50

More Related Content

What's hot

Serverless integration zero code
Serverless integration zero codeServerless integration zero code
Serverless integration zero codeMichael Walmsley
 
Inside Wordnik's Architecture
Inside Wordnik's ArchitectureInside Wordnik's Architecture
Inside Wordnik's ArchitectureTony Tam
 
Exposing Salesforce REST Services Using Swagger
Exposing Salesforce REST Services Using SwaggerExposing Salesforce REST Services Using Swagger
Exposing Salesforce REST Services Using SwaggerSalesforce Developers
 
Microservices with a Spark
Microservices with a SparkMicroservices with a Spark
Microservices with a SparkYair Galler
 
Avninfosoft Seo strategy for 2014
Avninfosoft Seo strategy  for 2014Avninfosoft Seo strategy  for 2014
Avninfosoft Seo strategy for 2014Kaite Willson
 
ChilliSource PGConnects Master Class
ChilliSource PGConnects Master ClassChilliSource PGConnects Master Class
ChilliSource PGConnects Master Classtaggames
 
Introducing Swagger
Introducing SwaggerIntroducing Swagger
Introducing SwaggerTony Tam
 
現場の Web Components
現場の Web Components現場の Web Components
現場の Web ComponentsHiroyuki Hara
 
Building powerful-search-in-drupal
Building powerful-search-in-drupalBuilding powerful-search-in-drupal
Building powerful-search-in-drupalPrajwala Manchikatla
 
Lambdaless and AWS CDK
Lambdaless and AWS CDKLambdaless and AWS CDK
Lambdaless and AWS CDKMooYeol Lee
 
API 101 - Understanding APIs.
API 101 - Understanding APIs.API 101 - Understanding APIs.
API 101 - Understanding APIs.Kirsten Hunter
 
A Tasty deep-dive into Open API Specification Links
A Tasty deep-dive into Open API Specification LinksA Tasty deep-dive into Open API Specification Links
A Tasty deep-dive into Open API Specification LinksTony Tam
 
Automate Amazon S3 Storage with Alexandria
Automate Amazon S3 Storage with AlexandriaAutomate Amazon S3 Storage with Alexandria
Automate Amazon S3 Storage with AlexandriaJeffrey Kemp
 
Rest api to integrate with your site
Rest api to integrate with your siteRest api to integrate with your site
Rest api to integrate with your siteHoang Nguyen
 
Realization facet filters in solr through ajax
Realization facet filters in solr through ajaxRealization facet filters in solr through ajax
Realization facet filters in solr through ajaxKonstantin Osipenko
 
Microservices Manchester: Lightning Talk- Actor Based Concurrency by Amy O'Leary
Microservices Manchester: Lightning Talk- Actor Based Concurrency by Amy O'LearyMicroservices Manchester: Lightning Talk- Actor Based Concurrency by Amy O'Leary
Microservices Manchester: Lightning Talk- Actor Based Concurrency by Amy O'LearyOpenCredo
 

What's hot (20)

Serverless integration zero code
Serverless integration zero codeServerless integration zero code
Serverless integration zero code
 
Get rss to blogger
Get rss to bloggerGet rss to blogger
Get rss to blogger
 
Inside Wordnik's Architecture
Inside Wordnik's ArchitectureInside Wordnik's Architecture
Inside Wordnik's Architecture
 
Exposing Salesforce REST Services Using Swagger
Exposing Salesforce REST Services Using SwaggerExposing Salesforce REST Services Using Swagger
Exposing Salesforce REST Services Using Swagger
 
Microservices with a Spark
Microservices with a SparkMicroservices with a Spark
Microservices with a Spark
 
Azure Automation - Azure Vidyapeeth
Azure Automation - Azure VidyapeethAzure Automation - Azure Vidyapeeth
Azure Automation - Azure Vidyapeeth
 
Avninfosoft Seo strategy for 2014
Avninfosoft Seo strategy  for 2014Avninfosoft Seo strategy  for 2014
Avninfosoft Seo strategy for 2014
 
ChilliSource PGConnects Master Class
ChilliSource PGConnects Master ClassChilliSource PGConnects Master Class
ChilliSource PGConnects Master Class
 
Introducing Swagger
Introducing SwaggerIntroducing Swagger
Introducing Swagger
 
現場の Web Components
現場の Web Components現場の Web Components
現場の Web Components
 
Building powerful-search-in-drupal
Building powerful-search-in-drupalBuilding powerful-search-in-drupal
Building powerful-search-in-drupal
 
Lambdaless and AWS CDK
Lambdaless and AWS CDKLambdaless and AWS CDK
Lambdaless and AWS CDK
 
API 101 - Understanding APIs.
API 101 - Understanding APIs.API 101 - Understanding APIs.
API 101 - Understanding APIs.
 
A Tasty deep-dive into Open API Specification Links
A Tasty deep-dive into Open API Specification LinksA Tasty deep-dive into Open API Specification Links
A Tasty deep-dive into Open API Specification Links
 
Automate Amazon S3 Storage with Alexandria
Automate Amazon S3 Storage with AlexandriaAutomate Amazon S3 Storage with Alexandria
Automate Amazon S3 Storage with Alexandria
 
Practical Semantic Web
Practical Semantic WebPractical Semantic Web
Practical Semantic Web
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
Rest api to integrate with your site
Rest api to integrate with your siteRest api to integrate with your site
Rest api to integrate with your site
 
Realization facet filters in solr through ajax
Realization facet filters in solr through ajaxRealization facet filters in solr through ajax
Realization facet filters in solr through ajax
 
Microservices Manchester: Lightning Talk- Actor Based Concurrency by Amy O'Leary
Microservices Manchester: Lightning Talk- Actor Based Concurrency by Amy O'LearyMicroservices Manchester: Lightning Talk- Actor Based Concurrency by Amy O'Leary
Microservices Manchester: Lightning Talk- Actor Based Concurrency by Amy O'Leary
 

Similar to Birdpie

Being With Rails App For 3 Years
Being With Rails App For 3 YearsBeing With Rails App For 3 Years
Being With Rails App For 3 Yearsdeeeki
 
Jasig rubyon rails
Jasig rubyon railsJasig rubyon rails
Jasig rubyon rails_zaMmer_
 
Jasig rubyon rails
Jasig rubyon railsJasig rubyon rails
Jasig rubyon rails_zaMmer_
 
How Shopify Scales Rails
How Shopify Scales RailsHow Shopify Scales Rails
How Shopify Scales Railsjduff
 
WordPress as a CMS (short version)
WordPress as a CMS (short version)WordPress as a CMS (short version)
WordPress as a CMS (short version)Stephanie Leary
 
Json api dos and dont's
Json api dos and dont'sJson api dos and dont's
Json api dos and dont'sNeven Rakonić
 
Rapid development with Rails
Rapid development with RailsRapid development with Rails
Rapid development with RailsYi-Ting Cheng
 
Rails project code review
Rails project code reviewRails project code review
Rails project code reviewRichard Huang
 
Open Source CMS Playroom
Open Source CMS PlayroomOpen Source CMS Playroom
Open Source CMS Playroomlibrarywebchic
 
The WordPress University
The WordPress UniversityThe WordPress University
The WordPress UniversityStephanie Leary
 
SharePoint 2013 Search Operations
SharePoint 2013 Search OperationsSharePoint 2013 Search Operations
SharePoint 2013 Search OperationsSPC Adriatics
 
Optimizing SharePoint 2010 websites for search engines
Optimizing SharePoint 2010 websites for search enginesOptimizing SharePoint 2010 websites for search engines
Optimizing SharePoint 2010 websites for search enginesMavention
 
OmniUpdate User Training Conference 2014: Our "Special Sauce" Responsive Desi...
OmniUpdate User Training Conference 2014: Our "Special Sauce" Responsive Desi...OmniUpdate User Training Conference 2014: Our "Special Sauce" Responsive Desi...
OmniUpdate User Training Conference 2014: Our "Special Sauce" Responsive Desi...C. Daniel Chase
 
Digital Publishing with the OSCI Toolkit - Workshop MCN 2012
Digital Publishing with the OSCI Toolkit - Workshop MCN 2012Digital Publishing with the OSCI Toolkit - Workshop MCN 2012
Digital Publishing with the OSCI Toolkit - Workshop MCN 2012graybowman
 
Restful风格ž„web服务架构
Restful风格ž„web服务架构Restful风格ž„web服务架构
Restful风格ž„web服务架构Benjamin Tan
 
Developing Complex WordPress Sites without Fear of Failure (with MVC)
Developing Complex WordPress Sites without Fear of Failure (with MVC)Developing Complex WordPress Sites without Fear of Failure (with MVC)
Developing Complex WordPress Sites without Fear of Failure (with MVC)Mike Schinkel
 
State-of-the-Art Drupal Search with Apache Solr
State-of-the-Art Drupal Search with Apache SolrState-of-the-Art Drupal Search with Apache Solr
State-of-the-Art Drupal Search with Apache SolrRobert Douglass
 
State-of-the-Art Drupal Search with Apache Solr
State-of-the-Art Drupal Search with Apache SolrState-of-the-Art Drupal Search with Apache Solr
State-of-the-Art Drupal Search with Apache Solrguest432cd6
 

Similar to Birdpie (20)

Being With Rails App For 3 Years
Being With Rails App For 3 YearsBeing With Rails App For 3 Years
Being With Rails App For 3 Years
 
Jasig rubyon rails
Jasig rubyon railsJasig rubyon rails
Jasig rubyon rails
 
Jasig rubyon rails
Jasig rubyon railsJasig rubyon rails
Jasig rubyon rails
 
How Shopify Scales Rails
How Shopify Scales RailsHow Shopify Scales Rails
How Shopify Scales Rails
 
WordPress as a CMS (short version)
WordPress as a CMS (short version)WordPress as a CMS (short version)
WordPress as a CMS (short version)
 
WordPress as a CMS
WordPress as a CMSWordPress as a CMS
WordPress as a CMS
 
Json api dos and dont's
Json api dos and dont'sJson api dos and dont's
Json api dos and dont's
 
Rapid development with Rails
Rapid development with RailsRapid development with Rails
Rapid development with Rails
 
Rails project code review
Rails project code reviewRails project code review
Rails project code review
 
Open Source CMS Playroom
Open Source CMS PlayroomOpen Source CMS Playroom
Open Source CMS Playroom
 
The WordPress University
The WordPress UniversityThe WordPress University
The WordPress University
 
SharePoint 2013 Search Operations
SharePoint 2013 Search OperationsSharePoint 2013 Search Operations
SharePoint 2013 Search Operations
 
Optimizing SharePoint 2010 websites for search engines
Optimizing SharePoint 2010 websites for search enginesOptimizing SharePoint 2010 websites for search engines
Optimizing SharePoint 2010 websites for search engines
 
OmniUpdate User Training Conference 2014: Our "Special Sauce" Responsive Desi...
OmniUpdate User Training Conference 2014: Our "Special Sauce" Responsive Desi...OmniUpdate User Training Conference 2014: Our "Special Sauce" Responsive Desi...
OmniUpdate User Training Conference 2014: Our "Special Sauce" Responsive Desi...
 
Digital Publishing with the OSCI Toolkit - Workshop MCN 2012
Digital Publishing with the OSCI Toolkit - Workshop MCN 2012Digital Publishing with the OSCI Toolkit - Workshop MCN 2012
Digital Publishing with the OSCI Toolkit - Workshop MCN 2012
 
Emkane RCC wp qs
Emkane RCC wp qsEmkane RCC wp qs
Emkane RCC wp qs
 
Restful风格ž„web服务架构
Restful风格ž„web服务架构Restful风格ž„web服务架构
Restful风格ž„web服务架构
 
Developing Complex WordPress Sites without Fear of Failure (with MVC)
Developing Complex WordPress Sites without Fear of Failure (with MVC)Developing Complex WordPress Sites without Fear of Failure (with MVC)
Developing Complex WordPress Sites without Fear of Failure (with MVC)
 
State-of-the-Art Drupal Search with Apache Solr
State-of-the-Art Drupal Search with Apache SolrState-of-the-Art Drupal Search with Apache Solr
State-of-the-Art Drupal Search with Apache Solr
 
State-of-the-Art Drupal Search with Apache Solr
State-of-the-Art Drupal Search with Apache SolrState-of-the-Art Drupal Search with Apache Solr
State-of-the-Art Drupal Search with Apache Solr
 

Recently uploaded

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 

Recently uploaded (20)

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 

Birdpie

Editor's Notes

  1. Hi All, my name is Anup. I am here to present you birdpie, an experimental project developed using Rails 3 with resque backend. This application was released in January.
  2. So thats me. I am working fulltime on rails since 2007. Right now I work for Dynamic50 which is a cool startup based in Croydon. You can follow me on twitter & my id is railsbob.
  3. You must have seen a ‘tweet this’ link on popular blogs and websites. We tweet the links, share it among our network and then forget about it.
  4. Won;t it be nice if I was able to look back through my links, tag them with keywords, search them, or see who else have tweeted it? There are few websites which aggregate bookmarks, but none of them are offered as personal tools.
  5. But there are many limitations while dealing with twitter. The search cannot go beyond last 1500 tweets We might come accoss different tiny urls pointing to same web page Also, the twitter API cannot go beyond 3000 tweets for a user.
  6. So we offer you Birdpie, a twitter application which aggregates all your tweeted links. It also stores contextual information like tags and allows you to assign a category.
  7. It also resolved the tiny urls, and keeps a track of tweeted count unique to a user. All dead and non existing links are discarded and the link is labeled with the title of the target page.
  8. The sign up is simple, you can log in using your twitter id. Private users can sign up too, but their bookmarks are not available for public viewing on the profile pages or search results.
  9. Intelligent Tags Once the url is saved, birdpie fetches the target page and passes its content to a service to extract tags. You can see an example above. You can also list all bookmarks by a particular tag.
  10. A category is a personal folder to manage your boomark. The dashboard allows you to assign a category for a bookmark and define new ones as you want.
  11. There is another way to assign a category for a bookmark, and that is using a matching hashtag. So, if I tweet a link with hashtag #ruby, it is automatically assigned under ruby cateogy.
  12. We developed this application on Rails 3.0 The idea was to start early and know it better This being a minimal app, we did not face any major issue. The site is up and running smoothly on production since a month.
  13. Birdpie is mostly a background application. There are three main tasks Crawl for new tweets, check for links Resolve target urls Tag and save
  14. We use Redis to manage bookmark counts and tag counts. The in-built increment method eliminates the need of a counter cache. It is pretty fast and improves the overall performance of the application. The Resque queue manager also relies on Redis for operation.
  15. There are few options available for background processing. We chose Resque as we wanted to break the background tasks into multiple queues with different priorities. Also, the admin app bundled with Resque is a handy tool for monitoring.
  16. Basically the process is spread across two queues. User queue deals with fetching content from twitter for a particular user. Bookmarks queue resolves the raw link, tags it and updates the redis index
  17. This is a snapshot of the Resque admin application. You can easily see if you require more workers on a particular queue and act accordingly. It also gives information about failed jobs if any.
  18. We selected redis and resque over delayed job as we wanted to manage the processes using multiple queues. I have covered a brief introduction here, but you can follow these links if you want to dig in more details.
  19. We have few more features in the pipeline, some are listed here. The mozilla plugin will provide you easy access to all your bookmarks right in the browser. Retweet within the birdpie application to save someone else’s bookmarks And finally a more extensive bookmark search.
  20. Thank you for listening to my talk. You can keep a watch on dynamic50 blog for new announcements about birdpie features.