Difference between revisions of "User Interface Roadmap"

From Second Life Wiki
Jump to navigation Jump to search
Line 38: Line 38:
* [[LLViewerApp#Phase 2]]
* [[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
** Abstract login code so that it is independent of any UI or rendering
** Improve error handling, including a watchdog for infinite loops
* Create a sample UI only client
* Create a sample UI only client

Revision as of 16:13, 3 August 2007

See Also

Viewer Roadmap

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
  • 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.

Projects

Step 1: Clean up the XML User Interface (XUI)

  • XUI Code Cleanup
    • 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

  • 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
    • 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

Step 3: 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
    • 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

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
  • Create a sample UI only client