
Surprised at the almost complete lack of information on this topic, I decided to write this post.
In a nutshell, jointSPACE is an OpenSource platform designed to develop custom applications for Philips TVs. It is an open API for developing two types of applications:
- Applications running on a remote system, rendered and managed by the TV interface.
- Applications to control the TV from remote systems
There is an SDK for Linux, iOS, MacOS, Android and Windows (both cygwin and native under Visual Studio). Developers and the community have written many
examples for different platforms. I especially want to mention the launch of the Doom game on the TV with remote control.

The latest firmware must be installed on the TV and the jointSPACE function is enabled.
So far, the following TV models are supported:
- 2k10 (xxPFLxxx5)
- 2k9 (xxPFLxxx4)
(
full list of supported models).
It is activated by a quick dial from the “5646877223” combination console.
')
Usage example
As for me, the emergence of technology was great news - I was able to realize a long-standing dream: to transfer TV and PC to the cinema mode with one click.
My TV is connected to a computer with Windows 7 via an HDMI cable, the sound is output from it. To start watching a movie, you had to: press WinKey + P, choose the output to the TV, press the source select button on the TV, use the arrows to choose the desired HDMI port, press OK.
I decided to write a small program on the SDK under cygwin, allowing you to perform these actions in one click. Since the API does not know how to call the function I need, I had to emulate keystrokes.
#include <jslibrc_client.h> #include <windows.h> int $i; int main (int argc, char *argv[]) { jslibrc_Init( &argc, &argv ); // Source jslibrc_KeyDown(keySourceRc6, 0, 56); jslibrc_KeyUp(keySourceRc6, 0, 56); // 2 "" sleep(2); // N "", for($i=0; $i <= 20; $i++) { jslibrc_KeyDown(keySourceRc6, 0, 88); jslibrc_KeyUp(keySourceRc6, 0, 88); } // , HDMI 2 jslibrc_KeyDown(keySourceRc6, 0, 89); jslibrc_KeyUp(keySourceRc6, 0, 89); sleep(1); jslibrc_KeyDown(keySourceRc6, 0, 89); jslibrc_KeyUp(keySourceRc6, 0, 89); sleep(1); // jslibrc_KeyDown(keySourceRc6, 0, 92); jslibrc_KeyUp(keySourceRc6, 0, 92); // , ( WinKey+P) //WinExec("c:\\windows\\system32\\displayswitch.exe /internal",SW_SHOW); jslibrc_Exit(); return 1; }
So, in a few lines, my dream came true. I do not consider myself a programmer, so the code is rather crooked and not completed, but I think the essence is clear.
Perspectives
The technology opens a lot of room for the imagination of developers. You can display any interactive information on the TV screen and interact with the user. Someone wants to follow the
twitter while watching TV, and someone wants to see the status of the microwave or kettle. Supports control of multiple TVs in the subnet at once.
For those who are interested in:-
Project site (on SourceForge.net)-
The most visual description of the development process-
jointSPACE SDK tutorial for Cygwin (installing and configuring SDK + fundamentals)-
jointSPACE API Reference Manual (full API description)