I'm fairly happy with the technical fundamentals that are in place for subprojects, and mostly blocked by uncertainty around the top-level design of profile (project and user) pages. I'd like a clearer picture of where these are going before moving forward.
Here are some of the things that I don't have a clear plan on:
Icon Nav: Icon nav feels mostly OK to me, but it's hard for me to hit the items I want consistently, even after long use. I have to fish around in the menu fairly often. I'd like to try adding text labels, so the items have text rather than just icons, but still feel a little different from normal lists.
+---+ | X | +---+ | Y | +---+
+--------------+ | X Community | +--------------+ | Y Workboard | +--------------+
I'm otherwise satisfied with icon nav.
Do you have other concerns about icon nav, ideas for it, or objections to this approach (see also below)?
Crumbs: Crumbs missing on Project and Profile pages feels negative to me. Although I essentially never want to navigate with them on "People", I do miss them somewhat frequently in Projects to go back up a level, and it's not clear why they aren't there (there's plenty of space, and they work well in Instances, where I use them way more heavily than in Projects). Even when not clicking these items, not having them feels inconsistent to me.
I'd like to restore crumbs to project profiles and user profiles.
I think crumbs will become particularly valuable/important with subprojects, because I think they're the most natural way to show a project hierarchy.
(They don't fit terribly well on workboards right now. I'm not sure what to do there, offhand. I'm not too concerned about resolving this right now, though.)
What's your current thinking about crumbs? (My recollection is that you removed them in the last round, but maybe you're missing them now too or maybe I just didn't understand the reasoning at the time? Or maybe subprojects is a compelling argument to restore them?)
Presentation Mode: M1450 mocks out a chrome-free view of workboards. This is way prettier than the current view, but I'm not sure what problem it's solving, except, say, "presenting a workboard on a projector in a meeting". As a user, I use navigation and menu bar elements frequently and don't want to remove them.
I'm tentatively onboard with building this but I'd like to make it a "fullscreen mode" or "presentation mode" sort of toggle/option, not the default view. This mode would hide the chrome and collapse the icon nav and crumbs into an action menu. It could be sticky per-user or whatever, too. But I'm also not really sure we even need this at all? It seems like a lot of complexity (particularly, a lot of JS) mostly in the service of aesthetics.
That said, to the degree that "presenting" or "this is ugly and I hate it" are issues, restoring crumbs and nav text would make them worse by eating more real-estate and adding more chrome-stuff.
Maybe v0 is a toggleable mode which just hides the chrome, crumbs, and icon nav so the JS is simple?
What are your general thoughts on the importance of simplifying this UI, improving aesthetics, providing a presentation mode, increasing real estate, or whatever other goals M1450 is designed to accomplish?
Sibling Tabs: This is a feature in the M1450 mock: projects that have siblings show siblings in header tabs, and cards can be dragged to siblings to move them between projects.
I really like this feature and think it's great, and definitely want to implement it.
This requires a substantial technical change to how draggable items work so they can be dragged outside of the workboard.
Workboard Card Dragging: The major task for this is T5240. Primarily, it is unnecessarily difficult to drag a card from a long column to a short column. D14866 is a very rough approach to improving this, and sticks the headers on desktop while allowing the columns to be scrolled.
It needs significant rework and then design work afterward, but this approach broadly feels okay to me.
I think the major alternative is to make columns scroll internally, like Trello.
I favor the full-height columns because I like the board being more like a physical board and slightly dislike the aesthetics of scrollable columns, but don't feel terribly strongly about it.
How do you feel about "infinite columns" vs "internal scrolling columns" vs other approaches? I'm open to trying internal scrolling if you aren't sold on the general approach in D14866.
Links to Other Applications: People and project profiles both have links to other applications ("Open Tasks", "Open Revisions", etc) in the icon nav.
These feel janky to me, and, as a user, I never use them. I am surprised when clicking an icon nav (which looks like local tab navigation) takes me out of the application and into a totally different view.
I see several reasonable things to possibly do with these:
- Keep them, but embed them on the profiles, so you get some hard-coded search result set inside the profile. This is how some tabs (Project Members, Feed, User Calendar) work today, and these tabs feel OK to me. I'm basically not sure these are actually useful, though.
- Get rid of them completely.
- Create some kind of separate element for "links to other applications"?
I don't really favor keeping these but I'm not sure what to do with them. I don't have ideas for what a "links to other places" element would look like.
Wiki Integration: The major task for this is T7005. There's currently no way to automatically associate a wiki page with a project.
I personally don't think this is important, and that putting the link in the description or adding a custom field is sufficient and reasonable. I have a panel proposal in T7005 but I don't really like it and don't think it would work terribly well. I worry that it conflates "tagging pages with projects" with "setting a page as the one associated with a project" too, and that they'll mean different things and confuse/frustrate users (e.g., "alice keeps tagging wiki pages with 'backend' but that's breaking the tab on the Backend page, give me a permission so I can stop her!").
Project Detail Pages: The major task for this is T5558. Beyond that, there's something of an issue with T7410. While defaulting to the workboard view feels good to me most of the time, it's not so great in the specific case where users have accidentally created a workboard.
Broadly, the information shown on detail pages isn't tremendously useful.
I think figuring this out will probably inform everything else, but I'm not totally sure what we should do with it.
Here's a possible proposal.
First, separate builtin profile components from external links.
- Split icon nav into "sections" and "links".
- In Projects, "Links" are fully customizable. You pick an icon, name and destination.
- UI renders the things in two groups, with a divider between them, to make it clear which parts are links and which parts are not.
- Throw away "Open Tasks" and "Feed".
- On profiles, just move all the weird/external stuff down to the links section but leave it there for now.
+-----------------------+ | X Skunkworks | +-----------------------+ | Y Workboard | +-----------------------+ | Z Members | +-----------------------+ +-----------------------+ | A Main Wiki | <-- link to wiki +-----------------------+ | C Setup Help Wiki | <-- link to different wiki +-----------------------+ | D Urgent Tasks! | <-- custom task query +-----------------------+ | D Primary Repository | <-- speific repository +-----------------------+ | Q Support Chatroom | <-- conpherence room +-----------------------+ | R Developer Chatroom | <-- different room +-----------------------+ | Z New Bug | <-- maniphest task form +-----------------------+
I think the major downside to this is that it might be a lot of work to set things up like you want them, but we can provide API access easily now as a basic workaround and then iterate on making it easier to set/add defaults later if this is popular. I think users are also generally happy when things are possible, even if it takes a little more work.
Does that seem broadly reasonable?
Second, provide a dashboard. (I don't know if we really need this, though?)
- Add a new builtin section, "dashboard".
- Like workboards, there is no dashboard installed by default.
- Projects can optionally install a dashboard.
- Per-project setting for default view: details, members, dashboard, workboard.
- Also build "project()" typeahead tokens so you can build a dashboard that queries for the "Current Project" instead of for a hard-coded project, so one dashboard can be reused.
I'd plan to not do this for now, until subprojects are in a better place, but that feels more reasonable to me than trying to, e.g., dashboards onto the detail page or somehow magic dashboards in in some other way.