<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://microformats.org/wiki/index.php?action=history&amp;feed=atom&amp;title=rest-proposal-preso</id>
	<title>rest-proposal-preso - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://microformats.org/wiki/index.php?action=history&amp;feed=atom&amp;title=rest-proposal-preso"/>
	<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=rest-proposal-preso&amp;action=history"/>
	<updated>2026-04-06T03:13:10Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.38.4</generator>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=rest-proposal-preso&amp;diff=36979&amp;oldid=prev</id>
		<title>Brian: Reverted edits by CerelTvimo (Talk) to last version by DrErnie</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=rest-proposal-preso&amp;diff=36979&amp;oldid=prev"/>
		<updated>2009-01-03T19:08:02Z</updated>

		<summary type="html">&lt;p&gt;Reverted edits by &lt;a href=&quot;/wiki/Special:Contributions/CerelTvimo&quot; title=&quot;Special:Contributions/CerelTvimo&quot;&gt;CerelTvimo&lt;/a&gt; (&lt;a href=&quot;/wiki/index.php?title=User_talk:CerelTvimo&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;User talk:CerelTvimo (page does not exist)&quot;&gt;Talk&lt;/a&gt;) to last version by &lt;a href=&quot;/wiki/User:DrErnie&quot; title=&quot;User:DrErnie&quot;&gt;DrErnie&lt;/a&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 19:08, 3 January 2009&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;dronro&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= XHTML-REST =&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= XHTML-REST =&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The purpose of this presentation is to describe and justify a proposal for using microformants to constrain REST implementations.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The purpose of this presentation is to describe and justify a proposal for using microformants to constrain REST implementations.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Brian</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=rest-proposal-preso&amp;diff=36795&amp;oldid=prev</id>
		<title>CerelTvimo: pasdeldarb</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=rest-proposal-preso&amp;diff=36795&amp;oldid=prev"/>
		<updated>2009-01-03T09:51:47Z</updated>

		<summary type="html">&lt;p&gt;pasdeldarb&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 09:51, 3 January 2009&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;dronro&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= XHTML-REST =&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= XHTML-REST =&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The purpose of this presentation is to describe and justify a proposal for using microformants to constrain REST implementations.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The purpose of this presentation is to describe and justify a proposal for using microformants to constrain REST implementations.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>CerelTvimo</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=rest-proposal-preso&amp;diff=31497&amp;oldid=prev</id>
		<title>DrErnie: /* Solution, Part I-B: XHTML Microformats */</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=rest-proposal-preso&amp;diff=31497&amp;oldid=prev"/>
		<updated>2005-10-17T06:39:10Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Solution, Part I-B: XHTML Microformats&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 06:39, 17 October 2005&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l42&quot;&gt;Line 42:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 42:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** ol, dl, ul&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** ol, dl, ul&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Work like Mac OS X [http://developer.apple.com/documentation/Cocoa/Conceptual/PropertyLists/Concepts/XMLPListsConcept.html property lists]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Work like Mac OS X [http://developer.apple.com/documentation/Cocoa/Conceptual/PropertyLists/Concepts/XMLPListsConcept.html property lists]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* CSS classes to reflect semantics&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= Solution, Part II: Browser clients =&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= Solution, Part II: Browser clients =&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>DrErnie</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=rest-proposal-preso&amp;diff=2193&amp;oldid=prev</id>
		<title>DrErnie at 05:30, 15 October 2005</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=rest-proposal-preso&amp;diff=2193&amp;oldid=prev"/>
		<updated>2005-10-15T05:30:52Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= XHTML-REST =&lt;br /&gt;
The purpose of this presentation is to describe and justify a proposal for using microformants to constrain REST implementations.&lt;br /&gt;
&lt;br /&gt;
= Web Services: RPC vs. REST =&lt;br /&gt;
* RPC: Remote Procedure Calls&lt;br /&gt;
** URIs are method names&lt;br /&gt;
** XML is the arguments format&lt;br /&gt;
** Implemented in [http://www.xmlrpc.com/ XML-RPC] and [http://www.w3schools.com/soap/soap_intro.asp SOAP]&lt;br /&gt;
* [http://www.xfront.com/REST-Web-Services.html REST]: Representational State Transfer&lt;br /&gt;
** Nouns are URIs, verbs are HTTP: GET, PUT, POST, DELETE&lt;br /&gt;
** XML documents are state information&lt;br /&gt;
** Implemented at [http://www.xml.com/pub/a/2005/09/21/atom-store-web-database.html?page=2 Atom], [http://www.oreillynet.com/pub/wlg/3005 Amazon] (sorta)&lt;br /&gt;
&lt;br /&gt;
= Advantages of REST over RPC/SOAP =&lt;br /&gt;
* Much simpler to design&lt;br /&gt;
** Easy to identify appropriate nouns&lt;br /&gt;
** Don't need to define methods (verbs)&lt;br /&gt;
** Don't need a complete object model&lt;br /&gt;
* Easier to learn/invoke&lt;br /&gt;
** Always know what a URI means&lt;br /&gt;
** Need not 'tunnel' XML inside XML&lt;br /&gt;
&lt;br /&gt;
= Challenges of REST =&lt;br /&gt;
;Discoverability: No standard way to find services&lt;br /&gt;
;Interoperability: Too many incompatible ways to encode links, data&lt;br /&gt;
;Extensability: What if your schema isn't 100% right?&lt;br /&gt;
;Comprehensability: What the heck does &amp;quot;state transfer&amp;quot; mean?&lt;br /&gt;
&lt;br /&gt;
= Solution, Part I-A: XHTML =&lt;br /&gt;
* Use [http://www.w3.org/TR/xhtml-basic XHTML Basic] instead of XML&lt;br /&gt;
* Don't need a rigid schema&lt;br /&gt;
* No namespaces; free to extend as needed&lt;br /&gt;
* Everyone (in this space) can write it&lt;br /&gt;
* Everything (in the world) can read it&lt;br /&gt;
&lt;br /&gt;
= Solution, Part I-B: XHTML Microformats =&lt;br /&gt;
* [http://tantek.com/presentations/2005/06/what-are-microformats/ microformats]: Add 'semantic salt' to XHTML&lt;br /&gt;
** Annotate existing XHTML tags with meaning&lt;br /&gt;
** Machine-parseable yet human-readable&lt;br /&gt;
* Links as ''&amp;lt;a href=&amp;gt;'' and ''&amp;lt;form action=&amp;gt;''&lt;br /&gt;
* Lists as [http://microformats.org/wiki/xoxo XOXO]: eXtensible Open XHTML Outlines&lt;br /&gt;
** ol, dl, ul&lt;br /&gt;
** Work like Mac OS X [http://developer.apple.com/documentation/Cocoa/Conceptual/PropertyLists/Concepts/XMLPListsConcept.html property lists]&lt;br /&gt;
&lt;br /&gt;
= Solution, Part II: Browser clients =&lt;br /&gt;
* Makes testing &amp;amp; documentation trivial&lt;br /&gt;
** The API is the documentation is the format&lt;br /&gt;
* Use subset of REST supported by browsers&lt;br /&gt;
** GET http://host/uri&lt;br /&gt;
** GET http://host/uri?query=string...&lt;br /&gt;
** POST http://host/uri?key=value...&lt;br /&gt;
* encode input data in urls, not XML docs&lt;br /&gt;
&lt;br /&gt;
= Solution, Part III-A: Web as database =&lt;br /&gt;
* CRUD: Create, Retrieve, Update, Delete&lt;br /&gt;
* Structured UR'''L'''s vs. Opaque UR'''I'''s&lt;br /&gt;
** http://host:port/base/table/record&lt;br /&gt;
* Note: need not reflect actual database&lt;br /&gt;
** Synthetic &amp;quot;user model&amp;quot; for public API purposes&lt;br /&gt;
** But, an easy way to start (cf. [http://www.rubyonrails.org/ Ruby on Rails])&lt;br /&gt;
&lt;br /&gt;
= Solution, Part III-B: Web as database=&lt;br /&gt;
* ''base'': defines service&lt;br /&gt;
** GET base?query # search across all tables&lt;br /&gt;
* ''table'': collection of URLs with same schema&lt;br /&gt;
** GET table?query # search across this table&lt;br /&gt;
** URIs become primary keys for joins!&lt;br /&gt;
* ''record'': individual item, user, cart, etc.&lt;br /&gt;
** POST table?data # update record&lt;br /&gt;
&lt;br /&gt;
= Solution, Part III-C: Web as database=&lt;br /&gt;
* Special conventions&lt;br /&gt;
** GET http://host/uri?view=edit # API as editable forms&lt;br /&gt;
** GET http://host/uri?view=api # API as dt/dd descriptions&lt;br /&gt;
** GET http://host/uri?view=list # key-value as dt/dd&lt;br /&gt;
** GET http://host/uri?view=table # key-value as th/td&lt;br /&gt;
* Other verbs become queries&lt;br /&gt;
** POST table?data # create a new record [vs. PUT]&lt;br /&gt;
** POST table?delete=yes # flag for remove [vs. DELETE]&lt;br /&gt;
&lt;br /&gt;
= The 0.8% Solution for Web Services =&lt;br /&gt;
* (80% of benefit/20% of effort)^3&lt;br /&gt;
** XHTML vs. XML: 80/20&lt;br /&gt;
** GET/POST vs. REST: 80/20 x 80/20 = 64/4&lt;br /&gt;
** Database vs. freeform URIs: 80/20 x 64/4 = [http://en.wikipedia.org/wiki/Pareto_principle 51.2/0.8]&lt;br /&gt;
* Half the benefit for 1% of the effort!&lt;br /&gt;
** Maybe not everything, but the basics easily&lt;br /&gt;
** Power comes from how much you can ignore&lt;br /&gt;
&lt;br /&gt;
= Implications =&lt;br /&gt;
* The 'missing link' for REST?&lt;br /&gt;
* The 'killer app' for Ruby on Rails?&lt;br /&gt;
* The &amp;quot;[http://www.gladwell.com/tippingpoint/ tipping point]&amp;quot; for web services?&lt;br /&gt;
** Looser than XML =&amp;gt; easier compatibility &lt;br /&gt;
** Tighter than REST =&amp;gt; better interoperability &lt;br /&gt;
** Simpler than SOAP =&amp;gt; greater adoption&lt;br /&gt;
&lt;br /&gt;
= Examples (TBD) =&lt;br /&gt;
* ?view=api (dictionary of valid requests)&lt;br /&gt;
* {base,table}?query (OpenSearch)&lt;br /&gt;
* base/ (home page)&lt;br /&gt;
* table/ (section page)&lt;br /&gt;
* table?view=edit (record creation forms)&lt;br /&gt;
&lt;br /&gt;
= Examples - Records (TBD) =&lt;br /&gt;
* record/ (default view)&lt;br /&gt;
* record?view=edit (record update)&lt;br /&gt;
* record?view=list (dt/dd list)&lt;br /&gt;
* record?view=table (th/td row)&lt;br /&gt;
&lt;br /&gt;
= But Wait, There's More! =&lt;br /&gt;
* Not just for web services&lt;br /&gt;
** Do your whole website this way!&lt;br /&gt;
** [http://www.w3.org/TR/REC-CSS1 CSS classes] + styles =&amp;gt; prettified XHTML&lt;br /&gt;
** Don't Repeat Yourself ([http://www.artima.com/intv/dry.html DRY]): website == API&lt;br /&gt;
* Perfect solution for AJAX&lt;br /&gt;
** [http://en.wikipedia.org/wiki/AJAX AJAX]: Asynchronous-JavaScript-and-XML&lt;br /&gt;
** Actually, [http://epeus.blogspot.com/2005_05_01_epeus_archive.html#111588374981985824 JAH]: Just Asynchronous HTML&lt;br /&gt;
** JavaScript loves HTML; fast, only eight lines of code!&lt;br /&gt;
&lt;br /&gt;
= For More Information =&lt;br /&gt;
* Microformats http://microformats.org&lt;br /&gt;
** What are Microformats? http://tantek.com/presentations/2005/06/what-are-microformats/&lt;br /&gt;
** Discussion Lists http://microformats.org/discuss/&lt;br /&gt;
** XOXO: http://microformats.org/wiki/xoxo&lt;br /&gt;
* XHTML-REST&lt;br /&gt;
** research: http://microformats.org/wiki/rest-examples&lt;br /&gt;
** blog: http://www.opendarwin.org/~drernie/&lt;br /&gt;
** This presentation: http://microformats.org/wiki/rest-proposal-preso&lt;/div&gt;</summary>
		<author><name>DrErnie</name></author>
	</entry>
</feed>