Proposing a feature

From Kokua Wiki
Jump to: navigation, search

This page contains instructions about how to use the Issue Tracker to propose features or enhancements to the Imprudence Viewer software, Kokua Viewer software, or any part of our website. Separate instructions are available for reporting a bug.

Contents

What is a feature proposal?

A feature proposal is a proposal, suggestion, or request to change the intended look or behavior of our software (the Imprudence Viewer, Kokua Viewer, or our website). For the purposes of the issue tracker, the term "feature" includes new features (tools or abilities of the software) as well as improvements, enhancements, and changes to existing features.

If the software is behaving contrary to how we intended it, telling us so that we can fix the software to match our intentions is considered a bug report, not a feature proposal.

Search for existing proposals

Checking if a Bug or Feature already exists

Before you file a new feature proposal, please check to make sure that someone hasn't already proposed the same thing. If it has already been proposed, you should not file a new proposal. Instead, update the existing issue to add a comment, attach a file, or change the issue properties to provide additional information or ideas.

You can browse the lists of current issues (i.e. both bug reports and feature proposals) here:


You can search for existing issues by typing search terms into the Search box at the top right hand side of the issues tracker page, then pressing the Enter key.

Create a new issue

Before you can create a new issue, you must register for the issue tracker and sign in.

There are three "projects" on our issue tracker. It is important to create the new issue in the correct project:

The form has many issue properties to fill out. These details help us understand the feature proposal. So, it is important that you fill them out correctly, and provide an appropriate amount of detail.

Note: depending on your issue tracker account permissions, you might not be able to see or change some of these properties.

Tracker
For the Imprudence Viewer and Kokua Viewer projects, set it to "Feature". For the Website project, set it to "Proposal".
Subject
Enter a brief summary of the feature. The subject should usually be less than 20 words, but it should be specific enough that someone could get an idea what the proposal is about just by reading the subject. Vague subjects like "New feature", "Improvement", or "Inventory" are not helpful, and make it less likely that someone will notice your proposal.
Description
Enter a detailed description of the feature proposal. See the Description section below for instructions on how to fill this out.
Status
This indicates the issue's status (e.g. whether it has been implemented yet). You should usually leave this as "New". If you are submitting a patch (or Git commit) to implement the feature, select "Ready to Merge".
Priority
Leave this as "Normal" unless a developer has told you to set it to something else.
Assignee *
This indicates who has been assigned to resolve the issue. (* Only team members and contributors can set this issue property.)
Category
This indicates what sort of feature it is. See the Category section below for help deciding which category to choose. If you're not sure, leave it blank.
Target version *
This is used by the team for organizing which issues should be addressed in a particular version. (* Only team members and contributors can set this issue property.)
Has Patch
Check this box if you are submitting a patch (or Git commit) to implement the feature. Otherwise, leave it unchecked.
Difficulty
Leave this blank unless you are experienced with software development. This indicates how difficult it will probably be to implement the feature.
Files
If you have any debug logs, screenshots, patches, or other files related to the bug, you can attach them here. Use the file chooser button to choose which file on your computer to attach. If you need to attach multiple files, click the "Add another file" link.

Description

The Description should be a detailed description of the proposed feature, improvement, enhancement, or change in behavior. It should contain enough detail and information for developers to understand what is being proposed, why it should be implemented, and perhaps how it should be implemented.

Here are some questions to consider when writing the description. You don't need to answer each question, but use them as a guide to think of relevant details to include in your description.

  • What problem or lack does the feature address? Why is it needed or desirable?
  • How does it address that problem or lack? Why is this way preferable to some other way?
  • Who is the target audience for the feature? Who does it benefit?
  • What impact will the feature have on the viewer user interface?
  • What impact will it have on viewer performance (framerate, memory use, etc.)?
  • Does it add any external dependencies to the viewer (i.e. additional software libraries the viewer must use)?
  • Does it have any potential privacy concerns for users or other people?
  • Does the feature already exist (as a patch, or in another viewer), or does it need to be created from scratch?
  • Will it work on all operating systems? Does it require special effort to implement on any operating system?
  • What grid platform(s) will it work on (Second Life, OpenSim, etc.)?

Category

The list of available categories for a feature proposal varies depending on which issue tracker project you are reporting for:

Imprudence Viewer project

  • Avatar: Proposals related to avatar rendering, customization, etc.
  • Building (Prims): Proposals related to inworld building, the prim building/editing interface, etc.
  • Camera: Proposals related to the 3D camera, camera controls, etc.
  • Chat/IM: Proposals related to chat, group chat, IMs, etc.
  • Compiling: Proposals related to compiling the Imprudence Viewer itself.
  • Draft: Proposals that are still works in progress or need more feedback, and don't fit into a more specific category.
  • Debugging: Proposals related to debugging the viewer code.
  • Economy: Proposals related to money, shopping, land sales/purchases, etc.
  • Import/Export: Proposals related to the Content Backup features.
  • Improvement: Proposals related to improving existing features, that don't fit into a more specific category.
  • Inventory: Proposals related to the inventory UI, inventory loss, giving or receiving inventory, etc.
  • Inworld Audio: Proposals related to inworld sound effects (not streams or voice chat).
  • Linux: Proposals that only affect Linux, and don't fit into a more specific category.
  • Localization: Proposals related to localization and translation of the viewer.
  • Login/logout: Proposals related to logging in or out of the viewer.
  • Mac: Proposals that only affect Mac, and don't fit into a more specific category.
  • Meta-Issue: This category is used for organizing groups of other issues.
  • Optimization: Proposals related to optimizing the viewer's performance.
  • Other Stuff: Proposals that don't fit into a more specific category.
  • Rendering: Proposals related to rendering, that don't fit into a more specific category.
  • Restrained Love: Proposals related to the Restrained Love/RLVa feature.
  • Scripting: Proposals related to inworld scripting and the script editor.
  • Source code: Proposals related to the Imprudence Viewer source code.
  • Spellchecking: Proposals related to the Spellchecking feature.
  • Streaming Audio/Video: Proposals related to streaming audio/video.
  • Teleport History: Proposals related to the Teleport History feature.
  • Teleporting: Proposals related to teleporting to another sim or another location in the same sim.
  • UI: Proposals related to the viewer UI, that don't fit into a more specific category.
  • Viewer Skinning: Proposals related to viewer skinning (creating the UI and UI skins).
  • Windows: Proposals that only affect Windows (operating system), and don't fit into a more specific category.

Kokua Viewer project

  • Avatar/Appearance: Proposals related to avatars rendering, customization, etc.
  • Building: Proposals related to inworld building, the prim building/editing interface, etc.
  • Camera: Proposals related to the 3D camera, camera controls, etc.
  • Chat/IM: Proposals related to chat, group chat, IMs, etc.
  • Compiling: Proposals related to compiling the Kokua Viewer itself.
  • Inventory: Proposals related to the inventory UI, giving or receiving inventory, etc.
  • Media Streams: Proposals related to streaming audio/video.
  • Meta Issue: This category is used for organizing groups of other issues.
  • Quality Assurance: Proposals related to our quality assurance process.
  • Scripting: Proposals related to inworld scripting and the script editor.
  • User Interface: Proposals related to the viewer UI, that don't fit into a more specific category.
  • Viewer Skinning: Proposals related to viewer skinning (creating the UI and UI skins).

If you're not sure what category to use, leave it blank.

Team Purple project

  • App Support: Proposals related to web resources used by the viewer (login screen news bar, client tag list, default grids list, etc.)
  • Blog: Proposals related to the blog (blog.kokuaviewer.org).
  • Forums: Proposals related to the forums.
  • Git Repositories: Proposals related to our Git repositories at GitHub.
  • Bitbucket Repositories: Proposals related to our Bitbucket repositories at Bitbucket
  • Issue Tracker: Proposals related to the Ticket systems.
  • Other/General: Proposals that don't fit into a more specific category.
  • Wiki: Proposals related to the wiki (wiki.kokuaviewer.org).