A system for virtually delivering software applications, comprising: a telecommunications network; at least one system server (30, 40); at least one client device (10, 10a, 10b, 10c, 10d, 10e) communicatively coupled to the at least one system server through the telecommunications network, the at least one client device enabling a user to request a software application from the system server; and at least one application server (32a, 32b, 32c, 42) associated with the at least one system server, the at least one application server being so configured as to execute the requested software application; wherein the system server is so configured as to generate a hypermedia stream encapsulating at least a graphical user interface of the software application executed by the application server and delivering the hypermedia stream to the at least one client device; and wherein the at least one client device is so configured so as to display the hypermedia stream content and allow the user to transmit interaction information to the at least one application server so as to be provided to the executed software application, wherein the hypermedia stream is generated by a hypermedia stream encoder/decoder, wherein the hypermedia stream encoder/decoder Includes: a hypermedia stream generator for generating the hypermedia stream and a hypermedia stream interaction manager associated with the at least one system server; and a hypermedia stream interaction manager associated with the at least one client device, wherein the at least one application server includes a compositing window manager which stores in a memory buffer separate and independent from a graphic output memory a graphical user interface content of the executed software application wherein the graphical user interface content can be manipulated in the memory buffer and further wherein the hypermedia stream generator accesses the memory buffer in order to create the hypermedia stream. a telecommunications network; at least one system server (30, 40); at least one client device (10, 10a, 10b, 10c, 10d, 10e) communicatively coupled to the at least one system server through the telecommunications network, the at least one client device enabling a user to request a software application from the system server; and at least one application server (32a, 32b, 32c, 42) associated with the at least one system server, the at least one application server being so configured as to execute the requested software application; wherein the system server is so configured as to generate a hypermedia stream encapsulating at least a graphical user interface of the software application executed by the application server and delivering the hypermedia stream to the at least one client device; and wherein the at least one client device is so configured so as to display the hypermedia stream content and allow the user to transmit interaction information to the at least one application server so as to be provided to the executed software application, wherein the hypermedia stream is generated by a hypermedia stream encoder/decoder, wherein the hypermedia stream encoder/decoder Includes: a hypermedia stream generator for generating the hypermedia stream and a hypermedia stream interaction manager associated with the at least one system server; and a hypermedia stream interaction manager associated with the at least one client device, wherein the at least one application server includes a compositing window manager which stores in a memory buffer separate and independent from a graphic output memory a graphical user interface content of the executed software application wherein the graphical user interface content can be manipulated in the memory buffer and further wherein the hypermedia stream generator accesses the memory buffer in order to create the hypermedia stream.