CodeMash 2.0.1.0 REST Interfaces
This year's CodeMash website has two URI's that expose CodeMash Information:
- http://www.codemash.org/rest/sessions – All Session Information
- http://www.codemash.org/rest/speakers – All Speaker Information
The main news feed is already exposed via RSS (http://www.codemash.org/rss) but we may add a REST interface for that as well.
Session Information
Here's an example XML response for a single session (note that the <Abstract> content has been removed for brevity):
<Sessions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <Session> <URI>/rest/sessions/The-case-for-Griffon-developing-desktop-applications-for-fun-and-profit</URI> <Title>The case for Griffon: developing desktop applications for fun and profit</Title> <Abstract>...</Abstract> <Start>0001-01-01T00:00:00</Start> <Difficulty>Beginner</Difficulty> <SpeakerName>Andres Almiray</SpeakerName> <SpeakerURI>/rest/speakers/Andres-Almiray</SpeakerURI> </Session> </Sessions>
The <URI> node contains a URI that will return a single session. The <Start> node is not set yet since the sessions have not been scheduled. Once scheduling is complete, it will be available from this feed.
Speaker Information
Here's an example XML response for a single speaker (again, the <Biography> content has been removed for brevity):
<Speakers xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <Speaker> <Name>Chris Adamson</Name> <Biography>...</Biography> <Sessions> <SessionURI>/rest/sessions/Oh-Crap-I-Forgot-or-Never-Learned-C</SessionURI> <SessionURI>/rest/sessions/How-Do-You-Do-That-on-iPhone</SessionURI> </Sessions> <TwitterHandle /> <BlogURL /> </Speaker> </Speakers>
Most speakers only have one session, but some have multiple. You'll notice that the TwitterHandle and BlogURL for most of the speakers is empty. That's because we forgot to ask for that information during the speaker submission process (oops!). We're in the process of collecting the information and as we get it, we'll update our database and the information will be exposed to you.
Supported Formats
Right now, we support XML (default) and JSON formats. If you don't add any extension to the REST URI's (or use ".xml") you'll get XML-formatted data (like above). Use ".json" to return a JSON result. We could support HTML – perhaps a simple <table> that dumps the information? Let me know if you think that would be useful.
Is There An App For That?
Do you plan on using these API's to make some cool CodeMash apps? Keep us updated on your progress by leaving a comment here, blogging about it or via Twitter using the hashtag #CodeMash. We're looking forward to seeing what you build!