View Single Post
  #63  
Unread 01-13-2009, 01:38 PM
Zonx's Avatar
Zonx Zonx is offline
A Green Troll
This person is a EQ2Map developer.
Featured
 
Join Date: Dec 2004
Server: Blackburrow
Posts: 2,221
Default

I'm very interested in being involved with this. I've been a professional UI designer/developer for over 20 years now and would love to see this become a shining example of good modern UI.

Basic Principles

Progressive disclosure: A concept that involves setting up the UI to be as minimal as possible by default, but capable of increasing its feedback, options and/or complexity to suit the task and user preference.

Function over Form: UI is not art. Yes it needs to look professional, but above all else it needs to be functional. UI also should not be the primary focus of any app, no more than a hammer and saw are the focus of a woodworking project. The entire purpose of the EQ2 UI is to facilitate interacting with the game world, thus should avoid obscuring the world with otherwise pointless or excessively large visual elements.

What I'd Like

Definition - Container: What we currently call a page, but tagged with an attribute that identifies it as a top level window wrapper. Containers would support some additional attributes irrelevant to nested pages... for example a titlebar/tray icon.

Definition - Pallet: A new UI element with drag/drop support, data and display management for multiple containers. Ideally pallets could display a list of containers in a variety of ways (button list, link list, tab bank, etc. in both vertical and horizontal formats).

Definition - Master Control: A new UI element that combines a special container with a nested drawer component.

Id like to see the default "out of the box" UI fully functional from just 1 or 2 persistent master components that provide icon access to flyouts or drawers with all the secondary stuff, and a pallet schema that allows for user customization.

Each master component would have a predefined list of secondary drawers that dock to it by default (Customizable in XML).

Opening a drawer would cause a box to slide/expand out from the parent component (away from the nearest screen edge). Each drawer would have a detach button, converting it to a floating pallet that the user can place wherever.

Pallets would have the following behaviors/options.

1) Drag and drop a pallet to a master control to change where it docks.

2) Drag and drop a pallet to another pallet to merge them under a single list control similar to how the chat window works now. The pallet should provide options for how the container list is displayed (Buttons, Text Links, Icons, horizontal, vertical, etc).

3) Close button that hides the pallet and restores all nested drawers to the master component they were last docked to. Probably a good idea to include a confirm dialog by default if the pallet has multiple nested containers.

4) Minimize button that reduces the pallet to a tray.

5) Collapse button that reduces the pallet to just its titlebar and link list.

6) A pallet with more than one nested container should display a link list. Selecting a container from the link list should display the associated container. Each container should be docked to the pallet bar with nearest screen corner determining what corner of the pallet bar the container is anchored to.

7) The pallet bar should be realizable independently of any of its nested containers.

Gotta run... will post more when able, maybe work up some wireframes.
Reply With Quote