Page MenuHomePhabricator

Improve design of dashboard browse list?
Closed, ResolvedPublic

Description

The list at /dashboard/ is really bare-bones right now. I'm not sure what would best improve it:

  • Allow dashboards to have a text summary which can appear there, explaining what the point of a particular board is?
  • Listing which widgets appear on the board (seems questionably useful)?
  • Do nothing?

This might become more clear as we get further along.

Event Timeline

epriestley assigned this task to chad.
epriestley raised the priority of this task from to Normal.
epriestley updated the task description. (Show Details)
epriestley added a project: Dashboards.

Datasource: Maniphest Query X

I'd imagine we'd want to group them by Application.

Maniphest
W12 Unbreak Now Tasks
Display: ObjectList · Columns: 1, 2, 3

W14 Needs Triage Tasks
Display As: ObjectList · Column Width: 1, 2, 3

Differential
W9 Overdue, Needs Review
Display As: ObjectList · Column Width: 1, 2, 3

W13 Ready to Land
My revisions that have been accepted and are ready to land.
Display As: ObjectList · Column Width: 1, 2, 3

Feed
W2 All Activity
Display As: Feed · Column Width: 1, 2

W4 Project Feed
Display As: Feed · Column Width: 1, 2

Ponder
W27 All Questions
Display As: Feed · Column Width: 1, 2

Oh, I mean for this list, which I think isn't quite the same?

https://secure.phabricator.com/dashboard/

That is, if you have a dashboard with a Maniphest panel, a Differential panel, a Tetris panel and a Feed panel, what should we show in the list view for it beyond the dashboard name? The dashboard as a whole doesn't correspond to an application, and I'm not sure if just listing all the panels on the board is a net positive (it's probably big, and not exceptionally useful in most cases?). Or is that what you're thinking for the dashboard list (i.e., each dashboard shows all of its panels and detailed information about their layout in the list view?)

For the actual panel list:

https://secure.phabricator.com/dashboard/panel/

...showing the panel type/source makes sense, and probably letting you group by that stuff too.

Oh Dashboard browse, not Panel browse.

I can rename this one to Panel browse and fork a Dashboard browse to confuse the issue further. That stuff makes a bunch of sense for Panel browse to me.

So.... how much Javascript do you want to write? I have ideas, but they seem like they'll all cause excruciating pain and suffering.

Not actually, I think a proper "Pinboard" layout might be useful for several apps: Macro, Pholio, Dashboards. Just curious if that's an option

Uh, let's pretend the answer is "LOTS!".

Fake Pinboard layout like we have now is workable, but will be less demonstrative of what the dashboard is.

I'm pretty confident I can CSS-generate a 'Dashboard' mini-view (little browser, panels, and app in the panel). It just will get tall if ppl go wild.

If we want to do that, I think we should fake it and just truncate the boards -- e.g., show the top 9 widgets worth of space, and then some kind of "..." at the bottom?

The CSS can just be a bunch of absolutely positioned <div>s, so that's not a big deal. I'm not sure if we can paint the content of those tiny mini-panels in a way that's distinct or helps users understand what's on the dashboard, though.

Using "pinterest" layouts for the actual dashboards seems reasonable to me, since the user will be setting columns, but I'm hesitant to use it for the list views because it will introduce a lot of complexity to approximately preserve order while still looking reasonable. That is, if we lay it out naively, the list will become less and less ordered as you scroll down, so results "by name" or "by date", etc., will lose utility in some views. Throwing this away to get a more visually pleasing layout feels a bit questionable to me.

(For Pholio, maybe we could also try making the cards full-width and just putting more art in them?)

I'm sure we can do a decent job of conveying the "dashboard" in a mini view. I'll have some free time to get that to you today here shortly (I'll do a mock first since you seem skeptical). The other thing if this is designed right is it should also be monogram/embeddable. Not sure what you'd use for that, but providing an easy way to share these anywhere (and maybe a button to install) would encourage Dashboard usage

So the basic idea is to give a good meta-overview of what the Dashboard is.

  • Clear title
  • Rough layout
  • Apps are indicated
  • Hover to see Panel title
  • Set a max-height with scroll for long pages
  • Click through to see full sample

Sample page could have a simple bar at top (like create a new subtask) that lets people see their real data and install the dashboard.

Any thoughts before I build this component out (or if I should not build it out)? Seems a reasonable start / way to define a 'dashboard' in limited space. Some of the visuals will need tweaked, but I think the idea is there.

It seems pretty reasonable to me. Some thoughts:

  • I think they should cut off rather than scroll, but don't really care too much. I can't imagine ever wanting to scroll one, and I find it annoying when page content captures a scrollwheel action.
  • The plan I have for clicking it is:
    • It takes you to the dashboard, and everything works properly (that is, you get a a full, usable dashboard with live data and I expect some users to make these pages a part of their daily workflow).
    • From there, there's some "make this my homepage" option if you want to promote the dashboard, but the framing is "this is the dashboard and it is completely usable right here", not "this is a preview, it's not a real dashboard until you put it on your homepage / install it".

Probably just a crumb action then? Edit Dashboard / Install Dashboard?

Yeah, that seems like a good choice for v0. We could try to hide them both behind "Dashboard, uh, Stuff" or something but they feel kind of distinct.

alright, will build this component out soon.

In T4984#57937, @chad wrote:

I'd imagine we'd want to group them by Application.

Maniphest
W12 Unbreak Now Tasks
Display: ObjectList · Columns: 1, 2, 3
...

This reply was misfiled here, but I think it is the only mention to the bog of questionable value :) that is the list of panels. For what is worth, we have a task about the problem of people creating duplicate panels, unaware of duplications: https://phabricator.wikimedia.org/T86115

https://phabricator.wikimedia.org/dashboard/panel/ has 268 panels after 3 months of official life, and counting.

chad edited projects, added Dashboards (v2); removed Dashboards.