# SoftBank Robotics documentation What's new in NAOqi 2.8?

# Robot Application Standards

Before publishing your Applications on the SoftBank Robotics Store, take a few minutes to read and understand the following requirements. Make sure your application is compliant with all of them before publishing it on the SoftBank Robotics Store.

Note

These requirements aim to keep a good quality in Applications intended for SoftBank Robotics robots. Applications that violate any of these requirements will not be accepted in the SoftBank Robotics Store.

## Reliability

- The Application MUST NOT exhibit bugs.
- The Application MUST be able to run multiple times without restarting NAOqi or the robot itself.
- The Application MUST NOT download code in any way or form.

## Modules and Services

- The Application MUST NOT unregister any standard NAOqi module or service.
- The Application MUST only use documented APIs in the manner prescribed by SoftBank Robotics and must not use or call any private APIs.
- The Application MUST register only its own modules or services after being launched, and MUST unregister all of them, before exiting either voluntarily or not.
- The Application MUST reset all parameters and settings from standard NAOqi modules and services, that it has previously modified, before exiting either voluntarily or not.

## Motion Safety

- The Application MUST be able to start from any robot posture.
- The Application MUST NOT make the robot intentionally collide with himself or with his environment.
- The Application MUST NOT drive the robot to carry objects heavier than 400 grams.

## Autonomous Life

- The Application MUST NOT disable Autonomous Life.
- The Application’s activities MUST be able to be launched by Autonomous Life via: launch trigger conditions, trigger sentences, and/or the robot’s tablet.
- The Application MUST NOT contain launch trigger conditions that are always true.
- Trigger sentences MUST be specific enough to avoid conflicts with other Applications.
- The Application MUST define syntactically correct trigger sentences in every supported language, if the Application can be launched orally using trigger sentences.
- The Application MUST NOT contain more than one activity flagged as “May start on user request”.
- The Application MUST stop within 10 seconds on user’s stop request.
- The Application MUST stop all the behaviors, that it has manually started or run, before exiting either voluntarily or not.

## Resources and Data

- The Application MUST only modify ALMemory keys created by the Application.
- The Application MUST unsubscribe from all the extractors, to which it has previously subscribed, before exiting either voluntarily or not.
- The Application MUST release all the resources, that it has previously acquired, before exiting either voluntarily or not.
- The Application MUST only save and modify files inside its User Writeable Data directory or its User Writeable Conf directory. The paths must be retrieved using the provided API.
- The Application MUST NOT crash due to incompatibility of data or configuration files previously saved in its User Writeable Data or its User Writeable Conf directories.

## Naming Conventions

- The Application’s title MUST be specific enough to avoid conflicts with other Applications.
- The Application MUST have a syntactically correct title in every supported language.
- The Application ID MUST be directly related to the Application title.
- The Application ID MUST only contain lower-case ASCII letters or numbers, and the words must be separated by a dash.
- The Application ID MUST contain between 4 and 64 characters.

## Packaging and Installation

- The Application MUST contain a Manifest file.
- The Application MUST specify, in its Manifest, the robot models it is compatible with.
- The Application MUST specify, in its Manifest, the minimum NAOqi version it is compatible with.
- The Application MUST contain a description in every supported language.
- The Application MUST specify in its description if any object is required.
- The Application MUST specify in its description if it requires the robot to move from its starting position.
- The Application MUST list in its description all external required Applications.
- The Application MUST contain a 320x320 icon with a PNG format.
- The Application MUST NOT contain a scaled, blurry or pixelated icon.
- The Application MUST be installed and updated through the SoftBank Robotics Store exclusively.
- The Application MUST NOT require extra manual operations during installation.

Glossary Site map Index Support Contact Legal Notices