http://wiki.apidesign.org/index.php?title=Determining_What_Makes_a_Good_API&feed=atom&action=historyDetermining What Makes a Good API - Revision history2024-03-29T11:43:03ZRevision history for this page on the wikiMediaWiki 1.12.0rc1http://wiki.apidesign.org/index.php?title=Determining_What_Makes_a_Good_API&diff=10577&oldid=prevJaroslavTulach: /* Everything */2022-03-29T03:00:45Z<p><span class="autocomment">Everything</span></p>
<table style="background-color: white; color:black;">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr>
<td colspan='2' style="background-color: white; color:black;">←Older revision</td>
<td colspan='2' style="background-color: white; color:black;">Revision as of 03:00, 29 March 2022</td>
</tr>
<tr><td colspan="2" class="diff-lineno">Line 6:</td>
<td colspan="2" class="diff-lineno">Line 6:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>== Everything ==</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>== Everything ==</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div> </div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div> </div></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div>The shortest answer to question "What is an [[API]]?" is: ''Everything somebody else can depend on''.</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>The shortest answer to <ins style="color: red; font-weight: bold; text-decoration: none;">the </ins>question "What is an [[API]]?" is: ''Everything somebody else can depend on''. <ins style="color: red; font-weight: bold; text-decoration: none;">The emphasis in the previous sentence is being placed on '''can''' - it is not used in the meaning of ''may''! As grandma used to reply: Can I go out? ''Sure, you can. But you may not!''</ins></div></td></tr>
</table>JaroslavTulachhttp://wiki.apidesign.org/index.php?title=Determining_What_Makes_a_Good_API&diff=9259&oldid=prevJaroslavTulach: /* Have You Ever Wondered...? */2017-08-27T14:37:08Z<p><span class="autocomment">Have You Ever Wondered...?</span></p>
<table style="background-color: white; color:black;">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr>
<td colspan='2' style="background-color: white; color:black;">←Older revision</td>
<td colspan='2' style="background-color: white; color:black;">Revision as of 14:37, 27 August 2017</td>
</tr>
<tr><td colspan="2" class="diff-lineno">Line 3:</td>
<td colspan="2" class="diff-lineno">Line 3:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Have you ever searched for the root reason why some of [[API]]s you liked more than others? Are those APIs that you liked the most also those most easily usable? I was thinking about this a lot. First of all I broaden the meaning of the term API and let </div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Have you ever searched for the root reason why some of [[API]]s you liked more than others? Are those APIs that you liked the most also those most easily usable? I was thinking about this a lot. First of all I broaden the meaning of the term API and let </div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>[[Determining What Makes a Good API|the chapter 3]] define what it means an [[API]], explain why and enumerate various [[APITypes]]. Then I also look at the basic objective criteria to ensure an API is really good, that it is an example of [[Good Technology]].</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>[[Determining What Makes a Good API|the chapter 3]] define what it means an [[API]], explain why and enumerate various [[APITypes]]. Then I also look at the basic objective criteria to ensure an API is really good, that it is an example of [[Good Technology]].</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">== Everything ==</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"> </ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">The shortest answer to question "What is an [[API]]?" is: ''Everything somebody else can depend on''.</ins></div></td></tr>
</table>JaroslavTulachhttp://wiki.apidesign.org/index.php?title=Determining_What_Makes_a_Good_API&diff=1717&oldid=prevJaroslavTulach: /* Have You Ever Wondered...? */2008-11-24T08:41:09Z<p><span class="autocomment">Have You Ever Wondered...?</span></p>
<table style="background-color: white; color:black;">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr>
<td colspan='2' style="background-color: white; color:black;">←Older revision</td>
<td colspan='2' style="background-color: white; color:black;">Revision as of 08:41, 24 November 2008</td>
</tr>
<tr><td colspan="2" class="diff-lineno">Line 1:</td>
<td colspan="2" class="diff-lineno">Line 1:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>== Have You Ever Wondered...? ==</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>== Have You Ever Wondered...? ==</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div>Have you ever searched for the root reason why some of <del style="color: red; font-weight: bold; text-decoration: none;">APIs </del>you liked more than others? Are those APIs that you liked the most also those most easily usable? I was thinking about this a lot. First of all I broaden the meaning of the term API and let </div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>Have you ever searched for the root reason why some of <ins style="color: red; font-weight: bold; text-decoration: none;">[[API]]s </ins>you liked more than others? Are those APIs that you liked the most also those most easily usable? I was thinking about this a lot. First of all I broaden the meaning of the term API and let </div></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div>[[Determining What Makes a Good API|the chapter 3]] define what it means an API, explain why and enumerate various [[APITypes]]. Then I also look at the basic objective criteria to ensure an API is really good.</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>[[Determining What Makes a Good API|the chapter 3]] define what it means an <ins style="color: red; font-weight: bold; text-decoration: none;">[[</ins>API<ins style="color: red; font-weight: bold; text-decoration: none;">]]</ins>, explain why and enumerate various [[APITypes]]. Then I also look at the basic objective criteria to ensure an API is really good<ins style="color: red; font-weight: bold; text-decoration: none;">, that it is an example of [[Good Technology]]</ins>.</div></td></tr>
</table>JaroslavTulachhttp://wiki.apidesign.org/index.php?title=Determining_What_Makes_a_Good_API&diff=1243&oldid=prevJaroslavTulach: /* Have You Ever Wondered...? */2008-08-13T20:59:45Z<p><span class="autocomment">Have You Ever Wondered...?</span></p>
<table style="background-color: white; color:black;">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr>
<td colspan='2' style="background-color: white; color:black;">←Older revision</td>
<td colspan='2' style="background-color: white; color:black;">Revision as of 20:59, 13 August 2008</td>
</tr>
<tr><td colspan="2" class="diff-lineno">Line 2:</td>
<td colspan="2" class="diff-lineno">Line 2:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Have you ever searched for the root reason why some of APIs you liked more than others? Are those APIs that you liked the most also those most easily usable? I was thinking about this a lot. First of all I broaden the meaning of the term API and let </div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Have you ever searched for the root reason why some of APIs you liked more than others? Are those APIs that you liked the most also those most easily usable? I was thinking about this a lot. First of all I broaden the meaning of the term API and let </div></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div>[[Determining What Makes a Good API|the chapter 3]] define what it means an API, <del style="color: red; font-weight: bold; text-decoration: none;">and </del>explain why and enumerate various <del style="color: red; font-weight: bold; text-decoration: none;">types of </del>[[APITypes]]. Then I also <del style="color: red; font-weight: bold; text-decoration: none;">looked </del>at the basic criteria to ensure an API is really good.</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>[[Determining What Makes a Good API|the chapter 3]] define what it means an API, explain why and enumerate various [[APITypes]]. Then I also <ins style="color: red; font-weight: bold; text-decoration: none;">look </ins>at the basic <ins style="color: red; font-weight: bold; text-decoration: none;">objective </ins>criteria to ensure an API is really good.</div></td></tr>
</table>JaroslavTulachhttp://wiki.apidesign.org/index.php?title=Determining_What_Makes_a_Good_API&diff=1242&oldid=prevJaroslavTulach: /* Have You Ever Wondered...? */2008-08-13T20:58:35Z<p><span class="autocomment">Have You Ever Wondered...?</span></p>
<table style="background-color: white; color:black;">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr>
<td colspan='2' style="background-color: white; color:black;">←Older revision</td>
<td colspan='2' style="background-color: white; color:black;">Revision as of 20:58, 13 August 2008</td>
</tr>
<tr><td colspan="2" class="diff-lineno">Line 2:</td>
<td colspan="2" class="diff-lineno">Line 2:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Have you ever searched for the root reason why some of APIs you liked more than others? Are those APIs that you liked the most also those most easily usable? I was thinking about this a lot. First of all I broaden the meaning of the term API and let </div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Have you ever searched for the root reason why some of APIs you liked more than others? Are those APIs that you liked the most also those most easily usable? I was thinking about this a lot. First of all I broaden the meaning of the term API and let </div></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;">this </del>chapter define what it means an API, and explain why and enumerate various types of [[APITypes]]. Then I also looked at the basic criteria to ensure an API is really good.</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">[[Determining What Makes a Good API|the </ins>chapter <ins style="color: red; font-weight: bold; text-decoration: none;">3]] </ins>define what it means an API, and explain why and enumerate various types of [[APITypes]]. Then I also looked at the basic criteria to ensure an API is really good.</div></td></tr>
</table>JaroslavTulachhttp://wiki.apidesign.org/index.php?title=Determining_What_Makes_a_Good_API&diff=1195&oldid=prevJaroslavTulach at 19:57, 2 August 20082008-08-02T19:57:19Z<p></p>
<table style="background-color: white; color:black;">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr>
<td colspan='2' style="background-color: white; color:black;">←Older revision</td>
<td colspan='2' style="background-color: white; color:black;">Revision as of 19:57, 2 August 2008</td>
</tr>
<tr><td colspan="2" class="diff-lineno">Line 1:</td>
<td colspan="2" class="diff-lineno">Line 1:</td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;">This </del>chapter <del style="color: red; font-weight: bold; text-decoration: none;">defines </del>what it means an API, <del style="color: red; font-weight: bold; text-decoration: none;">explains </del>why and <del style="color: red; font-weight: bold; text-decoration: none;">enumerates </del>various types of [[APITypes]]. <del style="color: red; font-weight: bold; text-decoration: none;">It </del>also <del style="color: red; font-weight: bold; text-decoration: none;">outlines </del>basic criteria to ensure an API is good.</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">== Have You Ever Wondered...? ==</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div> </div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">Have you ever searched for the root reason why some of APIs you liked more than others? Are those APIs that you liked the most also those most easily usable? I was thinking about this a lot. First of all I broaden the meaning of the term API and let </ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">this </ins>chapter <ins style="color: red; font-weight: bold; text-decoration: none;">define </ins>what it means an API, <ins style="color: red; font-weight: bold; text-decoration: none;">and explain </ins>why and <ins style="color: red; font-weight: bold; text-decoration: none;">enumerate </ins>various types of [[APITypes]]. <ins style="color: red; font-weight: bold; text-decoration: none;">Then I </ins>also <ins style="color: red; font-weight: bold; text-decoration: none;">looked at the </ins>basic criteria to ensure an API is <ins style="color: red; font-weight: bold; text-decoration: none;">really </ins>good.</div></td></tr>
</table>JaroslavTulachhttp://wiki.apidesign.org/index.php?title=Determining_What_Makes_a_Good_API&diff=1020&oldid=prevJaroslavTulach at 10:50, 16 June 20082008-06-16T10:50:57Z<p></p>
<table style="background-color: white; color:black;">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr>
<td colspan='2' style="background-color: white; color:black;">←Older revision</td>
<td colspan='2' style="background-color: white; color:black;">Revision as of 10:50, 16 June 2008</td>
</tr>
<tr><td colspan="2" class="diff-lineno">Line 1:</td>
<td colspan="2" class="diff-lineno">Line 1:</td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div> </div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">This chapter defines what it means an API, explains why and enumerates various types of [[APITypes]]. It also outlines basic criteria to ensure an API is good.</ins></div></td></tr>
</table>JaroslavTulachhttp://wiki.apidesign.org/index.php?title=Determining_What_Makes_a_Good_API&diff=829&oldid=prevApidesign: Removing all content from page2008-06-14T05:27:35Z<p>Removing all content from page</p>
<table style="background-color: white; color:black;">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr>
<td colspan='2' style="background-color: white; color:black;">←Older revision</td>
<td colspan='2' style="background-color: white; color:black;">Revision as of 05:27, 14 June 2008</td>
</tr>
<tr><td colspan="2" class="diff-lineno">Line 1:</td>
<td colspan="2" class="diff-lineno">Line 1:</td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;">In this chapter, it becomes clear that you understand the term API to mean something much broader than most people do: in this book, an API is any kind of interface between software components (or even, I suppose, hardware components) including, say, a network protocol. This is potentially problematic because to most people an API is, well, an API, namely a set of functions or methods available in a library or class. So it's good that you're being so explicit about this. Although your use of this term is broad, I'm actually not sure if there's any better term than "API" to use throughout the book. You could say "interface", meaning a software interface, but that would probably be confusing because the book is Java-oriented and of course the term "interface" has another, more specific meaning in Java. So maybe it's just best to continue to use this term in the way you do, unless other reviewers have any better ideas about this.</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;">--[[User:AdamDingle|AdamDingle]] 00:09, 28 March 2008 (UTC)</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;"></del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;">I think the term API is fine. This is precisely the point Jarda's making, and it's a good one. If people think APIs are just method signatures, they are mistaken. After all, it stands for "Application Programmer Interface". All of Jarda's categories are examples of one developer creating an interface point for an application programmer, right? I think Jarda's goal is to get API developers to think more about how they expose functionality, and how to maintain those interfaces over time.</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;"></del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;">In fact, there are a few that I think he forgot:</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;">* Database schemas are sometimes APIs. The last place I worked had a DB for storing logs, and that schema had to be evolved in a compatible way, as other teams were consuming the data in different ways and depended on the schema being stable.</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;">* WSDL/REST/IDL: perhaps these are too obvious :-)</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;">* XML Schemas: perhaps this is covered by the more general "files and their contents" section, but I think schemas deserve special mention. After all, we have large standards bodies that do very little beyond nailing down the semantics of XML schemas (e.g. w3.org)</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;"></del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;">* I used this list in '''bc11ce2d561c'''</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;">--[[User:RichUnger|RichUnger]] Thu Mar 27 21:19:09 PDT 2008</del></div></td><td colspan="2"> </td></tr>
</table>Apidesignhttp://wiki.apidesign.org/index.php?title=Determining_What_Makes_a_Good_API&diff=289&oldid=prevJaroslavTulach at 08:29, 5 April 20082008-04-05T08:29:33Z<p></p>
<table style="background-color: white; color:black;">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr>
<td colspan='2' style="background-color: white; color:black;">←Older revision</td>
<td colspan='2' style="background-color: white; color:black;">Revision as of 08:29, 5 April 2008</td>
</tr>
<tr><td colspan="2" class="diff-lineno">Line 10:</td>
<td colspan="2" class="diff-lineno">Line 10:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>* XML Schemas: perhaps this is covered by the more general "files and their contents" section, but I think schemas deserve special mention. After all, we have large standards bodies that do very little beyond nailing down the semantics of XML schemas (e.g. w3.org)</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>* XML Schemas: perhaps this is covered by the more general "files and their contents" section, but I think schemas deserve special mention. After all, we have large standards bodies that do very little beyond nailing down the semantics of XML schemas (e.g. w3.org)</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">* I used this list in '''bc11ce2d561c'''</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>--[[User:RichUnger|RichUnger]] Thu Mar 27 21:19:09 PDT 2008</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>--[[User:RichUnger|RichUnger]] Thu Mar 27 21:19:09 PDT 2008</div></td></tr>
</table>JaroslavTulachhttp://wiki.apidesign.org/index.php?title=Determining_What_Makes_a_Good_API&diff=200&oldid=prev71.131.199.190 at 04:24, 28 March 20082008-03-28T04:24:30Z<p></p>
<table style="background-color: white; color:black;">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr>
<td colspan='2' style="background-color: white; color:black;">←Older revision</td>
<td colspan='2' style="background-color: white; color:black;">Revision as of 04:24, 28 March 2008</td>
</tr>
<tr><td colspan="2" class="diff-lineno">Line 4:</td>
<td colspan="2" class="diff-lineno">Line 4:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>I think the term API is fine. This is precisely the point Jarda's making, and it's a good one. If people think APIs are just method signatures, they are mistaken. After all, it stands for "Application Programmer Interface". All of Jarda's categories are examples of one developer creating an interface point for an application programmer, right? I think Jarda's goal is to get API developers to think more about how they expose functionality, and how to maintain those interfaces over time.</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>I think the term API is fine. This is precisely the point Jarda's making, and it's a good one. If people think APIs are just method signatures, they are mistaken. After all, it stands for "Application Programmer Interface". All of Jarda's categories are examples of one developer creating an interface point for an application programmer, right? I think Jarda's goal is to get API developers to think more about how they expose functionality, and how to maintain those interfaces over time.</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">In fact, there are a few that I think he forgot:</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">* Database schemas are sometimes APIs. The last place I worked had a DB for storing logs, and that schema had to be evolved in a compatible way, as other teams were consuming the data in different ways and depended on the schema being stable.</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">* WSDL/REST/IDL: perhaps these are too obvious :-)</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">* XML Schemas: perhaps this is covered by the more general "files and their contents" section, but I think schemas deserve special mention. After all, we have large standards bodies that do very little beyond nailing down the semantics of XML schemas (e.g. w3.org)</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>--[[User:RichUnger|RichUnger]] Thu Mar 27 21:19:09 PDT 2008</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>--[[User:RichUnger|RichUnger]] Thu Mar 27 21:19:09 PDT 2008</div></td></tr>
</table>71.131.199.190