On 12/8/2011 9:27 AM, Bill Dueber wrote: > To these I would add: > > * Reuse. The call you're making may be providing data that would be useful > in other contexts as well. If you're generating application-specific html, > that can't happen. Well, if the other contexts are Javascript, and your HTML is nice semantically structured with good classes and ID's.... it actually ends up being just about as easy getting the data out of HTML with JQuery selectors as it would be with JSON. This is kind of the direction of HTML5 microdata/schema.org --- realizing that properly structured semantic HTML can be pretty damn machine readable, so if you do that you can get human HTML and machine readability with only one representation, instead of having to maintain multiple representations. (In some of the scenarios we're talking about, there are potentially THREE representations to maintain -- server-side generated HTML, server-side generated JSON, AND js to turn the JSON into HTML). But yeah, there are always lots of trade-offs. This particular question I think ends up depending on a lot on what choices you've made for the REST of your software stack. Each choice at each level has different trade-offs, but the most important thing is probably to reduce the 'impedence' of making inconsistent choices in different places. That is -- if you're heavy into client-side JS app framework rendering of HTML already, then sure you've made your choice, stick to it.