Ever wonder how apps make it into the Leap Motion App Store? I’m Kip Bunyea, the Submissions Lead on the App Review team. We review app submissions from developers and help get their apps launched into the App Store. While all apps have to pass our comprehensive set of review guidelines, we’ve noticed that some blocking issues are more common than others. Today, I’d like to share the top 10 most common reasons that we often have to say “not yet” – including links to the relevant guidelines. Hopefully, these tips will help you glide through the app review process. (By the way, web experiences and robotic controls are definitely not blocking conditions – we love to see what you can build for browsers, drones, and everything in between.)
1. Using proper messaging and terminology
This is the most common blocking issue that our team encounters. If the Leap Motion Controller is disconnected before your app has launched or while your app is running, a disconnect message must appear. This message must persist until the controller is reconnected. Additionally, all references regarding the controller must reference the full Leap Motion Controller as the name of the device – not Leap, The Leap, Leap Device, or The Leap Motion.
2. Standard submission package naming and codesigning
Apps for Windows must be packaged in a .ZIP file, and apps for OSX in a .DMG file. Packages must also be named according to this convention: [AppName]_LM_[Version#]_[Platform].[extension] (e.g. LeapMotionApp_LM_1.01_OSX.dmg or LeapMotionApp_LM_1.01_Windows.zip). App executables must also be digitally signed with an appropriate code signing certificate. You can choose to sign your executables from an appropropriate code signing authority, or we can provide that service for you. To take advantage of this option, be sure to select “I would like to use Leap Motion codesigning” when uploading your binaries.
3. Comfortable and intuitive actions
Your app should account for natural and comfortable human interactions when designing the experience. Be sure to consider extended play, repeated actions, and effort required. Apps must leverage the precision, speed, and accuracy of the Leap Motion Controller and take advantage of all 3 axes (X, Y, Z) where relevant.
4. Complete app experiences
All apps submitted to the App Store must be finished products – ready for users to launch and enjoy. Apps that are incomplete (missing audio or other assets), contain placeholders, debug tools or text, or are still in prototype/alpha/beta phases will be rejected. Here are some of the key elements of a complete app experience:
- Make a Proper Entrance – set the stage and introduce users to the app experience, with splash screens, content animations, or environmental cues.
- Orient Appropriately – in addition to making your software easy to use and understand, be sure to provide clear instructions regarding controls.
- Put Users in Control – provide all necessary menus, settings, and controls in order to let users be the masters of their own experience.
- Exit Gracefully – don’t force anyone to stay longer than they’d like, and ensure that users have a quick and seamless way to always pause, go back, or exit your application.
5. A well-presented app details page
Your App Store Details description must clearly provide an app overview, features, and how it’s controlled with the Leap Motion Controller. The formatting should also maintain a certain uniformity. Please use the following as a guide in structuring your description:
- A catchy main header helps immediately captivate your audience.
- Use headings to outline major aspects of app usage.
- Paragraph bodies should make it clear what your app does and who it’s intended for.
- Bullets are useful in outlining key features in a concise and easily digestible manner.
- Proper spelling and grammar should be observed.
- Avoid using emojis, slang or inappropriate language.
For more tips about writing app details, check out our post on 5 App Store essentials. Remember, the preview button is great way to ensure that your page’s formatting is correctly in place. The App Details fields support Markdown code for these formatting options. If you’re not familiar with Markdown, there’s a great guide on it here.
6. Warnings for external web links
If your app contains hyperlinks, a warning message must indicate that web content isn’t monitored, and may contain content that doesn’t adhere to Leap Motion guidelines or ratings. We recommend the following wording:
This links to an external website, web content is not rated or monitored.
7. A switcher app for dependencies on Windows
Currently, App Home does not check for dependencies and install them automatically, so the main executable launched from the App Home tile must perform that check on each launch. This executable, known as a switcher app, must scan the user’s machine for the dependencies required and install them if not present. Once installed, the switcher app can then launch the main exe. These dependencies must be packaged with the app in a Dependencies folder for easy access. Here’s how the directory structure should work:
AppName_LM_[Version]_Windows.zip |---- AppName_LM.exe (Switcher App) |---- App (Main exe Folder) |---- AppName.exe (Main app exe) |---- Leap.dll (Support File) |---- LeapCSharp.dll (Support File) |---- Name.extension (All other files) |---- Dependencies (Dependencies Folder) |---- [Dependency1].exe (Dependency/Redist) |---- ... |---- [Dependency*].exe (Dependency/Redist)
8. Tutorials to help users get started
Orientation and tutorials are a great way to improve the user experience – especially for new device owners. Tutorials should be easy to understand and accessible at any time. Check out our best practices for orientations and tutorials to see some great examples.
9. Playing well with other programs and the OS
Be sure to design your app so that users are able to multitask with other programs, the desktop, or the OS. When an app window loses focus (such as when ALT+TAB is pressed, or the mouse is used to click out of the active window), the app should pause, and all music and sound effects should be muted until it regains focus. Also, when ALT+TAB is used, the app window should minimize to the taskbar.
10. Upholding standard OS shortcuts
Apps should never prevent the use of standard OS-specific shortcuts. Here are a few examples:
- Windows: ALT+TAB, ALT+F4, Windows Key, ESC
- Mac OSX: CMD+TAB, CMD+Q, ESC
It’s good practice to have ESC quit back to the Main Menu if hit while on a submenu or during gameplay, and to exit the game completely if pressed while on the Main Menu. This will prevent users from getting confused or frustrated.
Bonus Tip 11: Trial apps
That’s right, I couldn’t leave this one out! With our cross-promotions feature, you can let people try a free version of your app before purchasing the full version. But there are a few extra guidelines that trial apps need to observe. Your trial app must be named AppName Trial in the App Store, and the package must be named as such: [AppName]Trial_LM_[Version#]_[Platform].[extension] (e.g. LeapMotionAppTrial_LM_1.01_OSX.dmg or LeapMotionAppTrial_LM_1.01_Windows.zip). Trial apps must also use the Cross-Promotions API and all other Trial-specific guidelines that are covered in Guideline 2.4. You can find the API documentation and examples here.
With these guidelines met, your app will be well on its way towards its own App Store launch. I’d love to hear your thoughts about our app review process – post questions and comments below.
Apollo 17 photo courtesy of NASA and Wikimedia Commons (and yes, it’s available in wallpaper size).
Update 9/12/2014: The Airspace Store and App Home are now simply called the Leap Motion App Store and App Home.
Update 9/23/2014: This post has been updated to reflect our streamlined App Store guidelines. As a result, some guidelines are referenced by more than one tip.