Add Social Activity Feed to My Books page #10242
Labels
Affects: Experience
Issues relating directly to service design & patrons experience
Fellowship Opportunity
Lead: @mekarpeles
Issues overseen by Mek (Staff: Program Lead) [managed]
Needs: Designs
Priority: 2
Important, as time permits. [managed]
Theme: Design
Issues related to UI design, branding, etc. [managed]
Theme: My Books
Type: Design Proposal
Proposing a design and soliciting feedback + approval
Type: Epic
A feature or refactor that is big enough to require subissues. [managed]
Type: Feature Request
Issue describes a feature or enhancement we'd like to implement. [managed]
Proposal
Context
My Books
page 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:
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:
Instructions
Before asking to be assigned, please help by:
Thank you! ❤️
Justification
Problem
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.TL;DR:
feed
is buried for those who do the follow featureImpact
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
The Goodreads homepage and activity feed is likely the best exemplar of this feature
Breakdown
Requirements Checklist
SocialActivityFeed.html
in 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./people/{username}/books/feed
feed page should be updated so if the patron is not following anyone, they seeThe 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 labelMy Feed
, which conditionally renders 2 books for:Patrons who don't follow anyone yet (e.g. a newly registered patron)
get_activity_stream(limit=limit)
API from Adding trending view #6014 (which callsBookshelves.get_recently_logged_books(limit=limit)
/people/{username}/books/feed
Patrons who do follow readers
PubSub.get_feed(username)
API w/limit=2
(may require extending the API)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.
Here's one concept:
![Screenshot 2024-12-31 at 11 27 07 AM](https://private-user-images.githubusercontent.com/978325/399517527-ba836c37-be5d-43d2-828d-670487736d93.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkwMDQzMDYsIm5iZiI6MTczOTAwNDAwNiwicGF0aCI6Ii85NzgzMjUvMzk5NTE3NTI3LWJhODM2YzM3LWJlNWQtNDNkMi04MjhkLTY3MDQ4NzczNmQ5My5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjA4JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIwOFQwODQwMDZaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1jMGFlZTRhN2I1YjY2OWI2MWUxYTUyNDM1ZmEzZjRiZmI1NWI0MzU3MGZiYmZkNzk2ZWExN2I0ODhlNTM0ZmY4JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.RgEpqe5bZQ-5r4Tvu834y3uXMO5uoLtnS5Fv1zFeDZ0)
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. alimit=3
to retrieve the latest 3 items from the patron's feed.The text was updated successfully, but these errors were encountered: