Coder Social home page Coder Social logo

product-backlog's Introduction

product-backlog

Purpose: All new features, bugs, customer requests will be curated in this repo. We will use the issues created here to flesh out features, designs, and requirements.

What happens here, doesn't stay here

  • The issues reported in this repo will be worked on in other Hypothesis repos.
  • Issues created in #product-backlog will serve as parent cards that track all information about that request.
  • All Google docs, PR info, or issues created in other repos must be linked back to issues created in this repo.
  • We're implementing this system so that we can have complete transparency around our product developement process.

product-backlog's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

product-backlog's Issues

Inconsistent lozenge display names

The display of groups, users and tags on search lozenges is inconsistent in two ways:

  1. Sometimes the single-word usernames are shown and sometimes the multi-word user display names
  2. Sometimes they are wrapped in quotes and sometimes not

Also, group names are shown in lozenges but what you have to actually type into the search box if trying to create a group lozenge by typing manually is the group's pubid not its name.

Currently If I go to a user's search page their display name (if they have one) is shown in the lozenge:

screenshot from 2016-11-16 21-02-14

But if I go to a group's page, the usernames in the sidebar use the usernames not the display names:

screenshot from 2016-11-16 21-03-21

Also the lozenge that gets created if I click on one of those usernames will show the username not the displayname (this is a difference between lozenges that are rendered server-side, and ones that are created by JavaScript):

screenshot from 2016-11-16 21-04-31

If I wanted to manually type in a lozenge for this use I would have to type in user:seanh, neither user:Sean Hammond nor user:"Sean Hammond" would work.

If I go to a group's page then the group's name is displayed in the lozenge, without quotes:

screenshot from 2016-11-16 21-06-11

But if I create a lozenge for this group by selecting it from the dropdown menu then it does have quotes around the name, and then when I hit Enter to submit the search the quotes disappear:

peek 2016-11-16 21-07

If trying to manually type in a lozenge for this group, neither group:Hypothesis Reading nor group:"Hypothesis Reading" would work, I'd need to type in group:xyz123.

Tag lozenges created by selecting a tag suggestion from the dropdown menu, do not have quotes around the tag:

screenshot from 2016-11-16 21-11-49

Also when tags are shown in the sidebar, and when tag lozenges are added to the search query by selecting one from the sidebar - they are always displayed without quotes/

If I wanted to type in a multi-word tag facet though, I would have to use quotes tag:"multi word tag" and then it would be rendered with quotes:

screenshot from 2016-11-16 21-13-56

The existence of such a multi-word tag seems to break the sidebar:

screenshot from 2016-11-16 21-14-46

I haven't tested how multi-word tags are displayed in the dropdown menu, or what happens when you click on one from the dropdown menu.

Implement in FF Extension: Highlights and scroll to annotate

Problem:
The firefox bookmarklet doesn't allow for the same complete suite of usability features the chrome bookmarklet or extension offer.

Users cannot highlight or scroll to annotate with the Firefox bookmarklet.

Question:
Are these actual bugs, or features we never created for the FF bookmarklet?

Possible Remedies

Labeling this as a P5, b/c this needs to be characterized further to know the scope of work needed to fix (if a bug) or build features (if it isn't a bug).

User and Group profile pages are not adding the facet to the search box on load

If Reporting a Bug use this form, and delete the Feature Request Form below

Fields Your Response
Link to Zendesk ticket:
User Name/Company:
Is this from a client (paid user):
What problem is the user experiencing (Problem)?
What are steps to reproduce the problem? Go to new profile page and group page
What is the expected behavior of the H app from a user's perspective? (Expected Result) facets are reflected in search box
H version # (if available)
Browser Information (chrome, version, etc)

Add a link to a page to setup the Hypothesis client in navbar

Problem you are trying to address with this feature

There are no links on the new site to a page which tells users how to install the Hypothesis client, in case they are either new users who don't have the tool yet or existing users who don't have it set up in the browser they are currently using.

Your solution

Add an "Install Hypothesis" or "Get Hypothesis" link to the settings dropdown menu which links to a page with information on how to install the client.

To really address the needs of new users who land on the search page, we'd have to do a lot more - since they won't know what Hypothesis is, what it is useful for or that there is an installable extension. This feature require is aimed just at providing a convenient link for people who already know what Hypothesis is.

Prior art

Dropbox (see "Install" link):

dropbox-profile-menu

Implement Annotation cards feature on user and group profile pages

User Story for User profile page
As a Hypothesis user, I want to view all annotations made by me in all the groups that I am a part of, and see at a high level, all annotations that I've made, and also drill down to read through all my annotation threads, so that I can quickly view and review all annotations I've made.

Description of the annotation cards
The annotation cards are displayed when the user searches for annotations using any set of search terms available to them. The cards will contain the following information:

When closed

  • site name
  • Title of document/page
  • total number of comments in that thread

When card is clicked on and opened

  • The annotations that were made
  • The direct link (if available)
  • Tag information (if any were used)
  • Annotators involved

Work completed when

  • Users will able to view all annotation card related to a specific search query
  • Users will be able to expand and collapse a card to view the annotations within that card.

screen shot 2016-10-12 at 11 57 05 am

screen shot 2016-10-11 at 10 20 05 pm

Link to share group annotations needs to include ability to join group

User story:
As a user making annotations in a group, I expect the ability to share the annotation with others, so that I can have community dialogue with the members that are in part of that group.

Problem:
When I share a link to an annotation made from a group, it should allow users to join that group.

As I made annotations, I clicked the share button at the top of the sidebar, thinking that I could share the annotations with the team, and that they would see them.
screen shot 2016-10-27 at 1 20 05 pm

Instead, I learned that I separately have to go to the groups profile page, and share the link to the group so that team members can join the group first, and then they can view the annotations.
screen shot 2016-10-27 at 1 20 17 pm

This is a clumsy way of sharing annotations with team members. Users should only have to share one link to get other team members to annotate.

Potential Solution:
Is there a way we can combine the two actions into one? So that by clicking on one share URL, we can both give access to the group, and the set of annotations for that webpage? Users that don't have a hypothesis account might still be able to view the annotations, but will have to log in to start annotating.

This feature may be solved when we create public groups....
Writing this issue to track this.

Redesign incoming real-time annotation signal

Feature Request Form

Problem you are trying to address with this feature

The red icon at the top of the sidebar indicating that someone has recently made an annotation on that page is not obvious to users.

Example: https://twitter.com/BMBOD/status/795361337463468033

Your solution

We should:

  • Redesign the indicator, to be more explicit, or
  • Find a way to address the original issue, which was that the sidebar jumped around when there were incoming annotations. Particularly when there were many in a short period of time, and someone might be in the middle of drafting their own annotation.

Support for applications which use URL fragment to identify document

Problem you are trying to address with this feature

Support annotating pages in applications which use the URL fragment to identify the document, instead of the URL path. eg. Google Groups - https://groups.google.com/a/list.hypothes.is/forum/#!forum/dev

This mostly affects "legacy" single page applications which use client-side routing and store the URL path in the URL fragment.

Original context: https://groups.google.com/a/list.hypothes.is/forum/#!topic/dev/fQyUobAl-0A

Currently Hypothesis:

  1. Captures only the part of the URL before the fragment identifier in the annotation's target field.
  2. Does not include the fragment identifier when searching for annotations
  3. Because of (1) does not include the fragment identifier when direct-linking back to an annotation

This means that:

  1. Searching for annotations on a given "page" in an SPA returns all annotations for that application, rather than just the annotations for the current "page"

  2. When direct linking to an annotation, the user is sent to the home page / root page of the SPA rather than the "page" on which the document was made.

Your solution

Bikeshed design:

  • When creating an annotation, include the full URL (with fragment identifier) in the target_uri field
  • When fetching annotations, include the full URL in the query to the server
  • When searching for annotations, treat URLs with differing fragment identifiers as equivalent except for hash-bang fragment identifiers (#!path) which is a common convention for indicating fragment identifiers which indicate the document within an SPA rather than a part of the page.

Incorrect handling of cyrillic keyboard layout

Via support:

Steps to reproduce

  1. Try to add tags on a cyrillic keyboard
  2. When a word has a б in the middle, the keyboard interprets it as a comma, and it breaks the tag.
  3. Users have to write tags on a notepad, copy and paste it on the tabs field.

Expected behaviour

The letter б should not be interpreted as a comma, no matter what the keyboard layout says.

Actual behaviour

The letter б is interpreted as a comma, and starts a new tag

Other details

[Add tags...] field has smart capability to detect comma in user's input. If user presses [,] then the new tag is generated. Cyrillic keyboard layout has [б] letter in place of comma. Comma, in turn, is located at [/] key. So, every word , where [б] happens to be in the middle, is automatically cut just in the moment, when I press [б], which is detected as [,] which is wrong. As a result, tag list is a complete mess. The only way to put "long" tag, with [б] in the middle, is to paste it from clipboard.

Browser etc.

Version: 0.46.0
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36
URL:
PDF fingerprint: -
Username: SergeiMakarov
Date: 24 Oct 2016 11:53:00 +0300

search form loses some search terms

Bug report form

Steps to reproduce

  1. Go to: http://localhost:5000/search
  2. Type user:foo group:bar gar in the search bar
  3. Submit the search form

Expected behaviour

The url should change to:
http://localhost:5000/users/foo/search?q=group%3Abar+gar
Lozenges are created for group:bar and gar

Actual behaviour

The url changes to:
http://localhost:5000/users/foo/search?q=gar
Lozenges are created only for gar

Browser/system information

Tell us which browser, browser version, and operating system you were using when
you encountered this issue.
Chrome

links from group page to annotated docs should focus on group

User Story

Iaian Murray:

"I've continued to have to waste time chasing people who post in the public stream instead of the class group. (Despite emailing the whole class asking them not to. Again.) Some people just won't read
instructions, and a way to physically stop them from doing the wrong thing would be great."

Possible solution

Relay the links on the group page through bouncer, leverage the mechanism that enables direct links to focus on a group.

Capture DOIs and other metadata from text of PDFs

If creating a new Feature Request use this form, and delete the Bug Report Form above


Fields Your Response
Link to Zendesk ticket: https://groups.google.com/a/list.hypothes.is/forum/?utm_medium=email&utm_source=footer#!msg/dev/fXPfcQLAwuA/ZW6S07tgDgAJ
User Name/Company: Austrian Academie of Science
Is this from a client (paid user): No
What problem is the user trying to solve? "I'm currently searching for a solution to annotate a Digital Object Identifier (DOI) for the Austrian Academie of Science.". The need, AIUI, is that the user could annotate one version of a paper and have the annotations appear when viewing a different version of the paper, provided it had the same DOI. It also sounds as if the user may want to search for annotations based on the DOI of the paper.
What is the feature the user is requesting? They want a way to associate annotations made on PDFs with the DOI associated with the PDF

When annotating a web page, the Hypothesis client captures metadata from the page and includes that with the annotation saved to the service. This information is used by the service to establish whether two different URLs refer to the same content. We can also use this information to enable the user to search for annotations based on the metadata of the document that was annotated (eg. title, author, identifier).

The request here is to capture similar information from PDFs.

Show the Only Me icon in annotations shown in activity pages

Feature Request Form

Problem you are trying to address with this feature

Right now annotations in the activity pages interface are not marked as "Only Me".

Your solution

Replicate the icon that we show in the sidebar view to the activity pages view.

test

Fields to complete:

Link to Zendesk ticket:

User Name/Company:

Is this from a client (paid user):

User Request:

Performance on larger PDFs w/ many annotations

Original Issue entry here: https://docs.google.com/document/d/1BFMqzOj0IUuV80w29dLMMHFqyxagxGdCzCLIoO_k11E/edit#heading=h.4gtbeuhfgngg

Main problem:
Is with OCR'd PDFs, in groups with multiple annotations, Hypothesis begins respond slowly and over time, the usability degrades, and response times lengthen.

Possibly update PDFjs?
https://trello.com/c/tpeSKNZu/80-update-pdf-js-and-document-the-process-of-doing-so

Interim remedy?
Use docdrop.org to host files and use FF (which may be more performant) instead of Chrome. e.g. http://docdrop.org/pdf/power-of-habit-ch-1-2-and-endnotes-iySXh.pdf/

Test PDF 1

Create annotations/highlights via context menu


Fields Your Response
Link to Zendesk ticket: n/a
User Name/Company: n/a
Is this from a client (paid user): n/a
What problem is the user trying to solve? lighter interaction with hypothesis sidebar
What is the feature the user is requesting? As a user, I would like to use the context menu as a way to create annotations/highlights without having to invoke the chrome extension sidebar for every tab that I want to annotate.

Expectation of how the interaction would play out:

  • make a selection
  • right click the selection
  • select the annotate/highlight option under the Hypothesis leaf
  • this will activate the sidebar into the comment editor state
  • finishing would close the sidebar and leave no highlights

(SPIKE) Research how to give users the # of annotations that are available on the page

Goal:

3rd party users need multiple ways to learn about, and trigger the annotations (sidebar) on a publisher's site. One way to do this is to let users know how many annotations have been made on the page, directly.

  • Users will be able to view, on a publisher's page, the # of annotations available in that publisher's group.

The goal of this Spike is to research how:

  • Will we determine the # of annotations on a 3rd party publisher page
  • How will we show this # to users?
  • When this # changes, as a result of annotations being deleted/created, can we reflect this in real time?

End Result of Spike:

Should include a "best approach" to implementation of this feature, with potential caveats of the approach listed out.


Best approach implementation TODO list:

  • Add authority column to the Group model (hypothesis/h#4125, hypothesis/h#4126)
  • Add readable_by, writeable_by, joinable_by columns to the Group model
  • Implement simple view that renders a "View x annotations" button (no design, will be used in an iFrame)

Clicking user in "More info" panel doesn't add to facets

Steps to reproduce:

  1. Go to Groups page
  2. Decrease page size, so "More Info" button shows up
  3. Click on More info button
  4. Try clicking on a user's name (within that group), and it won't change the scope of the search (it should).

Expected result: Clicking on a user's name (within that group), should affect the scope of the search.

Support sites which do client-side navigation (SPA, PJAX etc.)

The client does not update the current document URL / metadata in the sidebar when a client-side navigation occurs (eg. using the HTML window.history.pushState API). This affects sites which are client rendered (eg. SPAs) as well as those which use PJAX / turbolinks-style techniques to optimize navigations after the initial page load. As a result the client does not update after a client-side navigation to unload annotations for the old URL and load annotations for the new URL. It does however always fetch/use the current document URL and metadata when a new annotation is created.

Some challenges that we need to deal with to resolve this:

  1. We need to detect when a client-side navigation has occurred. Historically the History API did not have an event for this. The new Navigation API, which as of 2022-06-14 is only implemented in Chrome, does. For browsers that don't implement the Navigation API we might need to monkey-patch the history API or find a polyfill for the navigation API.
  2. We have seen that some pages fail to update some <head> metadata fields after a client-side navigation. This can result in annotations created after the navigation mixing old and new document metadata. This is an existing issue though, so it shouldn't block an initial solution.

Tags fail to link and change scope of search

This feature was working last week, so I think this bug got introduced with the new changes.

  • When you click on a tag it should change the scope of the search for both user and group profiles.

Currently, you can view the tags on the user and group profile pages, but you cannot click on them to search annotations by that tag.

when fact-checking with h, provide option to create and publicize a claimreview

Summary

I am a scientist working with Climate Feedback. I’ve learned that Google is adding a fact-check label to some stories, based on schema.org’s ClaimReview. Great! But, the whole point of ClimateFeedback is that our fact-checking is independent of what publishers do. How can we leverage this kind of emerging standard in the annotation layer that overlays their content?

Detailed discussion

Please see https://docs.google.com/document/d/1Hmb_gfBVVLCQ1yI4l-rTtS2579x8Ug7J6FA0M4onrQU/edit#heading=h.1z9qs4jfzdeb

Implement sidebar on User profile Page

User Story for User profile page
As a Hypothesis user, I want to be able to search for, and view all annotations made by me in all the groups that I am a part of, so that I can have one location to view all of the annotations I've created.

Description of the sidebar
The sidebar on the user profile page aims to serve as a point of reference, allowing the user to view the following information:

  • username
  • Description of user
  • Total number of annotations
  • Joined: Date that user account was created
  • Link to user's website
  • ORCID # if available
  • Tags available (a list)

The user will have the ability to edit the above list (except for tags), using an "Edit profile" link.

Work completed when

  • All elements of sidebar listed above have been implemented (except for tags. done in #10)
  • User is able to edit their user profile

screen shot 2016-10-11 at 10 16 27 pm

screen shot 2016-10-11 at 10 20 05 pm

Make activity pages search interaction smoother using partial page updates

Problem you are trying to address with this feature

Editing the search query on search pages by adding query terms or clicking the 'X' to delete a lozenge results in a full page reload. This results in an experience which feels clunky and slow, even though the search results page is very light.

Your solution

Avoid full page reloads when editing the search query and instead just re-render the content below the navbar, allowing the user to continue editing in the search box or removing query terms while the query is in-flight.

This is very similar to how Google, YouTube, GitHub, Twitter etc. handle search result page updates after an initial query has been performed.

CC @sean-roberts

uri wildcard query

Problem

Every publisher who embeds H on a site (including blog-based sites, esp. WordPress) wants to be able to monitor annotation activity across the site.

At the moment we only support a per-URL API query, so for example the notifier that watches the H site and blog keeps a list of them and queries each individually.

That's untenable, we have many requests for a sitewide query.

Possible solution

This was harder before the postgres migration, I believe it is much easier now. For example:

postgres=# select target_uri from annotation where target_uri LIKE '%jonudell.net%';

                  target_uri
-----------------------------------------------
 http://jonudell.net/h/
 http://jonudell.net/h/accessibility/test.html
 http://jonudell.net/h/rhetoric.html
(3 rows)

An API facet that does this will be immediately useful to publishers who have been hoping to monitor H activity on their sites using RSS. And while that only works for Public annotations, because RSS doesn't deal well with authentication, we also have examples -- https://github.com/judell/h_export, which can be used as a widget, e.g. as here, https://hypothes.is/letters-to-the-next-president/, and https://github.com/judell/h_notify -- that publishers can build on until we bake in more robust notification.

Bottom line: A (seemingly) easy thing to do for a large benefit.

Tag input field adds tag on comma, regardless of where the comma is

Steps to reproduce

  1. Create a new annotation
  2. Start typing a tag name (e.g. "TCP/IP Networking")
  3. Use arrow keys or mouse to insert the caret in the middle of the tag (e.g. "TCP/IP^ Networking")
  4. Type a comma

Expected behaviour

Either a literal comma should be allowed in the tag name (?) or the comma should submit "TCP/IP" as a tag, leaving "Networking" to be edited.

Actual behaviour

The field instantly "accepts" the whole tag, but swallows the comma: "TCP/IP Networking" is the resulting tag.

Keep usernames intact in user: lozenges

Feature Request Form

Problem you are trying to address with this feature

Currently in our activity pages module, when a user searches for another user, or when I'm on my profile, and I've supplied a proper "full name" in my profile, the lozenge reflects the full name, and not the namespaced username.

Your solution

I'd like to argue strongly that the lozenge reflect the username and not the full name.

In other words, preserve user:dwhly vs user:Dan Whaley

Why? Because while we provide a mechanism for conveying full names, the name we're showing throughout the interface for the most part is the username. I think about other users, and even myself as my username. When we're on the profile of the user, the full name is clearly visible on the right, but the username no longer is.

We need to show folks what the username is, and I propose we do that by preserving it as what's shown in the facet, and by also repeating it below the full name if present.

(SPIKE) Research how to trigger opening of sidebar from an arbitrary link

Goal:

3rd party users need multiple ways to learn about, and trigger the annotations (sidebar) on a publisher's site. eLife has requested for us to have two mechanisms by which to trigger annotations appearing on the page.

  • Annotations appear after the user clicks the "annotations/hypothesis" button
  • Annotations appear after the user clicks an arbitrary link on a publisher's page (that might say "view annotations"

The goal of this Spike is to research how we might implement this feature in a way that it will work on all publisher sites, agnostic of where the link appears on the page, or which publisher page it lies on.

End Result of Spike:

Should include a "best approach" to implementation of this feature, with potential caveats of the approach listed out.

Linking annotations together

I am creating this issue based on an earlier e-mail thread,
because this is relevant to of our current discussions.
(I am editing the text slightly.)


We should have a way to link existing annotations together. (Probably with annotations.)
Also, we should offer a way to create a new annotations, end immediately link it to an existing annotation, in one, easy step.

The basic feature (linking two existing annotations) could work like this:

  • The user opens an annotation. (Either in the sidebar, or on it's standalone page.)
  • User activates the right function. (Which should be right next to "reply" button.)
  • A new dialog box opens, where the user can search for the annotation to link.
    The dialog should have a text entry box for queries, and a result list, updated
    as he types. (He could also input the ID of the wanted annotation, if he knows it.)
    We should be able to search for text, author, tags, etc - as usual in both page
    search, and at the stream interface.
    In the same dialog, the user could also specify the semantic relation between the
    two annotations, and any other meta-data necessary.
  • When the user has found the other annotation(s), and has configured the
    wanted meta-data, he click the "link" button, and then the two annotations
    are linked. (Which on the data layer, probably means that a special, semantic
    annotation is created.)
  • Later, when showing the annotations, the linked partners should be shown,
    along with the replies. (We need to think hard about this part, especially about
    the possible different views. Obviously, the "web-of-ideas" thing (#386) comes to
    mind.)

The extended feature (creating new annotations, and linking them to existing ones in the same step) could work like this:

  • User reads the sentence in the new document
  • User remembers something relevant, which is already an annotation
  • User selects the segment in with the mouse. The adder button, and the new "link" button show up.
  • User activates the "link" button, which opens a dialog, similar to the one described above.
  • User configures the parameters (like above), and creates "create and link"
  • Two things happen:
    • A new highlight is created, from the selected text.
      (Or full-fledged annotation, if the user has decided to add some body, too.)
    • The new highlight/annotation is connected to the existing one. (Same as in the basic feature.)

Of course, this should not be restricted to text annotations.
We could also select an area of an image, activate the right function, and create a new highlight that is linked to an existing text annotation.

Implement Tags feature for activity pages

User Story for User profile page
As a Hypothesis user, I want to use tags to search for, and view all annotations made by me in all the groups that I am a part of and have tagged using specific markers, so that I can quickly locate all annotations related to that particular tag, or set of tags.

Description of the tags feature
On a user profile page (or a group profile page), the user will have the ability to view all the tags available by which to search annotations.

Acceptance Criteria/Work done when

  • The user will able to view all tags that are incorporated in the set of annotations they are currently viewing
  • User is able to select tags and filter the search by the selected tags
  • The user can search for tags using a small search box above the tabs field.

screen shot 2016-10-11 at 10 16 27 pm

screen shot 2016-10-11 at 10 20 05 pm

(SPIKE) add an identifying string to the user-agent header that via relays

Atypon is a journal-hosting service that welcomes via but wants to be able to identify it, either by IP range or User-Agent string.

Per this eng@ thread, https://groups.google.com/a/list.hypothes.is/forum/#!topic/eng/qC9Bckml5Xw, the latter seems like an easy and satisfactory solution for Atypon (and others), and Marty Picco (Atypon VP) confirms it'll work for them.

When browser sends:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 afari/537.36

then via relays that unchanged.

Marty confirms that if via tacks on an identifier, e.g. Hypothesis-Via (or whatever we deem appropriate), like so:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 afari/537.36 Hypothesis-Via

then Atypon can look for it and use it to classify via as an allowed crawler of their system.

pre-launch for Activity pages - Determine and Fix URL and bouncer links

There are several issues that are tracking the changes that are needed to implement and fix URLs that are needed to direct users to various components on the user and group profile pages.

Consider this a parent issue that will track the others.

Increase limit of tags/users shown on activity pages and state the limit.

Feature Request Form

Problem you are trying to address with this feature

Right now only the top 10 tags or users are shown on user and group profile pages, and there is no language indicating this limit. I discovered it limit only because @jeremydean was telling me about a tag he was using and I went to his profile page and couldn't see it. (Thought it was a bug; was about to file.)

There's two problems:

  1. 10 is too few.
  2. If we don't tell people there's a limit they'll expect to see them all.

Your solution

Increase tags/users shown on the activity pages profiles from 10 to a larger number. Do we want the largest number that we can sustain from a system performance perspective? (Apparently we can't simply return all the tags, because performance). Or do we just want a "fairly large number" (200?)

Also, add language to indicate what that max number is, but only if the limit has been hit. "Top X most frequent tags" << @conordelahunty

Also, this makes the question of whether users or tags is the top panel in group view, since larger numbers will take more space. What are we most likely to be clicking on. My intuition is that it's probably users. i.e. the teacher will want to explore the annotations by their students more frequently than the tags. Other opinions?

Add tags - did you add labels?

If this a customer requested feature, make sure to add that label.

Integration with Reddit

Reddit is generally based on having a conversation in reference to content on other websites. This seems like a very natural place to experiment with integrations.

This idea is not even close to being original to me, but I am surfacing it here. It was originally referred to as "Metabrowsing" and is documented here:

https://docs.google.com/document/d/1D2cB1thslA_uDLEd9uXSj_rpdielMhzzVrR90phWoxY/edit#heading=h.ml986jagfebh

That work was largely looking at a way to be abstract and pull outside generated content into your H experience when viewing a website.

My thought, which inspired the research to find the metabrowsing info, was to create a reddit client that did one thing. When you visited a site, it would check to see if there were reddits about this site. Then the viewer would contain those posts which are on the reddit listings. Annotations and replies to content would be mirrored back to the post on reddit with the original listing. Annotations can append the quoted content to the replies as well.

That seemed like a good way to build something rather quickly and learn what it would take post content and mirror it to multiple providers.

Implement sidebar on Group Profile Page

User Story for Group Profile page
As a Hypothesis user, specifically a user of hypothesis that belongs to an annotation group, I want to be able to view all the information about my group in one centralized location, so that I can manage my group's members from one location, and see how much they are annotating.

Description of the sidebar
The sidebar on the group profile page aims to serve as a point of reference, allowing the user to view the following information:

  • Group Name
  • Group Description
  • Total number of annotations within the group
  • Created: Date that group was created
  • Link to group's site. (If no link is added, don't show this field)
  • Links for editing the group (only available to the Group Admin)
  • Link to leave the group (need to figure out the user flow for the exit path)
  • Tags (Implementation discussed in another ticket)
  • Members of the group, and how many annotations they've made
  • Ability to invite new members to join

Work completed when

  • All elements of sidebar listed above have been implemented (tags are being tracked/implemented in #10 )
  • Group member is able to edit the group profile (do we restrict this to admin only?)
  • User is able to leave the group

screen shot 2016-10-12 at 3 38 59 pm

testing issue create

If Reporting a Bug use this form, and delete the Feature Request Form below

Fields Your Response
Link to Zendesk ticket:
User Name/Company:
Is this from a client (paid user):
What problem is the user experiencing (Problem)?
What are steps to reproduce the problem?
What is the expected behavior of the H app from a user's perspective? (Expected Result)
H version # (if available)
Browser Information (chrome, version, etc)
  • Did you assign a Priority Measurement Label?
  • Did you assign a Severity Measurement Label?
  • If the bug is a S1, notify folks in #support channel in Slack

If creating a new Feature Request use this form, and delete the Bug Report Form above


Fields Your Response
Link to Zendesk ticket:
User Name/Company:
Is this from a client (paid user):
What problem is the user trying to solve?
What is the feature the user is requesting?

Enable scholarly publishers to sync annotations among syndicated copies of articles

Problem Summary

Consider http://jneurosci.org/content/34/17/6112

It has this DOI: 10.1523/JNEUROSCI.5212-13.2014 (which resolves to the above URL)

The article is also syndicated to:

Pub Med URL: https://www.ncbi.nlm.nih.gov/pubmed/?term=PMID%3A+24760871
Pub Med Central (US) URL: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3996228/
Europe PMC URL: http://europepmc.org/abstract/MED/24760871

Annotations made against any of these URLs should coalesce with annotations to any other. Instead here is the situation:

(annotation count, url)

(46, 'https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3996228/')
(46, 'doi:10.1523/JNEUROSCI.5212-13.2014')

(0, 'http://jneurosci.org/content/34/17/6112')
(0, 'https://www.ncbi.nlm.nih.gov/pubmed/?term=PMID%3A+24760871')
(0, 'http://europepmc.org/abstract/MED/24760871')

Analysis of problem, diiscussion of possible solutions

Please see https://docs.google.com/document/d/1Hmb_gfBVVLCQ1yI4l-rTtS2579x8Ug7J6FA0M4onrQU/edit#heading=h.tduqh0dlpo47

@ajpeddakotla this probably wants the label -- which I don't think I can create -- "needs discussion"

Create printable version of document with annotations

If creating a new Feature Request use this form, and delete the Bug Report Form above


Fields Your Response
Link to Zendesk ticket: https://hypothesis.zendesk.com/agent/tickets/412
User Name/Company: Dhawal Joharapurkar
Is this from a client (paid user): No
What problem is the user trying to solve?
What is the feature the user is requesting? They would like to have a printed version of an annotated document. That is, they would like to be able to print the original document and clearly see which sections were highlighted in Hypothesis along with the comments made by annotators (eg. as an appendix at the end of the document)

Investigate security and legal considerations of via service

This ticket is meant to be the home for the discussion of what security and legal considerations need to be addressed with our Via service. Some of these considerations might (very likely) have been brought up previously. Let's link to existing docs where relevant and make sure we are all on the same page with how we approach what this service does.

Overview of Via

Via's project description:

This project uses the live web rewriting and banner injection capabilities of pywb web replay system to automatically add hypothes.is annotations to any web pages.

(Previously, to see Hypothesis annotations, the user has to manually install a plugin or enable the annotations via a bookmarklet).

This project is a demonstration of using a web replay rewriting system for automatically showing annotations, which allows the annotations to (in theory) work on any modern browser."

Boiled down, pywb serves as a proxy service that downloads a given website's initial html, updates the links/assets on the website to point back to the proxy service. This allows us to present a website that is a mirror of the actual website but is hosted by us and allows for us to inject JavaScript (and whatever we want) into it.

Considerations that should be addressed with via

  • It introduces a number of security vulnerabilities to the websites themselves (Removing CSP and X-Frame-Options Headers for example). To follow up with nick as he had a list of security problems with via somewhere
  • It does not present a clear indication to the user that they are using a viewer/proxy
  • It is an application of ours that is being used without asking acceptance of terms of services and privacy policies.
  • Is it legally acceptable to be mirroring and (depending on perspective) redistributing content? Or are there some things we need to do to be allowed to do this?
  • With link/form action rewriting, the website that is targeting will also have its form contents sent to us first while the proxying process is happening. This means sensitive information goes through us like email/password combinations and potentially credit card info.
  • We do not, ourselves add any security headers to the content so we can be used as a vehicle to exploit websites. (No framing deterrents of via opens up to Clickjacking and no CSP headers leave it more open to XSS attacks)
  • How are we handling logs?
  • How are we handling access to this service? (is it as simple as sshing to the service to change the code to do something malicious?)

These are just the ones I can think of off the top of my head, please add more as they come up and let's link to the answers or provide some answers on this. I have a few suggestions that could get us (what I think is) 90% of the way to being a lot safer - I will add a comment below for those)

Lessons learned

Genius has a similar service to via call genius.it. It has some of the same limitations as our service but was called out publicly:
http://www.theverge.com/2016/5/25/11505454/news-genius-annotate-the-web-content-security-policy-vulnerability

IMO, it's only a matter of time before we are called about because of the level of undoing that the service does. Let's learn a lesson from what happened to them and get this handled before it's forced on us.

THIS IS A PLACEHOLDER ISSUE SO YOU CAN SEE THE TEMPLATE

If Reporting a Bug use this form, and delete the Feature Request Form below

Fields Your Response
Link to Zendesk ticket:
User Name/Company:
Is this from a client (paid user):
What problem is the user experiencing (Problem)?
What are steps to reproduce the problem?
What is the expected behavior of the H app from a user's perspective? (Expected Result)
H version # (if available)
Browser Information (chrome, version, etc)
  • Did you assign a Priority Measurement Label?
  • Did you assign a Severity Measurement Label?
  • If the bug is a S1, notify folks in #support channel in Slack

If creating a new Feature Request use this form, and delete the Bug Report Form above


Fields Your Response
Link to Zendesk ticket:
User Name/Company:
Is this from a client (paid user):
What problem is the user trying to solve?
What is the feature the user is requesting?

User is being asked to login every time they open a page

Reported by user:
I am logged in WHEN I am on https://hypothes.is/ and can use the tool ON THAT PAGE. When I go to any other page I am asked to log in again (even when the other page is still open and still logged in) and I CAN NOT highlight until I log in. Kind of a catch 22. I am logged in AND I'm not logged in.

Can't log in on Firefox
Session is invalid. Please try again.
Changed password successfully.
Session is invalid. Please try again.

Can't use the tool. Like a hammer without a handle.

Version: 0.47.0
User Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:49.0) Gecko/20100101
Firefox/49.0
URL:
PDF fingerprint: -
Username: KeithDJohnson
Date: 15 Nov 2016 15:09:04 -0500

https://hypothesis.zendesk.com/agent/tickets/778

I'm not able to reproduce this, but am adding it as an issue for tracking purposes.

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.