-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Description
Proposal
Context
- See: Implement new design for the "my lists" section of the my books page #7704; the
My Bookspage is the personalized page a patron goes to in order to access their loans, reading log, lists, and a feed of community updates:
In #8607, a Follow feature was added, as well as a "feed" page (e.g. https://openlibrary.org/people/mekBot/books/feed) for viewing community updates
Goodreads uses the homepage for similar purposes.
Opportunity
This epic calls for the enhancement of the My Books page so:
- it is no longer an empty, unactionable ghost town for new patrons
- active patrons are shown fresh, relevant, actionable results that evolve over time, rather than static results
- we can promote following as a discovery mechanism for books
If done correctly, the My Books page will become a dynamic, useful page that behaves like a monthly email news letter, showcasing what's happening in the community, what's trending, activity of those you follow, recommendations of who to follow, etc.
Proposal
By improving the Trending Now page #10241 to showcase patrons and the capability to follow and by using this component as the basis for a new section on the main My Books page, the page can be made useful to all registered patrons, by showcasing:
- trending books and patrons to follow (to those not yet following)
- recent activity of followed readers (for patrons already following other readers)
Instructions
Before asking to be assigned, please help by:
- Proposing a 🎨 design for "My Feed" section to be added to the My Books page or...
- By asking any clarifying questions you may have about this feature
Thank you! ❤️
Justification
Problem
What problem does this proposal address & for what audience(s)?
When patrons first create an account, they are redirected to an empty My Books experience feels like a ghost town:
Furthermore, even active patrons (i.e. those who currently use Open Library often), are presented with a fairly static experience that is limited to showcasing actions they've taken on the website. The few/minority of patrons who follow other readers (since the feature doesn't have broad adoption yet) have to click on their feed link in order to see any updates from the community.
- This feed is unknown to many.
- Many other patrons don't yet follow anyone because the follow function is not easily discoverable.
TL;DR:
- The follow feature is not easily discoverable
- The value of the
feedis buried for those who do the follow feature - In all cases, the My Books main page is fairly static and can be evolved to solve these other two shortcomings.
Impact
What's the predicted impact, how do we measure, & what does success look like?
This ghost town experiences impacts every new patron. Furthermore, the experience misses out of the opportunity to better utilize the the Follow Feature #8607 -- both to showcase the rich, interesting activity of one's social network and also to recommend people to follow.
Research
Are there any precedents or findings from other projects or studies that support this feature? (link or screenshot if possible)
The Goodreads homepage and activity feed is likely the best exemplar of this feature
Breakdown
Requirements Checklist
- Prerequisite: Update "Trending Now" cards to display patron Follow Card (if reading log public) #10241
- the My Books /feed styling (of the reader) should also be upgraded to use similar styles and markup to the new styles we introduced in Update "Trending Now" cards to display patron Follow Card (if reading log public) #10241 to the trending now page
- Add the new "My Feed" social activity feed section to the My Books landing page, that uses a new template called
SocialActivityFeed.htmlin https://github.com/internetarchive/openlibrary/tree/master/openlibrary/templates/account. Books either come from the feed API or trending now API (conditionally, described below). The mobile view should have a similar header to the other sections. The desktop view should be styled somewhat similarly to the Lists section, in that it will have its own unique body design other than a carousel. - The
/people/{username}/books/feedfeed page should be updated so if the patron is not following anyone, they see
The design of the new SocialActivityFeed.html template requires discussion/prototypoing though should be somewhat inspired by the existing My Books /feed UI + styling from the pubsub feed PR #8607 and ideally use of $:macros.SearchResultsWork to render each book.
This proposal adds a new section to the My Books main page with the label My Feed, which conditionally renders 2 books for:
-
Patrons who don't follow anyone yet (e.g. a newly registered patron)
- Fetch 2 books from the https://openlibrary.org/trending/now API from the
get_activity_stream(limit=limit)API from Adding trending view #6014 (which callsBookshelves.get_recently_logged_books(limit=limit) - Renders text description: "Here's the latest activity around the library. Follow readers to personalize your feed"
- Clicking on the title brings you to
/people/{username}/books/feed - Displays link at the bottom right that says, "Browse more community activity ›"
- Fetch 2 books from the https://openlibrary.org/trending/now API from the
-
Patrons who do follow readers
- Fetch 2 books from
PubSub.get_feed(username)API w/limit=2(may require extending the API) - No text description
- Displays link at the bottom right that says, "Browse more community activity ›"
- Fetch 2 books from
Other than the title and where it links to, the design/experience for this new component should be broadly the same for both experiences and look something like the trending now view and feed view.
Related files
-
See Adding trending view #6014: https://github.com/internetarchive/openlibrary/pull/6014/files#diff-b352027e4688f5ef14e5e23f6a988bba495e769f8cecce80c404a23d82f5902a
-
See My Books Feed designs (e.g. https://openlibrary.org/people/mekBot/books/feed) Implemented by Adds follow (pubsub) feature #8607 in
https://github.com/internetarchive/openlibrary/pull/8607/files#diff-1c0a702d7b1bad810adce7c001416b5996968d117077f629ff52ddff4668f56fR45-R51
Tutorial
For
Refer to the #8607 PR to see where we're rendering the /feed UI. This makes use of PubSub.get_feed(username) API which we can modify with e.g. a limit=3 to retrieve the latest 3 items from the patron's feed.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
