<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Srinath Vasireddy : Design</title><link>http://blogs.msdn.com/srinathv/archive/tags/Design/default.aspx</link><description>Tags: Design</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>overcoming api designer's block</title><link>http://blogs.msdn.com/srinathv/archive/2008/05/10/overcoming-api-designer-s-block.aspx</link><pubDate>Sat, 10 May 2008 12:07:17 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8483647</guid><dc:creator>srinathv</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/srinathv/comments/8483647.aspx</comments><wfw:commentRss>http://blogs.msdn.com/srinathv/commentrss.aspx?PostID=8483647</wfw:commentRss><description>&lt;p&gt;&lt;font face="Calibri" size="3"&gt;How do I go about designing API for my Library? Gosh where do I start? If you are asking these questions, then start with Krzysztof's &lt;/font&gt;&lt;a href="http://blogs.msdn.com/kcwalina/archive/2008/04/09/FDGDigest.aspx"&gt;&lt;font face="Calibri" size="3"&gt;Framework Design Guidelines Digest&lt;/font&gt;&lt;/a&gt;&lt;font face="Calibri" size="3"&gt;. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Calibri" size="3"&gt;Here is a high level overview of the process: &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/srinathv/WindowsLiveWriter/96249e214dec_1AEA/DG1_2.jpg"&gt;&lt;font face="cal" color="#333333" size="3"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="122" alt="DG1" src="http://blogs.msdn.com/blogfiles/srinathv/WindowsLiveWriter/96249e214dec_1AEA/DG1_thumb.jpg" width="244" border="0" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font face="cal" size="3"&gt; &lt;/font&gt;&lt;a href="http://blogs.msdn.com/blogfiles/srinathv/WindowsLiveWriter/96249e214dec_1AEA/DG2_2.jpg"&gt;&lt;font face="cal" color="#333333" size="3"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="217" alt="DG2" src="http://blogs.msdn.com/blogfiles/srinathv/WindowsLiveWriter/96249e214dec_1AEA/DG2_thumb.jpg" width="244" border="0" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="cal" size="3"&gt;&amp;#160;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/srinathv/WindowsLiveWriter/96249e214dec_1AEA/DG3_2.jpg"&gt;&lt;font face="cal" color="#333333" size="3"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="244" alt="DG3" src="http://blogs.msdn.com/blogfiles/srinathv/WindowsLiveWriter/96249e214dec_1AEA/DG3_thumb.jpg" width="207" border="0" /&gt;&lt;/font&gt;&lt;/a&gt;&amp;#160;&amp;#160; &lt;a href="http://blogs.msdn.com/blogfiles/srinathv/WindowsLiveWriter/96249e214dec_1AEA/DG4_2.jpg"&gt;&lt;font face="cal" color="#333333" size="3"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="244" alt="DG4" src="http://blogs.msdn.com/blogfiles/srinathv/WindowsLiveWriter/96249e214dec_1AEA/DG4_thumb.jpg" width="233" border="0" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font face="cal" size="3"&gt; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;   &lt;p&gt;&lt;font face="Calibri" size="3"&gt;1) Ok, first list out all the feature areas (f1, f2, f3, ...) for your applications.&amp;#160; To begin with pick a feature that you want to drill down on. &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font face="Calibri" size="3"&gt;2) List out the TOP SCENARIOS to support that feature set. &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font face="Calibri" size="3"&gt;3) Now slip into end user (developers) shoes and ask yourself - What would the end users code look like when implementing my scenario using my API? &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font face="Calibri" size="3"&gt;4) Dump your thoughts by writing some sample scenario code that end user would write. &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font face="Calibri" size="3"&gt;5) Now you have a starting point.&amp;#160; Design you API based on the sample code that you just wrote.&lt;/font&gt;&lt;/p&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8483647" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/srinathv/archive/tags/Design/default.aspx">Design</category></item></channel></rss>