<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: the tension between transparency and abstraction</title>
	<atom:link href="http://billhiggins.us/blog/2007/01/08/the-tension-between-transparency-and-abstraction/feed/" rel="self" type="application/rss+xml" />
	<link>http://billhiggins.us/blog/2007/01/08/the-tension-between-transparency-and-abstraction/</link>
	<description></description>
	<lastBuildDate>Mon, 16 Jan 2012 02:27:45 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
	<item>
		<title>By: Design manager</title>
		<link>http://billhiggins.us/blog/2007/01/08/the-tension-between-transparency-and-abstraction/comment-page-1/#comment-20</link>
		<dc:creator>Design manager</dc:creator>
		<pubDate>Fri, 09 Nov 2007 15:43:51 +0000</pubDate>
		<guid isPermaLink="false">http://billhiggins.us/weblog/2007/01/08/the-tension-between-transparency-and-abstraction/#comment-20</guid>
		<description>I think that balance depends on the audience, if customers are clever in subject matter then you can pay more attention to abstraction.</description>
		<content:encoded><![CDATA[<p>I think that balance depends on the audience, if customers are clever in subject matter then you can pay more attention to abstraction.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: floating point</title>
		<link>http://billhiggins.us/blog/2007/01/08/the-tension-between-transparency-and-abstraction/comment-page-1/#comment-19</link>
		<dc:creator>floating point</dc:creator>
		<pubDate>Sat, 03 Mar 2007 01:39:11 +0000</pubDate>
		<guid isPermaLink="false">http://billhiggins.us/weblog/2007/01/08/the-tension-between-transparency-and-abstraction/#comment-19</guid>
		<description>&lt;strong&gt;A critique of Spring...&lt;/strong&gt;

If you read my blog, you know I&#039;m not a big fan of the Spring framework. Googling around you find very little articles and posts criticizing Spring. Most notable is Crazy Bob&#039;s I Don&#039;t Get Spring weblog. My blogs on...</description>
		<content:encoded><![CDATA[<p><strong>A critique of Spring&#8230;</strong></p>
<p>If you read my blog, you know I&#8217;m not a big fan of the Spring framework. Googling around you find very little articles and posts criticizing Spring. Most notable is Crazy Bob&#8217;s I Don&#8217;t Get Spring weblog. My blogs on&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Re: The tension between transparency and abstraction, and some links &#171; RubyHam</title>
		<link>http://billhiggins.us/blog/2007/01/08/the-tension-between-transparency-and-abstraction/comment-page-1/#comment-18</link>
		<dc:creator>Re: The tension between transparency and abstraction, and some links &#171; RubyHam</dc:creator>
		<pubDate>Fri, 09 Feb 2007 21:37:37 +0000</pubDate>
		<guid isPermaLink="false">http://billhiggins.us/weblog/2007/01/08/the-tension-between-transparency-and-abstraction/#comment-18</guid>
		<description>[...] There&#8217;s a comment at the bottom of this article that strikes me as a good example of the circumstances that led to Rails&#8217; ease of use / maintenance: I’ve struggled with this issue too. [...]</description>
		<content:encoded><![CDATA[<p>[...] There&#8217;s a comment at the bottom of this article that strikes me as a good example of the circumstances that led to Rails&#8217; ease of use / maintenance: I’ve struggled with this issue too. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: blogs.swview.org &#187; Blog Archive &#187; Balancing Between Transparency And Abstraction</title>
		<link>http://billhiggins.us/blog/2007/01/08/the-tension-between-transparency-and-abstraction/comment-page-1/#comment-17</link>
		<dc:creator>blogs.swview.org &#187; Blog Archive &#187; Balancing Between Transparency And Abstraction</dc:creator>
		<pubDate>Wed, 31 Jan 2007 11:07:50 +0000</pubDate>
		<guid isPermaLink="false">http://billhiggins.us/weblog/2007/01/08/the-tension-between-transparency-and-abstraction/#comment-17</guid>
		<description>[...] As highlighted by Bill Higgins in his post, both transparency and abstraction have their own merits and compete with each other. Thoughts on balancing between these two in most cases leads us back to the basic principles software engineering. Some aspects that come to my mind are: [...]</description>
		<content:encoded><![CDATA[<p>[...] As highlighted by Bill Higgins in his post, both transparency and abstraction have their own merits and compete with each other. Thoughts on balancing between these two in most cases leads us back to the basic principles software engineering. Some aspects that come to my mind are: [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bill Higgins / others on transparency and abstraction</title>
		<link>http://billhiggins.us/blog/2007/01/08/the-tension-between-transparency-and-abstraction/comment-page-1/#comment-16</link>
		<dc:creator>Bill Higgins / others on transparency and abstraction</dc:creator>
		<pubDate>Wed, 17 Jan 2007 21:02:53 +0000</pubDate>
		<guid isPermaLink="false">http://billhiggins.us/weblog/2007/01/08/the-tension-between-transparency-and-abstraction/#comment-16</guid>
		<description>[...] There&#8217;s a phrase from systems engineering that applies here, the principal of least astonishment. When an abstraction fails, a well-designed one will (hopefully) fail in predictable ways. It&#8217;s when an abstraction fails and it fails in an unexpected way that we have evidence of a leaky abstraction. Unfortunately, I don&#8217;t think this kind of behavior is avoidable, although it is the case that tracing down the roots of such failures and then refactoring the stuff at those roots will generally lead to a better separation of concerns. The problem is, in software, we generally never take the time to do that refactoring, and so we occasionally continue to be astonished at the most inopportune times. (more) Josh: [...]</description>
		<content:encoded><![CDATA[<p>[...] There&#8217;s a phrase from systems engineering that applies here, the principal of least astonishment. When an abstraction fails, a well-designed one will (hopefully) fail in predictable ways. It&#8217;s when an abstraction fails and it fails in an unexpected way that we have evidence of a leaky abstraction. Unfortunately, I don&#8217;t think this kind of behavior is avoidable, although it is the case that tracing down the roots of such failures and then refactoring the stuff at those roots will generally lead to a better separation of concerns. The problem is, in software, we generally never take the time to do that refactoring, and so we occasionally continue to be astonished at the most inopportune times. (more) Josh: [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Transparency And Abstraction on iface thoughts</title>
		<link>http://billhiggins.us/blog/2007/01/08/the-tension-between-transparency-and-abstraction/comment-page-1/#comment-15</link>
		<dc:creator>Transparency And Abstraction on iface thoughts</dc:creator>
		<pubDate>Thu, 11 Jan 2007 12:09:39 +0000</pubDate>
		<guid isPermaLink="false">http://billhiggins.us/weblog/2007/01/08/the-tension-between-transparency-and-abstraction/#comment-15</guid>
		<description>[...] Bill Higgins brings up the tension between transparency and abstraction. Abstraction has been beneficial for software development, in fact it is at the heart of the design principles. [...]</description>
		<content:encoded><![CDATA[<p>[...] Bill Higgins brings up the tension between transparency and abstraction. Abstraction has been beneficial for software development, in fact it is at the heart of the design principles. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: tech decentral &#187; links for 2007-01-08</title>
		<link>http://billhiggins.us/blog/2007/01/08/the-tension-between-transparency-and-abstraction/comment-page-1/#comment-14</link>
		<dc:creator>tech decentral &#187; links for 2007-01-08</dc:creator>
		<pubDate>Mon, 08 Jan 2007 23:29:02 +0000</pubDate>
		<guid isPermaLink="false">http://billhiggins.us/weblog/2007/01/08/the-tension-between-transparency-and-abstraction/#comment-14</guid>
		<description>[...] Bill Higgins / the tension between transparency and abstraction Are transparency and abstraction necessarily opposed? Abstraction removes details, but what if it hides extraneous details and makes the most important components and flows more obvious? (tags: abstraction transparency rest ajax architecture) [...]</description>
		<content:encoded><![CDATA[<p>[...] Bill Higgins / the tension between transparency and abstraction Are transparency and abstraction necessarily opposed? Abstraction removes details, but what if it hides extraneous details and makes the most important components and flows more obvious? (tags: abstraction transparency rest ajax architecture) [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Josh Staiger</title>
		<link>http://billhiggins.us/blog/2007/01/08/the-tension-between-transparency-and-abstraction/comment-page-1/#comment-13</link>
		<dc:creator>Josh Staiger</dc:creator>
		<pubDate>Mon, 08 Jan 2007 17:25:49 +0000</pubDate>
		<guid isPermaLink="false">http://billhiggins.us/weblog/2007/01/08/the-tension-between-transparency-and-abstraction/#comment-13</guid>
		<description>I&#039;ve struggled with this issue too.

I haven&#039;t come to any concrete conclusions either other than to emphasize that abstraction *costs*.

And not only does it cost, but it usually costs *more* than we think it does - because the person designing the abstraction is not the same person who has to invest the effort to learn how the abstraction works later on.

I think this is one of the main reason why the überframeworks fail.  When you try to build a framework in a vacuum, separate from a real  application that uses the framework, you clearly don&#039;t have a good grasp of the costs of the abstractions you&#039;re creating.

So I think whenever we create new abstractions we need to make sure we have very good reasons for doing so, and that we&#039;re not unwittingly creating more trouble than we&#039;re solving.</description>
		<content:encoded><![CDATA[<p>I&#8217;ve struggled with this issue too.</p>
<p>I haven&#8217;t come to any concrete conclusions either other than to emphasize that abstraction *costs*.</p>
<p>And not only does it cost, but it usually costs *more* than we think it does &#8211; because the person designing the abstraction is not the same person who has to invest the effort to learn how the abstraction works later on.</p>
<p>I think this is one of the main reason why the überframeworks fail.  When you try to build a framework in a vacuum, separate from a real  application that uses the framework, you clearly don&#8217;t have a good grasp of the costs of the abstractions you&#8217;re creating.</p>
<p>So I think whenever we create new abstractions we need to make sure we have very good reasons for doing so, and that we&#8217;re not unwittingly creating more trouble than we&#8217;re solving.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

