Better Visualisation of 'All Cards' View for Index-Ordered Decks

So, a while back I suggested that it would be really cool if we could re-order cards in a deck by dragging them, and I just wanted to elaborate on that suggestion a bit and see what others think of it (if anything).


Current situation

At the moment, we have four ways of ordering the lessons in a deck:

  • chronological
  • reverse chronological
  • random
  • indexed

The order that cards are displayed in the ‘all cards’ view of a deck is fixed, as ‘chronological’.


The problem

All of my decks are index-based. At the moment, if I add extra cards at a later point which need to appear earlier in the list, working out what index they need to be is a small headache, and then I have to adjust, manually, the index of every single card that comes after that.

I usually don’t bother and just deal with having multiple cards with the same index, but the whole point of the index method is that I want to precisely control the card order, and this messes that up.

Also, I have one deck where I’m playing around with the overall order quite a bit (and the order really matters), and manually adjusting even just ~80 cards is awful. Plus, being able to visualise the order would be incredibly helpful to this process.


Simple suggestion

A simple change which would improve my sanity quite a lot would be if we could switch between the same three ordering methods (maybe not ‘random’!) to display the cards. So I could switch the all cards view to ‘index’, and then if I changed a card’s index, it would appear in a different position in the list. That way I could visually check that the cards are in the order I’m intending, and try out different orders visually.


Bigger, better suggestion!

I would like to be able to drag cards within the all cards view in order to rearrange them. I don’t believe this would require a new ‘order’ value for the cards: you could simply re-purpose the ‘index’ value. Dragging a card to move it would automatically alter its index accordingly, and altering a card’s index directly would automatically rearrange it visually within the list.

This would not need to be an option for chronological or reverse chronological decks.


tl;dr

Essentially, I would like the index lesson-ordering method to apply to the actual order in which you see the cards in the ‘all cards’ view, and I would like to be able to alter the index / visual order of the cards by dragging them.

3 Likes

Sorting is something I want to implement in general. I think we’re gradually getting there with the search improvements lately :slight_smile:

As for reordering by dragging… I’m not sure about how difficult it would be to implement this. I will have to try and check if any problems arise.

I can see how having to adjust XX cards is awful though. It’d be nice if cards could automatically adjust depending on your dragging or your manual input.

Having it automatically adjust depending on your input (so if you fill in 2 when there’s already a card with index 2, it would shift the previous 2 to 3, 3 to 4 and so on) is possible, but I know that @hinekidori uses the same index for multiple cards on purpose. Not sure if that would change anything for them.

1 Like

Yes, even this would be a massive benefit, honestly. I get that reordering by dragging brings a whole host of new horrors.

I guess if I prioritised my hopes and dreams, it would go:

  • Adding a new card of index X shunts all cards of index X+ up by 1
  • The index of a card determines where it appears in the all cards view
  • The index (and position) of a card can be changed by dragging

So the dragging aspect is just kind of the cherry on the cake :cake:

This is the main disadvantage of the suggestion, I think. It would presumably cause problems for anyone who wanted cards to have the same index. I’m not sure how you would get around this unless you made automatic reordering an option, perhaps.

You could potentially still help those people by doing the whole “the index determines where it appears in the list” thing.

1 Like

I suggested this a long time ago (shakes head in disapproval): create another (independent) way of reorganizing cards. I don’t see a problem with this suggestion at all tbh.

I didn’t run into the reordering problem yet, so I don’t have an opinion about this proposal.

But there could already be a simple solution for this [but it’s editing by hand again :slight_smile:]. For programming in BASIC you need to provide line numbers, but they don’t have to be continuous, so people are using line 10, 20, … so that you can easily add lines.

How about setting the indices manually to 1000, 2000, … and put new items at 500, 1500, 2500, …?

Hmm, that would solve the problem of having to manually rearrange the indices, but it would interfere with the helpful kitsun feature of bumping the index up by one every time you save a card, so it would just replace one irritation with another, I think.

It also doesn’t really help with decks where you just want to rearrange the cards (rather then the issue of inserting new cards into an existing deck).

How? What do you mean? That every time you add a card, it bumps the index by one? Is that it? :thinking: How would an independent variable influence that? Sorry, I’m not getting it :sweat_smile:

Okay, at the moment, you create a card by inputting all the values you want. You save the card, and kitsun clears all the fields, and increases the index by 1 automatically. This was actually a feature I requested way back: it means you don’t have to worry about remembering whether or not you increased the index for the next card.

So maybe you start adding cards at index 201, and as you save each card kitsun helpfully bumps you up through 202, 203, 204, etc.

acm2010 is suggesting that I index my cards so that they go, say, 100, 200, 300, 400. That way, if I add a card which needs to sit between cards 3 and 4 (indexed 300 and 400 respectively), I can just give the new card an index of 350. You’ve essentially given yourself a buffer of 99 spare indices in between every card.

But this would put me back to having to remember to manually increase the index every time I create a card.

I was replying to acm2010’s suggestion, not your suggestion of creating a new variable, by the way - which might have been the source of your confusion?

I wouldn’t object to a new variable handling this, by the way. I was just trying to create a suggestion that didn’t require neicudi to add more data to all the cards, cos I thought that would keep him happier :wink: and also keeps things streamlined, which is less confusing for the user. An alternative might be a new way for Hine to pair cards together, rather than using indices.

1 Like
  • Using the same index to organize cards sounds like it was a work around anyway and not a use case that should be considered. You can still avoid disrupting existing decks that rely on that by re-indexing them so that those that have the same number are kept in consecutive sequence after re-indexing.

  • Every deck could have a “step” property/option/variable which controls how large the “steps” are between automatically assigned indexes. So the index of a new card equals the index of the old card plus the step value.

  • If you assign an card an index of X and X is already in use then that card should become X and all existing indexes are adjusted to accomodate. That can be trickier with when you use a step, but it doesn’t have to be.

Ohhh, my bad then :rofl: Sorry :purple_heart:

Indeed, I agree. However, I’m feeling like we’ll need two variables anyway in the future (when people create more detailed decks, like x item unlocks y item, making levels inside decks, etc). I see Index working for the latter, but we’ll still need a way to order items (the new variable that solves your problem).

In other words, we’ll need:

  • A variable to order items.
  • A variable to relate items (say x unlocks y, etc) other than siblings.
1 Like

The plan is to create another variable for levels. I think that for now we’re going with auto increasing the index fields of all other cards when you add a duplicate index.

2 Likes

:heart_eyes:

if that could also determine their visual order that would be swell

2 Likes

Sorting is coming as well, (chronological, reversed and index) :slight_smile:

1 Like

it’s like it’s christmas or something

1 Like

2 Likes

I put the tree up yesterday :heart_eyes:

2 Likes