Details for Developers

Information for: 


2nd Screen App Developers

If you are a 2nd screen app developer, you can write an app that leverages DIAL-enabled 1st screen apps that either your organization or a 3rd party has built.
Note that some 3rd parties may keep the communications between 2nd screen apps and their 1st screen apps private.

To write a 2nd screen app that discovers and launches a DIAL-enabled 1st screen app, you will need:
  • Info on this site: 
    • The DIAL Specification provides client implementation details
    • The Application Name Registry contains a list of app names
    • The Sample Implementations serve as a useful starting point

  • Info from 1st screen app developers:
    • Information about payload options, if required
    • Post launch app to app communication protocol (not part of DIAL)
Note: As DIAL is a relatively new protocol, do not assume that the presence of its name in the name registry implies it can be launched via DIAL on every device. 1st screen app implementations on devices may predate DIAL.

If you are a 1st screen app developer, there is nothing you must do to make your app DIAL enabled, however you may wish to accept DIAL payloads. Payloads are a container for information that can be passed to your app via the DIAL start request as URL encoded UTF-8 strings. 

Accepting payloads is optional. It may be a useful way to pass additional information to the 1st screen app on startup. If you do accept payloads, ensure that you do a proper security analysis since these requests could come from an untrusted source.  

To write a 1st screen app that can be discovered and launched by DIAL-enabled 2nd screen apps, you will need:
  • Info on this site:
    • Review the DIAL Specification (particularly the payload section) 
    • Register your app name in the DIAL Application Name Registry
  • Provide info for 2nd screen app developers
    • Publish your payload documentation for internal or 3rd party developers (if you support payloads)
    • Publish your post launch app to app communication protocol for internal or 3rd party developers (optional)

If you are a 1st screen CE device developer, you must implement a DIAL server on the device and integrate this server with your application launcher framework. 

To implement a DIAL server, you will need: 
    • Info from this site: 
      • The DIAL specification
      • The Sample Implementations serve as a useful starting point

    • Info from your DIAL-enabled 1st screen app partners: 
      • Whether they accept payloads
      • Whether there are any unique launch parameters for DIAL launches

The DIAL license allows you to distribute the specification, as well as source code or binary implementations based on the specification. Any distribution of the specification or software based on the specification must include the copyright notice and part or all of the license. The license section of the DIAL Specification explains this in detail. 

Please note license requirements vary depending on what you plan to redistribute:

If you distribute: You must include:
The DIAL specification
The copyright notice and the full license (including the conditions, and the full disclaimer).
A binary implementation based on the DIAL specification The copyright notice in the product documentation, or viewable in the product's UI.  
A binary implementation based on the sample software provided here The copyright notice and the full license (including the conditions, and the full disclaimer) in the product documentation, or viewable in the product's UI.  
A source code implementation based on the specification The copyright notice and the full license (including the conditions, and the full disclaimer) in the source code package.