Yahoo Connected TV
TV App Acceptance Criteria
Revision 4.4—2014/5/12
Copyright © 2014, Yahoo.
All Rights Reserved.
Legal Notices
Copyright © 2014, Yahoo. All rights reserved.
This document contains confidential, proprietary information of Yahoo! Inc. Unauthorized copying,
reproduction or disclosure of any portion of the contents of these materials by any means—including
printed or duplicated materials, on-screen publication or Web documentation—is expressly forbidden.
INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH YAHOO! INC.
PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY
INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. YAHOO! INC.
ASSUMES NO LIABILITY WHATSOEVER, AND YAHOO! INC. DISCLAIMS ANY EXPRESS OR
IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF YAHOO! INC. PRODUCTS
INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR
PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER
INTELLECTUAL PROPERTY RIGHT. UNLESS OTHERWISE AGREED IN WRITING BY YAHOO!
INC. THE PRODUCTS ARE NOT DESIGNED NOR INTENDED FOR ANY APPLICATION IN WHICH
THE FAILURE OF THE PRODUCT COULD CREATE A SITUATION WHERE PERSONAL INJURY
OR DEATH MAY OCCUR.
Yahoo may make changes to specifications and product descriptions at any time, without notice.
Designers must not rely on the absence or characteristics of any features or instructions marked
“reserved” or “undefined.” Yahoo reserves these for future definition and shall have no responsibility
whatsoever for conflicts or incompatibilities arising from future changes to them. The information here is
subject to change without notice.
Yahoo and the Yahoo logo are trademarks of Yahoo! Inc.
Third party trademarks and images shown are the property of their respective owners. This document
is neither affiliated with nor endorsed by the owners of the third party images, names and logos
displayed herein.
2
YCTV TV APP ACCEPTANCE CRITERIA—V4.4
Contents
Legal Notices ........................................................................................ 2
Introduction .......................................................................................... 4
Overview ............................................................................................... 5
TV App Metadata ................................................................................................ 5
Testing Information ............................................................................................ 6
TV App Test Cases ............................................................................. 10
Test Case Template .......................................................................................... 10
Common Test Cases for your Consideration................................................. 11
TV App Updates ................................................................................. 14
Acceptance Criteria............................................................................ 17
Application Criteria .......................................................................................... 17
Stability Criteria ................................................................................................ 20
Usability Criteria ............................................................................................... 21
Internationalization Criteria ............................................................................. 23
TV App Approval Process................................................................................ 23
Addendum: How to Obtain an Encryption Registration Number
(ERN) ................................................................................................... 24
YCTV TV APP ACCEPTANCE CRITERIA—V4.4
3
Introduction
Thank you for your interest in TV Apps! We encourage you to use these TV App Acceptance Criteria for
the development of optimal TV Apps for the Yahoo Connected TV Platform where apps can take
advantage of the connectivity, resolution, and computing speed of connected television devices.
TV Apps enable consumers to engage in a variety of experiences, such as watching videos, tracking
their favorite stocks or sports teams, interacting with friends, and staying current on news and
information. Viewers are able to use these apps to deepen their enjoyment of the programming they are
watching, discover new content and services, and share their favorites with friends and family. TV Apps
can be personalized because they are based upon popular Internet services such as Yahoo Finance,
Yahoo Flickr, and Yahoo Sports that viewers have customized for use in their daily lives.
These TV App Acceptance Criteria will ensure your apps can be successfully deployed on a wide-array
of consumer electronic devices. These consumer electronic devices could include: Digital TVs, set top
boxes, DVD players, Blu-ray players, DVR’s and other media devices in the home.
The Yahoo Connected TV Platform allows developers to write apps using JavaScript and XML. Yahoo
also provides consumers with Yahoo-branded apps that are customized based on its category-leading
Internet services.
TV Apps rely on the media player and APIs resident on each consumer electronic device for playing
video. You will need to work with the device partner-specific consumer electronic devices to understand
their media player capabilities for video playback.
To move smoothly through the quality assurance (QA) process and ensure the earliest possible
publication date, you must meet these Acceptance Criteria prior to app submission. Keep in mind, bugs
and design defects in your app cause a fix and retest cycle that can add weeks to QA approval.
Regards,
Yahoo Connected TV team
4
YCTV TV APP ACCEPTANCE CRITERIA—V4.4
Overview
The latest version of this document is posted at https://developer.yahoo.com/connectedtv/. Online you
will find both Microsoft Word (.doc) and a Rich Text Format (.rtf) versions.
This document describes the criteria we will use to ensure your TV App is ready for publication in the
Yahoo Connected TV Store. We call these criteria the “Acceptance Criteria” for TV Apps. Once you
have completed testing your TV App, you can submit it to the Yahoo Connected TV Store. Both Yahoo
and device partners review your TV App using these Acceptance Criteria, and when ready, approve
your TV App for distribution in the TV Store. See the TV App Approval Process Overview.
Submit this information, together with your production-ready TV App implementation, so the review
process can begin.
TV App Metadata
This section describes the TV App metadata in the widget.xml file that identifies your TV App and will
be visible in the Settings sidebar’s “About” page. These fields are required and should be the same as
those found in the widget.xml file. Please enter the following information:
TV App Name
TV App Version
TV App ID
Author
Company
YCTV TV APP ACCEPTANCE CRITERIA—V4.4
5
Testing Information
This section describes the testing information required to properly test your TV App. Please enter the
following information:
TV App Description
Please provide a brief description of your TV App, what does it do? Why will consumers find it
interesting?
TV App Description
What will consumers find interesting about your app?
TV App Features
The features of your app are the distinguishing characteristics or discrete functions that can be
exercised by the consumer using your app. Each feature of your app must be able to be functionally
tested, answering the question: “Does this feature work?” Please list each feature of your TV App
below:
1)
2)
3)
4)
TV App
Features
5)
6)
7)
8)
9)
10)
6
YCTV TV APP ACCEPTANCE CRITERIA—V4.4
Test Account Information
What test accounts have been created so that QA can operate your TV App? Please check the box if no
test accounts are required, otherwise, enter username/password combinations and other relevant
information here:
Username
Test
Account
Information
Password
Other Information
No Test
Accounts
Required
IP Filtered Content
If your content is IP filtered contact yctvsupport@yahoo-inc.com to retrieve IP addresses for
whitelisting.
Is your Content IP
Filtered?
Not IP Filtered
IP Filtered
Supported Countries
List the countries in which your TV App is supported:
Supported
Countries
US, North America, all EU countries, Worldwide
Global Distribution Restrictions
Please indicate if content rights prevent global distribution of your TV App. List the countries that are
NOT PERMITTED to show your TV App:
Restricted
Countries
US, North America, all EU countries, Worldwide
Localization
Specify the languages your TV App supports:
Arabic
Dutch
Hungarian
Persian
Slovak
Bulgarian
English
Italian
Polish
Slovenian
Catalan
Estonian
Japanese
Portuguese
Spanish
Chinese
Finnish
Korean
Romanian
Swedish
Croatian
French
Latvian
Romansh
Thai
Czech
German
Lithuanian
Russian
Turkish
YCTV TV APP ACCEPTANCE CRITERIA—V4.4
7
Danish
Greek
Norwegian
Serbian
Vietnamese
Other Supported Languages
Export Compliance
Does the app use or contain any encryption? An app is considered to use encryption, whether or not the
encryption is included in the app itself. For instance, an app that uses the Secure Sockets Layer (SSL)
to encrypt user communications between client and server where SSL is implemented using algorithms
in the platform and SSL key management is provided by consumer’s mobile device would need to
check the Contains/Uses Encryption box below.
Does the app use or
contain any
encryption?
No Encryption
Contains/Uses Encryption
If you answered Contains/Uses Encryption above, does the app meet the following criteria?
Encryption is only used
for authentication
(password protection,
digital signatures), copy
protection, and/or
anti-virus protection.
Yes
No
Encryption is designed
for and exclusively
limited to piracy and
theft prevention;
games; music/digital
photos/movie players,
recorders, and
organizers; or imaging
and video recording or
playback.
Yes
No
Encryption key lengths
do not exceed 64 bits
symmetric or 768 bits
asymmetric and/or 128
bits elliptic curve.
Yes
No
If you answered No to any of the criteria above, please obtain and provide an Encryption Registration
Number (ERN) from the U.S. Department of Commerce, Bureau of Industry & Security (BIS). See the
section Addendum: How to Obtain an ERN for additional instructions and contact information.
Supported Device Partners
List the device partner platforms on which your TV App should be distributed. The default is “All Device
Partners”.
8
YCTV TV APP ACCEPTANCE CRITERIA—V4.4
Supported
Device Partners
All Device Partners
TV-Specific Testing
Specify the TVs you have tested:
LG
Samsung
Sony
Vizio
Toshiba
None
Others
Yahoo Connected TV Platform (Engine) Version (on the TVs and not the Simulator)
Bring up the dock and launch the TV Store. Press the GREEN key on the remote control or select the
Settings button in the global toolbar at the bottom of the app. Select the App Software button. Below,
please specify the version of the Yahoo Connected TV Platform on the tested TVs (not on the
Simulator):
Yahoo
Connected TV
Platform Version
Application Framework Version (on the TVs and not the Simulator)
Using the same process as above, bring up the dock and launch the TV Store. Press the GREEN key
on the remote control or select the Settings button in the global toolbar at the bottom of the app. Select
the App Software button. Below, please specify the version of the Application Framework on the
tested TVs (not on the Simulator):
Application
Framework
Version
YCTV TV APP ACCEPTANCE CRITERIA—V4.4
9
TV App Test Cases
Complete this section when you are submitting a new app. When updating previously submitted apps,
skip to the TV App Updates section. Please provide a short set of test cases for QA purposes. These
test cases are mandatory for Yahoo QA and device partners to be able to test the primary flows
through your app. A Sample Test Case is provided, below the Test Case Template, to give you an
example of the level of detail required by QA.
Help Speed Up the QA Process
Apps with the best test case descriptions move through the TV App QA Process more quickly!
INSTRUCTIONS



Copy/Duplicate the Test Case Template to provide a test case(s) for each feature and each
sidebar in your app.
Include instructions for setting up the test, executing the test, and verifying the test’s expected
results.
Be sure to indicate what user interface controls are manipulated, what data should be entered,
and what should be displayed onscreen.
Test Case Template
Use this template for each test case.
Sidebar Feature 1
Setup



Button Click-Stream
o Which app user interface controls must be selected prior to the test?
Data Setup
o What data setup is required for the test?
App State
o What app state must be entered before the test starts?
o What does the user interface look like prior to the test?
Execution



Basic Flow
o What are the events of the test case without errors or exceptions?
Button Click-Stream
o What buttons should be clicked?
Data Entry
o What data should be entered?
Expected Results


10
UI Results
o What does the user interface look like after the test?
Data Results
o What is the resulting data?
YCTV TV APP ACCEPTANCE CRITERIA—V4.4
Sample Test Case : Home Sidebar
Setup


Requires network connectivity and access to http://www.mycompany.com/servers
Requires whitelisting the test IP addresses.
Execution



Launch the app from its bookmark in the dock, the Home Sidebar is displayed.
The user scrolls through the grid using the left and right arrow keys on the remote control.
Selecting a cell in the grid using the remote control shall return a list of episodes in the
Episodes Sidebar.
Expected Results






The Home Sidebar is displayed.
Focus is on the header at the top of the sidebar where the app logo is displayed.
Below the header is a 2x2 grid filled with highlighted videos.
Below the featured highlighted videos is an alphabetically ordered grid of all of the videos being
tracked.
Below the 2x2 grid are buttons for Latest Videos, Popular Videos, and Friends’ Videos.
Selecting the Latest Videos or Popular Videos buttons returns the Video List Sidebar.
Common Test Cases for your Consideration
Review the following list of common test cases and include those required by your app.






Login/Logout
Account Setup
Account Deactivation
Add a Bookmark
Delete a Bookmark
Media Playback
-


User creates a 2nd profile and changes
preferences
Back Button Behavior
-
User activates back button from each
sidebar
Describe expected back button behavior
for all sidebar and fullscreen states.
User stops playback or presses the back
key during video playback
User initiates a search and selects a
displayed result
List the expected grid content
Network Disconnected State
-

-
Adding/Editing Content
View Albums, Display Photos
-

Support of Multiple Profiles
Search
-



User saves preferences
List all edit, save, and retrieval states
Video Event Handling
-

Free media
Premium media
Fullscreen support
Dock overlay support
-
User experiences a loss of Internet
connectivity
Describe all dialogs and user interactions
Stored User Preferences
YCTV TV APP ACCEPTANCE CRITERIA—V4.4
11
[Test Case Home Sidebar]
Setup

Execution

Expected Results

[Sidebar Feature 1]
Setup

Execution

Expected Results

[Sidebar Feature 2]
Setup

Execution

Expected Results

[Sidebar Feature n]
Setup

Execution

Expected Results

[Fullscreen Feature 1]
Setup

Execution

Expected Results

[Fullscreen Feature 2]
Setup

Execution

Expected Results

[Fullscreen Feature n]
Setup

Execution

Expected Results

YCTV TV APP ACCEPTANCE CRITERIA—V4.4
13
TV App Updates
Complete this section when you are submitting an updated app with new features and bug fixes.
INSTRUCTIONS



List what is brand new in this app.
List updated features that may require re-testing.
Create new test cases, or update existing test cases, for new features and big fixes.
New Features
Please list each new feature of your TV App:
1)
2)
New
Features
3)
4)
Updated Features
Please list each updated feature of your TV App. Include any changes that may affect areas of the app
that have already been tested.
1)
2)
Updated
Features
3)
4)
14
YCTV TV APP ACCEPTANCE CRITERIA—V4.4
[Updated Test Case Home Sidebar]
Setup

Execution

Expected Results

[Updated Sidebar Feature 1]
Setup

Execution

Expected Results

[Updated Sidebar Feature 2]
Setup

Execution

Expected Results

[Updated Sidebar Feature n]
Setup

Execution

Expected Results

YCTV TV APP ACCEPTANCE CRITERIA—V4.4
15
[Updated Fullscreen Feature 1]
Setup

Execution

Expected Results

[Updated Fullscreen Feature 2]
Setup

Execution

Expected Results

[Updated Fullscreen Feature n]
Setup

Execution

Expected Results

16
YCTV TV APP ACCEPTANCE CRITERIA—V4.4
Acceptance Criteria
This section describes the criteria that TV Apps must pass to gain entry into the Yahoo Connected TV
Store.
INSTRUCTIONS


Check the box in the leftmost column when the criterion has been successfully tested.
Check the “not applicable” box (N/A) if a criterion has not been met (by design), and provide an
explanation in the comments column.
You must fill out the following sections:




Application — to verify metadata, assets, and implementation criteria.
Stability — to verify resource management, as in CPU, memory, and execution duration.
Usability — to verify computer-human interaction conventions, multimedia experiences, and
graceful failures.
International — to verify localization support if applicable.
Application Criteria
This section describes the application-level acceptance criteria.
Check
when
Complete
Name
Description
Bug Free
Apps should contain no known bugs
nor open issues.
Max Size
Apps should be no more than 2MB
unzipped on disk. This value should
be directly measurable in the WDK
using the du command.
TV App
(Widget) ID
The TV App ID in the widget.xml file
must be unique. Do not use capital
letters in the TV App ID. We
recommend using a reverse domain
name appended with meaningful
sub-domains, for example:
N/A
Comments if Not
Compliant or
Exemption
Requested
<identifier>com.yourcompany.ap
ps.tv.news</identifier>
The TV App ID should not change
when updating to a newer TV App
Version.
YCTV TV APP ACCEPTANCE CRITERIA—V4.4
17
Check
when
Complete
Name
Description
TV App
(Widget)
Version
A TV App Version must be at
minimum three integers separated by
periods: major number, minor
number, and micro number, for
example:
<version>0.9.5</version>
A TV App Version must increase with
each updated version (for example,
1.0.0 to 1.0.1) and not regress (for
example, 1.0.0 to 0.0.9).
Author
Name
The Author Name entered in the app
upload tool will be displayed in the
Yahoo Connected TV Store. This is
the publicly displayed text.
Author
Company
The Author Company entered in the
app upload tool will be displayed in
the Yahoo Connected TV Store. This
is the publicly displayed text.
Store TV
App
Description
The description entered in the app
upload tool will be displayed in the
Yahoo Connected TV Store. This is
the publicly displayed text.
TV Store
Display
Images :
Store Icon
File / Store
Image File
For display in the Yahoo Connected
TV Store an app icon and a
sidebar/bookmark display are
required. The app icon is 44x44
pixels. Refer to the Quick Start Guide
for instructions on how to generate
these TV Store Display Images. The
app icon should be defined in the
widget.xml file and located in the
Contents/Images/960x540/
directory, for example:
<image usage="960x540.icon"
src="Images/960x540/xxx.png"/>
TV App
(Widget)
File
(zipped)
The app must be zipped with the
following naming convention:
identifier-version.widget
The identifier and version
number in the zipped filename
matches the identifier and version
number in the widget.xml file.
18
YCTV TV APP ACCEPTANCE CRITERIA—V4.4
N/A
Comments if Not
Compliant or
Exemption
Requested
Check
when
Complete
Name
Description
No Extra
Files
Zipped
The app must be zipped without extra
files, for example there should be no
invisible files (starting with . or ._ )
nor Thumbs.db files on Windows
nor .DS_Store files and __MACOSX
folders on Mac.
No Extra
Images
The images bundled with an app
should only be those required for
backgrounds, controls, branding, or
the no-network state. Other images
should be fetched dynamically and
displayed (not stored).
Minimize
Persistent
Storage
Developers should work to minimize
persistent storage use as there are
limited write-cycles on the flash
memory array.
Primary /
Single-func
tion
Apps must be primary/single-function
applications. Do not create a
launcher with sub-applications.
Create separate apps for each
application.
Bookmark
and
Sidebar
Required
Apps must have a bookmark and a
sidebar state at minimum.
No
Synchrono
us Calls
Apps must not make synchronous
calls.
No eval()
Use of the eval() function in apps is
prohibited.
No
Obsolete
APIs
Use of obsolete APIs in apps is
prohibited.
No
Third-Party
Developme
nt Tools
The inclusion of third-party
development tools in your app code is
prohibited.
N/A
Comments if Not
Compliant or
Exemption
Requested
YCTV TV APP ACCEPTANCE CRITERIA—V4.4
19
Check
when
Complete
Name
Description
No XML
Schema
XML Schema files (.xsd) are
prohibited.
Privacy
Policy
Developers must provide easy
access to a privacy policy from within
the app, including either the full text of
the policy or a URL to the policy
online.
N/A
Comments if Not
Compliant or
Exemption
Requested
N/A
Comments if Not
Compliant or
Exemption
Requested
Stability Criteria
This section describes the stability acceptance criteria.
Check
when
Complete
20
Name
Description
Stability
The app should not crash, nor cause
the application engine or device to
crash. Apps must be able to run for
24 hours without memory leaks or
crashes. Apps must perform well
during stress tests (for example,
downloading images) in a test bed
with other running apps that consume
system resources.
Optimize
CPU
Utilization
Apps must not compromise the user
experience, and should be designed
to optimize CPU utilization.
Minimize
Memory
Utilization
TV platforms are very limited in
system resources. Apps must be
designed as light client applications
and minimize memory utilization.
YCTV TV APP ACCEPTANCE CRITERIA—V4.4
Usability Criteria
This section describes the usability acceptance criteria.
Check
when
Complete
Name
Description
Remote
Keys
Trapping and releasing remote keys
(such as numeric keys) should only
be used when numeric entry in the
sidebar is required.
UI
Responsiv
eness
Navigation speed, page refreshes,
and general UI responsiveness is
comparable to Yahoo standard apps.
Fullscreen
Launch
The main bookmark should not
launch into fullscreen.
Audio in
Fullscreen
Audio should not run in the sidebar.
Audio is always presented in a
fullscreen view.
Video in
Fullscreen
Video should not run in the sidebar.
Video can be resized to an optimal
setting, but is always presented in a
fullscreen view.
Viewport
Video
Video displayed in viewport mode is
not distorted, cut-off or significantly
impacted. If a viewport is used in a
fullscreen state, video is displayed
optimally. Note: the video viewport
display is dependent on a particular
device partner’s media player.
Video
Events
Video apps must appropriately
handle the STOP and onPlaylistEnd
events and lock
KONtx.application.previousView().
See this TV App Developer Forum
post for sample code.
Closed
Captions
Video apps must provide closed
captioning as per all regulations.
N/A
Comments if Not
Compliant or
Exemption
Requested
YCTV TV APP ACCEPTANCE CRITERIA—V4.4
21
Check
when
Complete
22
Name
Description
Disconnect
ed State
When the network is down or the
server cannot be accessed, apps
must support an offline state and
actively recover when re-entering the
online state.
Timeout
Gracefully
Apps need to timeout gracefully.
Timeouts should happen within a
minute or less.
Screensav
er Support
The screensaver timeout must be
implemented for the fullscreen view if
there is no user-interaction. The
screensaver timeout should be
triggered appropriately and cleared
when user interaction occurs. For
video apps, the screensaver timeout
is handled by the KONtx Framework.
Settings
Page
An “About page” in the App Settings
sidebar is required. Use the toolbox
control KONtx.views.AboutBox to
implement the “About page.” The App
Settings sidebar is access by the
Green key on the remote control or
through the global toolbar. The
values for app author, version, and
contact information are required. For
users with questions about this app, a
customer care contact (email or web
address) is required.
Focus
Focus must never be lost regardless
of the app’s state. Ensure that the
app uses either the KONtx
Framework focus methods or a
custom focus method in the sidebar
and fullscreen states.
Sign-in
Dialog
Apps that require sign-in or a PIN
entry to connect to a remote server
must provide the option to sign-in.
YCTV TV APP ACCEPTANCE CRITERIA—V4.4
N/A
Comments if Not
Compliant or
Exemption
Requested
Internationalization Criteria
This section describes the internationalization acceptance.
Check
when
Complete
Name
Description
Localization
It is strongly recommended that apps
support internationalization. All text
strings within an app should have
calls to localized string functions. An
app can be viewed in multiple
languages appropriately.
N/A
Comments if Not
Compliant or
Exemption
Requested
TV App Approval Process
By submitting this form you are acknowledging that the specified TV App has been tested and meets
these TV App Acceptance Criteria, and where there are exceptions, they are noted.



Both Yahoo and the device partners review your TV App using these Acceptance Criteria, and
when ready, approve your TV App for distribution in the Yahoo Connected TV Store.
Yahoo will confirm receipt and acceptance of this document and your TV App’s entry into the Yahoo
QA process.
Yahoo will provide periodic updates on QA’s progress, including communication of bug lists, Yahoo
QA approval, and entry/feedback from the device partner QA teams.
See the TV App Approval Process Overview for more details. For any questions or status requests
please contact us at yctvsupport@yahoo-inc.com.
YCTV TV APP ACCEPTANCE CRITERIA—V4.4
23
Addendum: How to Obtain an Encryption Registration Number (ERN)
The U.S. Commerce Department’s Bureau of Industry and Security (BIS) requires an ERN as a
pre-condition to making certain encryption-controlled applications available for export, including those
released over the Internet. Before your TV App can be published in the Yahoo Connected TV Store,
you must obtain an ERN and provide it to Yahoo.
To request an ERN, please follow these steps:
1. Obtain a user account on the BIS Simplified Network Application Process Redesign (SNAP-R)
system and a Company Identification Number (CIN) by visiting:
http://www.bis.doc.gov/snap/pinsnapr.htm
2. Once you have access to SNAP-R, follow the instructions under How To File an Encryption
Registration (see the first five paragraphs) at:
http://www.bis.doc.gov/encryption/question3_sub.htm
There is no fee for obtaining a SNAP-R account or ERN, but please allow plenty of time to complete
these governmental administrative processes.
For questions and additional information regarding SNAP-R access, please contact the BIS SNAP-R
Help Desk at snapr@bis.doc.gov or (202) 482-2227.
24
YCTV TV APP ACCEPTANCE CRITERIA—V4.4