It appears I need to take a look at this Ago Control thing to see what it can do
Bolting new features onto Pluto is getting a bit old.
Can it play media? If not, does it have the infrastructure in place? If not, I have a few ideas of my own - just not the time, or I'd jump right in.
The JSON-RPC interface can be designed in such a way that it's the same for both LinuxMCE and Ago Control. The way I see it, it should present high-level objects, and avoid providing access to the low level infrastructure as much as possible.
I'm still to invent what the data exchange protocol should look like, but I'm sure it has to NOT look like what's in the Ago Control wiki.
Here's a quick example I'm inventing as I'm writing it:
Request:
GET /lights/list
or:
GET /lights/list/+room/<id>
Reply:
{
"lights": [
{"id": "<id1>", "type": "<simple|dimming>", "power": "<on|off>", "level": "<0..100>"},
{"id": "<id2>", "type": "<simple|dimming>", "power": "<on|off>", "level": "<0..100>"},
{"id": "<id3>", "type": "<simple|dimming>", "power": "<on|off>", "level": "<0..100>"}
]
}
Request:
POST /lights/<id1>
{
"power": <on|off>,
"level": <0..100>
}
Reply:
HTTP/1.1 200 OK
Request:
GET /lights/<id1>
Reply:
{
"power": "<on|off>",
"level": "<0..100>"
}
That doesn't look like JSON-RPC. It's plain new RESTful. That's what I'd like to have. Essentially, the HTML5 Orbiter I have in mind won't be very different from a Web 2.0 web service.
As usual, I lack the time. While Andy made it sound like an HTML5 Orbiter is my main priority right now, that's not the case. I have some ideas, and I was hoping somebody else around here had enough knowledge to work on it, but I found out, after a few trials, that the person in question has a very steep mountain to climb first in terms of knowledge.
The concept is very promising. It just needs resources.