ywe_acceptance_criteria.doc

31
Yahoo Connected TV TV App Acceptance Criteria Revision 4.4—2014/3/31 Yahoo Confidential Copyright © 2014, Yahoo. All Rights Reserved.

Upload: lou-bourne

Post on 13-May-2017

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: YWE_Acceptance_Criteria.doc

Yahoo Connected TVTV App Acceptance Criteria

Revision 4.4—2014/3/31

Yahoo ConfidentialCopyright © 2014, Yahoo.

All Rights Reserved.

Page 2: YWE_Acceptance_Criteria.doc

Legal NoticesCopyright © 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 YAHOO CONFIDENTIAL

Page 3: YWE_Acceptance_Criteria.doc

ContentsLegal Notices..........................................................................................2

Introduction............................................................................................4

Overview.................................................................................................5TV App Metadata.................................................................................................5Testing Information.............................................................................................6

TV App Test Cases..............................................................................10Test Case Template...........................................................................................10Common Test Cases for your Consideration.................................................11

TV App Updates...................................................................................14

Acceptance Criteria.............................................................................17Application Criteria...........................................................................................17Stability Criteria.................................................................................................20Usability Criteria................................................................................................21Internationalization Criteria..............................................................................23TV App Approval Process................................................................................23

Addendum: How to Obtain an Encryption Registration Number (ERN).....................................................................................................24

YAHOO CONFIDENTIAL YCTV TV APP ACCEPTANCE CRITERIA—V4.4 3

Page 4: YWE_Acceptance_Criteria.doc

IntroductionThank 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 YAHOO CONFIDENTIAL

Page 5: YWE_Acceptance_Criteria.doc

OverviewThe 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 MetadataThis 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

YAHOO CONFIDENTIAL YCTV TV APP ACCEPTANCE CRITERIA—V4.4 5

Page 6: YWE_Acceptance_Criteria.doc

Testing InformationThis section describes the testing information required to properly test your TV App. Please enter the following information:

TV App DescriptionPlease 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 FeaturesThe 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:

TV AppFeatures

1)

2)

3)

4)

5)

6)

7)

8)

9)

6 YCTV TV APP ACCEPTANCE CRITERIA—V4.4 YAHOO CONFIDENTIAL

Page 7: YWE_Acceptance_Criteria.doc

10)

Test Account InformationWhat 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:

TestAccountInformation

No Test Accounts Required

Username Password Other Information

IP Filtered ContentIf your content is IP filtered contact [email protected] to retrieve IP addresses for whitelisting.

Is your Content IP Filtered? Not IP Filtered IP Filtered

Supported CountriesList the countries in which your TV App is supported:

Supported Countries US, North America, all EU countries, Worldwide

Global Distribution RestrictionsPlease 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

LocalizationSpecify 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

YAHOO CONFIDENTIAL YCTV TV APP ACCEPTANCE CRITERIA—V4.4 7

Page 8: YWE_Acceptance_Criteria.doc

Czech German Lithuanian Russian Turkish

Danish Greek Norwegian Serbian Vietnamese

Other Supported Languages

Export ComplianceDoes 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.

8 YCTV TV APP ACCEPTANCE CRITERIA—V4.4 YAHOO CONFIDENTIAL

Page 9: YWE_Acceptance_Criteria.doc

Supported Device PartnersList the device partner platforms on which your TV App should be distributed. The default is “All Device Partners”.

Supported Device Partners All Device Partners

TV-Specific TestingSpecify 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

YAHOO CONFIDENTIAL YCTV TV APP ACCEPTANCE CRITERIA—V4.4 9

Page 10: YWE_Acceptance_Criteria.doc

TV App Test CasesComplete 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 ProcessApps 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 TemplateUse this template for each test case.

Sidebar Feature 1Setup

Button Click-Streamo Which app user interface controls must be selected prior to the test?

Data Setupo What data setup is required for the test?

App Stateo 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 UI Results

o What does the user interface look like after the test? Data Results

o What is the resulting data?

10 YCTV TV APP ACCEPTANCE CRITERIA—V4.4 YAHOO CONFIDENTIAL

Page 11: YWE_Acceptance_Criteria.doc

Sample Test Case : Home SidebarSetup

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 ConsiderationReview 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

- Free media - Premium media- Fullscreen support- Dock overlay support

Video Event Handling- User stops playback or presses the

back key during video playback Search

- User initiates a search and selects a displayed result

Adding/Editing Content View Albums, Display Photos

- List the expected grid content

Network Disconnected State- User experiences a loss of Internet

connectivity

- Describe all dialogs and user interactions

Stored User Preferences- User saves preferences- List all edit, save, and retrieval states

Support of Multiple Profiles- 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.

YAHOO CONFIDENTIAL YCTV TV APP ACCEPTANCE CRITERIA—V4.4 11

Page 12: YWE_Acceptance_Criteria.doc

[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

Page 13: YWE_Acceptance_Criteria.doc

[Fullscreen Feature 1]Setup

Execution

Expected Results

[Fullscreen Feature 2]Setup

Execution

Expected Results

[Fullscreen Feature n]Setup

Execution

Expected Results

Page 14: YWE_Acceptance_Criteria.doc

TV App UpdatesComplete 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 FeaturesPlease list each new feature of your TV App:

NewFeatures

1)

2)

3)

4)

Updated FeaturesPlease list each updated feature of your TV App. Include any changes that may affect areas of the app that have already been tested.

UpdatedFeatures

1)

2)

3)

4)

Page 15: YWE_Acceptance_Criteria.doc

[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

Page 16: YWE_Acceptance_Criteria.doc

[Updated Fullscreen Feature 1]Setup

Execution

Expected Results

[Updated Fullscreen Feature 2]Setup

Execution

Expected Results

[Updated Fullscreen Feature n]Setup

Execution

Expected Results

Page 17: YWE_Acceptance_Criteria.doc

Acceptance CriteriaThis 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 CriteriaThis section describes the application-level acceptance criteria.

Check whenComplete

Name Description N/A

Comments if Not Compliant or Exemption Requested

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: <identifier>com.yourcompany.apps.tv.news</identifier>The TV App ID should not change when updating to a newer TV App Version.

Page 18: YWE_Acceptance_Criteria.doc

Check whenComplete

Name Description N/A

Comments if Not Compliant or Exemption Requested

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"/>

Page 19: YWE_Acceptance_Criteria.doc

Check whenComplete

Name Description N/A

Comments if Not Compliant or Exemption Requested

TV App (Widget) File (zipped)

The app must be zipped with the following naming convention: identifier-version.widgetThe identifier and version number in the zipped filename matches the identifier and version number in the widget.xml file.

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-function

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 Synchronous Calls

Apps must not make synchronous calls.

No eval() Use of the eval() function in apps is prohibited.

Page 20: YWE_Acceptance_Criteria.doc

Check whenComplete

Name Description N/A

Comments if Not Compliant or Exemption Requested

No Obsolete APIs

Use of obsolete APIs in apps is prohibited.

No Third-Party Development Tools

The inclusion of third-party development tools in your app code is prohibited.

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.

Stability CriteriaThis section describes the stability acceptance criteria.

Check whenComplete

Name Description N/A

Comments if Not Compliant or Exemption Requested

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.

Page 21: YWE_Acceptance_Criteria.doc

Usability CriteriaThis section describes the usability acceptance criteria.

Check whenComplete

Name Description N/A

Comments if Not Compliant or Exemption Requested

Remote Keys

Trapping and releasing remote keys (such as numeric keys) should only be used when numeric entry in the sidebar is required.

UI Responsiveness

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.

Page 22: YWE_Acceptance_Criteria.doc

Check whenComplete

Name Description N/A

Comments if Not Compliant or Exemption Requested

Disconnected 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.

Screensaver 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.

Page 23: YWE_Acceptance_Criteria.doc

Internationalization CriteriaThis section describes the internationalization acceptance.

Check whenComplete

Name Description N/A

Comments if Not Compliant or Exemption Requested

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.

TV App Approval ProcessBy 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 [email protected].

Page 24: YWE_Acceptance_Criteria.doc

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 [email protected] or (202) 482-2227.