Dare Obasanjo believes GData/APP fails as a general purpose editing protocol for the Web and points out three problems:
- Mismatch with data models that aren’t microcontent
- Lack of support for granular updates to fields of an item
- Poor support for hierarchy
Bill de hÓra acknowledges that the third is indeed missing from APP, considers the second problem a general issue with PUT, and disagrees about the first one; but he adds two more problems: update resumption and batch/multi-part uploads.
James Snell considers Dare’s post “silly”. For the first issue, he suggests using a non-Atom resource, an idea that Dare considered and dismissed in his post, claming it would be bad reinvention of WebDAV. For the second issue, he suggests using PATCH + a diff format. The third issue (lack of hierarchy support) is something that he doesn’t see as a problem at all.
Personally, I don’t understand Dare’s WebDAV analogy at all — it seems to question the very foundation of Atom and APP’s design, namely the division into entry resources and media resources. I don’t see many alternatives, unless we come up with the old “let’s stuff everything into an XML envelope” approach, which will lead to utter madness. I’m not at all sure I like the PATCH approach, too — I’m not really keen on having to tunnel even more verbs through POST because they’re not widely supported. The hierarchy issue only is a problem when you need to have everything inline within the feed; I’m not sure how much of a problem it is in practice to use the link approach described by James. (If you’re looking for it, there’s a mad solution in the parallel universe, too.)
Most importantly, though, I think it would be very bad if Microsoft — and I don’t think one should underestimate Dare’s influence in this particular area — chooses to not adopt APP because of some preceived or real technical reasons without trying to resolve them in an APP-compliant way first (i.e. by either finding a workaround, building an extension, or even trying to influence the protocol itself [for which, admittedly, it may be too late now]). As usual, Joe Gregorio makes this point much better than I can.