Giter VIP home page Giter VIP logo

origin-news's Introduction

origin-news

A Chrome extension that locates the earliest iterations of news stories.

Tech Overview

Origin News is a Chrome extension that allows users to highlight a section text in a news story and use the extension to perform a series of Google (or other search engine) searches that locates the earliest iteration of the selected text. Along with locating the earliest instance of the text, we hope to provide additional metadata about the original site, including the site's ownership and funding sources.

Lexicon

  • Chrome extension - A small program that customizes the browser experience, usually some sort of tool.
  • Google API - Google's programmatic interface for its search engine.

How It Works

  1. The user questions a piece of text (preferably in a news story) and desires to know the original source.
  2. The user highlights the questionable text, right-clicks on the highlighted text and selects an Originate button in the right-click menu.
  3. The extension prints the text into a Google search query.
  4. The extension then initiates an HTTP request(s) to the Google Search API with the quoted text as a the payload.
  5. The extension receives the results as a series of JSON objects from the Google Search API.
  6. The extension then scans the results for the results for the earliest date.
  7. The extension then records prints the domain name into a second API request and sends a GET request to an as yet determined database to gather information about the website's owners/funders.
  8. The extension then combines the results of the funding database, origin URL, post date, and other metadata, and returns the information to the user.

Technical description

User highlights text and activates extension. Highlighted text is used to initialize a new object, searchText. searchText is initialized with properties that are blank right now: quoteText, fundingSource, origin URL, post date, whatever other metadata we need.

Extension runs searchText.google_search() function.

google_search() function retrieves JSON objects from Google search, running the Google search on searchText.quoteText. The function creates some kind of temporary data structure, search_results_list, with all the JSON entries loaded into it. The function sorts search_results_list by date and gets the earliest one. It populates all available fields in the searchText object with JSON data.

Extension then runs searchText.database_search(pubName), which searches our as yet undetermined database with publication names, finds the funding data, and populates fundingSource in the searchText object.

Extension then outputs all of the searchText fields into a TBD user interface, allowing the user to see all the data.

Milestones

Initial Research is Complete (date completed: )

We have the majority of knowledge to complete the initial design of the plugin. This knowledge should include:

  • The language the extension will be written in
  • The overall approach of how the extension will work programmatically
  • The APIs we'll be using to source our information and their respective behaviors
  • The tools required to build the extension and maintain our workflow
  • The workflows we will use, i.e. how we intend to contribute code and review it

Initial Design is Complete (date completed: )

We have a decent sketch of how each function will work inside the extension and the coding involved to complete that function.

Successful Programmatic Queries (date completed: )

We have succeeded in writing a set of functions that can access the APIs and return data.

Successful Script (date completed: )

The script can now be successfully run by simply entering a piece of text into an input field on the command line or other programmatic tool.

UX Design (date completed: )

The program has been successfully linked to Google Chrome's UI functions and can now accept highlighted text on web pages to begin queries.

Standing Questions

  • Should the funding aspect still be a part of this? If we don't find a database with this knowledge, this information may be difficult to come by, especially considering that many of these news sites are likely funded by foreign states.
  • Is this a plug-in or an extension? Is there a difference between the two as far as Chrome is concerned? We should get the vernacular correct. It's definitely an extension.

Research

origin-news's People

Contributors

miltdeherrera avatar dbrian57 avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.