Arch2Arch Tab BEA.com
Syndicate this blog (XML)

What Makes Applications Easy ?

Bookmark Blog Post

del.icio.us del.icio.us
Digg Digg
DZone DZone
Furl Furl
Reddit Reddit

Fred Mikkelsen's Blog | August 3, 2007  11:52 AM | Comments (0)


Ease-of-Use and Standards

Drag-and-Drop

When it comes to ease of use, nothing beats drag-and-drop and its cousin, copy-and-paste. Though these techniques are 25 years old, or older according to Wikipedia, I don't believe the power has been fully unleashed beyond Microsoft Office applications.

Drag-and-drop represents point-to-point integration paradigm between two constructs, a source, and a destination. "Associate this, with that, ... and on the terms that this and that will accept." Drag-and-drop requires almost no training for computer users, and with an appropriate undo capability, the period from training to being productive is very short.

Though it is point-to-point in its specification, it is very modular, object-oriented, and service oriented in its implementation. Microsoft Office applications have far exceeded all other implementations of drag-and-drop by introducing automatic interface negotiations to select the best form, and, if more than one form is available, you can usually change your selection easily.

In situations where drag-and-drop may have multiple valid interpretations, the cut-and-paste "paste-as" feature steps in to provide new forms to be plugged in. It is open-ended and can be extended using acquired "translation services". In reality, drag-and-drop and cut-and-paste are very similar in their implementations.

In any IDE, drag-and-drop has the opportunity to specify the binding actions between any two things using one of these techniques:

  • supported common interfaces between the source and the destination
  • a registered translation service recognizing interfaces between source and destination
  • the context in which the action is taken ... is it in API binding? or in data binding? or in payload binding? or in User Interface building? or ...
  • what has the user done before?
  • what has the user's community done before? ... social computing can bring into the paradigm greater flexibility


Though systems integration may be specified in point-to-point with drag-and-drop, the underlying implementation needn't be point-to-point. Working through the negotiated interfaces and process selection techniques, the default, common, or configured networking can be specified. then, through other views and actions, other details can be specified such as security or compression.

  • Drag a SOA service icon onto a server or domain icon, and deploy the service with default settings
  • Drag the same icon onto a JSP editor, then a simplified interface to that service may be inserted through tag libraries
  • Drag the same icon (or a multi-selection of icons) onto a Portal designer, and a mashup is created perhaps stitching together the components that this user, or others in the community have stitched before.


Start with drag-and-drop in mind. Drag-and-Drop characterizes ease-of-use unlike any other user interface action that currently exists today.

When designing for ease-of-use, for your users, ask them to identify which operations they would wish to perform using drag-and-drop. This will encourage them to prioritize and think through how their operations will occur.

v 1.1



Rev 2: 2008-02-01 00:00:02 Rev 1: 2007-08-03 11:52:03, Start With Drag-and-Drop in Mind

Comments

Comments are listed in date ascending order (oldest first) | Post Comment



Only logged in users may post comments. Login Here.

Powered by
Movable Type 3.31