APP-FS08 Browse View
The Peerplays NFT Store application functional requirements specification for the browsing views of objects.

1. Purpose

The purpose of this functional specification (FS) document is to detail functional requirements for the Peerplays NFT Store application (the “app”) relating to the object lists from a business and user perspective.

2. Document Tracking

2.1. Parent Document

This document is a child document of the NFT Store Requirements Specification.

2.2. Categorization

This document relates to the following tags.
App Component
Page
Page Fragment

3. Scope

This FS will describe the requirements and basic design for the app’s object lists.

3.1. Components

Specific components and features covered in this FS include:
  • Browsing Views for each object (Peers, Galleries, Collections, NFTs, and Activities)
    • Compact Lists
    • Roomy Lists
    • Grids
    • Mosaics
  • Search, Filter, and Sort while Browsing
  • Pagination Controls

4. Document Conventions

For the purpose of traceability, the following code(s) will be used in this functional specification:
Code
Meaning
APP-FS08-#
App Component Requirement - Browse View
The keyword shall indicates a requirement statement.
The keywords may, could, and should are not requirements but rather indicate items related to requirements that are worthy of consideration.
The following terms are used to describe specific users of the application:
  • Unauthenticated (not logged in) users are known as visitors.
  • Authenticated (logged in) users are known as peers.
The following terms are used to describe levels of user entitlement within the application:
  • A browser is view only (except for account creation and logging in) and used for visitors.
  • An enjoyer can interact with the market, including buying and optionally re-selling NFTs, but can’t make new NFTs.
  • A tenant can create NFTs and sell them in addition to what the enjoyer can do.
  • A client is an administrator level user with all entitlements.

5. Context

For a complete app, users must be able to view many related objects on one page. The way these objects are presented must be flexible to provide a high level of customization by the end user. Users have different needs depending on their goal. Some users want a dense and information rich display while others want a minimal or image focused display.

6. Design Wire-frames

The wire-frames listed below are meant to represent the app’s browsing views in various states. These are provided to assist in understanding of what features may look like or their potential use. Final designs may be vastly different from these images.

6.1. Browsing View Layout

Figure 1. The layout of a typical browsing view.

6.2. Peer Object Browsing Views

6.4. Collection Object Browsing Views

6.5. NFT Object Browsing Views

6.6. Activity Object Browsing Views

7. Requirements

Requirements specific to the items listed in this FS are as follows.

7.1. Compact Lists

The compact list browsing views:
APP-FS08-1: shall display information about its objects in a tabular format.
APP-FS08-2: shall display a header row with column names.
APP-FS08-3: shall provide controls in the header to sort columns based on their values, if appropriate.
APP-FS08-4: shall display columns of a width appropriate for their values.
APP-FS08-5: shall highlight row which the user is hovering on.
APP-FS08-6: shall highlight row which the user has clicked on (focused).
APP-FS08-7: shall provide a contextual menu icon while the user is hovering on the object record.
This context menu (for Peers, Galleries, Collections, and NFTs) shall contain the following options:
  • follow this [object]
  • flag for moderation
This context menu (for Activities) shall contain the following options:
  • follow this [object]
If the user owns the object, the context menu (for Peers, Galleries, Collections, and NFTs) shall contain the following instead:
  • edit [object]
  • delete [object]
APP-FS08-8: shall display values with rich media where appropriate (images, notification bubbles, icons, tags, etc.)
APP-FS08-9: shall provide links within the table values for easy navigation and / or functions (follow this peer, etc.)

7.1.1. Peers

Compact lists for Peer object records:
APP-FS08-10: shall include, but is not limited to, the following fields related to each object:
  • avatar image
  • public display name
  • number of views
  • number of follows
  • number of NFTs in the Display Case
  • number of galleries (and list of popular galleries)
  • number of collections (and list of popular collections)
  • number of NFTs on sale (or auction)
  • number of recent activities

7.1.2. Galleries

Compact lists for Gallery object records:
APP-FS08-11: shall include, but is not limited to, the following fields related to each object:
  • gallery image
  • gallery name
  • gallery creator
  • number of views
  • number of follows
  • number of collections (and list of popular collections)
  • number of NFTs on sale (or auction)
  • number of recent activities

7.1.3. Collections

Compact lists for Collection object records:
APP-FS08-12: shall include, but is not limited to, the following fields related to each object:
  • collection image
  • collection name
  • gallery name
  • collection creator
  • number of views
  • number of follows
  • number of NFTs on sale (or auction)
  • number of recent activities

7.1.4. NFTs

Compact lists for NFT object records:
APP-FS08-13: shall include, but is not limited to, the following fields related to each object:
  • NFT image
  • NFT name
  • collection name
  • NFT owner
  • number of views
  • number of follows
  • list of tags (categorizations, traits, other NFT specific metadata)
  • number of recent activities
  • current price (sale) or current bid (auction)
  • accepted currency
  • user control to buy or place a bid
  • price data (% change)
  • volume data
  • remaining time at auction

7.1.5. Activities

Compact lists for Activity object records:
APP-FS08-14: shall include, but is not limited to, the following fields related to each object:
  • date and time of activity
  • activity name (tag)
  • detailed activity description with relevant links
  • transaction ID
  • fee

7.2. Roomy Lists

The roomy list browsing views:
APP-FS08-15: shall display information about its objects in a multi line list format.
APP-FS08-16: shall display one or two columns as appropriate based on responsive design media queries (screen width).
APP-FS08-17: shall highlight object record which user is hovering on.
APP-FS08-18: shall highlight object record which user has clicked on (focused).
APP-FS08-19: shall provide a contextual menu icon while the user is hovering on the object record.
This context menu (for Peers, Galleries, Collections, and NFTs) shall contain the following options:
  • follow this [object]
  • flag for moderation
This context menu (for Activities) shall contain the following options:
  • follow this [object]
If the user owns the object, the context menu (for Peers, Galleries, Collections, and NFTs) shall contain the following instead:
  • edit [object]
  • delete [object]
APP-FS08-20: shall display values with rich media where appropriate (images, notification bubbles, icons, tags, etc.)
APP-FS08-21: shall provide links within the object record values for easy navigation and / or functions (follow this peer, etc.)

7.2.1. Peers

Roomy lists for Peer object records:
APP-FS08-22: shall include, but is not limited to, the following fields related to each object:
  • avatar image
  • public display name
  • social media links
  • public profile description (if available)
  • gallery names with links (if available)
  • collection names with links (if available)
  • number of views
  • number of follows
  • number of NFTs in the Display Case
  • number of galleries
  • number of collections
  • number of NFTs on sale (or auction)
  • number of recent activities

7.2.2. Galleries

Roomy lists for Gallery object records:
APP-FS08-23: shall include, but is not limited to, the following fields related to each object:
  • gallery image
  • gallery name
  • gallery creator
  • gallery description (if available)
  • sample of collection images (if available)
  • list of tags (categorizations, traits, other metadata)
  • number of views
  • number of follows
  • number of collections
  • number of NFTs on sale (or auction)
  • number of recent activities

7.2.3. Collections

Roomy lists for Collection object records:
APP-FS08-24: shall include, but is not limited to, the following fields related to each object:
  • collection image
  • collection name
  • gallery name
  • collection creator
  • collection description (if available)
  • sample of NFT images (if available)
  • list of tags (categorizations, traits, other metadata)
  • number of views
  • number of follows
  • number of NFTs on sale (or auction)
  • number of recent activities

7.2.4. NFTs

Roomy lists for NFT object records:
APP-FS08-25: shall include, but is not limited to, the following fields related to each object:
  • NFT image
  • NFT name
  • collection name
  • NFT owner
  • NFT description (if available)
  • list of tags (categorizations, traits, other metadata)
  • number of views
  • number of follows
  • number of recent activities
  • current price (sale) or current bid (auction)
  • accepted currency
  • user control to buy or place a bid
  • price data (% change)
  • volume data
  • remaining time at auction

7.2.5. Activities

Roomy lists for Activity object records:
APP-FS08-26: shall include, but is not limited to, the following fields related to each object:
  • date and time of activity
  • small activity graphical diagram (see section 6.6 above for examples)
  • activity name (tag)
  • detailed activity description with relevant links
  • transaction ID
  • fee

7.3. Grids

The grid browsing views:
APP-FS08-27: shall display information about its objects in a grid (card) format.
APP-FS08-28: shall display one to six columns as appropriate based on responsive design media queries (screen width).
APP-FS08-29: shall highlight object record which user is hovering on.
APP-FS08-30: shall highlight object record which user has clicked on (focused).
APP-FS08-31: shall provide a contextual menu icon while the user is hovering on the object record.
This context menu (for Peers, Galleries, Collections, and NFTs) shall contain the following options:
  • follow this [object]
  • flag for moderation
This context menu (for Activities) shall contain the following options:
  • follow this [object]
If the user owns the object, the context menu (for Peers, Galleries, Collections, and NFTs) shall contain the following instead:
  • edit [object]
  • delete [object]
APP-FS08-32: shall display additional information, if available, while the user is hovering and / or focused on the object record.
APP-FS08-33: shall display values with rich media where appropriate (images, notification bubbles, icons, tags, etc.)
APP-FS08-34: shall provide links within the object record values for easy navigation and / or functions (follow this peer, etc.)

7.3.1. Peers

Grids for Peer object records:
APP-FS08-35: shall include, but is not limited to, the following fields related to each object:
  • avatar image
  • public display name
  • number of NFTs in the Display Case
  • number of galleries
  • number of collections
  • number of NFTs on sale (or auction)
Additionally, when hovered and / or focused, include:
  • social media links

7.3.2. Galleries

Grids for Gallery object records:
APP-FS08-36: shall include, but is not limited to, the following fields related to each object:
  • gallery image
  • gallery creator avatar image
  • gallery name
  • gallery creator name
  • gallery description (if available)
Additionally, when hovered and / or focused, include:
  • list of tags (categorizations, traits, other metadata)

7.3.3. Collections

Grids for Collection object records:
APP-FS08-37: shall include, but is not limited to, the following fields related to each object:
  • collection image
  • collection name
  • gallery name
  • collection creator
  • collection description (if available)
  • number of NFTs on sale (or auction)
Additionally, when hovered and / or focused, include:
  • list of tags (categorizations, traits, other metadata)

7.3.4. NFTs

Grids for NFT object records:
APP-FS08-38: shall include, but is not limited to, the following fields related to each object:
  • NFT image
  • NFT name
  • collection name
  • remaining time at auction
  • current price (sale) or current bid (auction)
  • accepted currency
  • user control to buy or place a bid
Additionally, when hovered and / or focused, include:
  • NFT owner
  • list of tags (categorizations, traits, other metadata)

7.3.5. Activities

Grids for Activity object records:
APP-FS08-39: shall include, but is not limited to, the following fields related to each object:
  • date and time of activity
  • medium activity graphical diagram (see section 6.6 above for examples)
  • activity name (tag)
  • detailed activity description with relevant links
  • transaction ID

7.4. Mosaics

The mosaic browsing views:
APP-FS08-40: shall display information about its objects in a mosaic tile (tessellation) format.
APP-FS08-41: shall display one to six columns as appropriate based on responsive design media queries (screen width).
APP-FS08-42: shall highlight object record which user is hovering on.
APP-FS08-43: shall highlight object record which user has clicked on (focused).
APP-FS08-44: shall provide a contextual menu icon while the user is hovering and / or focused on the object record.
This context menu (for Peers, Galleries, Collections, and NFTs) shall contain the following options:
  • follow this [object]
  • flag for moderation
This context menu (for Activities) shall contain the following options:
  • follow this [object]
If the user owns the object, the context menu (for Peers, Galleries, Collections, and NFTs) shall contain the following instead:
  • edit [object]
  • delete [object]
APP-FS08-45: shall display additional information, if available, while the user is hovering and / or focused on the object record.
APP-FS08-46: shall display values with rich media where appropriate (images, notification bubbles, icons, tags, etc.) while the user is hovering and / or focused on the object record.
APP-FS08-47: shall provide links within the object record values for easy navigation and / or functions (follow this peer, etc.)

7.4.1. Peers

Mosaics for Peer object records:
APP-FS08-48: shall include, but is not limited to, the following fields related to each object:
  • avatar image
Additionally, when hovered and / or focused, include:
  • public display name
  • number of galleries
  • number of collections
  • number of NFTs on sale (or auction)

7.4.2. Galleries

Mosaics for Gallery object records:
APP-FS08-49: shall include, but is not limited to, the following fields related to each object:
  • gallery image
Additionally, when hovered and / or focused, include:
  • gallery name
  • gallery creator name
  • list of tags (categorizations, traits, other metadata)

7.4.3. Collections

Mosaics for Collection object records:
APP-FS08-50: shall include, but is not limited to, the following fields related to each object:
  • collection image
Additionally, when hovered and / or focused, include:
  • collection name
  • gallery name
  • collection creator
  • number of NFTs on sale (or auction)
  • list of tags (categorizations, traits, other metadata)

7.4.4. NFTs

Mosaics for NFT object records:
APP-FS08-51: shall include, but is not limited to, the following fields related to each object:
  • NFT image
Additionally, when hovered and / or focused, include:
  • NFT name
  • remaining time at auction
  • current price (sale) or current bid (auction)
  • accepted currency
  • user control to buy or place a bid
  • list of tags (categorizations, traits, other metadata)

7.4.5. Activities

Mosaics for Activity object records:
APP-FS08-52: shall include, but is not limited to, the following fields related to each object:
  • relative time of activity
  • large activity graphical diagram (see section 6.6 above for examples)
  • activity name (tag)
  • transaction ID

7.5. Search, Filter, and Sort while Browsing

The browsing view, in the context of searching, filtering, sorting, and display:
APP-FS08-53: shall allow the user to hide and unhide the search menu.
APP-FS08-54: shall display the active text search query and active filters to the user.
APP-FS08-55: shall allow the user to cancel any individual active text search query or filter.
APP-FS08-56: shall allow the user to cancel all active text search queries and filters with one “clear all“ (or similar) function.
APP-FS08-57: shall provide a text search control with all standard search control features. (See APP-FS25 Search Functions)
APP-FS08-58: shall provide filter options to the user with the following specifications:
  • Filter options are grouped into expanding menus.
  • Filter options are based on available object metadata from within the subset of currently queried and filtered objects. (drill down filtering)
  • Filter option controls can be ranged sliders, check boxes, radio boxes, combo boxes, drop down lists, or any other control that best fits the metadata values.
APP-FS08-59: shall provide the following display options:
  • Sorting
  • Display type
  • Number of results returned per page
APP-FS08-60: shall allow sorting of the returned object records based on available object metadata.
APP-FS08-61: shall allow sorting via ascending and descending values.
APP-FS08-62: shall allow the selection of the following display types:
  • Compact List
  • Roomy List
  • Grid
  • Mosaic
APP-FS08-63: shall allow the user to select the number of object records to display per page (via pagination) from a list of sensible breakpoints, such as:
  • 24, 48, 96, 192, and 384 (if 6 column display)
  • 20, 40, 80, 160, and 320 (if 5 column display)
  • 12, 36, 72, 144, and 288 (if 1, 2, 3, or 4 column display)
APP-FS08-64: shall allow the user, as an alternative to results per page, to enable an infinite scroll option to load more results when scrolling to the end of the current results.

7.6. Pagination Controls

The browsing view, in the context of pagination controls:
APP-FS08-65: shall provide the following abilities:
  • View the next page of results, if available
  • View the previous page of results, if available
  • Display the total number of result pages
  • Display the current page number
  • Jump to a specified page number
  • Display the total number of object records in the results
APP-FS08-66: shall not display pagination controls if infinite scroll is enabled. Instead, the page shall indicate when more records are loading or the end of the results have been reached.

8. Appendix A: Glossary

Term
Meaning
RS
Requirements Specification
FS
Functional Specification
NFT(s)
Non-Fungible Token(s)
UI
User Interface
UX
User Experience