elastic / kibana

Your window into the Elastic Stack
https://www.elastic.co/products/kibana
Other
19.39k stars 8k forks source link

[SharedUX] Recently viewed #183686

Open kevinsweet opened 2 weeks ago

kevinsweet commented 2 weeks ago

The Gist Let's add a dashboard view for 'my recently accessed'

Value Users expect to find their dashboards quickly and easily, as with any product. Two mechanisms we are building to solve this are: 'created by' and 'star.' These are great, but fall short in many cases. Examples include:

By nature, things I have used/accessed recently are interesting and/or important to me. We want users to be able to find them easily.

Additionally, this view serves as a reminder of important dashboards that may have been forgotten in the mix of day-to-day. Showing them as the first thing a user sees encourages more engagement.

Requirements

Design forthcoming: @andreadelrio CC: @teresaalvarezsoler

elasticmachine commented 2 weeks ago

Pinging @elastic/appex-sharedux (Team:SharedUX)

Dosant commented 2 days ago

Some questsions:

> default view of dashboard table is always 20 rows

Why the 20-row limitation? Currently, we have a configurable page size limit and pagination.

What happens if user didn't access any dashboard?

Do we show some other default sorting?

What happens if user accessed only a couple dashboard, let's say 2

Do we show only 2 dashboard in the list? Or do we show 2 on top and then the rest? In which order are the rest? Could be confusing that in one list we have 2 sorting


As an alternative, I think, we can also consider showing "recently viewed" as a separate element with a short list (e.g up to 5)

for example, this is how we show unsaved edits:

Screenshot 2024-05-31 at 14 10 49

Or in visualize list we have tabs, maybe we can "recently viewed" tab

Screenshot 2024-05-31 at 14 12 31

Dosant commented 2 days ago

I also wonder if we could reuse the existing "recentlyAccessed" service from the side nav for simpler implementation. It uses local storage, so it is scoped to the browser. But we could use that data for on the client sorting of the dashboard in the list by pulling the recently accessed to the top.

This should significantly reduce the scope

level of effort depending on implementation

Implementation UX Effort
existing "recentlyAccessed" service / localstorage scoped to a browser session, storing a limited list of recently accessed dashboards ids low
user profile (need to consult with security team) if we can use it this way scoped to user, storing a limited list of recently accessed dashboards ids med
event stream / metadata service high, will need core's help
teresaalvarezsoler commented 2 days ago

I also wonder if we could reuse the existing "recentlyAccessed" service from the side nav for simpler implementation. It uses local storage, so it is scoped to the browser

@Dosant absolutely, let's use that.

Regarding where to show the Recently accessed dashboards I will defer to @andreadelrio to make the final call.