Actually if you use XML and provide a schema you have zero parsing in Java, 
.Net and any other language that provides strong support for XML binding. It's 
actually a lot easier to use than serialization.

We serve two kinds of clients:  Those that love XML and those that love JSON.  
It's been my experience that both like to believe that the other doesn't exist 
or doesn't matter  :-)  That said, if we support both of those formats I think 
we have 99% of people happy.

Supporting alternate representations that are easily consumable for other 
languages is not a bad idea so long as we're willing to maintain the format in 
the long term.  I'd say that from the perspective of the spec, we should 
require XML and JSON.  We could support other formats as extensions.

-jOrGe W.


On Mar 4, 2011, at 1:49 PM, Michael Mayo wrote:

> All this talk about auth and making the API easy for developers to use got me 
> thinking.
> 
> The two most popular formats for APIs are XML and JSON.
> 
> XML is language neutral and sort of painful to read by a human.  And writing 
> an XML parser sucks.  It's not hard, but it's time consuming and annoying.
> 
> JSON is easier to read and easier to parse, so it is becoming the most 
> popular choice.  But the really cool feature of JSON is that if you're 
> consuming the API in Javascript, you don't have to parse at all because JSON 
> is the native object format for Javascript.
> 
> So... how about we offer more native formats for other languages?  For Java 
> developers, offer raw binary that represents a Serializable when they call 
> something like GET /servers.java.  Zero parsing for Java developers.
> 
> For Objective-C, GET /servers.cocoa returns XML in the NSPropertyList XML 
> format.  Again, zero parsing.
> 
> If Python has object serialization you could do it too.  That would probably 
> be the easiest to code.
> 
> What do you think?
> _______________________________________________
> Mailing list: https://launchpad.net/~openstack
> Post to     : openstack@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~openstack
> More help   : https://help.launchpad.net/ListHelp



Confidentiality Notice: This e-mail message (including any attached or
embedded documents) is intended for the exclusive and confidential use of the
individual or entity to which this message is addressed, and unless otherwise
expressly indicated, is confidential and privileged information of Rackspace.
Any dissemination, distribution or copying of the enclosed material is 
prohibited.
If you receive this transmission in error, please notify us immediately by 
e-mail
at ab...@rackspace.com, and delete the original message.
Your cooperation is appreciated.


_______________________________________________
Mailing list: https://launchpad.net/~openstack
Post to     : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp

Reply via email to