User Defined Interface

last modified: December 23, 2014

Having to use 3 different browsers for both work and home for various purposes, I'm growing agitated that the user interfaces are all different despite having mostly the same tools: address bar, search bar, favorites, history, etc. This triggered the thought of standardizing user-side UI configurations into an XML file that could in theory be used by all three brands. The same technique or standard could perhaps be adopted by other tools, such as word processors and IDE's. (Most end users would ideally use a GUI to set or create these settings, but defining the XML first helps to standardize the options.)

I'll start with just the top and bottom menus and menu bars.

<toolbar 
  groupName=[application's name or ID for the toolbar or option group]
  autoPopulate={(auto)/append/prepend/none},  // see notes
  location={(top)/bottom/auto},
  leftLone={true/(false)},   // "true" if this bar always starts a row
  rightLone={true/(false)},  // "true" if this bar always ends a row
  maxWidth={[integer]/[percent%]/(auto)},
  overflow={(scroll)/more/error},  // "more" would be a link to the right
  textSize={(auto)/small/medium/large},
  move={(confirm)/easy/lock}, // "confirm" means a prompt confirms a move
  meta=[app-specific stuff]
  id=[optional reference ID for misc. tools]
><option...><divider...><option...>...</toolbar>

<option
  refName=[application's name or ID for the option]  
  notFound=[(greyout)/hide/error/none] // what to do if refName not found or not applic.
  beforeUrl=[URL to run before application processes this option] // optional
  afterUrl=[URL to run after application processes this option]   // optional
  target=[similar to HTML for HREF destinations, including "_blank"] // for above URL's
  title={(_auto)/[custom text]/_none},  //"_auto" means the app decides
  iconSrc={[url]/(_auto)/_none},
  openType={(_auto)/popup/dialog},  // see notes
  input={(_auto)/[integer width]/_none},  // text box, see note
  list=[Pipe-separated list of pull-down options] // Example: "Off|On|Auto". See note.
  meta=[app-specific stuff]
  formButton=[Submit button title if we want group to serve as a form. See notes.]
  id=[optional reference ID for misc. tools]
/>

Notes

<option title="Search" beforeUrl="www.myCustomSearch.php" input="30" list="Url|Google|Bing|desktop"/>
// Example appearance: Search [Kilroy_____________] [Url|V]  // "V" = down-arrow. User entered "Kilroy"
// Example result: www.myCustomSearch.php?value=Kilroy&selected=Bing

--top


CategoryUserInterface, CategoryGui


Loading...