Inventory Functional Spec

From Second Life Wiki
Revision as of 13:43, 5 April 2007 by Dan Linden (talk | contribs)
Jump to navigation Jump to search

The Functional Spec explains how a user interacts with a feature, and what results they can expect from the feature. Ideally, the UI will indicate what the user can expect to happen next. Use screenshots when appropriate.

General Description

What does this feature do? Allows the user to store items.

Interface Requirements

How does the user use/activate this feature? Clicking the Inventory button or hitting ctrl-i.

Performance Requirements

Will this feature affect:

  • Client FPS? YES. Large inventories take longer to draw. (perhaps this is fixed)
  • Simulator FPS? YES. Inventory is fetched from dataserver on the Simulator, so it may have a small effect on Simulator performance.
  • Database? YES. The dataserver fetches inventor from the Database.
  • Asset server? YES. Rezzing items reads from the Asset server. Creating invetory items writes to the Asset server.
  • Network load? YES. The inventory structure must be streamed to you. Rezzed or opened items must be streamed to you. Uploaded items must be streamed to the asset server.
  • Any other system? NO.

Design Constraints

  • Will this feature be unavailable on certain hardware? NO
  • Is this feature consistent (similar look & feel) with other features? PARTIAL. Inventory has it's own Menu which is not accessible from the keyboard.
  • Is this feature well integrated (accessible when you need it, and in the place(s) you expect to find it)? YES
  • Is this feature discoverable (newbie friendly)? PARTIAL. There's room for improvement.
  • Is this feature Safe, Predictable, and Responsive? YES.

Feature Dependencies

  • Features that this feature will affect

Attachments, Rezzing objects

  • Features that affect this feature

Upload Assets, Focus, Take, Take Copy


Security risks

  • Does this feature give access to something it should not?

NO

Feature Rules

The rules of the feature, organized in order of precedence. (eg. Rule 1 supersedes Rule 2, which supersedes Rule 3)

Object taken or returned into inventory go into their previous folder. Returned object that have no previous folder will be put in the Lost and Found folder.


Accepted or uploaded assets of a certain type (eg. Clothing, Script, Animation) will go into a system folder of the same type. Accepted categories will go into the Inventory folder.

Feature Usage

When appropriate, the feature will be laid out in chronological order, or in the order they are most likely to be used. (eg. Create a group, then add members, then deed land, ... kick members, leave group)




TASK: Ben or me- write inventory usage spec. What does tab, typing, arrows do when each area of inventory is highlighted? How does drag and drop work between open /closed folders, between windows, when scrolling.


Inventory


Creating item goes into particular folder


Modifying items

Property panel


Managing inventory (or drag and drop behavior)

Opening Dragging

dragging over closed folders auto opens them. folder will close again after drop.

after dropping in an open folder

dragging onto scroll bars will scroll the inv [no longer works?]

dragging onto "recent items tab will open the recent items tab" [bug?]


scrolling

Rezing


Taking into inv item goes into previous folder else item goes into Objects folder

Returned items go to the folder they were rezzed from. If the object never had a folder or that folder has been deleted, object is put "Lost and Found" folder.


Window behavior when receiving inventory received item from person or script received auto-open item from person or script received category from person or script received group notice attachment


Accepting and declining inventory

Accepting inv item Declining inv item Same for items received while offline


Accepting auto-openning inv item Declining auto-openning inv item Same for items received while offline

Accepting inv category Declining inv category Same for items received while offline


While in busy mode

From muted person or item

From muted group


Inventory behavior


Finding

Sorting

Opening folders


Metrics Speed - how fast the inventory loads

Reponsiveness (time between clicking/dragging an inventory item to ground and the cursor switching from "not" to "allow drop")(this time seems to be increasing - may be related to sim data server load)

Accuracy

Clearing


keyboard navigation

ctrl-I toggles inventory open / closed (should it do anything other than hide it? close or open any folders?)

focus should be in the search field by default when inventory is opened


Inventory search. search for item

press return, where does focus go?

press up and down arrow keys, where does focus go?

press up and down arrow keys while search is loading & searching your inv, where does focus go?

press right and left arrow keys opens and closes folders

press tab


Visible item search cursor is in inventory tree area of inventory window type an item name first item matching will be highlighted 1 second(?) typing timeout

Selecting multiple items

Attaching items Context menu

Drag and drop item on avatar. Drag and drop category on avatar (see some other test script?)


Inventory searching

Library folders


Recent items tab sorting filters