Tuesday 31 May 2011

Apps in the cloud

I like the idea of the cloud. I use Dropbox, Google Docs and loads of other Google Web Apps. I think that the cloud has a lot of potential, especially with new music storage services that are being developed by Google, Amazon and iTunes. However, there is a more interesting potential for the cloud: apps.

It makes a lot of sense to put apps in the cloud. Not apps in the way of JavaScript and lying on the server, being run by the browser. These kinds of applications already exist, and frankly they are a bit boring. I think it would be interesting to put applications in the cloud so that everything can be run from server, however the visual output happens on the desktop.

It is very difficult to put a full desktop application in the cloud. It would need a program much like a browser that would carry out requests to the server, and the server would then return visual output, potentially marked up like XML or HTML. In the future internet connections will probably be fast enough for these kind of applications to be streamed constant video. The advantage of all this is that everything is constantly updated, and the user wouldn't even know - very much like current web apps.

I would be interested to try and make a cloud based application in this way, that would be presented on the desktop rather than the browser. I think that I will do this in two parts:

The server

On the server I would probably have a set of scripts written in PHP that would return core parts of the application - the interface for instance, and they could also use sessions to manage individual users, perhaps a database to manage the data that they create. This wouldn't be particularly difficult to code.

The desktop

On the desktop there would be some sort of simple application written in a nice lightweight langauge - Java, maybe -that would get the data from the server and display it on screen. If the outputted data was HTML, it would be possible to use common controls to display it on screen. Alternatively the data might be outputted as XML, which could describe just the interface and connections: all the code would be hidden away on the server, with no way for the user to ever see it - however hard they tried to hack it.

I think that I will probably try to experiment with a project like this - probably using PHP to output XML files to describe the interface and manage the database with Java managing the desktop side. At first I will probably produce a simple Web App Manager that will offer simple applications: a calculator, note editor and image editor.

No comments:

Post a Comment