-
Notifications
You must be signed in to change notification settings - Fork 3
Description
This is a rather large proposal that needs to be broken down into multiple sub-issues. The goals are:
- provide a means to select more than one entry
- include a more informative summary of a candidate item, allowing users to decide whether any item is one they want to keep in the selection without having to display the full record first
- provide a means to advance to the next/previous item matching the search query, not just the next/previous page
- provide persistence for the selected entries and allow them to be referred to outside of the the current display/channel/server
Approach
-
The mechanism here could be a selection "cursor", e.g. > in the list of matches showing which entry would be selected for display if the user were to press the selection reaction to display it (see the last point from 3 below)
-
The more informative summary could consist of two parts:
- set the thumbnail for the embed to the square thumbnail image for the item under the cursor (initially the first item in the results, but can be changed by the user via reactions)
- include a 2-line summary of the currently selected item at the top of the search results, e.g.
Genus Megachile (28640 observations)
in Family Megachilidae (59708 observations)
- This would be best achieved as follows:
- change the letter reaction behaviour to move the cursor position to that entry, showing its thumbnail & summary instead of performing a full taxon display
- provide a pair of navigation buttons to move the cursor up and down in the list, e.g. 🔼 and 🔽
- provide a select reaction (perhaps ✅) to select the item currently under the cursor, generating a display for it (i.e. equivalent to typing
,t taxon name
for the currently selected taxon)
- Persistent multiple selection could be implemented as a bookmark feature:
- a 🔖 reaction could toggle adding/removing the item under the cursor in bookmarked items
- each new bookmarked item would be kept behind the scenes as an ordered list, with the most recently added items at the top
- the bookmarked items for a user could be retained in Red's user Config store so that they persist beyond the current command/display
- an indicator could be shown per entry in the current display to show that the user has bookmarked it
- additional commands could be provided to show and perform other actions on all bookmarked items, e.g.
,bookmark
(alias,b
) to show/page through all bookmarked items or,b #
to retrieve the most recently bookmarked item for display in the current channel
Points 1 through 3 should be implemented together as phase one. The 4th point should be split to its own issue.
Future plans
Finally, a separate but related idea (which needs its own issue) is to provide a history of all user interactions, where an interaction is:
- typing a command (e.g.
,t taxon name
or a dot-taxon mention, e.g. .WTSP. in a message) - pasting a URL to an observation
- pressing any reaction button on a display (e.g. the every-popular #️⃣ reaction)
Unlike the bookmark action, which is an intentional user action, history tracking would happen for everything the user does. Therefore, it would be disabled for users by default, and they would have to change it in their user settings to enable it.
Like the bookmark feature, history items would be stored behind the scenes as an ordered list with most recently added items at the top, and users would be provided with commands and reactions to perform actions on their history, e.g. ,history
(alias ,h
) to show/page through all history items or ,h #
to retrieve the most recent item in their history for display in the current channel
Example history interactions:
Finding something off-channel & then retrieving it in channel
- User performs a
,s megachile
in#bot-commands
channel and then pages through the results, looking for the right one. - When they find it, they press ✅ reaction, selecting it for display.
- Note: only the ✅ reaction would cause it to be entered into the user's history, not the navigation buttons.
- They return to
#id-confirmation
channel where theywere responding to a request for help IDing their megachile bee and type,h 1
to retrieve the most recent interaction.
Sharing something seen in a different channel
- User spots a cool mine on a leaf in an observation that another user shared on
#plants-and-algae
and wants to share it in#plant-parasites
- They react to the observation (maybe 👍 or 👀 or even Reply to the observation might count as an "interaction" with it) so that it is now in their history.
- Then they go to #plant-parasites to share it. Perhaps it could even be retrieved using the dot-taxon mechanism, so they might share it like this:
We found this cool mine
.h 1.
in a megachile observation over on#plants-and-algae
. any idea what it is?