Page MenuHomePhabricator

Fix the Swamp of Suck that is the home page content panel
Closed, ResolvedPublic

Description

The content on the right side of the home page has been bad forever:

  • I never use it.
  • I don't think it's very useful to anyone? Do you guys use it?
  • Adding the count bubbles to the applications pretty much solved the problem the home page was trying to solve for me, at least (knowing which apps have stuff I need to look at).
  • We build and load it on mobile even though you physically can't see it.
  • I sort of want to add the content discovery stuff below soonish to promote Pholio.

Here are some ideas for doing something with it:

Content Discovery: We could add content discovery from Pholio, Slowvote and Ponder. Pholio is especially good because it has pictures; I think Slowvote is kind of good because it's lightweight and interactive. Ponder could also be good, I think. All of these applications tend to generate content with some level of broad appeal. We could just dump this stuff in without really changing anything else, but this might be a good time to plan ahead. We could also surface Feed again for content discovery, but I don't think it's particularly useful or interesting (too many events in feed are completely mundane).

Project Stuff: After we build out projects management stuff, we could put more project stuff on the home page. I think this is attractive for some users but probably not useful for others.

Widgetey Things: We could just give up and let you customize it. The weaker flavor of this is to have a few role-based views ("engineer", "project manager") but I'm not sure how far we could get with that. My big hesitation here is that if we let users spend a lot of time tweaking it to make it the way they want, they'll be disappointed if we change it.

Custom Queries: With ApplicationSearch, widgets could run saved queries, and we could express most or all of the existing items on the home page in terms of saved queries.

Mobile: We should probably not generate it on mobile (for performance) and add an item to the menu to get to it?


I think "widgety things" is sort of inevitable as the ultimate destination -- is there another vision of what the home page looks like a year or two years from now that doesn't involve some sort of customizable widget board?

The alternatives I can come up with are driving it to pure content discovery (probably some sort of filter on Feed which tries to show only "interesting" stories, I guess? Probably creation stories for Pholio, Ponder, Slowvote, Phriction, and the other content-focused apps.) or trying to actually make it into more of a todo list / inbox, sort of similar to what Asana has. This would be more similar to what we have today, but maybe more homogenous (e.g., try to put everything you need to do into one list and order it by when you should do it). I'm not sure I like either of these better than "a bunch of widgets", although I'm not really a fan of a bunch of widgets either.

Related Objects

StatusAssignedTask
Resolvedchad
ResolvedNone
Resolvedepriestley
ResolvedNone
Resolvedlpriestley
Resolvedlpriestley
Resolvedlpriestley
Resolvedchad
Resolvedlpriestley
Resolvedepriestley
Resolvedlpriestley
Duplicatechad
Resolvedbtrahan
Resolvedbtrahan
Resolvedbtrahan
Resolvedepriestley
Resolvedlpriestley
Resolvedchad
Resolvedepriestley
ResolvedNone
Resolvedepriestley
Resolvedepriestley
Resolvedepriestley
Wontfixepriestley
Resolvedepriestley
Duplicatechad

Event Timeline

epriestley triaged this task as Normal priority.
chad added a comment.Jul 18 2013, 5:15 PM

My honest opinion is the homepage is actually ok. That's mostly because I think I use Phabricator as more of an average user rather than a project lead / super human person. I would think it falls apart at the level where someone has more than 20 tasks and or diffs and I think we should maybe just solve that case in the short term and work towards larger homepage changes in the mid term.

Looking at fixing the 'I have 100 tasks or diffs' problem would need solving in either path we decide to go. So maybe we start with some ways of defining what tasks and diffs land on your home screen with some new custom options, tied to custom queries.

Generally, I don't know that Ponder/Pholio/Phame, etc will be very interesting on the homepage. They are probably high interest, but low volume - which is great for a feed. So buffing up Feed in general is something I think we can do in the short term as well. I know there is a small list in my head of likely easy to add things to feed that would make visiting it regularly more interesting. I seem to remember you didn't use it very much, but I find it a good way to keep up with things that I'm not expressly CC'd on.

So taking a step back, what would be a more interesting way for you to view tasks or diffs on the homepage? Is it just custom queries with more blocks?

For reference, here's my homepage right now:

{F50751}

So taking a step back, what would be a more interesting way for you to view tasks or diffs on the homepage? Is it just custom queries with more blocks?

I don't want diffs on the home page at all. I'd put something like "the three most recent tasks" on the home page if I could maybe, but I'd rather just have a Herald rule that CCs me on every task and not have any tasks on the home page.

I seem to remember you didn't use [feed] very much

Yeah, I never look at it -- it's like 99% stuff I already know about and 1% test tasks.

chad added a comment.Jul 18 2013, 6:17 PM

For diffs, what about 'Recently Updated Diffs Waiting For You'? Would the last 5 or whatever to receive comments/updates be of interest? When I think of customization, that's basically what I'm thinking.

chad added a comment.Jul 18 2013, 6:18 PM

ie, only show me recently updated ones or ones with unbreak now tasks attached or ones from projects name 'security', etc.

It wouldn't be interesting to me -- I've always already seen those updates in email.

chad added a comment.Jul 18 2013, 7:05 PM

I've probably missed the point to all of this, in which you asked is there something else the homepage would look like in two years.

That's a pretty hard question - my personal preference is to use the homepage as 'tasks' - as in things I have to go do or that may be impeding the work of others. I don't go there to browse or discover. It's strictly work - as in how am I blocking a person (highest pri) or how am I blocking a project (whatever pri). However, I do find Feed separately useful for discovery (tasks I may have interest in, new mocks, etc). I don't think Feed needs to be standalone, but should be incorporated into the homepage. I'd likely explore something like a tab-bar though, not two-columned. You could click over and see activity, maybe post a status or calendar item, then click back and still be at your workload. Maybe there is a preference as to which you'd prefer by default (if you're not an engineer).

I think you're a particular tricky case to solve, even if we can't solve it, it seems improvements are available? I like starting with Saved Queries and letting people re-arrange their homepage.

chad added a comment.Jul 18 2013, 7:27 PM

Also, what's your timeframe on this?

Timeframe is like "the next couple years", although I'd like to maybe mix some content discovery in sooner and see if we like it or not.

chad added a comment.Jul 18 2013, 8:16 PM

Ill get you something tonight

chad added a comment.Jul 18 2013, 11:40 PM

Clearly my hilarity needs some work. :)

oh I thought that was serious, it looks perfect to me

From the I'm-here-because-I-like-Phabricator-and-am-waiting-for-it-to-get-to-the-point-that-I-can-persuade-everyone-I-know-to-use-it perspective, the first thing I do when I log in is peruse the last x hundred Feed stories.

This got noticeably less useful as an information-firehose when it was redesigned as so much vertical space is wasted, so some kind of filter on Feed would be really nice (i.e. I doubt many people care that so-and-so CC'd himself on 30 random tasks) and personally I'd use that as my home page.

As a developer envisioning using Phabricator for SourceMod development, I'd probably want a list of tasks that need triage, stuff assigned to me, and diffs waiting for me to review - basically the current home :x.

As an aside, if you have the Audit application disabled the lists for it still show on home.

chad added a comment.Jul 19 2013, 5:18 AM

Just two random ideas for discussion.

{F50825}

{F50826}

chad added a comment.Jul 19 2013, 5:20 AM

:/ Try these.

{F50829}

{F50830}

◀ Merged tasks: T2360.

So, way way back in the xtools days we came to the conclusion that customization for a homepage is key. Basically, everyone is going to want subtly different things and letting them configure it is actually worth the effort in productivity tools. (This manifested itself as the dashboard framework, which was pagelets + intern tools + a way to configure which pagelets showed up on a given page.)

For defaults - once we get really good at configuration - I'd want have the configuration upsold pretty heavily. Otherwise, I like the 3 column layout chad has or a 2 column layout that also surfaces the feed.

For those mocks, I'd personally not find A useful (at least, with feed as it exists today, it's just wasted space) and I'd rather just be able to add a widget with those projects to the home page for B and click their titles to jump to them properly instead of having a weird thing on the homepage.

chad added a comment.Jul 19 2013, 7:20 PM

One thing in the mock I'd love to see now is the 'quick create' icon next to search. I'd even give up 'settings' (maybe move to profile?) for it. I often find it slow to just make a new task or mock.

The rough thought behind A is the user could create multiple homepages / spaces for work. Some might be general, some might be project based. It might be interesting to mash A and B up.

What do you want the "Quick Create" to do? We have plenty of space I think, and architectural support for it. Mobile might be a touch tricky, but I think we can build that today (in either the literal or metaphorical sense, depending on how magical the behavior has to be).

chad added a comment.Jul 19 2013, 10:57 PM

It's not *super* magical. Basically a drop down with links to create tasks, mocks, etc. The main magical part is I'd like it to pull up dialogs if available (similar to edit task) and pre-populate "Refs: X123" if available. So say I'm on M12 mock, I click + in the menu bar, create task, the dialog appears with Refs {M12} already populated in the description. It can be removed of course, but it helps in creating references to other objects.

Some creates are a little buried and cumbersome to get to, like Calendar.

So maybe:

Create a New:

  • Maniphest Task
  • Paste
  • Pholio Mock
  • Conpherence
  • Calendar Status
  • Macro

I wouldn't want it to be too long, but assume at some point be configurable if it needs.

Other than associating things with tasks, is there any other relationship which makes sense? I can't think of any offhand.

Why do you want a dialog over a link to the "Create whatever" page?

chad added a comment.Jul 21 2013, 4:54 PM

I'll write something up, I keep thinking of additional associations that could be helpful like being on a task and creating a subtask from it (yes, I know its in the action list) - but it leaves room in the future if we have built out project landing pages, of quick creating tasks with projects associated or some other things I haven't imagined yet. But a lot of this ties in with tasks.

The reason I prefer dialog over leaving the current page is part speed (or at least the appearance of speed) and staying within context. In some cases, like on a mock or product wiki page, I may want to product several tasks, while re-referencing the content on the page between each. I usually bring up two windows to do this.

Mostly I find it spacial-ly cumbersome to create objects. I scroll all the way to the top, I mouse all the way over to the logo, I mouse down to the app, and mouse all the way over to create. I probably burned 10 calories doing all that! ;)

So when you hit "Create", you want it to stay on the same page -- not take you to your new object?

epriestley edited this Maniphest Task.Sep 13 2013, 5:28 PM
epriestley edited this Maniphest Task.Sep 13 2013, 6:52 PM
epriestley edited this Maniphest Task.Sep 17 2013, 4:37 PM
epriestley edited this Maniphest Task.Sep 17 2013, 6:32 PM

Vaguely related line of thought here, but we probably want to do something with the logged out homepage eventually, too. Currently it's just a login screen.

(We could provide logged-out access to the normal homepage, but all of the queries will be empty, so that seems a bit silly.)

chad edited this Maniphest Task.Jan 15 2014, 7:34 PM
chad edited this Maniphest Task.
chad edited this Maniphest Task.
epriestley edited this Maniphest Task.Jan 25 2014, 10:25 PM
epriestley edited this Maniphest Task.Jan 30 2014, 6:45 PM
epriestley edited this Maniphest Task.Jan 30 2014, 7:43 PM
epriestley edited this Maniphest Task.Feb 2 2014, 11:51 PM
epriestley edited this Maniphest Task.Feb 3 2014, 6:52 PM
chad added a subscriber: beng.Apr 6 2014, 4:45 PM

Adding Ben based on IRC Chatlog.

I think this task should likely resolve most issues FB engineers still have regarding changes to the homepage. My rough plan is to provide generic 'widgets' that you'll be able to define (Diffs from Project X, for example) and have on your homepage. Normal and compact views should be easily supported.

Overall, I think some of the reasons we had complaints at FB and not other places was simply due to most FB engineers have years more experience with the product than other installs. It's easy to get locked into a comfortable workflow that didn't change for years, and then when changes come, feel quite drastic. Hopefully FB can continue to keep up with the changes, and outside of that first redesign, don't expect changes as large. We're at a good point now and most changes will just be iterative.

Anywho, we hope to tackle this in 2014, so please add thoughts here as to what you'd like to see on the homepage as far as customization goes.

qgil added a subscriber: qgil.Apr 26 2014, 9:07 PM
epriestley edited this Maniphest Task.Apr 30 2014, 5:18 PM
epriestley edited this Maniphest Task.Apr 30 2014, 5:41 PM
epriestley edited this Maniphest Task.Apr 30 2014, 7:38 PM
epriestley edited this Maniphest Task.Apr 30 2014, 7:53 PM
epriestley edited this Maniphest Task.Apr 30 2014, 8:27 PM
epriestley edited this Maniphest Task.Apr 30 2014, 9:28 PM
epriestley edited this Maniphest Task.
epriestley edited this Maniphest Task.
epriestley edited this Maniphest Task.
epriestley edited this Maniphest Task.
epriestley edited this Maniphest Task.May 7 2014, 4:41 PM
epriestley changed the visibility from "All Users" to "Public (No Login Required)".May 7 2014, 4:44 PM
epriestley moved this task to Evan on the Dashboards board.Jun 22 2014, 8:42 PM

Anything still need to be done here?

There are a few rough edges to clean up on Dashboards, then I want to promote the new "Welcome" page (/config/welcome/) to the default home page and remove what we've got there now.

eadler added a subscriber: eadler.May 31 2015, 5:35 PM
epriestley moved this task from Evan to v2 on the Dashboards board.Feb 19 2016, 3:15 PM
epriestley edited projects, added Dashboards (v2); removed Dashboards.
eadler added a project: Restricted Project.Feb 22 2016, 10:10 PM
eadler moved this task from Restricted Project Column to Restricted Project Column on the Restricted Project board.
eadler moved this task from Restricted Project Column to Restricted Project Column on the Restricted Project board.Jul 4 2016, 9:16 PM
urzds added a subscriber: urzds.Nov 28 2016, 12:43 PM
epriestley closed this task as Resolved.Dec 12 2016, 9:29 PM
epriestley claimed this task.
  • Over time, we've drained the swamp to some degree on the default home page, by moving toward more useful defaults.
  • We implemented Dashboards. Although we'd like to improve them, they've allowed ambitious users to fix this themselves for some time.
  • See T11957 and M1473 for modern followups with a more concrete plan to lay this to rest.
  • See also T11132 for discussion of NUX-oriented changes, specifically.