Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 320416 - Improve usability of editors in Tigerstripe
Summary: Improve usability of editors in Tigerstripe
Status: VERIFIED FIXED
Alias: None
Product: Tigerstripe
Classification: Technology
Component: UI (show other bugs)
Version: unspecified   Edit
Hardware: PC Mac OS X - Carbon (unsup.)
: P3 enhancement with 5 votes (vote)
Target Milestone: 0.5M0   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-07-20 12:16 EDT by Navid Mehregani CLA
Modified: 2010-08-30 11:53 EDT (History)
3 users (show)

See Also:


Attachments
Attaching PDF submitted by Yuri and Alena (225.97 KB, application/pdf)
2010-07-20 12:19 EDT, Navid Mehregani CLA
no flags Details
Patch (117.68 KB, patch)
2010-07-23 04:07 EDT, Alena Repina CLA
no flags Details | Diff
Patch (5.13 KB, patch)
2010-07-26 06:39 EDT, Alena Repina CLA
no flags Details | Diff
Screenshot (70.85 KB, image/png)
2010-07-26 10:19 EDT, Navid Mehregani CLA
no flags Details
Screenshot (More changes) (72.91 KB, image/png)
2010-07-26 12:29 EDT, Navid Mehregani CLA
no flags Details
Patch (6.09 KB, patch)
2010-07-27 02:21 EDT, Alena Repina CLA
no flags Details | Diff
Patch (177.40 KB, patch)
2010-07-29 03:03 EDT, Alena Repina CLA
no flags Details | Diff
Patch (67.70 KB, patch)
2010-07-29 11:04 EDT, Alena Repina CLA
no flags Details | Diff
Project Descriptor (71.47 KB, image/png)
2010-08-11 18:57 EDT, Navid Mehregani CLA
no flags Details
Plugin editor (81.99 KB, image/png)
2010-08-11 18:59 EDT, Navid Mehregani CLA
no flags Details
Extra space in attribute, constant, and method lists (69.54 KB, image/png)
2010-08-11 19:30 EDT, Navid Mehregani CLA
no flags Details
extra space between key/value pairs when an attribute, constant, or method is selected. (21.72 KB, image/png)
2010-08-11 19:31 EDT, Navid Mehregani CLA
no flags Details
Entity form editor (44.21 KB, image/png)
2010-08-27 17:02 EDT, Navid Mehregani CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Navid Mehregani CLA 2010-07-20 12:16:40 EDT
Build Identifier: 

Most of the Tigerstripe form editors have common usability issues that need to be addressed.  These issues include (but are not limited to):

- Lack of good use of the real estate in the editor.  There is unnecessary white space
- The general layouts needs to be improved
- Some of the buttons and/or other widgets are not properly aligned
- Some of the controls are "hidden".  They should be rearranged to make them more visible
- There are small scrollable regions displayed in the forms which should be resolved
- Hor/Ver layout buttons should be removed
- Some of the controls need to resized
- Promote consistency throughout all the editors.  Example: Some of the editors use Sections and some of them use Expandable Composites to display information


The following is a list of usability defects that apply to Tigerstripe editors:

Bug 319497 - A long description confuses the form layout for a project descriptor file
Bug 320049 - Some of the form sections are collapsed by default when they should really be expanded
Bug 320050 - Edit button for stereotypes that can't be edited should be disabled
Bug 320053 - Layout of Stereotype page of Profile editor needs to be fixed	
Bug 320054 - Stereotype selection changes when Profile editor is saved	
Bug 320055 - Problems with naming valid values for a list attributes
Bug 320056 - A long description for a primitive type causes a horizontal scroll bar
Bug 320105 - Return value of stereotype is not displayed on form
 

Reproducible: Always
Comment 1 Navid Mehregani CLA 2010-07-20 12:19:07 EDT
Created attachment 174765 [details]
Attaching PDF submitted by Yuri and Alena
Comment 2 Yuri Strot CLA 2010-07-21 06:19:08 EDT
Descriptor editor was improved:
- Removed unnecessary white space, Hor/Ver buttons, unnecessary scroll bars
- Improved layout to avoid "hidden" controls
- All elements resized and aligned properly
Comment 3 Navid Mehregani CLA 2010-07-21 13:06:24 EDT
Thanks Yuri! The project descriptor editor looks better, but we need to make further changes:

- The 'Project Defaults' Section under Overview should be expanded by default.  It's currently collapsed when the file is initially opened.  Similarly 'Generation' Section under Advanced Settings should be expanded by default as well.  See bugzilla#320049 for more details

- Under 'Overview', typing in a long description for the project still screws up the layout.  See bugzilla#319497 for more details

- Under 'Overview' page > 'Descriptor Content' Section, the following text:
  "General Informations: containing high level information about the project."  should be changed to
  "General Information: contains high level information about the project.".  The 'S' in informations has been removed and 'containing' was changed to 'contains'.

- The text appearing under 'Project Defaults' section
 "To set default values to be reused across multiple Tigerstripe Projects, please use the Tigerstripe preferences page."
  should be moved under Project Descriptor instead.

- Clicking on the 'preferences' link in the above mentioned text will just open the preferences page as opposed to selecting the Tigerstripe preference page.  Similarly, clicking on the 'Tigerstripe Generation Preferences' link under Advanced Settings page will do the same thing.  Both of these links should jump to the correct preferences page instead.

- Dependency page needs to be cleaned up (See bugzilla#319864 for more details).  Note that this will require more than UI changes hence we probably should handle it separately in its own defect.  I'm just making a reference to it here so it doesn't fall through the cracks.


Let me know if you have any question/concerns.
Comment 4 Richard Craddock CLA 2010-07-22 04:49:17 EDT
In the Generator descriptor :

The Global Properties section in the Properties Tab should be expanded by default

In The Runtime setion , the Hor and Ver buttons appear
Comment 5 Richard Craddock CLA 2010-07-22 04:51:21 EDT
In both  the Project and Generator descritor editors

As you shrink the ediotr window horizontally, the layout gets Very strange. 

We need to set sme minimum widths on some of the sections/controls 

The Artifact Editors handle this much better.
Comment 6 Alena Repina CLA 2010-07-23 04:07:12 EDT
Created attachment 175042 [details]
Patch

I've improved "Overview" page layout. It affects all artifact editors. List of changes:

1. Removed unnecessary whitespaces.

2. Too long description doesn't screw up the layout any longer.

3. "Stereotype" section style changed to be consistent with other sections.

4. Improved master/details parts ("Attributes", "Constants", "Methods").

The huge problem was related to implementation of SashForm that is used to display master/details sections. Its implementation was adding scrolls to the details section rather than trying to decrease it.

I've found some workaround to avoid vertical scrolling in the details section (the height of the master section is set depending on the height of the details section).

Also I've done my best to avoid gorizontal scrolling in the details section. It might appear only if there's no space to display such elements as radio buttons. In any case, the user can adjust widths of master and details sections by moving a sash.

Unresolved problem:

Too long text in single-line text fields screws up the layout. Now I have no idea how to fix it :(
Comment 7 Alena Repina CLA 2010-07-23 04:11:07 EDT
What is left to be done:

- improve "End Details" sections in Association editor and Dependency editor
- fix Tigerstripe Descriptor Editor accoding to comments above
- improve Tigerstripe Plugin Descriptor Editor
- improve Tigerstripe M0-Level Generator Descriptor Editor
- improve Workbench Profile Editor

Also I have some questions:

1. I was thinking about separating "End Details" section in two sections "aEnd Details" and "zEnd Details" and place them in two columns. What do you think about it?

2. Also I've found several pages which are not likely be shown ever:

org.eclipse.tigerstripe.workbench.ui.internal.editors.artifacts.datatype.OssjDatatypeSpecificsPage
org.eclipse.tigerstripe.workbench.ui.internal.editors.artifacts.entity.OssjEntitySpecificsPage
org.eclipse.tigerstripe.workbench.ui.internal.editors.artifacts.enumeration.OssjEnumSpecificsPage
org.eclipse.tigerstripe.workbench.ui.internal.editors.artifacts.event.OssjEventSpecificsPage
org.eclipse.tigerstripe.workbench.ui.internal.editors.artifacts.exception.OssjExceptionSpecificsPage
org.eclipse.tigerstripe.workbench.ui.internal.editors.artifacts.packageArtifact.PackageSpecificsPage
org.eclipse.tigerstripe.workbench.ui.internal.editors.artifacts.query.OssjQuerySpecificsPage
org.eclipse.tigerstripe.workbench.ui.internal.editors.artifacts.session.OssjSessionSpecificsPage
org.eclipse.tigerstripe.workbench.ui.internal.editors.artifacts.updateProcedure.OssjUpdateProcedureSpecificsPage
Comment 8 Yuri Strot CLA 2010-07-23 06:53:13 EDT
Applied Alena's patch.
Comment 9 Alena Repina CLA 2010-07-26 06:39:55 EDT
Created attachment 175209 [details]
Patch

List of changes for Project Descriptor Editor:

- "Overview" page > "Descriptor Content" section: Text "General Informations: containing high level information about the project." was changed to "General Information: contains high level information about the project."

- "Overview" page > "Project defaults" section: Link "preferences" open "Tigerstripe > General" preferences.

- "Advanced Settings" page > "Generation" section: Link "Tigerstripe Generation Preferences" open "Tigerstripe > Generation Preferences" preferences.
Comment 10 Alena Repina CLA 2010-07-26 06:53:19 EDT
Hi Navid,

Recently, you wrote that the text appearing under 'Project Defaults' section "To set default values to be reused across multiple Tigerstripe Projects, please use the Tigerstripe preferences page." should be moved under Project Descriptor instead.

Sorry, it's not clear for me what section do you suggest to move this text in? Looks like this text is related to section 'Project Defaults'.

Kind Regards,
Alena
Comment 11 Yuri Strot CLA 2010-07-26 07:57:45 EDT
Applied Alena's changes.
Comment 12 Navid Mehregani CLA 2010-07-26 10:18:45 EDT
(In reply to comment #10)
> Hi Navid,
> 
> Recently, you wrote that the text appearing under 'Project Defaults' section
> "To set default values to be reused across multiple Tigerstripe Projects,
> please use the Tigerstripe preferences page." should be moved under Project
> Descriptor instead.
> 
> Sorry, it's not clear for me what section do you suggest to move this text in?
> Looks like this text is related to section 'Project Defaults'.
> 
> Kind Regards,
> Alena

Alena,

Please see attached screenshot for more details...
Comment 13 Navid Mehregani CLA 2010-07-26 10:19:19 EDT
Created attachment 175222 [details]
Screenshot
Comment 14 Navid Mehregani CLA 2010-07-26 10:26:38 EDT
(In reply to comment #7)

> Also I have some questions:
> 
> 1. I was thinking about separating "End Details" section in two sections "aEnd
> Details" and "zEnd Details" and place them in two columns. What do you think
> about it?
> 

Makes sense to me.  For the section titles, I think we should also include the name of association ends in brackets.  Example "aEnd (author)" and "zEnd (books)".

> 2. Also I've found several pages which are not likely be shown ever:

Not sure what we want to do about these.  Richard, any comments?  I can review these later.  If there is no use for them, I'll remove them.
Comment 15 Navid Mehregani CLA 2010-07-26 12:29:32 EDT
Created attachment 175239 [details]
Screenshot (More changes)

Here are some more changes:

- Constant section should be removed from Datatype and Entity editors per bug#320922
- There should be a new page introduced in the editors to hold Attribute and Methods of an artifact.  These sections should be removed from Overview page  (see attached screenshot for more details)
- Source page should be the last page displayed.
- We should investigate how hard it would be to use the same TextPresentation used in Java's editor to get the same text highlighting as Java'a editor when Source page is viewed.  However, this will add an extra JDT dependency to our code, which we don't want.  Treat this item as low priority.
Comment 16 Navid Mehregani CLA 2010-07-26 21:56:29 EDT
(In reply to comment #15)
> Created an attachment (id=175239) [details]
> Screenshot (More changes)
> 
> Here are some more changes:
> 
> - Constant section should be removed from Datatype and Entity editors per
> bug#320922
> - There should be a new page introduced in the editors to hold Attribute and
> Methods of an artifact.  These sections should be removed from Overview page 
> (see attached screenshot for more details)
> - Source page should be the last page displayed.
> - We should investigate how hard it would be to use the same TextPresentation
> used in Java's editor to get the same text highlighting as Java'a editor when
> Source page is viewed.  However, this will add an extra JDT dependency to our
> code, which we don't want.  Treat this item as low priority.

Other than 'Source' being the last page, please hold off on making the other proposed changes, since the details are still being worked on.
Comment 17 Alena Repina CLA 2010-07-27 02:21:34 EDT
Created attachment 175292 [details]
Patch

This patch replaces mentioned text from 'Project Defaults' to 'Descriptor Contents' section.
Comment 18 Alena Repina CLA 2010-07-29 03:03:35 EDT
Created attachment 175456 [details]
Patch

List of changes:
- replaced 'Source' page to the last position
- separated "End Details" section in two sections "aEnd Details" and "zEnd Details" and placed them in two columns (for Association Editor and Dependency Editor)
- improved Profile Editor layout including fixed bug#320053 and bug#320056
Comment 19 Alena Repina CLA 2010-07-29 11:04:14 EDT
Created attachment 175505 [details]
Patch

List of changes:
- improved Facet Editor
Comment 20 Navid Mehregani CLA 2010-08-11 18:55:39 EDT
(In reply to comment #19)
> Created an attachment (id=175505) [details]
> Patch
> 
> List of changes:
> - improved Facet Editor

Thanks Alena for your patches.  It seems like Yuri has already applied these.  After testing your latest changes and reviewing the previous comments in this bugzilla, here are the list of things that remain to be changed:

1) Description section of project descriptor is too wide.  This is due to the latest changes.  See attached screenshot for more details.

2) Profile descriptor layout screws up when you specify a long description, save it and open it (See bug#322443 for more details).

3) Improve Tigerstripe Plugin Descriptor Editor (Rules and Runtime pages need to be cleaned up)

4) Improve Tigerstripe M0-Level Generator Descriptor Editor (Again Rules and Runtime pages need to be cleaned up)

5) Improve Workbench Profile Editor (General Information section is much wider than 'Profile Content' as indicated in attached snapshot).

6) Right now when you initially open up most of the editors, the focus is set on the Form's title (see attachment under bug#322443).  On mac, this isn't displayed properly.  It looks like the text has been cut off.  We should set the focus on something else instead (e.g. on the first editable text box).  It doesn't make sense to have the focus on the title anyway.

 Default selection should be changed.
Comment 21 Navid Mehregani CLA 2010-08-11 18:57:13 EDT
Created attachment 176417 [details]
Project Descriptor 

The 'Descriptor Content' is much wider than it needs to be.
Comment 22 Navid Mehregani CLA 2010-08-11 18:59:23 EDT
Created attachment 176418 [details]
Plugin editor

General Information section is much wider than it needs to be.
Comment 23 Navid Mehregani CLA 2010-08-11 19:28:17 EDT
Here are the problems with the Entity editor (Other artifact editors should be checked for similar problems):

- Details section is much wider than it should be
- Attribute, Constant, and Method lists are much bigger than they should be.  They appear to have an extra column.  The list should be made smaller (see attached screenshot)
- There is a lot of unnecessary space between the key/value pairs when an attribute, constant, or method is selected (see attached screenshot)
Comment 24 Navid Mehregani CLA 2010-08-11 19:30:18 EDT
Created attachment 176419 [details]
Extra space in attribute, constant, and method lists
Comment 25 Navid Mehregani CLA 2010-08-11 19:31:29 EDT
Created attachment 176420 [details]
extra space between key/value pairs when an attribute, constant, or method is selected.
Comment 26 Navid Mehregani CLA 2010-08-11 20:09:02 EDT
Another problem with Entity editor: add an attribute/constant/or method > Save the file, the newly created item gets deselected and in some cases the editor scrolls up to the beginning of the page.
Comment 27 Yuri Strot CLA 2010-08-27 11:25:23 EDT
I think this issue completely fixed now. The only thing I'm not sure is scroll up to the beginning of the page. I can't reproduce it but we didn't fix it consciously.
Comment 28 Navid Mehregani CLA 2010-08-27 16:02:04 EDT
Thanks Yuri!  We're almost there...

I found a regression and a couple of other things that need to be addressed:

1) Clicking on the 'Attribute', 'Constant', and 'Method' links in the Entity editor no longer work as expected.  They don't jump to the appropriate section.  

2) Under M0-level project descriptor > Rules page > Global Rules should be expanded.  It's the only section on this page.

3) Column sizes still need to be adjusted.  See https://bugs.eclipse.org/bugs/attachment.cgi?id=176419 for more info.  Look at the Attribute, Constant, and Method lists in Entity editor.   I think there are other lists in the forms that have this problem.
Comment 29 Navid Mehregani CLA 2010-08-27 17:02:41 EDT
Created attachment 177648 [details]
Entity form editor

Another inconsistency is in the Entity form editors.  Between the Extends and Implementations fields.  The text box for one of them is read-only and the other one is writable.  The labels on their corresponding buttons are not consistent either.  They should both be 'Select'.  See attached snapshot.

Note that the Extends field also appears in Session Facade Artifact.
Comment 30 Yuri Strot CLA 2010-08-30 10:38:19 EDT
Fixed all issues except column sizes. The last issue is common for all SWT tables on Windows. So you can see something similar in the Problems view or Error Log. The problem is SWT table on Windows doesn't resize its columns when table was resized. So you can always see "empty column" after resize.

However we can create custom TableColumnLayout to handle table resizing and updates columns properly. Is it make sense?
Comment 31 Navid Mehregani CLA 2010-08-30 10:46:27 EDT
(In reply to comment #30)
> Fixed all issues except column sizes. The last issue is common for all SWT
> tables on Windows. So you can see something similar in the Problems view or
> Error Log. The problem is SWT table on Windows doesn't resize its columns when
> table was resized. So you can always see "empty column" after resize.
> 
> However we can create custom TableColumnLayout to handle table resizing and
> updates columns properly. Is it make sense?

Hey Yuri,
No need to create a custom TableColumnLayout.  I know this is a common SWT problem.  I was thinking of handling it in a different way, but now that I think about it, it may be too much work than I originally expected.  

If you've addressed all the other problems, please feel free to mark this defect as fixed.  I'll then proceed with verifying everything.

Thanks!
Comment 32 Navid Mehregani CLA 2010-08-30 11:53:11 EDT
Fixed by Yuri
Comment 33 Navid Mehregani CLA 2010-08-30 11:53:30 EDT
Verified.  Thanks!