Difference between revisions of "Inventory Functional Spec"

From Second Life Wiki
Jump to navigation Jump to search
Line 59: Line 59:


Inventory
Inventory
== Default inventory ==
A new user will have the following default inventory folders:
Animations
Body Parts
??Calling Cards
Clothing
Gestures
Landmarks
??Lost and Found
Notecards
Objects
Photo Album
Scripts
Sounds
Textures
??Trash
Library





Revision as of 06:33, 9 April 2007

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)



Inventory

Default inventory

A new user will have the following default inventory folders:

Animations Body Parts ??Calling Cards Clothing Gestures Landmarks ??Lost and Found Notecards Objects Photo Album Scripts Sounds Textures ??Trash Library


Adding Inventory

Uploading Assets

Creating objects in world and taking them

Create a new object, right click > take it, will remove it from the world and place it into your Objects folder.

Taking an item or a copy of an item that was originally rezzed from inventory will put the item back into its previous folder.

If you create an item on someone else's land and they may return it to you. 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.

Creating new items via context menu

Right click on a folder and click one of the following. New Folder New Script New Note New Gesture New Clothes New Body Parts The new item will be placed in the folder you right clicked.

- You may not create items in the Library. The Library is read-only.

Creating new items via Create menu

Click the Inventory Create menu, and choose one of the following. New Folder New Script New Note New Gesture New Clothes New Body Parts The new item will be automatically sorted into the appropriate system folder.

Creating Landmarks via World menu

World menu > Create Landmark Here

Creating Body parts and Clothing via Appearance mode

Create scripts via Object contents button

Automatic sorting into folders

Accepting inventory

Accepting inv item

Same for items received while offline


Accepting auto-openning inv item

Same for items received while offline


Accepting inv category

Same for items received while offline


Declining inventroy

Declining inv item

Same for items received while offline

Declining auto-openning inv item

Same for items received while offline

Declining inv category

Same for items received while offline

Automatic Declining inventroy

While in busy mode

From muted person or item

From muted group


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



Rezzing from inventory

Attaching from inventory

Context menu

You get a collision prompt when using "Attach to" option if there's an attachment already on that attach point. You do not get a warning if you drag and drop the attachment onto your Avatar or select Wear via context menu.

Dragging on your Avatar

Dragging a folder onto your Avatar

Searching Inventory

Keyboard: 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

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 (what's the name of this feature?)

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

Filters

Recent Items

Sorting

Organizing Inventory (or drag and drop behavior)

Multiselect items

shift-click ctrl-click

Keyboard: shift up-arrow shift down-arrow

Moving Items

dragging onto scroll bars will scroll the inv [no longer works?] dragging over closed folders auto opens them. folder will close again after drop.

after dropping in an open folder

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


Copying Items

Renaming Items

Changing item properies

Opening a second Inventory window

Closing all folders

Deleting Inventory

Deleting an item via the UI or keyboard delete key moves the item to the Trash folder.


Inventory File menu > Empty Trash to remove the contents of the trash forever.

(Future implementations will automatically empty the trash)


Object Inventory

any items with duplicate names in an object will be renamed by adding a number to the end name, even if it's a no-modify item

Drag rules

Esc will cancel a drag operation

dragging items onto another avatar or their name tag will give it to them

??dragging items onto avatars transparent attachment will not give the item to the av. ??Transparent is defined as 80%.

dragging an item over an object in world will show a selection silhouette around the object.

ctrl dragging a an item over an object will highlight the object, indicating the item will be put into the object contents.

ctrl-dragging a script onto an object will turn the script off.

dragging items onto an object will automatically put them into the root prim.

Ctrl-dragging will drop the item into the prim even if it's a child.

Dragging a no copy item from object contents to your inventory will pop up a warning that you will be removing(and not copying) the item from the object contents.

??you can multi select inventory items and drag them to an object's contents.

you can drag a folder of contents onto an object

You cannot multi select items in an object and drag them to inventory


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