PHP-GTK to HTML5: coordinating technologies for better remote access
Join the DZone community and get the full member experience.Join For Free
Running applications on one machine while displaying the user interface on another is nothing new.
There are two basic ways to do this: first, transmit an image of the server screen to the remote client; and second, send rendering instructions from the server to the client machine.
The second way is obviously much more bandwidth-efficient. Even when the transmitted image is nicely compressed (e.g., JPEG), image data will always be much larger than simple rendering instructions.
UNIX's X has used the rendering-instruction method since 1984. The problem with using X over the Internet has to do with security: X has nothing to do with HTTP, but tightly locked-down servers on the Internet will often try to allow as little non-HTTP traffic as possible. The result is that the much less efficient first method, the image-transmission method, has been used in popular Internet remote desktop applications (e.g., VNC).
Now comes an article from Manuel Lemos showing how the slow-developing PHP-GTK project -- language bindings allowing GTK+ apps to be written in PHP -- could be combined with some new features of GTK+3 (specifically the wayland and broadway graphical-output backends) to create highly efficient, X-like remotely served applications...
...and then display those PHP-written desktop apps in a browser using HTML5 Canvas.
So: bandwidth-efficient remote desktop via browser; no special client software necessary.
As a one-time remote desktop support tech, I totally love this idea.
Some practical stumbling-blocks remain, though. In particular, Manuel notes:
It may not be hard to make [PHP-GTK] work with GTK+ 3 too but the fact is that currently there is not much development going on in the PHP-GTK project. A group of motivated developers would need to get back to the project and update it to make it run with GTK+ version 3.
If you're interested and maybe even inspired, check out the full article.
Opinions expressed by DZone contributors are their own.