Unintuitive user interface

123 views
Skip to first unread message

Vedran Čačić

unread,
Aug 4, 2020, 5:44:09 AM8/4/20
to leo-editor
I really want to use Leo. I think the premise is great. However, I think the interface has so many pitfalls for beginners, and since you all probably use Leo for a long time, you don't really see it. I've been struggling with it for a week already.

First, when I start Leo, sometimes it opens the default document (with the help), sometimes it opens the last opened one, and sometimes it just opens new document. I still haven't been able to see when each of these happens.

Second, inserting nodes. Yes, I know I can press Insert. But whether it will insert new root node or a child of already selected one (or even a child of last node) seems simply random. And of course, according to Murphy, it's always the action that I don't want. :-/

Third, moving nodes. I still don't understand what Promote and Demote does, not to mention that on my keyboard Ctrl+{ and Ctrl+} doesn't work (it probably works only on US keyboard). I really think there should be an easy way to move the nodes around, after all it seems like a main feature of Leo.

Fourth, help is abysmal. None of the above things I could find in help. Example: I press F1, and get (it's not even copy-pasteable?!):

Alt-0 hide this message (ok, that's nice to know)
To learn about <Alt-X> commands... sorry, I don't know whether I want to learn about <Alt-X> commands. I don't know what <Alt-X> command _is_, anyway. I just want to move a node under another one.
To get a list of help topics... great, I think. I type <Alt-X>help-<tab>, and get a list with only three items, none of which is relevant. Only afer a long time, I notice the scrollbar - the contrast is almost nonexistent. :-/ And yes, I find help-for-drag-and-drop, click on it, and... nothing happens. Oh, I have to type it again? Ok, but why? Couldn't this work the same way as the outline?

And after all that, I get (again, un-copy-pasteable) "you may drag nodes". Yes, I know I can drag them, that's the first thing I tried. The problem is, it almost never works. Sometimes I get a child of the node I dragged to, sometimes I get its sibling. And sometimes it doesn't work at all. The nodes just stay where they are.

Other help options are the same as "Alt-X" above... they pressupose a lot of knowledge about Leo I don't already have. For example, how to find about inserting nodes? It's not mentioned anywhere that I see. I got lucky with Insert key, but as can be seen above, I'm still not sure what exactly it does.

If you really want Leo to be used by new users, you have to work on this. Maybe just help needs to be reworked, now it seems like a reference. Maybe my mindset is wrong... I have never really used Emacs, and the interface is obviously based on it. :-/

Thomas Passin

unread,
Aug 4, 2020, 9:40:49 AM8/4/20
to leo-editor
You are so right about this.  I use Leo  a lot, and as you say, I have worked out ways to work with it.  But I don't know about many basic things because I haven't encountered the right bit of documentation.  For example, I didn't know that <INSERT> would insert a new node.

Because Leo can do so many things, and has so many commands, it's hard to know how to write useful HELP material.  After one has used it for some time, it gets, as you say, hard to realize that a new user may not be able to find the things you do all the time.  On top of that, documentation is spread around through various places.

As for Leo unpredictably opening one file or another on startup, I have never experienced that.  When I first started using Leo, it automatically created and opened workbook.leo, and since I leave it opened, it's always there.  I first used it back in version 4.something and we're now at 6.2.x, but I think it still works that way.  So something quirky is happened for you.  Maybe someone else knows about it.

If you haven't tried yet, configuration can be awful unless you find the exact string to add or change, and its location, because someone else published it somewhere.

Despite these problems, I have found Leo so good to work with that I have been willing to live with its HELP and configuration weaknesses.  Personally, I think that we - the Leo community - should take on a project to produce at least a good introductory HELP system.  There are several documents, but as you have clearly told us, they aren't up to the job.  The trouble is, the work would take a lot of time and effort, and isn't very interesting to most people.  Of those who pass those filters, few of them are able to re-create what it's like to be a beginner, and to know how to organize the material to be highly helpful.

These difficulties aren't unique to Leo, of course.  You should hear my Significant Other complain about the LibreOffice word processor, since it sometimes works differently from Word.  But Leo's outline machinery works so differently from what most people are used to that it may be harder for them to get started.  If you can get past this newbie period, you may find (like I did) that Leo is worth it.

Here are the commands that I use for basic Leo operations on the outline - I learned them from the Outline Menu:

- For inserting a node, I always use <CNTRL-I>.  This always puts the new node just under whichever node is already selected in the outline.

- For moving a node, I always use <CTRL-u> for UP, CNTRL-d for DOWN.

- For moving a node sideways, I use <CNTRL-r> for RIGHT (i.e., indenting it: making it a child node of the one above), <CNTRL-l> for LEFT.

- For copying a node, I would use <CNTRL-SHIFT-C> but it doesn't work on my keyboard (a new wireless Logitech) so I resort to using the Outline menu.

- For pasting a copied node, I use <CNTRL-SHIFT-V>, which my keyboard is willing to emit.

Félix

unread,
Aug 4, 2020, 10:28:17 AM8/4/20
to leo-e...@googlegroups.com
Hi!

I also use the set of shortcuts Tomas has proposed. I've also never had inconsistencies with ctrl+i for insertion.

About promote/demote :  yeah..... :/ ...I've also never used the shortcuts because ctrl+{ nor ctrl+} dont work for me. (pyqt/tlcTk must use the ascii code instead of the keyboard scancode I dunno )

Also - I never know what those do... There should be a label beside or underneath in the menu that states "Promotes childs of the selected node" or "Promotes the selected by demoting its children" to make it clear what is promoted / demoted and what stays...  as its ambivalent...  always have to try it , undo, realize I wanted the other one... (with a node being selected, calling a command "promote" or  "demote", only, has an unclear meaning)
--
Félix

EDIT: TYPO

Thomas Passin

unread,
Aug 4, 2020, 11:18:34 AM8/4/20
to leo-e...@googlegroups.com


On Tuesday, August 4, 2020 at 10:28:17 AM UTC-4, Félix wrote:
Hi!

I also use the set of shortcuts Tomas has proposed. I've also never had inconsistencies with ctrl+i for insertion.

About promote/demote :  yeah..... :/ ...I've also never used the shortcuts because ctrl+{ nor ctrl+} dont work for me. (pyqt/tlcTk must use the ascii code instead of the keyboard scancode I dunno )

Same here - I didn't include their shortcuts because I simply don't use them.  <CNTRL-r> and <CNTRL-l> do the job well, and they seem mnemonic for me personally.

Vedran Čačić

unread,
Aug 4, 2020, 5:05:57 PM8/4/20
to leo-editor
Thank you all. Yes, Ctrl+R/L/U/D is very nice, _once you find it_, but it's completely nondiscoverable. What editor besides Leo uses such a scheme??

Also, I apologize about "which file Leo starts with", that was my fault, I was root at one point. But I was root because of Leo, I tried to change configuration and couldn't.

Also, I saw there is a Tutorial in Help menu, I think it would help very much if it was listed among options when you press F1. I somehow assumed that Help menu is just a subset of F1-menu, and it really isn't.

Félix

unread,
Aug 4, 2020, 6:55:25 PM8/4/20
to leo-editor
No other editor uses ctrl+u, d, l or r. But on the other hand, i dont know of any other outline editor 😄

Thomas Passin

unread,
Aug 4, 2020, 10:03:19 PM8/4/20
to leo-editor


On Tuesday, August 4, 2020 at 5:05:57 PM UTC-4, Vedran Čačić wrote:
Thank you all. Yes, Ctrl+R/L/U/D is very nice, _once you find it_, but it's completely nondiscoverable.

Well, not *completely*, since I did find them.  With new programs, I usually try to find operations and shortcuts in the menus first. Now I'm looking at the menus again, and I notice <CNTRL-INSERT> for the first time, to insert a child node.  Maybe I will be able to remember that enough times to have it get burned in.

BTW, I recommend using the NAV tab for most routine searching.

Edward K. Ream

unread,
Aug 5, 2020, 1:29:33 PM8/5/20
to leo-editor
On Tue, Aug 4, 2020 at 4:44 AM Vedran Čačić <ved...@gmail.com> wrote:

when I start Leo, sometimes it opens the default document (with the help), sometimes it opens the last opened one, and sometimes it just opens new document. I still haven't been able to see when each of these happens.

When you don't specify a file, Leo should open the last file or files you were editing previously. The first time you open Leo, Leo will open the workbook file.

Second, inserting nodes. Yes, I know I can press Insert. But whether it will insert new root node or a child of already selected one (or even a child of last node) seems simply random.

Leo will insert a new node as the first child of the presently selected node (c.p) if and only if c.p has children and c.p is already showing its children. In practice, this behavior is natural.

I still don't understand what Promote and Demote does,

By default, F11 is bound to help-for-command.  F11 promote shows:

"Make all children of the selected nodes siblings of the selected node."

So the promote command does nothing unless c.p has children (hidden or not).

F11 demote shows:

Make all following siblings children of the selected node.

So demote does nothing unless c.p has siblings that follow c.p.

not to mention that on my keyboard Ctrl+{ and Ctrl+} doesn't work (it probably works only on US keyboard).

Ctrl+{ means Ctrl+Shift+[ and Ctrl+} means Ctrl+Shift+]

I really think there should be an easy way to move the nodes around, after all it seems like a main feature of Leo.

There are many ways to do this, all of them straightforward. I usually move nodes with Shift-Arrow keys. This works provided the outline pane has focus.

Fourth, help is abysmal. None of the above things I could find in help. Example: I press F1, and get (it's not even copy-pasteable?!):

I agree, help could be improved. I'm glad you asked for help here.

Edward

Félix

unread,
Aug 5, 2020, 4:14:06 PM8/5/20
to leo-editor
Ah! So it should be understood/named as "promote children" (its children become siblings) and "demote siblings" (siblings become its children)

... if I got it right?

--
Félix

Félix

unread,
Aug 5, 2020, 4:24:57 PM8/5/20
to leo-editor
those 2 have thrown me off for years so i'm thinking of adding the "children/siblings" suffixes to the commands in leoInteg ;)

Edward K. Ream

unread,
Aug 6, 2020, 6:56:49 AM8/6/20
to leo-editor
On Wed, Aug 5, 2020 at 3:14 PM Félix <felix...@gmail.com> wrote:
Ah! So it should be understood/named as "promote children" (its children become siblings) and "demote siblings" (siblings become its children)

Exactly.

Edward

Edward K. Ream

unread,
Aug 6, 2020, 6:59:22 AM8/6/20
to leo-editor
On Wed, Aug 5, 2020 at 3:24 PM Félix <felix...@gmail.com> wrote:
those 2 have thrown me off for years so i'm thinking of adding the "children/siblings" suffixes to the commands in leoInteg ;)

This is a perfectly reasonable thing to do in vs-code, because it's so easy to find commands using the command palette. Leo could also have alternative names for promote and demote, but it wouldn't actually be very helpful.

Edward

Edward K. Ream

unread,
Aug 6, 2020, 7:05:11 AM8/6/20
to leo-editor
On Tuesday, August 4, 2020 at 5:55:25 PM UTC-5, Félix wrote:

> No other editor uses ctrl+u, d, l or r. But on the other hand, i dont know of any other outline editor 😄

As an historical note, the MORE outliner, on which Leo is based, used these key bindings.

For this discussion, remember that leoSettings.leo is a crucial part of the user interface! When in doubt about settings, search leoSettings.leo!

Edward

Thomas Passin

unread,
Aug 6, 2020, 9:06:50 AM8/6/20
to leo-editor


On Thursday, August 6, 2020 at 7:05:11 AM UTC-4, Edward K. Ream wrote:
On Tuesday, August 4, 2020 at 5:55:25 PM UTC-5, Félix wrote:

> No other editor uses ctrl+u, d, l or r. But on the other hand, i dont know of any other outline editor 😄

As an historical note, the MORE outliner, on which Leo is based, used these key bindings.

Dave Winer's old work lives on!  Cool, I didn't realize that.
Reply all
Reply to author
Forward
0 new messages