PithPicker - A news reader service using RSS that provides you with just summary of news articles. It works by extracting key sentences using Natural Language Processing (NLP) algorithm.

Why Drupal was chosen: 

The main goal was to build a website that could be easily handle content and user management. New content will be added frequently so we needed a strong content management system in place. We at KnackForge, having strong background in Drupal and its flexibility with hundreds of modules, easy third part integration, chose to harness its power.

Describe the project (goals, requirements and outcome): 

Core features we developed

  • News summary
  • Daily news digest
  • Responsive design
  • Social popularity
  • Social sharing
  • API integration
  • Android app development

Components

  • Drupal website for content and user management
  • Python engine for Summarizing
  • Python algorithm for Social popularity

Responsive design

Modern web always demands a responsive website that can fit well on small devices. We used bootstrap theme and added our customizations on top of that to bring a sleek User Interface.

Summarizing the text

We wrote powerful Python multi-threaded program that can consume Drupal nodes via REST API. This engine will run summarization on fetched news article to generate summaries and store in the DB. Periodically these summaries are sent back to Drupal site via REST calls.

The content and title are used for summarizing. We use the following main criteria to identify top sentences,

  • Title words' presence
  • Length of the sentences
  • Sentence position
  • Keywords' presence on sentences and their intersection
  • Frequency of occurrence

Social popularity

We use Facebook and similar social networks to find the popularity of given article. Again, it uses multi threaded Python program and communicates the result back to Drupal site.

Usage guide

New website

You can add websites to read in two ways,

  1. Choose from suggestions categorized under various topics like Technology and Internet, Health and so on.
  2. Type your own website url

Topics

You can group your websites into topics, say you can add 3 websites as "Technology" and a few as "Health". On clicking topic name on left sidebar, it will show you all recent news from all the websites under the topic. You can drill down to individual website by clicking the website link under the topic.

Read more on http://pithpicker.com/blog/2014/07/03/getting-started-pithpicker

Android App

We have developed native Android app that takes advantage of Drupal’s lightweight API interface. This basic app lets users to read their news summaries grouped under various topics. The android app uses social login support directly from the website, read more here http://knackforge.com/blog/selvam/android-app-integration-drupal-oauth. The app uses typical components in Android parlance like,

  • Listview
  • Gridview
  • Fragments
  • AsyncTask
  • UI layouts
  • Custom Adapter
Modules/Themes/Distributions
Key modules/theme/distribution used: 
Why these modules/theme/distribution were chosen: 

We used feeds module to fetch news feeds. The feeds are exposed via services module so that python processing engine can consume these feeds to generate summary.

PithPicker has a nice social integration with sites Evernote, Google, Facebook or Twitter to share/save your news. We use JS module to use minimal bootstrap level for API/Ajax calls. This gives big advantage for Android app by returning response in short intervals. User news are flagged after reading and unread count is shown using an Ajax callback in order to not to block the page loading. We run multiple scripts in various intervals, elysia cron gives that fine grained control. Mandrill is used to change the SMTP server for faster emails.

Team members: