Details for Developers

Second-Screen App Developers

If you are a second-screen app developer, you can write an app that leverages DIAL-enabled first-screen apps that either your organization or a third party has built.

Note that some third parties may keep the communications between second-screen apps and their first-screen apps private.

To write a second screen-app that discovers and launches a DIAL-enabled first-screen app, you will need:

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. First-screen app implementations on devices may predate DIAL.

First-Screen App Developers

If you are a first-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 first-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 first-screen app that can be discovered and launched by DIAL-enabled second-screen apps, you will need:

First-Screen CE Device Developer

If you are a first-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: 

License Compliance for All Developers

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: