User Interface Roadmap

From Second Life Wiki
Revision as of 12:06, 22 April 2008 by Steve Linden (talk | contribs)
Jump to navigation Jump to search

< Viewer Roadmap

Summary

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

Priority

This is a high priority project because customizing the Second Life experience to meet the very different needs of our residents, both internally and externally, is important for the growth of Second Life as a platform.

See Also

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 general the projects are most accurately represented in the diagram posted to Viewer Roadmap.

UI Cleanup

Skinning

Other

  • Browser based HUD
  • Make UI Easier to Learn in First Five Minutes
  • SL Search
  • Voice

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