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:
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 first-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. 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:
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 second-screen app developers:
Publish your payload documentation for internal or third-party developers (if you support payloads).
Publish your post launch app to app communication protocol for internal or third-party developers (optional).
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:
Info from this site:
The DIAL specification.
The Sample Implementations serve as a useful starting point.
Info from your DIAL-enabled first-screen app partners:
Whether they accept payloads.
Whether there are any unique launch parameters for DIAL launches.
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: