Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Social Activity Feed to My Books page #10242

Open
6 tasks
mekarpeles opened this issue Dec 31, 2024 · 3 comments
Open
6 tasks

Add Social Activity Feed to My Books page #10242

mekarpeles opened this issue Dec 31, 2024 · 3 comments
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]

Comments

@mekarpeles
Copy link
Member

mekarpeles commented Dec 31, 2024

Proposal

Context

Screenshot 2024-12-31 at 8 21 15 AM

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

Screenshot 2024-12-31 at 9 58 28 AM

Goodreads uses the homepage for similar purposes.

Opportunity

This epic calls for the enhancement of the My Books page so:

  1. it is no longer an empty, unactionable ghost town for new patrons
  2. active patrons are shown fresh, relevant, actionable results that evolve over time, rather than static results
  3. 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:

  1. Proposing a 🎨 design for "My Feed" section to be added to the My Books page or...
  2. 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:

Screenshot 2024-12-31 at 8 23 36 AM

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.

  1. This feed is unknown to many.
  2. 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 feed is 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

Screenshot 2024-12-31 at 8 33 12 AM

Breakdown

Requirements Checklist

Screenshot 2024-12-31 at 11 11 32 AM

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.

Screenshot 2024-12-31 at 10 03 10 AM

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 calls Bookshelves.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 ›"
  • 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 ›"

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

Screenshot 2024-12-31 at 11 29 39 AM

Related files

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.

@mekarpeles mekarpeles added Type: Feature Request Issue describes a feature or enhancement we'd like to implement. [managed] Type: Epic A feature or refactor that is big enough to require subissues. [managed] Theme: Design Issues related to UI design, branding, etc. [managed] Priority: 2 Important, as time permits. [managed] Lead: @mekarpeles Issues overseen by Mek (Staff: Program Lead) [managed] Affects: Experience Issues relating directly to service design & patrons experience Theme: My Books Needs: Designs Fellowship Opportunity Type: Design Proposal Proposing a design and soliciting feedback + approval labels Dec 31, 2024
@Spaarsh
Copy link
Contributor

Spaarsh commented Jan 1, 2025

@mekarpeles it is indeed a huge step towards making the platform more lively for new patrons.

I was wondering if we could ask a patron at the time of signing up to pick any 3 subjects that they would be interested in. Since the trending books only reflect the general readers and may not fit well to the needs of readers with interests that do not fall in the average set. This would ensure that the new patrons get a more relevant feed. Spotify and Medium do this for new users.

A "Trending in {Subject}" feed is what I am thinking of. We could use the trending API and filter the results by the patron's subject of interest. If there is no book trending in that Subject, then we simply do not display its section until there is one.

The philosophy behind this is to make a new patron engage with the new environment via means of familiarity (through interested Subjects), making the initial action of reading their first book on the platform easier.

However on the flipside of it, we will loose our current one-step sign up process. Perhaps this might need some weighing of the pros and cons.

Thanks!

TL;DR
Ask new patrons for their subjects of interest at sign up and show the trending feed based on the interested subject.
Pro - will help readers find the first book they will read on the platform more easily
Con - we loose our one-step sign up process.

@github-actions github-actions bot added the Needs: Response Issues which require feedback from lead label Jan 2, 2025
@mekarpeles
Copy link
Member Author

@Spaarsh I think having topic selection be a new step to onboarding is a good idea we were just discussing during our last staff call, though I think we should create a separate issue to track that idea :)

@mekarpeles mekarpeles removed the Needs: Response Issues which require feedback from lead label Jan 12, 2025
@ananyakaligal
Copy link
Contributor

@mekarpeles I want to work on this, will propose my design soon

@github-actions github-actions bot added the Needs: Response Issues which require feedback from lead label Jan 14, 2025
@mekarpeles mekarpeles removed the Needs: Response Issues which require feedback from lead label Jan 14, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
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]
Projects
None yet
Development

No branches or pull requests

3 participants