A dialog of thoughts and ideas about software, usability, and products, with random science and wacky ideas thrown in for good measure.

When a software development team builds an application, the graphical user interface (GUI) is an important part of that application. Hopefully, the software design team has conducted extensive assessments with users to understand how users conceptualize, understand, and use the application. Unfortunately, it seems many applications (and websites, but that's a different matter) suffer from a severe lack of usability analysis or insight.

Regardless of whether a GUI is designed well or poorly, there may be situations in which the GUI does not support the workflow or needs of a specific group of users. For example, a team could develop a word processor, but people in a particular user community may have very specific needs that are not supported by the original application; or, the functionality they require may be built into the application, but based on their workflow, it's too tedious for them to use.

What does not exist today is software applications that can allow their user interfaces to be modified by end-users. Preferably, end-users who can perform usability assessments within their own community.

For example, perhaps I need the ability, in my word processor, to quickly and easily:
  • Paste in some text
  • Automatically convert that text to sentence-case (suppose, for example, it had been all upper-case)
  • Bold-face some keywords in that text
  • Pull out the keywords into a separate clipboard or document that I can copy from
All of these steps are possible in modern word processing applications, but they can't be rolled up into a single toolbar button. Some applications do let you customize toolbar buttons, and assign tasks to those buttons, but that capability provides no means of customizing parameters (for example, "select the first word from the pasted text, and search the document for that word").

I'm not sure if there's a compelling need for a capability like this, but isn't it an interesting idea? What if an application could be developed from the perspective of its capabilities, and anyone could develop a GUI for that application? To use a website analogy, it would be as if the design of the application were done in CSS, and the underlying functionality of the application were expressed in DIV's.

And, to take the idea further, what if there were an easy-to-use, end-user-focused "CSS Designer" for re-designing an application - for recombining the functional building blocks into new UI components that can be tailored to specific end-user communities?

Think, "Microsoft Word for Bioinformatics," or, "NASA WorldWind for Petroleum Geologists," or, "Adobe Photoshop for Rich Client Developers."

(And, to take this even further, a new market of application designers would emerge. These consultants would charge for their services to tailor applications to specific user communities.)
Post a Comment