Airspace™ Review Guidelines
What is the Leap Motion review process?
By reading our Review Guidelines, you'll learn how we evaluate our submissions. And it will help you make the right choices while you're creating, building, and submitting your app. This process is all about our customers. We want to be sure that when they discover a new app in Airspace, it's the best it can possibly be.
Our Review Guidelines
Your apps are crucial to the Leap Motion experience. Customers everywhere look forward to seeing your creations come to life. And, of course, so do we. We're your committed partners who support your ambitions to create high quality, unique apps. In this spirit, every app submitted to the store is reviewed by the Leap Motion App Review Team. They use our Review Guidelines to ensure every app will be a positive experience for everyone. Understanding these guidelines will help your submission process. You'll make decisions based on what you learn — and they'll enhance your app and expedite its approval into Airspace. If you have feedback on the guidelines, please let us know by commenting in the Developer Forum.
Download complete Review Guidelines (PDF).
The Review Guidelines are divided into 3 sections, which cover all aspects of your app. Explore the following in any order, but make sure you have a thorough understanding of these guidelines before you complete your submission.
-
Please note that you are responsible for complying with these Guidelines, and Leap Motion’s acceptance of your app does not constitute Leap Motion’s approval of your compliance with any specific provision of these Guidelines.
Section 1: Content Standards
Leap Motion evaluates how your app affects the user's machine and operating system and whether or not your app content is appropriate. This section includes policies regarding virus/malware and malicious intent, and content that is not allowed in the store.
Apps that exhibit malicious behavior of any kind will be rejected. This includes:
1.1.1 Apps that interfere with the user's system or compromise its security or functionality in any way. These apps include:
- Apps that access or harm the user's system, applications, or personal data.
- Apps that include viruses, worms, defects, Trojan Horses, malware, or any other malicious software.
- Apps that link to, distribute, transmit or provide any kind of entry point for these malicious software.
1.1.2 Apps that modify or delete data without the user's consent. These apps include:
- Apps that harm a network, server, or other infrastructures.
- Apps that interfere with the operation of these infrastructures or access them in an unauthorized manner.
- Apps that collect any information, such as the user's location or behavior, without the user's consent.
- Apps that contain Spyware, malicious scripts, or password phishing scams.
- Apps that cause users to unknowingly download or install applications from external sources.
- Apps that do not function the way it's described or intended or changes its purpose after download.
- Apps that launch automatically or invoke other code to run automatically at startup or login without explicit user consent.
- Apps that request escalation to root privileges.
- Apps that require admin privileges.
- Apps that do not save data in the appropriate directories.
- Apps that access any files outside of the scope of the App.
- If your App accesses content from the web, it should warn the user that web content isn't monitored and could contain content that doesn't adhere to Leap Motion guidelines.
Apps that misuse or potentially cause damage to our customer's devices or services will be rejected. This includes:
- Apps that encourage users to use hardware in a way that may cause damage.
- Apps that violate an internet provider's terms of service for allowed usage.
- Apps that violate any Leap Motion terms of use.
- Apps that over-burden the system with notifications. Apps should enable users to opt-in to all notifications.
- Apps that quickly drain the computer's battery or create excessive heat.
- Apps that create excessive network or bandwidth usage that impacts a user's service charges.
Apps that enable, allow, or encourage Illegal activities will be rejected. This includes:
- Apps that have content or functionality to enable, allow, or encourage a user to engage in any illegal activity including, but not limited to:
- illegal file sharing
- theft of intellectual property and information
- theft of physical property and information
- the use of illegal substances
- solicitation of illegal substances
- Apps must adhere to all legal requirements in any location where they are made available.
- It is the app developer's duty to comprehend and comply with all applicable laws and regulations.
Apps that contain explicit material or exceed age rating standards for in-app content* or metadata will be rejected.
1.4.1 In-App Content that would be rejected includes, but is not limited to:
- Apps and metadata that contain adult content including nudity, graphic sex acts, or sexually explicit material.
- Apps that contain excessively objectionable, obscene or crude content.
- Apps created solely to upset or disgust end-users.
- Apps that contain gratuitous profanity.
- Apps that contain content that promotes, allows or glamorizes excessive use of alcohol, tobacco, illegal substances and/or weapons towards minors or adults.
- Apps that would warrant ratings over ESRB Mature, PEGI 18, or Rated NC-17.
1.4.2 Metadata and other accompanying content that appears within Airspace must meet the following standards:
- All content describing an app should be acceptable for audiences of all ages.
- Screenshots, icons, and other images or video should not exceed the 12+ age rating standard (reference age rating chart in section 3.4).
*Content refers to the imagery, audio and text contained within the app, screenshots, icons, notifications and error messages exposed through the app or generated by other users, and anything that's delivered from a server or a service.
Apps that present false information or functionality will be rejected. This includes:
- Apps that perform trick or fake functionality without being clearly labeled as such.
- Apps that contain fraudulent, false, or misleading representations.
- Apps that provide incorrect or inaccurate diagnostic data.
- Apps that contain deceptive behavior such as falsely representing companies, organizations, or people.
- App that contain warnings, functionality and notifications that mimic the operating system or pass itself off as other Apps.
- Apps with names or icons that appear confusingly similar to existing products.
Apps that compromise the user's privacy will be rejected. Follow these privacy guidelines:
1.6.1 App Privacy Policy
- If your app collects any personal data from a user, the user must be able to clearly see and find your app's privacy policy. This privacy policy must tell the user what personal data the app collects and how and where the data is used, stored and shared Additionally, the privacy policy must comply with all applicable laws and regulations.
- Apps that intend to obtain data and information from children under the age of 13 will be rejected.
1.6.2 Opt-In/Opt-out
- Apps must obtain the user’s opt-in and consent before collecting or sharing any personal information.
- Apps must also provide an option for the user to retract the shared information and opt-out, while still maintaining full functionality of the App.
- Apps that send email or other messages must first inform the user to confirm the content and recipient.
1.6.3 Private, Personal, and Confidential Information
- If your app collects data that are not related to the app's basic functionality or that involve sensitive information, your app must either (a) deliver a notice just before collecting the data and give users an opportunity to allow or prevent the practice or (b) contain a short statement highlighting the unexpected practices, and privacy controls that allow users to make, review, and change their privacy choices.
- Apps are not allowed to publish, sell, or disclose private, personal, and confidential information without the explicit consent of the user. Any information or data that could reasonably be used to identify a user is considered to be personal data. For example: Credit card numbers, Social Security numbers, date of birth, license numbers, contacts, photos, audio and video recordings, location, text communication, emails and email addresses, passwords, images of the user's computer desktop or screen shots, unique identifiers based on the computer's hardware, and in some cases, combined browsing history and any other information that is not publicly accessible.
- Apps must adhere to operating system settings for notifications and remain functional when notifications are disabled.
Apps that contain bullying, hate speech, or discrimination from content or intent will be rejected. This includes:
- Apps that contain content that threatens, harass, or bully other users.
- Apps that are defamatory, offensive, mean-spirited, libelous, slanderous, threatening, or potentially place a group or individual in harm's way.
- Apps that solely contain enemies who directly reference a real-life race, culture, social group, government or organization.
- Apps that anonymously contact, message, or prank other users.
- Apps that promote discrimination or hatred toward groups of people based on their race, ethnic origin, nationality, language, religion, disability, gender, age, veteran status, social group, or sexual orientation/gender identity.
- Apps that contain inaccurate and/or inflammatory references to religious text and practices.
Apps that infringe on intellectual property standards will be rejected. This includes:
- Apps that infringe on the intellectual property rights of others, including patents, trademarks, trade secrets, copyrights, and other proprietary rights.
- Apps that encourage or induce infringement of intellectual property rights.
Apps that contain excessive violence or excessively violent content will be rejected. This includes:
- Apps with content that depicts, promotes, allows, or encourages extreme, excessive, or gratuitous violence or human rights violations.
- Apps that are designed or marketed to perform, demonstrate, or encourage actions that could cause physical harm to any person or animal are not allowed.
Apps with content related to gambling or gambling assistance will be rejected. This includes:
- Apps that facilitate gambling with real currency or virtual currency purchased with real money. This includes but is not limited to: lotteries, raffles, sports wagering, online casinos, etc.
- Apps that assist or instruct the user in illegal gambling acts or illegal gambling techniques.
Apps that conduct sweepstakes or contests should follow these guidelines:
- Apps that enable the user to participate in contests or sweepstakes must be endorsed by the company offering the contest/sweepstakes.
- Contest or sweepstakes rules must be visible within the App and clearly state that Leap Motion does not endorse or have any involvement in the contest/sweepstakes.
Apps used to control industrial or similar equipment, or in high-risk activities, will be rejected.
- Apps may not be designed for use, or primarily used, for direct or indirect control of any industrial or medical equipment of any type.
- Apps may not be designed for use, or primarily used, for direct or indirect control of any system, machine, equipment or device where failure or fault of any kind of the Leap Motion Controller or software could lead to death or bodily injury of or to any person, or to physical or environmental damage.
- If your app controls motorized or mechanical equipment, the control functionality will not be tested by Leap Motion, and you are solely responsible for ensuring that any control functionality in your app functions as intended. However, Leap Motion provides no assurance that the Leap Motion Controller or Leap Motion software will always function as intended.
Apps that solicit donations or funds will be rejected. Including:
- Apps that contain content which solicits, directly or indirectly, donations or funds for the developer or third parties.
App developers can use any third-party in-app advertising platform they choose. At this time, Leap Motion does not offer an in-app advertising service.
-
Section 2: Functionality and Compliance
Use these guidelines to determine the quality, stability, and usability of your app. This section contains information related to your app's performance and general stability, app updates, external connections and data, and appearance/performance across different platforms.
These guidelines determine the performance and stability of the app, the handling of updates, and controller states.
2.1.1 Guidelines for performance and stability:
- Apps must be a finished product. Apps that are incomplete, contain placeholders, or are still in the Prototype/Alpha/Beta phases will be rejected.
- Apps that unexpectedly close, crash, hang, lose user data, exhibit memory leaks or other performance/stability issues will be rejected.
- Apps must perform well on the System Requirements listed in Airspace.
- Apps must perform well on all OS versions and Platforms that the App supports.
- Leap Motion currently supports the following:
OS X 10.7, 10.8 and Windows 7 (x86/x64), Windows 8 (x86/x64)
2.1.2 Guidelines for app updates:
- App updates must be backwards compatible with existing user data.
- App updates must not diminish or remove any functionality or quality of the pre-existing App in a way that tangibly reduces the value of the original App.
2.1.3 Guidelines for controller states:
- Apps must enter and exit sleep and hibernate operating system modes gracefully.
- Apps should only receive instructions/gestures if it’s in the active window. Any apps running in the background would need to be brought to the foreground to accept motion input.
- Apps that require a connection to an external server or web service must be clearly noted. If the server is unreachable, the user should be notified gracefully and allowed to proceed in an offline mode, if an offline mode is available.
- Apps should detect whether the Leap Motion Controller is plugged in, and notify the user if power is needed.
- Apps should detect whether the Leap Motion Controller software is running, and notify the user if it’s not.
- When the Leap Motion Controller is disconnected, apps must notify the user gracefully. Apps must retain its full functionality when the Leap Motion Controller is reconnected.
- Apps must handle unexpected Leap Motion Controller software closure and notify the user gracefully. Apps must retain full functionality when Leap Motion Controller software is re-launched.
- Any app notifications to users regarding the controller states should reference the “Leap Motion Controller” as the name of the device.
- App processes must stop when the user closes or exits the app. Apps that continue to run in the background will be rejected. This includes:
- Apps that have child processes or background services that continue to run without user consent.
- Apps that throw error messages, crash or hang on exit.
Follow these guidelines to ensure your app is easy to use, accessible, and provides value.
- Apps should use the Leap Motion Controller as the primary input device. Other inputs are also allowed.
- Apps should behave and appear nearly identical on all OS versions that Leap Motion supports. If this is not feasible, then a separate App must be made for each OS version number.
- EXAMPLE: An App on Windows 7 and Windows 8 should look the same, regardless of the OS for which the App is intended.
- Apps must be free of any major issues.
- Apps must function as reasonably expected. This includes controls, UIs, menu flows, login flows, frame rate and performance.
- Apps must display visual confirmation and feedback when a user selects interactive elements.
- Apps must function as advertised in the App Detail Page. All app features must be documented and must not contain hidden functionality.
- Apps with ulterior motives not described in the App Detail Page will be rejected.
- Apps must automatically detect any system changes, such as graphic card information or benchmark results, and continue to function properly.
- Apps should not change the intended use of any other input devices, such as keyboards, mice, tablets or touchscreens. Example: A mouse axis should not become inverted while or after running the app.
- Your app should not prevent the use of standard operating system specific shortcuts. For example: Alt-Tab / Command-Tab should still be usable for switching between apps.
To provide users with a high-quality experience, consider these best practices:
2.3.1 Create a structured and seamless progression through the experience.
- Welcome and engage the user with a splash screen and menus.
- Educate and enlighten the user with clear instructions, tutorials or walkthroughs.
- Smoothly transition users into the core experience.
- Gracefully allow the user to pause, resume and/or exit.
2.3.2 Create an engaging and intuitive experience.
- Create straightforward and intuitive experiences. Controls and navigation should feel organic and logical.
- Grab the user's attention with polished and visually appealing design.
- Leverage the precision, accuracy and speed of the Leap Motion controller.
- Take full advantage of all 3 axes (x, y and z) where relevant.
- Utilize the APIs provided by Leap Motion to ensure the most up-to-date functionality: https://www.leapmotiontechnology.com/documentation/guide/Leap_Overview
- Account for natural and comfortable human interaction when designing the experience. Consider longevity, repeated actions and effort required.
More information, thoughts and examples on creating high-quality user experiences are available on the forum.
Section 3: Packaging, Metadata and Airspace
Learn how to properly package your app. This section contains information related to naming conventions, metadata and Airspace assets such as text, image, video, and age ratings.
Follow these guidelines to package your app for submission to Airspace:
- App executables must be digitally signed with an appropriate code signing certificate, issued by a trusted certificate authority, such as VeriSign, GoDaddy, Microsoft or Apple.
For reference, here are the code signing procedures for Windows and Mac developers:
- Apps and app content must be self-contained, single application bundles.
- Apps cannot install to the Root folder or in Shared folders.
- Apps cannot download, install code, data or resources in shared locations.
- Apps cannot install anything from external sources.
- Apps must not download other standalone Apps.
- Airspace is currently provided only in the English language. You may choose to provide your app in multiple languages. If you do, you must include all language support files within one package.
- Final app file (.app for Mac, .exe for Win) should be named according to this convention:
[AppName]_LM.[extension].
For example: Block54_LM.app or Block54_LM.exe - Apps must be packaged correctly using a standard format for each OS/platform.
- Windows: Gather all files needed for running the app, including the required Leap Motion files into a single folder. Also create a folder of dependencies needed to run the app, such as DirectX or Java Runtime. Add both folders to a .zip file for submission.
- Mac: Package the App as a standalone .app folder including all required Leap Motion files. The installation procedure should involve the user dragging the App in to the installation directory. Place the standalone App in a disk image (.dmg file) for submission.
-
Final package should be named according to this convention:
[AppName]_LM_[Version#]_[Platform].[extension].
For example: Block54_LM_1.01_OSX.dmg or Block54_LM_1.01_Windows.zip
Follow these guidelines to name your app, set your price, and obtain a unique App ID for Airspace:
-
Apps must have a unique name, icon, and metadata. It must be different from all other Apps within Airspace and must not contain the words “Leap” or “Leap Motion”.
- Refrain from using Leap Motion company names or products in your app name, for example “Leap,” “Leap Motion”, “LM”, “Airspace”, “Leap Motion Controller”, etc. Airspace is dedicated to Leap Motion apps, so there is no need to include Leap Motion in the app name.
- Refrain from using variations or misspellings of Leap Motion company names or products in your app name, for example “AirSpce”, “Leep Motion”, etc.
- Avoid app names that might be confused with Leap Motion company names, products or general themes, for example “Lead Motion”, “Motion Control”, “Gesture Control”, etc.
- App pricing model should be set to either Free or One Time Fee. A price greater than or equal to $0.99 must be set for any paid apps.
- Apps must have one Leap Motion App ID per platform, provided by Leap Motion.
- Apps must not be disguised as other Apps or content.
- An App Version must be assigned to each submission.
-
Developers are able to submit any version number format you choose, to accommodate apps that may already exist.
For new apps or new developers, a suggested format for your app is 1.000 for the first submission of an app. Subsequent submissions for the same app version could be 1.001, 1.002, etc. Updates to a published app could increment the primary version number to 2.000, 2.001, etc. - The maximum list price for Apps in Airspace is US$500 or local equivalent. Apps priced higher than the applicable maximum may be listed only under a separate agreement with Leap Motion.
Follow these guidelines to compile assets, content (text, images, video), and metadata for Airspace.
3.3.1 App Descriptions
- App descriptions must accurately reflect the core functionality and capability of the App. Apps are expected to function as advertised.
- App updates must include accurate information describing the update in the What's New section of the App Detail Page.
- The following fields must be supplied at minimum in the app description:
- App headline
- 1 paragraph title
- 1 paragraph description
3.3.2 Image and Video Assets
- 1 Desktop Icon should be supplied within the executable file. This is the icon that will appear on a customer's computer to launch the app. The same Desktop Icon file can be used on Mac or PC.
- Desktop Icons must be .png files 512x512 pixels in size. This same icon could also be used for the App Store Icon.
- 1 App Icon image should be supplied.
- App Icon must be a .png file on a transparent background, at least 100x100 pixels in size. This could be the same icon as is used for the Desktop Icon.
- 2 Profile Images should be supplied: 1 Large and 1 Small.
- Large Profile Images must be delivered as a 490x270px .jpg file.
- Small Profile Images must be delivered as a 235x100px .jpg file.
- Profile images can be rendered key art and are not limited to actual product screens.
- At least 3 screenshots should be supplied.
- Screenshots must be .jpg files, at least 1280x720 pixels in size (for 16:9) or 1280x800 pixels (for 16:10).
- Screenshots must be of the actual finished product. Enhanced or modified screenshots are not allowed.
- 1 Video demo is allowed per app, and is optional. The video should be uploaded to YouTube, with the embeddable link provided in the submission form.
3.3.3 Other App Metadata
- One category must be selected to appropriately categorize the app.
- Developers must identify whether the app is built for Windows or Mac OS, or is a website.
- Developers must provide System Requirements for apps, including which operating system versions are supported by the app. For example: Windows 7 or later.
- Leap Motion currently supports the following:
OS X 10.7, 10.8 and Windows 7 (x86/x64), Windows 8 (x86/x64) - A Content Age Rating must be set for each app. See section 3.4 for more details.
- Apps must be labeled as either a Standalone App, Plugin, or Website and appropriately for the type of content being offered.
- Each app must provide a link to a Privacy Policy for consumers to review prior to purchase.
- Developers are not allowed to manipulate or falsify user reviews or rankings in Airspace with fake or paid reviews, or any other inappropriate methods.
Follow these guidelines to determine age ratings of apps and app content:
- Developers must provide appropriate Content Age Ratings related to the App. An inappropriate or misleading Content Age Rating may be changed by Leap Motion.
- Use the table at the bottom of this section to help determine the appropriate age rating for the app within Airspace.
- Apps that provide access to social networks or personal information sharing must be rated at least 12+, unless the App contains functionality for parental controls and permissions. This also applies to Apps that sell products, services or stream uncontrollable content.
Rating Description & Example Equivalent Ratings* 3+ - Suitable for young children and all ages.
- Educational; contains no objectionable content.
- ESRB: Early Childhood
- PEGI: 3
- Movie Rating G
7+ - Suitable for ages 7 and older.
- Mild cartoon or fantasy violence.
- ESRB: Everyone
- PEGI: 7
- Movie Rating PG
12+ - Suitable for ages 12 and older.
- References to sexual content, realistic violence, references to illicit materials.
- ESRB: Everyone 10+
- PEGI: 12
- Movie Rating: PG-13
16+ - Suitable for ages 16 and older.
- Suggestive or sexual content, crude humor, gambling themes, inclusion of illicit materials.
- ESRB: Teen
- PEGI: 16
- Movie Rating: PG-13
18+ - Suitable for ages 18 and older.
- Apps that require user to be 18+ but do not contain sexually explicit or other content that would be classified Adult/Mature.
- ESRB: Mature
- PEGI: 18
- Movie Rating: R
Adult / Mature - Not allowed
- Porn, Gratuitous real violence, hateful content.
- ESRB: Mature / Adult
- PEGI: 18
- Movie Rating: NC-17
*Mature or Adult-rated content will not be published on the Leap App Store.
Follow these guidelines for providing app customer support:
- Developers are responsible for providing customer support for their Apps.
- Customer support information must be listed in the App's description page; at minimum an email address is required.
- Developers are responsible for providing their own login information retrieval system for Apps that require a login and password.
Follow these guidelines for determining purchases within Airspace:
- Developers charging for App downloads through Airspace must use the payment system provided by Leap Motion.
- App updates for Apps distributed through Airspace, must be conducted through Airspace.
You must follow these standards when using assets provided by Leap Motion:
3.7.1 Leap Motion Company Logo
- The Leap Motion company logo may be used in the splash screen of your application
- The Leap Motion company logo can not be the primary element on the splash page
- There must be space of at least 1/4 the size of the Leap Motion company logo from any other logos/icons
- The Leap Motion company logo should never appear smaller than 50px in height
- The Leap Motion company logo may not be used in any way that implies partnership with or sponsorship by Leap Motion
- You may not modify (other than resizing) or animate the Leap Motion company logo in any way
- You may not use the Leap Motion logo outside of the application without prior written permission (for example, it may not be used on your website or in other advertising)
3.7.2 “Available in Airspace” Logo
- Coming soon
Guidelines Violation Policy
We strive to maintain a great experience with developers and end-users and thus enforce all the standards listed within these Review Guidelines.
Developers that repeatedly violate these guidelines may be asked to cease all future submissions or be removed from the Leap Motion Developer Program.
This is a living document and should be checked for updates before submitting new Apps or App updates. The current version will always be available here.
Last updated: April 22, 2013