8000 Feature idea: Same cards, multiple column sets · Issue #211 · wekan/wekan · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Feature idea: Same cards, multiple column sets #211

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
kentonv opened this issue Jun 25, 2015 · 11 comments
Open

Feature idea: Same cards, multiple column sets #211

kentonv opened this issue Jun 25, 2015 · 11 comments

Comments

@kentonv
Copy link
kentonv commented Jun 25, 2015

I've been using Libreboard to organize the roadmap for Sandstorm.io, and I thought of what I think would be an incredibly powerful feature.

The basic problem right now is that there are several different ways in which I might want to organize my cards. For example:

  • Completion state (the usual wishes / not started / in progress / needs polish / done)
  • Who is assigned to do the task
  • Category
  • How long it will take
  • Milestones
  • Priority

Right now, I can only choose one of these to be my columns. Some of the others may be handled by labels or by assignments, but the UI for these is far less pleasant than dragging cards around. Setting a label requires 5 precision clicks and delay time while UI elements load. Dragging cards between columns is way more fun.

So what I want instead is to be able to define multiple column sets for the same set of cards. Then, instead of setting labels or assignments, I would switch to the column set I am thinking about at the moment and push cards around.

Moreover, when I'm looking at one column set, the cards should show internal labels indicating the card's position is column sets I'm not currently viewing. So, e.g., when I'm looking at "completion state" I can also see each card's "priority" shown inside the card. (It may be nice to be able to choose exactly which labels are shown in order to avoid clutter... not sure. It would also be nice if I could color-code the labels by assigning colors to the columns from which they are derived.)

With this feature implemented, the usual label and assignments features could potentially be removed, simplifying the code and further differentiating from Trello.

What do you think?

@ocdtrekkie
Copy link
Contributor

I, for one, think this sounds really cool.

@snolahc
Copy link
snolahc commented Jun 26, 2015

Hi,

This is an excellent idea, to abstract boards and cards, allowing multiple organizing schemas over the same cards.

Libreboard is the best tool to create lists.
In order to organize lists, we need to make lists of lists with priorities.
This tool allows us to be totally free on our organization, but could suggest a way to easily have a "todo list" from several boards where cards are assigned to me.

Managing those "duplicated/meta cards" would affect the underlying boards, cleaning them of the "done" stuff. This would be another board collecting cards with specific attributes/tags/...

However i'd like to still be able to user labels as it's relevant to have visual information on your cards better than the title. An API should be able to change the labels, so for example, travis could set green or red cards corresponding to builds.

PS: i created an issue but closed it after reading yours :)

@TomBous
Copy link
TomBous commented Jun 30, 2015

The idea is very interesting/original, but i'm not sure about the use case, plus it may complexify the UI and the usability.

For now I use Libreboard this way :

  • Completion state ➡️ I use the columns
  • Who is assigned to do the task ➡️ Name initials or avatar + filters
  • Category ➡️ I use labels
  • How long it will take ➡️ I don't use that :p
  • Milestones ➡️ I use the columns too ("Done for 0.1" "Done for 0.2" )
  • Priority ➡️ I use the order of cards, top cards are higher priority

Furthermore, a task shouldn't be changing category, assignment, duration or priority that often, compared to the completion state IMO.

@kentonv
Copy link
Author
kentonv commented Jun 30, 2015

@ultimatom - Sure, not everyone needs this feature, obviously. But some people have different needs.

To address a few specific points:

  • "Milestones" is supposed to mean "at what milestone does this need to be done", so it doesn't fit into the same columns as "completion state".
  • "How long it will take" is in fact an important thing for me to visualize, because when there's month-long items next to single-day items, it can be misleading.
  • Even if they don't change often, setting labels and assignments in the first place is quite tedious. When there's 200 cards that need to be categorized, it's easy to say "never mind, I don't want to do this", which is sad. Dragging between columns is much more pleasant.

@ocdtrekkie
Copy link
Contributor

The other interesting thing, is @kentonv's suggestion produces all the necessary info, potentially, to output things like Gantt charts. You could manage things simply and easily as one expects with this sort of app, and view the data in any number of traditional project planning methodologies.

There's a lot of potential power to the concept of allowing the app to understand what it's doing (planning a project) rather than just being "lists of cards".

@xavierpriour
Copy link
Contributor

I love the idea too, it is definitely something I'm missing in Trello right now!
To me, the best UI would be something like HyperPlan: you have attributes to the cards, and can choose which one to use as vertical/horizontal axis. Incredibly powerful indeed.

@mikkelking
Copy link

I agree, I extended MypersonalKanban (written in Angular) to do precisely this, and the result is fantastic, because as kentonv says, it allows you to visualise the cards and manipulate them from different perspectives. One moment you are planning what will go in the next few releases of product, and the next moment you are balancing the workload between team members. I can put up a demo or some screen shots if anyone is interested to see it

@kentonv
Copy link
Author
kentonv commented Jul 30, 2015

@mikkelking Would you be interested in making it a Sandstorm.io app? :) We (sandstorm team) are happy to help; come talk to us on our discussion group or IRC (#sandstorm on Freenode).

@kadishmal
Copy link

Have a look at how Asana can assign a single task to multiple projects and multiple sections.

app week august 3 - august 14 - 2015-08-01 02-24-59

The idea and requirements are these:

  • There are different people in the organization with different needs and views.
  • Some people need to know the overview of the things going on in the company, some need to know the details.
  • Say the CTO doesn't need to know which tasks go into your next release, however he needs to see your task/card that tells the story of you next release (you will have some just for him).
  • There are marketing guys who also don't care about implementation details, however they are interested in the parent/bigger tasks that their team and their next big launch depend on.
  • So different people may want to choose to organize the same set of tasks/cards in different ways.

The implementation that Asana team has provided is quite neat from the UX perspective and doesn't clutter the UI. In Asana terms, users can choose 0 or more projects/sections that a task can belong to. Inside those projects, the same task can be under completely different section in completely different order. For the marketing team your Feature X is the top priority, for security team this task is medium. Each team can rearrange the same task in their preferred way.

Implementation wise it is relatively simple, too. In fact, the simpler you think, the easier will be to move on and make additional changes in the future. Here is how Asana team has implemented this feature.

Each project (in Kanban terms this is a board) is a completely independent list. For now think of it as a linear array. Asana has visualized this list as a vertical list. Trelly and libreboard visualizes this same list horizontally. This doesn't matter.

Now each such list (board) can contain 0 or more items (in Asana terms this is a section, in Libreboard terms this is a .... what? stage?) So, now we have an array of items each of which can be just a task/card or a card that can also contain a list of other items. This way, depending on the board, the same item can be placed at index [3, 2], meaning the 4th column/stage from the right and the second row from the top in this column.

Since each item can be a card and also have a sub tasks/cards, this allow to create and link more granular tasks. These two features were one of the most frequently requested features in Asana when they had just opened.

Another advantage of such implementation is the speed of retrieval. When the client loads, the server can serve the top X items all of which are already ordered and prioritized. If a user wants to see more items or scrolls left to see left-hand columns, they get loaded in one go as they are already sorted.

I suppose this implementation would satisfy #207 as well.

Another nice feature Asana provides is to duplicate a task and/or entire project with all their sections, tasks, and subtasks. This is what #134 wants. When implemented as a list of lists as described above, cloning is as simple as making a copy of the entire list. Order and priority will be preserved. The copy operation is essentially one database operation on a range.

@maximd
Copy link
maximd commented Mar 22, 2018

I'm commenting so I can subscribe to this issue alone, since I can't do that by subscribing (i.e. watching) ~ #283

@GustavoMarcante
Copy link
GustavoMarcante commented Jul 6, 2018

I think this feature is great.
Gives you the possibility to use Kanban in many different ways.
I'd like to suggest to take a look at ZenKit
and the way they made it happen.
I showed it to my team, of "non tech people", and they liked it a lot.
Very clear, easy and useful.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

0