bookwyrm icon indicating copy to clipboard operation
bookwyrm copied to clipboard

Recommending Books to Friends

Open TomatDividedBy0 opened this issue 2 years ago • 1 comments

Maybe on the book info page, have an option which allows you to recommend it to a friend. You enter the tag of the person you want to recommend it to, and then they get a notification when logging in saying "X reccommended you This Book".

It'd add to the whole social aspect of the platform IMO, I find myself recommending books to my close friends all the time.

TomatDividedBy0 avatar Jan 21 '22 04:01 TomatDividedBy0

I can't agree more! I think it would also be cool to be able to solicit recommendations (in the vein of "I loved , what's a similar book?")

mouse-reeve avatar Jan 28 '22 03:01 mouse-reeve

That's a great idea, I love it!

Some thoughts:

  • you should be able to define if you're open to receive recommendations. by default, it's enabled if your account is public and disabled if private, but you can override that with a specific toggle. it will remove the threat of spam/abuse via recs
  • you should only be able to send recommendations to your friends (or maybe mutuals, too?)
  • you could even send recs as private messages to other people in the Fediverse? or should it be through a different interface?
  • username autocomplete should be accessible (datalist linked via ID and filled via JS would be a good solution—well supported afaik and minimally dependent on JS)

For recommendations sollicitation:

  • same setting for open/closed sollicitations than for recommendations
  • you should only be able to send one sollicitation per book per user
  • the sollicitee can respond with multiple books, and can answer multiple times (if there's a need to add books)
  • there could be a quick way to transform a group of sollicitation responses to a List
  • or maybe the answer to a sollicitation is a private List, that can be set to public?

What do you all think?

joachimesque avatar Dec 21 '22 19:12 joachimesque

Maybe I don't fully understand what solicitation is, but why would we need to rate-cap it to once a year?

TomatDividedBy0 avatar Dec 22 '22 17:12 TomatDividedBy0

Ah yes, I posted a bit fast without much context. What I called "sollicitation" is what @mouse-reeve proposed. As I understood it:

  • Alice reads a book (The Book) that she likes, and would like to ask Bob for more
  • Alice presses "Send a sollicitation", a form appears, with a field and a submit button
  • Alice fills out Bob's username in the field, and presses the submit button
  • Bob gets a notification "Alice would like to know what to read after The Book"
  • Bob clicks the action button on the notification and sees a new page? a modal dialog? That page? modal? has a form with an empty space, a field, a button "Add", a textarea, and a submit button
  • Bob fills the field with "The Book", then:
    • A list of suggestions is proposed
    • Bob selects "The Book Volume 2", and clicks "Add"
    • The book "The Book Volume 2" is added to the empty space above the field
    • Bob selects "The Book Volume 3: The Revenge" and clicks "Add"
    • The book "The Book Volume 3: The Revenge" is added to the empty space above the field
    • etc.
  • Bob can empty the field and fill it with "The Other Book", and add it to the list in the empty space
  • Bob then adds a little message in the textarea, and submits the form
  • Alice gets a private message containing the list of books, along with the message from Bob
  • The books that weren't in Alice's instance are imported and readily browsable

Alice can only send a book suggestion sollicitation to Bob once per book. In order to avoid spam/abuse, we could also limit the number of open sollicitations waiting for an answer on Bob's side, ie. Alice could not send more sollicitations to Bob while Bob hasn't answered 3 sollicitations from Alice (Bob can close sollicitations without answering them).

  • Alice cannot send sollicitations to Claude, because Alice and Claude are not mutuals.
  • Alice cannot send sollicitations to Danny, because Danny has opted out of sollicitations.

(and now I guess I should do the same kind of thing with the Suggestion feature from the first message 😄)

joachimesque avatar Dec 22 '22 18:12 joachimesque