Livecommunity powered by sixgroups.com
  ABOUT MASHUP CAMP WIKI BEST MASHUP CONTEST NEWS SPONSORS CONTACT TV BLOG WHO'S COMING?

MicroFormatsAPIs

From MashupCamp

Jump to: navigation, search

MicroFormats and API standards


Discuss this topic online

Moderator: Anu Nigam (anu at 411sync dot com) - Detailed description below

XMDP - as standard/basis for MicroFormat http://www.gmpg.org/xmdp/, example profile

WSDL is overkill

Rating service for implementations and MicroFormats

WSDL-S : http://www.w3.org/Submission/WSDL-S/

MicroFormats as a result

Your WebPage as a WebService

MF real power is grabbing chunks of a webpage and using it for mashup

Could be a middleman service or the web server level.

Does this need an API?

http://microsear.ch

Steps for creating MicroFormats: 1. Do we need a MF for x? 2. If you cant use existing MF, then create one?

Get involved with MicroFormats community first. http://microformats.org/discuss/

Post your ideas on the MicroFormats wiki. http://microformats.org/wiki/Main_Page

MicroFormat competitor: RDFa - http://www.w3.org/TR/xhtml-rdfa-primer/ and RDFa Info

MicroFormats for human readable data

MicroFormats mean the death to XML

RSS is tough to parse because there was no forethought put into it vs. Atom which was easier



Anu - The discussion about MicroFormats and APIs had many different turns. The opinion was that there are many ideas on standardizing APIs out there like WSDL. There was a definite opinion that many smart people had thought of a fuller approach to solve many things. Even the word ontology came up.

There was an opinion that the older more complex approaches may be great in that they have thought of a lot and have learned many lessons, but that approach is a top down approach where many companies, organizations would need to all agree which seemed like a long hard process. The MicroFormat approach is more of a bottom up approach, where people writing HTML can describe their API at a simple level. We can then work our way up. It may not be perfect, but it gets the ball started sooner.

Anu wanted to have a simple way for people to do Mashups by having a list of APIs and defined parameters.

API X /* API Type - Map, Search, etc */

 ( A /* Parameter - Latitude */
   B /* Parameter - Longitude */
   ...
  )

The API will be crawlable and then available mash up developers. And more importantly a junior person could do a mashup very easily. They could select a type of API and combine it with a type of data source ex: select MAP API, then choose Google MAPs, then a data source to the other API parameters. That was Anu's idea.

There were other discussions which I hope people can add about.

- Embedding MicroFormats into RSS Feeds.
- RDFa vs RDFs
- Ranking APIs by users

The talk also discussed what if in the future everyone was using MicroFormats. Companies spending lots of money creating web pages via HTML, CSS and putting data there. RSS, APIs, etc were created to stop people from screen scraping. These methods open all the data, but require registration so the company monitor who is accessing the data. MicroFormats ask the companies to better format the web pages so the data can be accessed there. If everyone started using MicroFormats, then there would be no reason to do RSS, APIs, etc since all the information will be accessible via crawlers that will aggregate the data.

Anu will contact the MicroFormats.org team to what steps to take. Please email him if you have comments or questions.

--Anigam 02:29, 13 July 2006 (EDT)

More summary info from this discussion is blogged at christine.net.

Example API Profile

KevinLawver: Here's an example XMDP showing a simple RESTy GET request:

<dl class="profile">
 <dt id="endpoint">endpoint</dt>
 <dd>http://somesearchsite.com/search</dd>
 <dt id="method">method</dt>
 <dd>
    <dl>
      <dt id="get">get</dt>
    </dl>
 </dd>
 <dt id="parameters">parameters</dt>
 <dd>
   <dl>
      <dt id="q">q</dt>
      <dd>Plain text query string.</dd>
      <dt id="page" class="int">page</dt>
      <dd>Page number requested.  Must be an integer.</dd>
      <dt id="count" class="int">count</dt>
      <dd>Number of results to display per page</dd>
   </dl>
 </dd>
</dl>