2011-10-07, 09:16
First of all, I welcome all the changes and I am not against breaking backwards compatibility; there's a clear-cut line, you have Dharma and then there's Eden and for Eden the JSON-RPC API will be extended and made better, and that's a good reason to not stay backwards compatible.
I see a lot of discussions on the forums here that nightly builds break (remote control) applications, and developers (including myself) need to tell users what nightly build they should use. As developer I just pick a certain set of API changes to support, and that's that. It's simply not doable to support all nightly builds back in time.
Though, there might be a way to help developers of applications that use the JSON-RPC API and the users of nightly builds. Maybe the protocolversion could have a 'minior' version, e.g. 3.1, 3.2, etc. This number could be increased in the development period each time a new 'breaking' change is added. That would mean that for example for the Eden nightly builds we would have had multiple protocol-versions. Applications using the interface could use that protocol version to check whether the build that the user is using is still supported. Instead of random crashes or functionality that does not work, an application could give the user a decent warning or error message.
I just wanted to pose this as an idea. Maybe it's not needed anymore if the development after Eden won't have changes breaking compatibility. Though if the new nightly builds would add features, it could also be a way for applications to determine whether the user has the right nightly build to enable this new feature.
As said, it's an idea, I hope you might like it, if not, that's fine too. But besides all this, thanks for the hard work enabling the many useful remote control applications for XBMC! Looking forward to the final Eden release.
I see a lot of discussions on the forums here that nightly builds break (remote control) applications, and developers (including myself) need to tell users what nightly build they should use. As developer I just pick a certain set of API changes to support, and that's that. It's simply not doable to support all nightly builds back in time.
Though, there might be a way to help developers of applications that use the JSON-RPC API and the users of nightly builds. Maybe the protocolversion could have a 'minior' version, e.g. 3.1, 3.2, etc. This number could be increased in the development period each time a new 'breaking' change is added. That would mean that for example for the Eden nightly builds we would have had multiple protocol-versions. Applications using the interface could use that protocol version to check whether the build that the user is using is still supported. Instead of random crashes or functionality that does not work, an application could give the user a decent warning or error message.
I just wanted to pose this as an idea. Maybe it's not needed anymore if the development after Eden won't have changes breaking compatibility. Though if the new nightly builds would add features, it could also be a way for applications to determine whether the user has the right nightly build to enable this new feature.
As said, it's an idea, I hope you might like it, if not, that's fine too. But besides all this, thanks for the hard work enabling the many useful remote control applications for XBMC! Looking forward to the final Eden release.