Connected Themes
Creating Great Plug-ins
Connected Plug-ins
License Agreement
NO COMMERCIAL USE: This License Agreement grants our community members the right to use the Software downloaded from DivX Labs for personal use only in order to evaluate and provide feedback about it to DivX, Inc. Commercial use of the Software or of the work products resulting from its use is not permitted under the Terms of Use of DivX Labs.- To read the full Terms of Use please visit the Terms of Use page.
- To inquire about commercial licensing please email us


There's an ever-growing community of users out there waiting to find great plug-ins for their Connected™ devices, so in addition to providing an open platform and an SDK, we decided to come up with a few suggested guidelines, to ensure that your creation will gain popularity with the widest audience.
Display Support
When formatting your plug-in, try to support both High Definition (HD) and Standard Definition (SD) displays.
Things to consider are aspect ratios (16:9 and 4:3), page dimensions (1280x720 and 640x480), and font faces/sizes.
In the event you create a plug-in that only supports one display mode, identify it as such. For example, names like "German Autos Feed (HDTV)" or "Martial Arts Podcast (SDTV)" let the user know the plug-in is primarily formatted for a specific display mode.
Navigation
Try to be consistent with how your plug-in responds to user feedback. For example, make sure the remote control's BACK button takes the user up one level. Let the directional arrows and ENTER button remain as navigation and selection buttons. Provide on screen help by making use of the remote control's INFO and MENU buttons.
Responsiveness
Try to provide the user feedback by making something happen as soon as they press buttons or advance through screens. Displaying something as simple as a "loading..." message will let the user know that they need to be patient.
Configuration
If the plug-in requires a simple configuration or is repeatedly changed during sessions, it should be configurable through a menu displayed on the TV; make use of the context sensitive MENU button.
Language Support
Even if you initially create your plug-in in your native language, it's not a bad idea to break off the text elements from your plug-in's interface into an external strings file. Having an external XML file for the language will allow the community to provide their own translations and open up your plug-in to an even wider audience. In the event you initially release your plug-in with multi-language support, provide a method for the users to choose a language file, either in the plug-in's setup wizard or through the context sensitive MENU button.
Leverage Web Services
To keep your plug-in fresh, allow it access to data on remote servers, where you (or another service provider) can supply fresh data that will dynamically update your users' plug-in.
For example, have your plug-in reference a URI (http://yourdomain.com/data.xml) for a feed of movie clips, and keep the feed up to date so your users utilize your plug-in often.
Or, consider using someone else's open API for data. Here are just a few sources: Google Code - http://code.google.com, Yahoo Pipes - http://pipes.yahoo.com, Amazon Web Services - http://aws.amazon.com, or Ebay Developers - http://developer.ebay.com.
Because Connected plug-ins can be built off standards-based web technologies, along with leveraging the APIs in the DivX Connected Plug-in SDK, studying up on JavaScript, HTML, and XML/RSS will get you on your way: