A few months back I solicited responses on the use-livecode mail list to the general question--What do new users (or even experienced users) find confusing about the LiveCode IDE? Now that the IDE has gone/is going open source on github, I thought I'd post the list here as food for thought:
LiveCode Interface Oddities and Obstacles
From Devin Asay:
Images and lockLoc
One of the most confusing things to new users is the requirement to lock size and location of images after you have resized them. If you don't they revert to their original size when you leave the card and return. Why not make this settable with a property?
Closely related: Why are lock size and lock location controlled by a single property?
Lack of reliable Undo
No auto-save to assist in recovery from crashes
Initial Startup State: What can I do, how do I start?
Stacks--closed but still in memory
By default closing a stack keeps the file open. This is one of the biggest sources of confusion and frustration for new users. It is too easy to save and close a stack window, then inadvertantly open an older version of a stack and then make the wrong choice on the confusing Save-Purge-Cancel dialog. Often the new user is convinced that all of their recent work has simply vanished, when in reality they just opened the wrong version of the stack. The default behavior should be that when a stack window is closed it is also removed from memory. I realize there are good and valid reasons for the current behavior, but it is confusing and offputting for new users. Experienced users can easily change the behavior.
Color selectors, graphics effects, gradient interface
Graphic Effects Filters: What are Gaussian, Box 1, 2, and 3?
Color selectors: When changing color settings you can bring up the color selector by clicking once on the color box. However, if you want to change colors for graphics effects you have to double click on the color box.
To create most control objects you drag an icon from the Tools palette, or double click a tool on the Tools palette. But creating a graphic object is modal--you select the graphic type, then click and drag to "draw" the graphic. Once you have finished creating the graphic you are still in create graphic mode and subsequent clicks will create a new graphic object. You have to choose the Edit tool to select your created graphic object.
Graphic object gradients: the From, To and Via gadgets are unusual, but not too hard to use and get used to. The problem is that because the edit gadget dots can be pulled outward to lengthen the connecting lines, it is easy to pull one of them out of the visual area of the card, making it difficult to edit later.
From Pete Haworth:
One thing that confused the heck out of me at the start is how the menu bar
changes depending on whether a stack or the script editor is in front (this
is on OSX).
When in the script editor, the menu bar shows File, Edit, Debug, Handler,
Window, Help and the File menu has no entries to open a stack, etc. When
on a stack, it shows File, Edit, Tools, Object Text, Development, View,
So if I'm in the script editor and close all the open stacks, there is no
way to open another stack without opening either the application browser or
the Tools palette (and maybe other IDE stacks), neither of which I use.
I'm sure this is a result of Apple's HIG but I have to say things work much
better in this regard on Windows, where the script editor related menus are
in the script editor itself.
From Mark Wieder:
The contextual menu that pops up when you right-click on a control is
different from the one that pops up when you right-click a stack,
which is different from the one that pops up in the Application
Browser, which is different from the one that pops up in the Project
Drives. Me. Crazy.
Why are Edit Script and Property Inspector swapped?
Why can you Cut/Copy/Paste a control but not a card?
Why is copying a card so hard?
The Property Inspector changes size depending on what you're looking
Why do I have to bring up the Property Inspector at all (and then
change the context to Contents) in order to change the text of a label
(or other) field? Yes, I made a plugin (as have we all) that lets me
double-click a label field to edit the text, but why should I have to
I always get the Size and Position scale arrows wrong on the Property
Inspector. I keep expecting the uparrow to increase the value, no
matter how much experience I get fiddling with it.
From Mike Kerner:
Try resizing something, or using the alignment tools.
I just ran into this, again, this week, when I was trying to fix a vertical
line. The line is too short, so I changed the length. The line
lengthened, UPWARD. So I then changed the top of the line, thinking that
would help me except the bottom stayed and thus the line was shorter,
again, but I missed that the "resize" checkbox was unchecked - because, if
you don't have "resize" checked, then when you change a coordinate of an
object, it just moves the object.
What's even weirder about that is that normally, now, when I create a line,
if I resize it I get the even more bizarre behavior of having the line
lengthen in BOTH directions with the center fixed, which is generally
followed by my shaking my monitor and screaming at it.
Now, go try to use the equalize/align/distribute tools. Throw three or
four objects on a card and use them.
If you have your lappie hooked to two monitors at work, and you use both
monitors, and then you go home, guess what happens to windows, especially
on a Mac, where you are using multiple workspaces? That's right, the
windows, even the LC development windows, are off-screen somewhere at
3750,150, and your only hope of getting them back is to figure out what the
name of the development window is (say, the message box, or a properties
palette, or maybe the script editor" and then going to the message box and
moving it manually.