Matthew Curland:Where do you suggest I put the APRIMO strips on my laptop
You don't need one. There are only four or five keystrokes relevant at any point, and the prompt text fits on the single status line, changing as you hover over different things. I need to do something a bit different in the iPad, since it has no hover, but I don't think that'll be hard. Tap to select and a small toolbar of options will appear.
Matthew Curland:selecting with the mouse but entering data with the keyboard. The constant switching is problematic.
Not problematic, on the contrary it's much more efficient to have one hand on the mouse and one on the keyboard. None of the keystrokes require two hands.
Matthew Curland:Two is much less than several
Nice, but it's still more than one ;-)
Matthew Curland:add additional hotkeys to the designer
Thanks for that snippet.
Matthew Curland:A 'uniqueness on other roles' command is interesting, but it doesn't work for spanning uniqueness constraints.
Actually it works fine, because you automatically get a spanning UC whenever you don't have any other UC. It works for multiple constraints in ternaries also. The "other roles" thing is actually easier to think about too, since you naturally think "This has one of those" and want to apply the constraint to "those"... but that's actually the opposite of how the UC is defined.
The other thing that APRIMO does really well is avoid the need for a toolbox. Double-click on the canvas, you get a new object type. Shift-drag from an object type and release over the canvas, you get a new unary fact type. Release over another fact type to add a role. Shift-drag from a role (with or without additional roles selected) and release on the canvas, you get a new external constraint. Release over the same fact type to reorder roles. Release over an existing external constraint to add roles. Release on an object type to reconnect this role. It's all just so slick and easy compared to NORMA... literally five to ten times faster... This sort of improved interaction was the main thing that motivated Brian C to write ORM-Lite, he was frustrated with NORMA's interaction and knew it was possible to do so much better, but his ideas weren't being accepted. I think I've done it even better than ORM-Lite, but I'm not very experienced with that, perhaps I missed things.