Changing indent level changes order

I don’t know whether this is a bug or a feature, but since it isn’t the behavior I expect, I’m reporting it as a bug.

Steps to reproduce

  1. Create a list with several levels of indentation, as in the example below:
    • Example of level 1
    • Another example
      1. Now level 2
      2. Level 2 item 2
      3. Level 2 item 3
  2. Promote “Level 2 item 2” to the next highest level (Shift+Tab)

Expected result

I expect to see the following:

  • Example of level 1
  • Another example
    1. Now level 2
  • Level 2 item 2
    1. Level 2 item 3

Note that “Level 2 item 2” is now at a higher level, but has maintained its same vertical position in the list.

Actual result

Promoting the item causes it to jump down:

  • Example of level 1
  • Another example
    1. Now level 2
    2. Level 2 item 3
  • Level 2 item 2

I find this to be really odd behavior. When I promote a particular object, I do so intending for it to become the parent of the same-level items below it. But instead, I first have to remember to select all the intended children and hit tab, then promote the item I want to promote.

Environment

Chromium on Linux

1 Like

I can’t reproduce this on Chrome/Win10, but I’ll try to see if I can on Chromium/Ubuntu.

I actually agree with you: the behaviour doesn’t usually doesn’t match how I think about my lists (more textual than outliner-y). However, I think it‘s expected behaviour for Dynalist, Workflowy, and outliners in general, and I don’t think there’s much chance for changing the behaviour (save for… drumroll a settings toggle).

1 Like

I can’t reproduce this on Chromium/Linux either. I think you’re referring to something else, that I’ve also experienced, but it doesn’t work in that example. I would suggest copying the list that you’ve experienced it in, pasting it into a new document, and then replacing all of the text with something else and then adjust the reproduction steps accordingly.

Although if I think I know what you’re talking about (assuming it’s not exactly what you’ve described above, which should be a bug), I think that makes sense but can be annoying to deal with. I’ll have to encounter it again to see what would be ideal without the need for a settings toggle.

@JP1: I just created a world-editable test document. I’ve tested the document in both Chromium on Linux and Chrome on Windows 10 and experienced the bug/feature in both places.

Ah, I indtneded the last point when I tested it originally, which was silly of me. Sorry about the ramble.

I guess this would be more of a feature that request, then. @Erica, what are your thoughts?

Personally speaking, I would side with the expected result that you’ve mentioned in the OP. 11/10 times the current behaviour has led frustration.

As @Yatharth_Agarwal said, this would be a setting to toggle this behavior in the best case. Not sure what to call it… “textual indentation/unindentation”?

@Scott, in your example, “Level 2 item 3” was a child of “Another example” before you promote “Level 2 item 2”, and it will stay that way if not otherwise specified. From a strict hierarchical perspective, moving something up a level shouldn’t affect what’s under it.

I’m guessing some people would expect the current behavior, although as you said, maybe not the majority of them. In the alternative behavior you suggested, there will be no way to unindent “Level 2 item 2” without affecting “Level 2 item 3”, unless you use mouse to drag and drop (or you could use Ctrl+Down to move it down and then unindent, but what if it’s 10 positions above the last one?).

I hope the above argument makes some sense.

Anything reasonably concise is fine as long as there’s a link to a help page describing the different behaviors.

1 Like

@Erica, I think it depends on whether you think of the structure as a tree and look at it with a programmer’s eyes, or if you think of it strictly visually.

In favor of the current behavior is that it’s cleaner if you’re thinking of a tree hierarchy such that you don’t have to re-parent the items following siblings. It’s also the way Workflowy works. And there’s also the case you mentioned about not being able to unindent “Level 2 item 2” without also affecting “Level 2 item 3.”

For me, I picture this visually. I’m not thinking of parent-child relationships, trees, or any of that. I’m thinking that A should be indented less than B. I go back to the way every word processor I’ve used works (LibreOffice, OpenOffice, old versions of Microsoft Word) with their list tools.

For example, in LibreOffice, when you indent or unindent a list item, it only affects the selected item. If you want to move several items, you have to select the items you want to affect. (This is also how the text editors I use work when dealing with Python code.)

I do think that Dynalist’s method of affecting the whole tree is convenient by not requiring the user to select everything. But, personally, I think that promoting an item to a higher level and making its siblings its children is something I do far, far more often than demoting an item and turning its children into its siblings.

One other issue that I should have mentioned above, as it’s what first caused me to really notice it is this: Suppose the list you’re working on (the children of “Another example” in my OP) is long and extends below the end of the screen so you have to scroll to find the end. Now, promote an item, and it’ll disappear entirely from the screen. Why? Because it jumped to the end of the list, below the current viewport. This is quite confusing, because when you promote an item, you don’t expect for it to be deleted. Of course, it isn’t deleted, but it appears that way.

Finally, regarding the name of a setting, how about this: “Change indentation levels visually” or its opposite: “Change indentation levels logically.” Unfortunately, either option would require help text, or better yet, a help animation.

4 Likes

Update: added this option under Settings - Preferences - Control.

4 Likes

Awesome. Thanks.

So thrilled textual unindentation was considered! Just one more change would make it vastly more useful.

Who would turn on such a setting? Only an advanced user that looked into settings and took the time to understand what this toggle did. Newer users don’t change settings they’re not fully certain of.

Among the potential audience of such a toggle, which includes me, I think many have used ‘logical unindentation’ a lot in the past. They are used to it and don’t want to give it up all the time. Therefore, it doesn’t make sense for them to toggle the textual unindentation setting, so they can’t use textual unindentation even they do want to use it.

The fix would be to change the setting to “Add action for unindenting items in-place.” Then, users could set a different keyboard shortcut, maybe (Opt-Tab).

Alternatively, the setting could be removed, and there could just be a “Unindent in place” action for everybody by default. This might be the better option, actually. It would be much more discoverable because it is in the help/shortcuts panes. Moreover, people could immediately hit Opt-Tab or whatever to play around and understand what textual unindentation is. They are far more unlikely to do this than they are to turn on the toggle, exit settings, play around, and then go back to settings and decide what to do.

TL;DR: Add keyboard shortcut like (Opt-Tab) for in-place unindentation for everyone by default.

Yeah, good idea. The tricky part is definitely which shortcut to pick.

For example, Mac users probably won’t know how important Alt/Opt is to Windows users. Ctrl+Shift+Tab is a safer bet, and you can customize it to your liking.

Yikes, this was a long time ago, but action name “Unindent in place” with default keyboard shortcut Ctrl-Shift-Tab sounds good! Any estimate on ship date?

@Erica Since this isn’t on the Trello, could you give any idea on when this might be implemented?

Sorry for the reply, and I’m a bit lost in previous conversations right now.

Does this mean the option needs to be removed? Or does a new shortcut unindent in place regardless of that option? Thanks.

So implement a new ‘action’ called “Unindent items in-place” that shows up in the Help pane. Default keyboard shortcut is Shift-Opt-Tab but, of course, can be customized in Settings.

Probably also a good idea to remove the “Unindent items in-place” checkbox from Settings > Control.


More on Keyboard Shortcuts: Opt-Tab conflicts with Windows. Ctrl-Shift-Tab conflicts with browsers. I think Shift-Opt-Tab conflicts with a relatively obscure shortcut in GNOME/KDE, but the few people that will care about textual unindentation and are using Linux are smart enough to change their settings anyway?

Just a quick note that Option is only available on Macs. I primarily use Linux and secondarily Windows. None of my machines have an option key, rendering useless any shortcuts which use it.

Consider the Opt key synonymous with the Alt key.

I’m sorry if I haven’t brought up this point earlier, but requiring a new, more complex shortcut would confuse the people who only want to unindent in-place. From the number of requests we’ve received, that’s not just one or two people. Basically I think that’s too much of a change for people who’re perfectly enjoying it at the moment :frowning:

What about this: we add two empty shortcuts, for (1) unindent structurally and (2) un-indent in-place respectively, and these two shortcuts will override the default “Unindent items in-place” setting.