[planning] Card Lists (or maybe named Card Stacks)

Some questions for the thread:

  • should groups be persistent across sessions? (ie if you refresh or open the space on another device, should the groups be maintained)
  • should you only be able to have one group per space or multiple?
  • what happens if the same card belongs to multiple groups? (what happens if i drag it, do both groups move?)
  • if you select one/some of the cards in a group and hit ctrl-shift-g to ungroup does it remove the whole group, or just modifies the group to remove the selected cards from the group?

I’ll look at other software (eg balsamiq) to answer these Qs , but typically design software has a ‘layers’ panel which helps w these issues, so the answers there may not make sense in kinopio.

Here’s my take on it:

should groups be persistent across sessions?

yes, that would be desirable

should you only be able to have one group per space or multiple?

more than one, please :wink:

what happens if the same card belongs to multiple groups? (what happens if i drag it, do both groups move?)

a card would only belong to one group imho

if you select one/some of the cards in a group and hit ctrl-shift-g to ungroup does it remove the whole group, or just modifies the group to remove the selected cards from the group?

removing the whole group would be fine for me, but no strong opinion, whatever is easier to implement

Same with adding to a group, whatever is easier. I can imagine merging new cards into an existing group but also wouldn’t mind to first having to “ungroup” and then create a group from a new selection.

Very cool, looking forward if and what you come up with :sunglasses:

sounds good to me – does everyone agree with this?

1 Like

so if i select a bunch of cards where one of them belongs to another group and I hit cmd-g:

  • remove that card from it’s existing group
  • the existing group is not ungrouped (so the other cards in the group are still grouped)
  • all the selected cards belong solely to the new group

Yeah, oh wow, this would be the fancy version :gem:
My thought was simply to make grouping unavailable when a selected card is in another group (grouping must be removed first) :nerd_face: - but whatever works best or is more consistent with your idea of UX/UI

1 Like

Will this be available via the API? What will the data model be?

1 Like

data model tbd, but it will be available through the api

1 Like

My big interest in grouping is a way to semantically tie a set of cards together. I’ve been talking about this on the forums for a year and a half :wink:

It’s not clear how far this current iteration will go. It doesn’t sound like we’ll be able to give groups a name. That is fine, but I hope whatever you do implement doesn’t preclude or obstruct us from getting that in the future.

@sts I’m curious about your use case here. It sounds like you want a way to group cards because you want to keep cards in a group relatively positioned. You said it’s “too easy to pull a card out of context by mistake”. Presumably, if you the bunch of cards were grouped, pulling on one card would move all the other ones in the same group along with it. Is that what you were thinking? What are other use cases you have in mind for grouping?

I don’t understand this. Without a visual indicator on cards in a group, I don’t see it being very valuable to group cards. Also, this doesn’t meet one of the initial design goals (which may have now changed) from this thread, which says “be able to see what’s in a group upfront”.

The way I see grouping being useful is the ability to start to enforce some structure and shape in a space. I’ve mentioned some example use cases here: More glue and structure to build with - #5 by bentsai

Other quick questions/comments

  • Do groups belong to the space or the user?
  • Will groups work multiplayer? If so, I guess collaborators can define/change groups?
  • What you’re currently describing sounds more along the lines of a saved selection. It’s more a feature that lets you more easily move a group of cards, rather than give that group of cards semantics. Is that how you see it?
  • Let’s say I setup a kanban board (cards representing tasks, and moving them spatially from To Do, In Progress, Done). Would grouping make this easier at all? What if the To Do column is a group? How easy would it be for me to move a card from To Do to In Progress (change a card from one group to another)?

We’re conflating semantics and I think we need to establish two seperate terms:

  1. Groups: analogous to cmd-g/cmd-shift-g in design software. Primary Goal = move a bunch of cards together without having to select them each time (This is what @sts is referring to). Functionally, but clunkily, currently accomplishable with tags: [planning] Card Grouping

  2. Lists: analogous to lists in trello. A visually distinct vertical collection of cards with an named association. (This is what @bentsai is referring to)

Both of these can co-exist, if necessary.

ETA:

That said, don’t expect either in the near term because both have a high difficulty to usage ratio:

difficulty = time to implement, amount of new ui, number of expected edge cases, degree of server data model changes
usage = how many people will use, expect, or need this.

Both lists and groups are high difficulty/low-expected-usage and so will come later on (after other improvements with lower difficulty/higher-expected-usage.

The argument for lists has already been thoroughly made.

That said, I would like more information on the use-cases for cmd-g groups in kinopio

(^ cc @sts)

1 Like

The distinction between lists and groups makes sense. I agree that visual and semantic grouping are not mutually exclusive,. On the contrary - semantics are very often expressed by visual proximity or cohesion.

Well, my use case is clustering / grouping cards so that I can rearrange groups of cards more easily.
Let’s say we have a space “My Health”, with “card clusters” like “Food”, “Sleep”, “Exercise”, “Mind” etc. and each of these clusters has many cards in them or around them in all kinds of different arrangements. Rearranging these clusters in a space right now involves drawing over all of the cards and then dragging the selection to a new place. This quickly becomes cumbersome and error-prone with many cards, especially if they are not aligned in a specific way.
Hence the desire to “group”

I understand if this isn’t something Kinopio was meant for - as a newbie I made my own mental model of what this thing “is” and what it could be useful for. I guess I see it as some kind of “very free form mindmap” and I could be absolutely wrong :wink: .

1 Like

Just going to throw my vote out their for lists > grouping…

If groupings main goal is to move cards together, this can be handled today with connections and cmd+click to easily highlight a specific group of connected cards. (And yes I know people may use connections differently and connect a card in a “group” to a card outside that “group”, which breaks this, but it’s still doable if that’s truly a priority for a user in a space).

To play devils advocate against myself, lists are also possible with the align buttons today, which I make great use of in most of my spaces, but I’d argue maintains a list today (rearrange, highlight cards, re-align) is more finicky than maintaining a “connected” group (adding / deleting a connection).

1 Like

@sts welcome to Kinopio, your feedback is very valuable—thanks for sharing.

I’m wondering for this use case, if you have a cluster already (“Food”, “Sleep”, etc), and you want to rearrange cards internally, wouldn’t grouping make this harder? Because moving a grouped card moves the whole group, so you would have to ungroup the card, move it, then re-group it. (This isn’t just a question for @sts, but more broadly).

If this is how it’s implemented, I feel like grouping would make moving cards around more cumbersome.

I appreciate the clarity of your thinking between groups and lists. I want to add some nuance because I think there’s overlap and an additional concept.

  1. Easily-move-card-cluster: The most recent proposal whose goal is to move a bunch of cards more easily. Ability to recall a selection. This is not trying to apply any semantics to the cluster.
  2. Semantic grouping: This is broader than lists (below). The goal is to apply semantics to a cluster of cards. To use @sts example, I might have a personal space with a groups for “food”, “exercise”, “mind”. Another example is, I might have a space for a class I’m taking. I would have a group of cards for lecture notes from week 1, week 2, etc. We currently can do this informally by arranging cards close together. We can apply semantics by using connections to each card. But connections are not as precise semantically or visually. There are other non-semantic ways to do this: creating and locking a big image card that you put other cards on top of, use card coloring for a group.
  3. Lists: I see lists as a specific instance of semantic grouping, and a more granular concept. With lists, you lose the 2D spatiality of cards. It is a much stricter, tighter relationship with linearity and ordering. But what you gain is, easy to change order, move around, treat a cluster of cards as a single idea. I see this all the time in my and others’ spaces. Anyway, @pirijan notes “The argument for lists has already been thoroughly made.” so I’ll stop there :wink:
2 Likes

Thanks for the welcome :grinning:

Yeah, that would actually make rearranging cards within a group a little more involved.
But I would then probably just not group cards that need to be rearranged often :wink:

As for the general design goals, I didn’t mean to stir up a hornet’s nest or question anything you’ve been discussing here for a while. Sorry if I came across that way :pray:

1 Like

No apologies needed, it’s a long discussed topic and more view points and opinions are always welcome and encouraged. And based on the notes above, at least it’s helped Pirijan gain additional clarity for what people want and expect :slight_smile:

1 Like

My POV, if the default behavior for moving a card in a group always moved the whole group, I’m not sure I’d use it. While I have cards grouped in my head, in my experience (for my use case), I still move individual cards within the group by themselves far more than large groups of cards together. The extra effort to move a large group I think matches the frequency (for me), especially with boxed shift-selecting, given that grouped cards are typically close together without other cards mingled in.

If I did have a group of cards with other cards mixed in, I struggle to see why I’d move the group of cards without the minglers because you’d lose the spatial relationship of the minglers if they were there mingling with a purpose to begin with…

1 Like

Thanks for the feedback, good points were raised and it sounds like doing the harder thing: ‘lists’, will cover more use-cases that don’t currently have an alternate way to do.

I renamed the thread from ‘card groups’ to ‘card lists’, bc the latter term is less ambiguous.

Q: if you can freehand draw on a space, would just drawing a box on the background of the space accomplish 80% of what formal lists would do? If so, a drawing tool certainly sounds like a more universally approachable/appreciable feature.

1 Like

Don’t think so for me… although that doesn’t mean a drawing tool shouldn’t come first.

For me, Lists are about easy re-ordering first and foremost.

2 Likes

I echo what @kordumb said. I think freehand drawing would be cool, and it would help with the use case of, “I want to designate an area for people to put stuff”, esp in a multiplayer setting.

But lists would really up the experience in a lot of new ways. People are creating lists already, so improving that interaction would go a long way :slight_smile:

2 Likes

Makes sense, I think both features certainly have their place

2 Likes

relevant updates: I’m part-way through building ‘boxes’ which’ll let you define a custom region and put cards in it

2 Likes