Difference between revisions of "User Interface Roadmap"

From Second Life Wiki
Jump to navigation Jump to search
Line 1: Line 1:
= See Also =
= See Also =
[[Viewer Roadmap]]
* [[Viewer Roadmap]]
 
= Summary =
= Summary =
This is an outline of the projects being worked on and considered by Linden Lab related to improving the user interface.
This is an outline of the projects being worked on and considered by Linden Lab related to improving the user interface.
= Author =
= Author =
[[User:Steve Linden]]
[[User:Steve Linden]]
= Objectives =
= Objectives =
The primary objectives for improving the user interface are:
The primary objectives for improving the user interface are:
* Improve the ease of use of the Second Life Client, specifically related to the UI
* Improve the ease of use of the Second Life Client, specifically related to the UI
** Improve the experience of using Second Life and finding things of interest, especially for new residents
* Increase the ability for third parties and individuals to customize the look and functionality of the Second Life Client
* Increase the ability for third parties and individuals to customize the look and functionality of the Second Life Client
* Provide a useful framework for alternative clients, e.g. lightweight clients, mobile clients, etc.
* Provide a useful framework for alternative clients, e.g. lightweight clients, mobile clients, etc.
* Provide more readable UI code and UI code that is safer from crashes
= Projects =  
= Projects =  
== Step 1: Clean up the XML User Interface (XUI) ==
== In progress ==
* [[XUI Code Cleanup]]
* In general the projects are most accurately represented in the diagram posted to [[Viewer Roadmap]].
** Make the interfaces to all UI components (widgets) consistent
** Clean up and re-design the layout format for UI components
** Document the XUI format


== Step 2: Tackle high nail customization ==
== Future Projects ==
* [[Skinning]] - Improve the ability to customize the look of the client
** Separate out UI textures, use file names that correspond to the XUI files
** Make all visual elements of the UI art driven, including backgrounds, etc.
** Make XUI loading hierarchical so that packaging customizations and individual customizations can be leaded and will be preserved across updates
** Add high nail features to facilitate customization
* [[Modal UI]]
* [[Modal UI]]
** Make various usage modes of the UI such as navigation, object edit, appearance edit, etc explicit
** Make various usage modes of the UI such as navigation, object edit, appearance edit, etc explicit
Line 28: Line 25:
** Group all relevant settings (e.g. mouse click / alt click / ctrl click behaviors, arrow key behavior, etc) with modes
** Group all relevant settings (e.g. mouse click / alt click / ctrl click behaviors, arrow key behavior, etc) with modes
** Allow full keyboard customization, including per-mode overrides
** Allow full keyboard customization, including per-mode overrides
== Step 3: Data Driven UI ==
* [[Data Driven UI]]
* [[Data Driven UI]]
** Convert all menus and the overlay bar to be fully data driven so that they can be easily re-designed
** Convert all menus and the overlay bar to be fully data driven so that they can be easily re-designed
** Create a UI console window that can execute simple UI commands
** Create a UI console window that can execute simple UI commands
** Allow simple batch files to be loaded on startup or executed from the client
** Allow simple batch files to be loaded on startup or executed from the client
 
* [[Lightweight Client]]
== Step 4: Lightweight Client ==
* [[LLViewerApp#Phase 2]]
** Clean up the client initialization, update, and render loops so that individual pieces (e.g. 3D rendering) can be de-prioritized or disabled
** Clean up the client initialization, update, and render loops so that individual pieces (e.g. 3D rendering) can be de-prioritized or disabled
* Create a sample UI only client
* Create a sample UI only client

Revision as of 17:34, 31 March 2008

See Also

Summary

This is an outline of the projects being worked on and considered by Linden Lab related to improving the user interface.

Author

User:Steve Linden

Objectives

The primary objectives for improving the user interface are:

  • Improve the ease of use of the Second Life Client, specifically related to the UI
    • Improve the experience of using Second Life and finding things of interest, especially for new residents
  • Increase the ability for third parties and individuals to customize the look and functionality of the Second Life Client
  • Provide a useful framework for alternative clients, e.g. lightweight clients, mobile clients, etc.
  • Provide more readable UI code and UI code that is safer from crashes

Projects

In progress

  • In general the projects are most accurately represented in the diagram posted to Viewer Roadmap.

Future Projects

  • Modal UI
    • Make various usage modes of the UI such as navigation, object edit, appearance edit, etc explicit
    • Allow user customizable modes
    • Group all relevant settings (e.g. mouse click / alt click / ctrl click behaviors, arrow key behavior, etc) with modes
    • Allow full keyboard customization, including per-mode overrides
  • Data Driven UI
    • Convert all menus and the overlay bar to be fully data driven so that they can be easily re-designed
    • Create a UI console window that can execute simple UI commands
    • Allow simple batch files to be loaded on startup or executed from the client
  • Lightweight Client
    • Clean up the client initialization, update, and render loops so that individual pieces (e.g. 3D rendering) can be de-prioritized or disabled
  • Create a sample UI only client