Design considerations for a new product or idea must be centered around the audience that will be using it. Demographics and the implied needs prospects will affect its success when introduced. The actual design of a product will have to satisfy those avatars who choose to use it.
The final test in determining whether or not a product design is successful or not is in the purchasing of the product. The product designer has to determine that result in advance, of course, which is the key to the creation of the best design. In general there are two main design considerations that affects the end result. The first is industrial design which is concerned with functionality, workability and durability. The second is product design would is related to aesthetics, eye appeal, coloring and general overall appeal.
Industrial design is affected by a variety of factors such as script load on the servers, script memory usage, as well as reliable error checking if and when invalid data is received. The user of the object expects the scripts, poses, animations, etc to work at all times regardless if it’s first use of the scripted object or weeks later after the sim has crashed/restarted.
Product design is affected mostly by visual elements such as the relative scale of the object in relationship to the avatar (of which avatars can come in all sizes from small nano avatars to larger avatars a dozen or more meters tall). The colors used to texture and tint the object should not clash with each other and if the object can change into different shapes such as an outfit or even a rigid mechanical part of a machine such movement should appear natural from the avatar’s viewpoint.
A great deal of effort will usually go into the marketing end of the equation in order to determine what segments of markets are demanding the product. Once that area is sufficiently identified, then the product can be designed to specifically appeal to that market segment in a successful manner that
will bring predictable results.
Functionality testing a new product or service before general release to the public is generally performed in two stages, alpha testing performed by the creator of the product and then beta testing by individuals most likely to use the product in the field. The primary reasons for functionality testing is to ensure that it satisfies the requirements of end users and also to come up with suggestions for future improvements.
Scripted objects are more likely to be functionality tested than non-scripted objects. Such testing requires that the product be utilized over and over again starting with individual testing of minor components (i.e. when odd symbols and excessive characters are submitted into the script does it respond appropriately or result in parsing and memory errors?) working up to the overall major characteristics of the solution such as generating the correct output when provided multiple variations of inputs. If a significant issue is discovered at the early stages these are usually resolved first before proceeding onto a later and larger stage. The testing process can very monotonous, yet is an important requirement.
The platform and viewer used to interact with and view the object is a circumstance that needs to be considered too as many still insist on using older viewers that may not be capable of rezzing sculpt and mesh objects nor respond appropriately to the latest and greatest scripting commands. Textures may not load as quickly as desired on computers with minimum hardware specifications and/or slow internet bandwidth speeds. Such limitations may either be addressed by the creator through either modification of the object or a mention in the notecard instructions that the viewer, hardware, and bandwidth must be meet certain requirements. In the latter case any identified glitches are indicated as “not a bug” and disregarded.
In the absence of external testers the creator can simulate much of the above by having multiple clients installed on multiple computers (i.e. desktop and laptop/netbook) as well as connections both hard-wired as well as wireless to vary the internet connection speeds. Alternate accounts can not only test for correct functionality, but can also be used to ensure the permission of objects and their contents (i.e. textures, notecards, scripts, animations, etc) appropriately protect the creator against theft while also allowing the user to customize or configure as required.