RESTful API for PAMP
Just to let you know that I've released a RESTful API implementation for PAMP, which enables access to a subset of phone's data/functionality. By installing the interface, it is possible to integrate the phone with existing REST-aware client apps (so far I've tried different browsers, RSS readers, MS Outlook, iTunes, PicLens, Google Photos Screensaver and couple of desktop widgets).
The interface is a thin PHP layer atop PAMP, and as such it is quite easy to install, or modify/extend even. The current implementation can output raw XML, HTML, RSS (plain + podcast + photoRSS) and some ATOM related stuff. More information and download is available at [url]http://www2.cs.hut.fi/~tge/pamp/index.php/A_RESTful_Interface_to_a_Mobile_Phone_%28Jari_Kleimola%29[/url]
Re: RESTful API for PAMP
I somewhat understand what this API is to allow, but I want to ask, is this something where native S60 apps need to be rewritten to take advantage of this. It would seem that the idea applications for this would be the Contacts, Calendar, and Messaging applications, however those don't seem to be getting the attention (the public facing attention) towards utilizing this.
Re: RESTful API for PAMP
In principle, it is not necessary to modify the native S60 apps (phone side) nor the client apps (other side) in any way. The interface just sits in between, acting as a kind of a dummy transformer that uses REST and XML to 'glue' the phone server and client apps together. Another benefit of REST and XML (besides having a large existing client base) is scalability, because it is possible to expose new phone content types and functionality without breaking the API.
But yes, there is a slight catch. Although the actual S60 apps can be left intact, they must naturally offer an API that the interface can call in order to access the application data and functionality. That API does not have to be designed for the RESTful interface in mind, but in this case, it needs to have PHP bindings.
PAMP v1.0 contains PHP APIs for phone's native calendar, contacts, inbox, log, position (although that does not work without LAD) and system info. There's also access to anything stored in directories/files, like photos, audio and video content (see [url]http://wiki.opensource.nokia.com/projects/PAMP:PHP_S60_API[/url]). I'm not sure if it is possible to invoke Python scripts from PHP - that would widen the S60 side of things I guess. Client apps would probably gain most from phone side XSLT.
I also agree that contacts, calendar and messaging apps could be put into good extended use via the interface. Pity that I did not have enough time to layer them in. Mashing these up with external clients, other mobile servers, remote displays, and the context aware nature of the entire concept might provide something quite new indeed.