Skip to content

Latest commit

 

History

History
136 lines (133 loc) · 5.92 KB

File metadata and controls

136 lines (133 loc) · 5.92 KB

Goals

  • Goal: Should be able to display documents - Specific types to be able to display - [[PDF|doc/development/feature/file-format/pdf]] - HTML - EPUB - XPS - PostScript - [[DjVu|doc/development/feature/file-format/djvu]] - RTF - OpenDocument - OneNote - Comic book archive (.cbr) - Videos
  • Goal: Should be able to annotate documents - Types of annotation targets - Document text (e.g., highlight text linearly or as a block) - Document images (e.g., highlight a region of an image) - Other annotations - Link to annotations from other documents or annotations - Each annotation should have a unique identifier - Linking can either be - a reference (e.g., "see figure 2 in [42]") or - a direct inclusion (e.g., inline display of the figure with a link to original document)
  • Goal: Should be able to extract information from the document - Extraction of document structure - Create a table of contents automatically - Extraction of bibliographic metadata - Extract the authors and title of the current document - Extract the metadata from the References section - Allow for linking citation in the text (e.g., "in [42]" or "in Smith et al, 1999b") to the appropriate reference. - Extraction of text using optical character recognition (OCR) - Mathematical text should be extracted just as well as prose - Extraction of text in RTL writing systems should be supported (bidi support)
  • Goal: Should be able to search and organise documents - Full-text search - Mark document as "To read", "Read", or "Do not read" - Tagging and folders - Projects and subprojects - Faceted search over the bibliographic metadata - Detect duplicates (sometimes from different sources) - Note that sometimes what appears to the same document by the title are two versions of the same document (e.g., preprint versus journal article)
  • Goal: should be able to share data - Data to share - Documents - Annotations - Share across all of a users devices - Who to share with - People on the same LAN - Inside of groups (e.g., with everyone in a journal club)
  • Goal: Should be able to read text out loud - Should be able to read mathematical text
  • Goal: Notetaking - Pen-based notetaking - Handwriting recognition - Draw notes on top of existing document - Add space between lines or edges to draw more
  • Goal: Security and privacy - Easily use Tor for all network access - Public and private data can live side-by-side - Fine-grained control (e.g., each annotation can be set to be public or private)
  • Goal: Retrieve documents from online - Specs - Open Publication Distribution System - SWORD - OpenSearch - OAI-PMH - Download papers from sites that host papers (e.g., arXiv, PLOS) - Search papers from Google Scholar, PubMed
  • Goal: Flexible document layout (reflowable) - Turn a two-column document into single column document - Trim extra margins - Look into readibility research
  • Goal: Should be able to present from viewer - Many tools output PDFs that can be used to view slides. - Presentations can show different things on each screen: - Slides on the projector - Speaker notes on the monitor
  • Goal: Retrieve data that is related to the document being read - For example, look up articles in Wikipedia/Scholarpedia or look up words in the dictionary. - Data such as properties of chemicals, 3D models of proteins, or gene pathways.
  • Goal: Accessibility - Should be able to use by people with visual impairment (perhaps look at DAISY format, liblouis)
  • Goal: Keep data on how the user is using the software - This can be used to give suggestions if it comes across a similar usage. For example, if I implemented splitting a document window into panes to follow, say code on one page and description of the code on another, when I come back to that part, it can show a little tooltip to bring back that same view so the user does not have to configure it again. - Be able to store the current view state and restore on another device.
  • Goal: Have multiple user profiles that can be used simultaneously. - This allows for using the application for different purposes and keeping the data segregated.

Project plan

  • The document viewer should have typical document viewer features.
    • Navigation
      • DONE Move one page at a time.
      • DONE Move to start and end of document.
      • DONE Move to a specific page number.
    • Zooming
      • DONE Zoom to preset zoom levels.
      • TODO Zoom to a specific zoom multiplier
    • Be able to see an overview of document
      • DONE Display table of contents
      • TODO Display pages as thumbnail images
    • Be able to store the current view
      • TODO Store the current view page
      • TODO Define a spec for view settings
      • TODO Store the current view settings
    • Be able to follow URLs
      • TODO Click on URL should open:
        • Another location in the same document.
        • Another document.
        • A web page.
      • TODO A history stack to go backwards and forwards.
  • The document viewer should allow for viewing multiple documents at once.
    • Side-by-side view
      • TODO Place one document next to another using a dockable split-screen.
    • Portals: Arbitarily shaped and placeable views into other documents
  • Files
    • Watch directory for new files.
  • Resources
    • Bibliography database
    • Bookmarks database