Whenever you see the pattern <foos><foo></foo><foo></foo></foos> in an HTTP-based response type, you probably should have used Atom.
- DeWitt Clinton
You should reuse RSS. Of course. Atom should have reused RSS too. :-)
- Dave Winer
Either or. : ) Both are better than NIH.
- DeWitt Clinton
I just love it when reinventers complain about people reinventing! It's precious and cute. :-)
- Dave Winer
There's a difference between reinventing and incrementing. But touché.
- DeWitt Clinton
BTW, see the smilieys? And here's a big {**HUG**} for Atom and DeWitt Clinton. And if anyone flames I'm going to give you a big wet kiss! :-)
- Dave Winer
Chris: Something people had to use before we had Atom.
- Ken Sheppardson
He scored two touchdowns in a single game in high school.
- Ray Cromwell
Let the semantics equal the level of abstraction. I'd rather see <foos><foo/><foo/></foos> than <list><item/><item/><item/></list>. There is something to be said for concreteness. There is a reason that FriendFeed is not written in assembly. Just because you can describe something in a low-level grammar doesn't mean that you should. While I think it would be cool to read API responses in Google Reader, think of the programmers. Don't unleash the grey goo! ;)
- Tracy
Wait, you'd rather write a one-off custom parser for each and every XML api, rather than reuse one of the dozens of existing RSS/Atom parsers available in every programming language under the sun?
- DeWitt Clinton
DeWitt, to do anything useful with the data I have to interpret the semantics regardless. With XML, I don't have to play with flex and bison, which is the point. Yes, I would rather parse xml and then extract foos/foo/foo/foos than parse Atom-XML and then translate from Atom to foos/foo/foo/foos. Just because Atom is XML and models a list of things doesn't mean that I should always use it for a list of things. Should <foos><foo/><foo/></foos> expressed as JSON be communicated as Atom-semantics JSON? ...
- Tracy
Maybe we should model things as (foos (foo ...) (foo ...) ...) and be done with it. :)
- Ray Cromwell
@Tracy - in this specific example, do you not agree that it would have made it easier for developers if Yahoo had followed (say) the OpenSocial Atom extensions, so they could plug the yahoo API straight into their existing interpretation of the semantics
- Nick Lothian
I'm all for Atom here. Or any of the RSS family :) so long as we have an extensions model...
- Dan Brickley
Oddly, I have to say +1 to most everyone on this thread. If it makes sense to reuse atom, you should. If it doesn't, then don't. If the friendfeed json api had been written to atom semantics, it would have made my life suck badly when using it. Oh, and +1 to just shoving everything into s expressions, Ray ;)
- Joel Webber
@Ray, (foos (foo ...) (foo ...) ...) is my dream come true.
- DeWitt Clinton
Perhaps someone should write up a LSON specification: LISP S-Expression Object Notation. :)
- Ray Cromwell
@Nick, yes I agree this case makes sense. I just don't want to see all list-based APIs drinking Atom Koolaid. I'm fine with the statement: Yahoo Social APIs should have used Atom Open Social.
- Tracy
Ray, here it is: (define lson-decode read) (define lson-encode write)
- Bruce Lewis
from fftogo
@DeWitt "you'd rather write a one-off custom parser for each and every XML api" - depends on how complex it is to map the data into the existing format. I'm no fan of snowflake APIs, but sometimes they are justified. For example, I'm conflicted about activity streams re-use of Atom and whether that's a good idea and in general whether activities justify their own format.
- Bill de hÓra
@Bill - I'm okay with snowflake APIs, too, as long as multiple parties converge on one, which I suppose makes it not a snowflake any longer. In the absence of, or prior to, convergence, reuse is preferable. Re activity streams I like the idea of starting with Atom, generating the list of things that fit and things that don't fit, then collectively electing to deviate and create a special-purpose spec if and when necessary.
- DeWitt Clinton
My worry right now is that we're going to have all the major players with their own activity stream api, just like we're seeing multiple microblogging apis (which certainly could have started with Atom). Since these big players are highly motivated to encourage rapid adoption of their own proprietary api and won't want to break it later on, the right time to speak up is now. Or six months ago.
- DeWitt Clinton
Take Wordpress. they have an extended, Wordpress-only, version of RSS 2.0. Its a nightmare to work with. Enough said.
- Roberto Bonini
Wordpress has always appeared to have a weird aversion to supporting Atom and AtomPub properly. I'm not sure why.
- DeWitt Clinton