Regaining IDE Efficiency: Property Inspector

Richard Gaskin ambassador at fourthworld.com
Thu Aug 9 11:14:41 EDT 2018


Inspectors are popular in drawing and layout programs, where object 
properties are relatively limited.

Many (most?) development environments use a property sheet* instead, to 
handle the deep, rich variety of detailed properties developers need to 
control.

Property sheets can help address everything in this list by:

- making better use of space, with more options visible at once

- being more complete, allowing all object properties to be available
   rather than just a selected subset

- providing more efficient navigation; accordion controls have a much
   larger target area than toolbar icons; good ones let you switch
   between grouped categories and one full list sorted by prop name.

- simplifying resizing so the entire resizing complexity goes away

Bonus:

- they're simpler and more cost-effective to develop


Once we extend "the properties" property to handle widgets uniformly 
with LC-engine-native controls, I'll gladly extend my 4W Prop Sheet to 
handle them, and even donate it to the project if they like so they 
won't have to lift a finger beyond providing the uniform access to prop 
arrays.



*If you haven't used an IDE with a property sheet, here's VB's as an 
example:
http://www.afralisp.net/visual-basic-for-applications/tutorials/images/vb-properties.png

-- 
  Richard Gaskin
  Fourth World Systems


Curry Kenworthy wrote:
> As more client projects have caught up with 9, now I'm currently 
> spending the majority of my time in LiveCode 9 IDE. That's both good and 
> bad. The bad is that the 8/9 IDE's UI is much less efficient and much 
> less polished than 6 was. And I'm starting to feel the cumulative impact 
> of the less efficient and more tedious UI during my work! I like an 
> efficient environment. That way I can get more work done in less time 
> for my clients and addon users, and also train people how to accomplish 
> tasks very easily in LC.
> 
> Some time ago I mentioned that the big IDE update was more of a 
> downgrade, when it comes to UI and UX; way too many good things lost in 
> the remake, very obvious to a hands-on user. But specifics were desired, 
> and I didn't have any opportunity to focus on that until now when I'm 
> dealing with these things daily while I work. So I'm starting to compile 
> a big list of the current IDE defects. I will be filing QA report(s) on 
> these soon. Obviously a big win-win for LC.
> 
> Posting here first, in case any of these are already filed (please let 
> me know, I'll sign on) or anything to add.
> 
> I'm starting with the Property Inspector.
> 	
> PI Fields:
> 
> - PI fields don't scroll with mouse scrollwheel. None of them do. 
> (Sometimes the group containing them can do so, but that's not very 
> well-designed or consistent either; more on that below.) Just paste or 
> type more text than the field's current height, and then try the 
> scrollwheel - nothing.
> 
> - PI Tooltip field is short, only one line high, can't resize unless you 
> resize window or visit another tab and back. Window can't resize taller 
> unless you visit another tab; tedious.
> 
> - Some PI fields are resized to their content height, but that causes 
> side effects. If a field contains too much text, the window may be 
> resized extremely short and when changing to other PI tabs, controls 
> won't be shown until you resize the window again, but that doesn't 
> always fix it permanently, more fiddling require as you change tabs. I 
> suggest a better-planned approach to resize, not just fully maximizing 
> the height of all fields, but either way it needs to work smoothly; 
> that's the main thing. The PI is pretty important.
> 
> - Using tab key to cycle through fields, 9 PI usually places cursor at 
> the start of the text, whereas 6 PI selected the entire text. Selecting 
> the entire text was more efficient in most cases.
> 
> PI controls:
> 
> - Sometimes there is plenty of room horizontally for two columns, but 
> the large empty horizontal space is not utilized, requiring a tall PI 
> window.
> 
> - When we have little arrows and also a slider for the same value (such 
> as Blend Level) it serves no purpose for slider click to increment by 1. 
> Little arrows already do that. Those slider clicks should increment by 5 
> or 10.
> 
> - When we have a slider with no field or arrows (such as Effects tab 
> Drop shadow Color Opacity) we need more control and more info. There's 
> no way to even tell what the current Opacity value is! Could be shown 
> via field, tooltip, arrows ... something. Again here, the click 
> increment by 1 doesn't seem very useful.
> 
> - Since effectFilter setting is no longer supported, should it show up 
> in the UI? I would love to have it supported, that would be good for 
> optimization, but otherwise there's no need to see it.
> 
> Custom Properties:
> 
> - Can't resize the Value field. And it doesn't accept the Tab key. 
> (which was also imperfect in 6 but at least accepted.) No wrap control. 
> Currently pretty useless for editing longer text.
> 
> - Faulty window resize. To test, resize to make the PI window very tall, 
> then shorter again. The element list always gets taller with the window, 
> but never contracts again, even when there's only 1 element, so it 
> becomes ridiculously big and the Key and Value fields are no longer in 
> view without scrolling.
> 
> - Value field bug or critical flaw: it is or was easy to lose changes 
> when editing the Value of a prop if you click in the wrong place. Now it 
> seems better testing this time in 901rc1; this may have been fixed already?
> 
> - Inefficient when adding new element, requires extra click from user to 
> select the newly added element, another extra click to select the name. 
> Clicks matter! It could be already opened for editing after creation, 
> with the entire Key field text selected. Or just use the ask dialog as 
> before.
> 
> - Easy to confuse the "Add Array Key" "+" buttons with adding a new 
> element, and that's fine to learn, but even after you learn it, it's 
> still easy to click by accident. Then there's trouble; if you didn't 
> want an array, the problem is that you've permanently lost the original 
> Value for that key. That may be a big important text that is nontrivial 
> to lose with a single click! Prop values are important. Possible fix by 
> putting the original value into the value for the newly created 
> subelement when changing a single element into an array.
> 
> PI window and tabs:
> 
> - The PI tabs (Basic, Contents, Custom...) are one thing that is almost 
> more efficient now than in 6. Good! But still needs improvement. I say 
> "almost" efficient because the little tab buttons are way too small - 
> about 11x10 px on my screen. That's takes more effort and concentration 
> to click, and these are your highest-traffic PI controls. Even 16x16 
> would be an improvement. Unless there's already a setting for this that 
> I missed.
> 
> - The little target icon in the tab bar to "Select object to inspect" 
> usually does not actually select the object! But sometimes it does; 
> inconsistent. Unless there's a trick I need to learn. And no, I never 
> touch the lock. I hate the need to type a select command in the message 
> box (for a control or group that's hard to select by mouse) when this PI 
> select button is glitchy.
> 
> Good start?
> 
> Best wishes,
> 
> Curry Kenworthy




More information about the use-livecode mailing list