webOS TV provides an app checklist for self evaluation of your app. It is also mandatory to upload the filled self-checklist file when you submit the app, and if not or the information in the file is not sufficient, the app may be rejected without a QA process. If your app fails in any item, you should debug the issue before submission.
This section summarizes the self checklist and emphasizes some of the items on the list. For the full list, download App Self Checklist.
Depending on the features of your app, you can mark some items as not applicable (N/A). However, before doing it, make sure that it is actually N/A, because if not, the app will be rejected for not providing accurate information.
Content self-check guidelines
Before approving an app for sale, we also examine whether the app content includes any sexual offensiveness, violence, discrimination or crime/drug abuse, and other inappropriateness. If your app does not abide by the set guidelines and includes any inappropriate items listed, the app will be rejected.
Below is the summary of content check points that guide you on what should not be included in your app. For the full details, refer to the downloaded app self checklist.
The app should not include descriptions of any sexually-offensive acts or unfair presentations of sexuality/genders.
The app should not include any realistic descriptions of violence, weapons, and animal cruelty or expressions that belittle human lives or promotes crimes and unethical actions.
The app should not include any expressions of violent towards or discriminative against specific regions, genders, generations, religions, and/or ethnic groups.
The app should not include any content that aims to commit a crime, aids someone to do, encourages young adults' smoking and drinking, or pertain to the use of illicit drugs.
The app should not include items considered to be gambling games, purchase or cashout of game money, transfer of game money among users, or acquiring of compensation.
The app should not include themes against any specific religious or national background.
UX self-check guidelines
The webOS TV provides mandatory and recommended guidelines for webOS TV UX, which you should know about when developing webOS TV apps. You must follow the mandatory guidelines to pass the app QA and launch your app to LG Content Store. Also, you should follow the recommended guidelines to avoid users’ confusion and maintain a unified look and feel.
All navigation keys must be operable on the app. Selectable UIs must be controlled by 4-way navigation keys (Up, Down, Left, Right), OK, and Back buttons. However, on screen display (OSD) buttons working with colored keys (red, green, yellow, blue) do not need to be controlled by 4-way navigation keys.
All screen cursors must be operable on the app. Selectable UIs must be controlled by screen cursors and OK button.
A click on the Back button on the entry page of the app must display the Home screen. Pressing the Back button on the Remote Control on the entry page must display the Home screen, rather than a previous page. For detailed information, see Back Button.
All of the objects in the app must provide an selection effect. All of the objects in your app MUST ALWAYS provide some sort of selection effect with NO EXCEPTION. Unlike touch-enabled devices, taking action on TV requires 2-step user interactions; the user needs to select a UI element on the screen using the pointer or the arrow keys depending on the remote control mode, then press the OK button. Therefore, for a better user experience, you must apply the selection effect (animation, highlight, color or size changes, etc.) to show what element is activated.
The screen resolution of the app is supported by webOS TV. The screen resolutions of apps could be either 1280x720 or 1920x1080. However, we recommend using 1920x1080 for a screen resolution. If you do not define the screen resolution in the appinfo.json, 1920x1080 is used by default. Therefore, if you want to use 1280x720, you must modify the resolution value in the appinfo.json. For detailed information on screen resolution, see resolution
The button image meets the minimum size recommendation. We recommend using at least the following image size for clickable buttons.
75x75 pixels for 1920x1080 resolution
50x50 pixels for 1280x720 resolution
The text font meets the minimum font size recommendation. We recommend using at least the following font size for texts.
20 pixels for 1920x1080 resolution
14 pixels for 1280x720 resolution
UIs have states that are visually recognizable. Selectable objects such as a button, menu, and tab should have states that are recognized at a glance.
The app has a visual cue while the content is being loaded. We recommend that apps have a visual cue to indicate the progress of loading content. If an app shows a black screen without comment or cue while the content is being loaded, it will make users anxious about progress.
The wheel button action matches the recommended usage. When users scroll lists using the wheel button of Magic Remote, the lists should be moved in the same direction of the mouse scroll wheel.
If the app uses the LG Virtual Keyboard, its operation matches the recommended usage. LG Virtual Keyboard automatically comes from the bottom of the screen when users select input fields. For detailed information on LG Virtual Keyboard, see Virtual Keyboard.
If the app provides a playback control, the on-screen menu is supported. The playback control can be controlled by 4-way navigation keys and the screen cursor of the Remote Control as well as the on-screen menu. (Image update needed)However, if the media buttons such as Play, Stop, FF/REW are not provided by the Remote Control, the playback control must be controlled by the on-screen menu.
The Play button on the playback control has the pause feature as well as the play feature. Also, the Pause button on the playback control has the play feature as well as the pause feature. The Play button can have both play and pause features, and the Pause button can have both pause and play features. If two buttons respectively exist on the playback control, we recommend each button have one feature.