[mythtv-users] What if...?

Michael T. Dean mtdean at thirdcontact.com
Mon Sep 24 14:18:42 UTC 2012

On 09/20/2012 12:35 PM, Thomas Mashos wrote:
> I agree with everyone else that removing the frontend wouldn't
> necessarily help the backend.


> The issue that other 3rd party frontends have is that prior to 0.25,
> they had to keep up with a moving target (the myth protocol). The
> issue they have now with the services API is that it doesn't offer all
> of the functionality that the myth protocol offers.
> What I would like to see is the myth protocol be deprecated and
> mythfrontend transition to using the services API only. This would
> force the API to mature to a point that it offers all of the
> functionality that the myth protocol offers currently, and that 3rd
> party frontends could be developed and have the same functionality.

FWIW, any protocol will always be a moving target.  Just because we use 
XML or JSON, now, doesn't mean that every client that can use XML/JSON 
just "knows" our services API protocol.  Just try to find the button in 
Firefox that requests a specific recording and starts streaming it to 
allow playback.  (The only way to do this is using a client--i.e. such 
as the client built into the backend's HTTP server--and each client that 
wants to support such behavior must build in support for the feature by 
knowing the proper URI construction, parameters required, ...)

And, there has been no effort to make sure that our services API 
protocol will allow for forwards compatibility of clients (i.e. a client 
written for an old version of MythTV's services API will work with all 
future versions of MythTV services API)--so clients will have to provide 
their own backwards compatibility (clients will need to figure out what 
services API version the backend uses and then speak that version) and 
users will have to update to a client version that speaks their MythTV 
backend's protocol version (possibly among many).  I expect to see 
changes to our internal protocols/libraries/constructs affecting 
services API...

IMHO, the /only/ reason that services API clients "just work" is because 
we're basically on the first version of the services API.  All the 
services API is doing is changing our custom MythTV protocol from one 
that uses plain text in a MythTV-specific syntax to a custom MythTV 
protocol that uses XML or JSON, and as soon as the services API version 
starts changing we'll see the same issues with it that we had with the 
custom protocol/syntax.  In other words, when we add new 
features/info/capability to MythTV, supporting the old services API 
protocol/syntax--which doesn't provide the proper information--requires 
exactly the same amount of additional code in the backend to "do the 
right thing" even without all the required information as it would have 
with the old Myth protocol.  And we all know how much code the backend 
has to support old-Myth-protocol clients...


More information about the mythtv-users mailing list