Inductive UI

3/29/2006 9:54:17 AM

Inductive UI

I am a fan of Inductive User Interfaces, which I have written about in the past. Inductive UIs become more prominent in Windows Vista, but already ubiquitous in various application categories such as utilities (anti-virus, anti-spyware) and tax software.

Some may think of Inductive UI as a dumbed-down wizard-based interface. Others more accurately accurately call it task-based orientation.

I think of UI as a web-style interface:

  • Navigational. Inductive UI is divided in pages, which can be navigated to, usually, but not limited to, a linear fashion. TurboTax uses a tree-style navigation, aided by breadcrumb (address) bars.
  • Descriptive. Inductive UIs tend to be visual appealing and descriptive enough to not require the user to search documentation. Ironically, according to Jensen Harris, the Office UI PM, mostly experts read help documentation.

I don’t think Inductive UI is necessarily for novice users. It is actually beneficial for advanced users, especially if it allows the user to quickly drill down to detailed options.

In my NStatic product, I remove the Scan button from the toolbar and moved into its own separate window based on Inductive UI. (The Scan option is also available from the Menu and through the F5 key).

The scan window includes multiple pages, three of which are shown below. All three pages can be navigated to at any time, but automatic navigation occurs whenever a scan is started or completed.

The first page consists of a Scan button and two menus (whose names will in the future match the options selected in the menu.)  

329debugscan

The “Performance” menu enables the user to choose length and detail of the scan desired, with four predefined scans and a general Custom option where all the parameters can be tweaked.

329performmenu

The “Accuracy” menu enables the user to select a very precise scan (with no false positives) or a very lax scan (which will find many more errors, but also introduce more false positives). The lax scan makes certain lax assumptions (when the analyzer encounters a restriction such as maximum function depth that limits analysis in order to perform in a reasonable amount of time) such as functions with the same arguments always return the same results.

329analysismenu

Once the scan has been initiated, page 2 of the scan window, the “Progress” page is displayed.

329debugprogress

When the progress page is hidden, its contents minimize into the status bar where the progress bar and the current scan test is displayed. A split button is also included when the whole scan window is hidden to quickly bring up the scan window or to start or stop a scan.

329debugstatus

After the scan is completed, a third page of the scan window is displayed.

329debugend

To demonstrate the non-modality of this window, it is possible to go back to any of the previous pages by clicking on the back and forward arrows on each of the pages. For instance, here is how the progress page looks after the scan.

329debugprogress2

 

Comments

 

Navigation

Categories

About

Net Undocumented is a blog about the internals of .NET including Xamarin implementations. Other topics include managed and web languages (C#, C++, Javascript), computer science theory, software engineering and software entrepreneurship.

Social Media