Posts Tagged ‘ui’

TrueView Maintenance Release 1.3.0908.21

Friday, August 21st, 2009

The latest release has some UI fixes for TrueView, and mapping fixes for DataBridge.  Download it here.

TrueView Fixes

  • UI now shows changes if entities are modified inside constructors
  • Corrected treenode selection when removing a previously selected node
  • Fixed race condition when opening Entity property nodes
  • Entity Property treenode no longer renders with the Entity’s style
  • Fixed window layout for magnetic windows
  • Fixed window positioning when overlaying windows
  • Correctly identifies the top-most window in multi-monitor mode
  • Exceptions when retrieving Summary value are no longer fatal
  • Fixed Search Results window ownership in MyApplication.Load<T>(query, parameters)
  • Shortcut key presses are now handled for multi-monitor mode

Enhancements

  • ‘Short’ values now have smaller widgets (Strings)
  • Improved ‘Version Check’ dialog messages

DataBridge Fixes

  • Corrected writing of Component properties
  • Fixed Foreign Key names for Entity properties of the same type

Multi-monitor support and popup Search Queries

Monday, August 10th, 2009

The latest release includes 2 very useful UI features:

Multi-monitor support

This option is specially useful when you’re demoing to others, and can be enabled from Tools->Options->UI Settings->Allow MultiMonitor Use. All subsequent windows will open outside of the Workbench, allowing them to be dragged to other monitors.

Popup Search Dialogs

Although drag & drop is very powerful, not all users are comfortable with it, instead preferring to select items from a list.  With this is mind, a new context menu item was added:

popup-search-dialog-for-entity-property

Selecting this will open a Search Dialog, where the user can query and select an Entity.  It also works for EntityList properties (multiple Entities can be selected in this case):

popup-search-dialog-for-entitylist-property

It’s also possible to pre-load the popup search dialog using Query Specifications.  See the section “Pre-filtered Search Query Dialogs” in the user guide to learn more.

TrueView Release 1.2.0905.22 – Maintenance release, performance improvements

Friday, May 22nd, 2009

This release has some major UI rendering improvements, and a couple of enhancements to aid usability. TrueView DataBridge also has a couple of small fixes.  Download them here

Enhancements:

  • Drag/drop tip now explains the drop action
  • Drag/drop tip now tries to stay on-screen, regardless of curson position
  • Now allows new entities to be added to unsaved parent entities
  • “Save This” tooltip now shows reason for being disabled (where applicable)
  • Removed duplicate results in Search window
  • Friendly names are now generated for generic lists
  • Improved icons bitmap scaling quality
  • Removed error messages when using IQuerySpecification with FilePersistence provider class

Fixes:

  • UI refresh now updates all Entities
  • Fixed stack overflow when tracking dirty entities in circular object graphs
  • Corrected tracking of entities that are removed from lists
  • Dynamic listbox ensures that property value is automatically loaded
  • Fixed NullReferenceException when pressing Enter in an empty Queries List
  • Fixed DataTimePicker background colour on Windows Vista
  • Removed system beeps when entering/exiting edit controls (NumericUpDown is still a problem)
  • Correct sizing of PropertyGrid columns
  • Corrected enabled state for “Save This” menu item
  • Corrected bold text clipping in Search treeview
  • Allow NHibernate to use reflection-optimizer if configured to do so
  • Menu and toolbar items are now updated if Undo/Redo fails
  • Better alignment of Boolean radio-buttons
  • Better sizing of bitwise(flag) enum listbox
  • String compacting algorithm no longer creates null-terminated strings

Optimisations:

  • Massive improvements to UI rendering performance
  • Reduced startup time in MyApplication.Initialise (i.e. for unit testing)
  • FilePersistence now flushes to disk less frequently
  • Improved string building performance

Known issues:

  • NumericUpDown editor still beeps when Enter is pressed
  • Search Query Editor window doesn’t hide Boolean editors immediately (need to hit Escape twice)

The reality of UI mock-ups and DDD

Thursday, March 19th, 2009

Casey Charlton is writing a sample application using DDD.  His first step was to create a UI mock-up to reflect a user story :(

“What’s so bad about that?” I hear you cry.  Well, here’s the problem:

UI prototyping is great for defining how a person is going to solve a business problem.  It’s not great at defining what the problem actually is (i.e. the business domain).

I’ve seen this happen many, many times:

  1. Developer sketches UI, to start discussions with the Domain Expert/Business Analyst
  2. Business Analyst adds/removes/repositions some widgets
  3. ‘Hand waving’ and ‘pointing at imaginary boxes’ becomes the communication technique of choice
  4. Developer agrees to ‘quickly code up’ an interactive prototype
  5. End user wants a different shade of blue

Although the Developer has good intentions of leveraging DDD, the urge to see working apps overrides everything else – leaving the Developer with a vague understanding of the business domain.

As the Developer does learn more about the domain, he usually finds that the original UI design is inadequate. And changing a UI is expensive (it’s a pity that most businesses don’t understand why).

This is where TrueView shines.  It automatically creates interactive UIs, but only based on domain definitions and relationships. Which means:

  • The Business Analyst must describe the business domain.
  • The Developer must start understanding the domain
  • Both must define and share the Ubiquitous Language.

TrueView doesn’t give you a totally customisable UI, but you do get an interactive prototype that models the business.  Once you understand the domain model, you’re in a perfect position to design a slick UI.