<?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"
	>
<channel>
	<title>Comments on: Good architectural layering, and Bzr 1.1</title>
	<atom:link href="http://www.markshuttleworth.com/archives/136/feed" rel="self" type="application/rss+xml" />
	<link>http://www.markshuttleworth.com/archives/136</link>
	<description>Planetary perspectives</description>
	<pubDate>Sun, 20 Jul 2008 21:25:17 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
		<item>
		<title>By: tecosystems &#187; GNOME Do and The Network Backed Plugin Architecture</title>
		<link>http://www.markshuttleworth.com/archives/136#comment-304899</link>
		<dc:creator>tecosystems &#187; GNOME Do and The Network Backed Plugin Architecture</dc:creator>
		<pubDate>Mon, 23 Jun 2008 19:02:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.markshuttleworth.com/archives/136#comment-304899</guid>
		<description>[...] Shuttleworth, I think, was right when he said: It seems that one of the key “best practices” that has emerged is the idea of plug-in [...]</description>
		<content:encoded><![CDATA[<p>[...] Shuttleworth, I think, was right when he said: It seems that one of the key “best practices” that has emerged is the idea of plug-in [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bazaar: un CVS distribuito &#124; PettiNix</title>
		<link>http://www.markshuttleworth.com/archives/136#comment-247174</link>
		<dc:creator>Bazaar: un CVS distribuito &#124; PettiNix</dc:creator>
		<pubDate>Fri, 01 Feb 2008 11:18:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.markshuttleworth.com/archives/136#comment-247174</guid>
		<description>[...] stesso patron di Ubuntu, Mark Shuttleworth, spinge nell&#8217;aumento del suo utilizzo, indicandolo come soluzione del futuro nella gestione dei [...]</description>
		<content:encoded><![CDATA[<p>[...] stesso patron di Ubuntu, Mark Shuttleworth, spinge nell&#8217;aumento del suo utilizzo, indicandolo come soluzione del futuro nella gestione dei [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ian Skerrett</title>
		<link>http://www.markshuttleworth.com/archives/136#comment-237878</link>
		<dc:creator>Ian Skerrett</dc:creator>
		<pubDate>Fri, 18 Jan 2008 18:42:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.markshuttleworth.com/archives/136#comment-237878</guid>
		<description>Mark,

I definitely agree that a well defined plugin architecture helps accelerate the participation in an open source community.   We have definitely seen this within the Eclipse community, for instance BzrEclipse.  :-)   Tim O'Reilly coined the term 'Architecture of Participation' and well defined architecture is at the heart of this concept.</description>
		<content:encoded><![CDATA[<p>Mark,</p>
<p>I definitely agree that a well defined plugin architecture helps accelerate the participation in an open source community.   We have definitely seen this within the Eclipse community, for instance BzrEclipse.  <img src='http://www.markshuttleworth.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />   Tim O&#8217;Reilly coined the term &#8216;Architecture of Participation&#8217; and well defined architecture is at the heart of this concept.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: tecosystems &#187; Do or Do Not Do, There is No OS X</title>
		<link>http://www.markshuttleworth.com/archives/136#comment-236191</link>
		<dc:creator>tecosystems &#187; Do or Do Not Do, There is No OS X</dc:creator>
		<pubDate>Wed, 16 Jan 2008 07:47:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.markshuttleworth.com/archives/136#comment-236191</guid>
		<description>[...] &#8220;It seems that one of the key &#8216;best practices&#8217; that has emerged is the idea of plug-in architectures, that allow new developers to contribute an extension, plug-in or add-on to the codebase without having to learn too much about the guts of the project.&#8221; Mark Shuttleworth [...]</description>
		<content:encoded><![CDATA[<p>[...] &#8220;It seems that one of the key &#8216;best practices&#8217; that has emerged is the idea of plug-in architectures, that allow new developers to contribute an extension, plug-in or add-on to the codebase without having to learn too much about the guts of the project.&#8221; Mark Shuttleworth [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Krenar Qehaja</title>
		<link>http://www.markshuttleworth.com/archives/136#comment-234066</link>
		<dc:creator>Krenar Qehaja</dc:creator>
		<pubDate>Sat, 12 Jan 2008 17:05:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.markshuttleworth.com/archives/136#comment-234066</guid>
		<description>@Kevin Menard

this could help Mark if it is on php,

[php]
echo "Copyright © 2006 - " .date("Y"). " Mark Shuttleworth";
[/php]</description>
		<content:encoded><![CDATA[<p>@Kevin Menard</p>
<p>this could help Mark if it is on php,</p>
<p>[php]<br />
echo &#8220;Copyright © 2006 - &#8221; .date(&#8221;Y&#8221;). &#8221; Mark Shuttleworth&#8221;;<br />
[/php]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bonne conception architecturale en couches et Bzr 1.1</title>
		<link>http://www.markshuttleworth.com/archives/136#comment-232726</link>
		<dc:creator>Bonne conception architecturale en couches et Bzr 1.1</dc:creator>
		<pubDate>Thu, 10 Jan 2008 13:28:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.markshuttleworth.com/archives/136#comment-232726</guid>
		<description>[...] Traduction française de l&#8217;article &#8220;Good architectural layering, and Bzr 1.1&#8220;. [...]</description>
		<content:encoded><![CDATA[<p>[...] Traduction française de l&#8217;article &#8220;Good architectural layering, and Bzr 1.1&#8220;. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: tecosystems &#187; links for 2008-01-10</title>
		<link>http://www.markshuttleworth.com/archives/136#comment-232561</link>
		<dc:creator>tecosystems &#187; links for 2008-01-10</dc:creator>
		<pubDate>Thu, 10 Jan 2008 05:20:26 +0000</pubDate>
		<guid isPermaLink="false">http://www.markshuttleworth.com/archives/136#comment-232561</guid>
		<description>[...] Mark Shuttleworth » Blog Archive » Good architectural layering, and Bzr 1.1 &#8220;It seems that one of the key “best practices” that has emerged is the idea of plug-in architectures, that allow new developers to contribute an extension, plug-in or add-on to the codebase without having to learn too much about the guts of the projec (tags: markshuttleworth architecture plugins firefox bazaar layers add-on extension) [...]</description>
		<content:encoded><![CDATA[<p>[...] Mark Shuttleworth » Blog Archive » Good architectural layering, and Bzr 1.1 &#8220;It seems that one of the key “best practices” that has emerged is the idea of plug-in architectures, that allow new developers to contribute an extension, plug-in or add-on to the codebase without having to learn too much about the guts of the projec (tags: markshuttleworth architecture plugins firefox bazaar layers add-on extension) [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kevin Menard</title>
		<link>http://www.markshuttleworth.com/archives/136#comment-232483</link>
		<dc:creator>Kevin Menard</dc:creator>
		<pubDate>Thu, 10 Jan 2008 02:33:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.markshuttleworth.com/archives/136#comment-232483</guid>
		<description>Mark,

As a side note, you probably want to update the copyright year in your page footer.</description>
		<content:encoded><![CDATA[<p>Mark,</p>
<p>As a side note, you probably want to update the copyright year in your page footer.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robins</title>
		<link>http://www.markshuttleworth.com/archives/136#comment-232461</link>
		<dc:creator>Robins</dc:creator>
		<pubDate>Thu, 10 Jan 2008 01:41:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.markshuttleworth.com/archives/136#comment-232461</guid>
		<description>I have been recently been working heavily on a project that i developed both at home and office. Funnily, this meant that two operating systems were used (XP / Gutsy), two databases were used (PostGres, MSSQL) and the icing, two servers were used (FreeBSD / Windows Server 2003).

But only one feedback after it all. Bzr worked flawlessly !

Mark, the way I look at it, different development architectures have their own advantages / disadvantages, but what I believe is far more important are the policy decisions that guide the developers. For e.g. personally I believe bzr's idea of making renaming a first class citizen is *the most important reason* why I chose bzr for this project even though at that time a similar DVCS (HG) was considered better than bzr 0.92 by a few online reviews.

Put it another way, I believe that in the long run, the thinking behind a project provides a big hint as to whether the project would suit your needs. Then I find in bzr in harmony with my thinking.</description>
		<content:encoded><![CDATA[<p>I have been recently been working heavily on a project that i developed both at home and office. Funnily, this meant that two operating systems were used (XP / Gutsy), two databases were used (PostGres, MSSQL) and the icing, two servers were used (FreeBSD / Windows Server 2003).</p>
<p>But only one feedback after it all. Bzr worked flawlessly !</p>
<p>Mark, the way I look at it, different development architectures have their own advantages / disadvantages, but what I believe is far more important are the policy decisions that guide the developers. For e.g. personally I believe bzr&#8217;s idea of making renaming a first class citizen is *the most important reason* why I chose bzr for this project even though at that time a similar DVCS (HG) was considered better than bzr 0.92 by a few online reviews.</p>
<p>Put it another way, I believe that in the long run, the thinking behind a project provides a big hint as to whether the project would suit your needs. Then I find in bzr in harmony with my thinking.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kevin Menard</title>
		<link>http://www.markshuttleworth.com/archives/136#comment-232438</link>
		<dc:creator>Kevin Menard</dc:creator>
		<pubDate>Thu, 10 Jan 2008 00:41:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.markshuttleworth.com/archives/136#comment-232438</guid>
		<description>I constantly have a love-hate relationship with plugins.  They are great because they do lower the barrier to entry for the average developer.  As a guy that needs to install them, though, it's a pain in the neck.  On top of that, you do run into the support issue tha Gord mentions.  I've run into plenty of situations where I rely on plugins X &#38; Y for some product P.  X doesn't get updated for the new version of P's API, while Y does, and Y won't backport bug fixes to the old version.  So, now I'm stuck with two plugins I rely on that are largely incompatible with one another.

I do think the installation issue is one that requires greater attention, however.  It's the reason that I'll grab Opera before I grab Firefox or IntelliJ IDEA before Eclipse.  When the core is stripped down and you need to grab 10 different plugins to get a reasonable system and there's no way to easily automate it for all of your work environments or all the work environments of your group, plugins lose their novelty really quickly.

I'd advocate an easy way to install plugins (i.e., have a plugin repository rather than listing them on each individual developer's site), easy way to duplicate an installation and/or automated deployment, and maybe even wrap up a distribution of the app's core plus the most popular set of plugins.

For what it's worth, everytime I go to check out bzr I see that I need plugins to integrate with other version control systems and I'm immediately put off.  It's far simpler to just stay with what I have than it is to play platform compatibility roulette.

&lt;strong&gt;Mark Shuttleworth says:&lt;/strong&gt; I agree wholeheartedly with your observations about plug-in installation, updating, maintenance and version control. Firefox does this best, IMO. It automatically looks for updates, and it assesses compatibility between plug-ins and new versions of the browser.</description>
		<content:encoded><![CDATA[<p>I constantly have a love-hate relationship with plugins.  They are great because they do lower the barrier to entry for the average developer.  As a guy that needs to install them, though, it&#8217;s a pain in the neck.  On top of that, you do run into the support issue tha Gord mentions.  I&#8217;ve run into plenty of situations where I rely on plugins X &amp; Y for some product P.  X doesn&#8217;t get updated for the new version of P&#8217;s API, while Y does, and Y won&#8217;t backport bug fixes to the old version.  So, now I&#8217;m stuck with two plugins I rely on that are largely incompatible with one another.</p>
<p>I do think the installation issue is one that requires greater attention, however.  It&#8217;s the reason that I&#8217;ll grab Opera before I grab Firefox or IntelliJ IDEA before Eclipse.  When the core is stripped down and you need to grab 10 different plugins to get a reasonable system and there&#8217;s no way to easily automate it for all of your work environments or all the work environments of your group, plugins lose their novelty really quickly.</p>
<p>I&#8217;d advocate an easy way to install plugins (i.e., have a plugin repository rather than listing them on each individual developer&#8217;s site), easy way to duplicate an installation and/or automated deployment, and maybe even wrap up a distribution of the app&#8217;s core plus the most popular set of plugins.</p>
<p>For what it&#8217;s worth, everytime I go to check out bzr I see that I need plugins to integrate with other version control systems and I&#8217;m immediately put off.  It&#8217;s far simpler to just stay with what I have than it is to play platform compatibility roulette.</p>
<p><strong>Mark Shuttleworth says:</strong> I agree wholeheartedly with your observations about plug-in installation, updating, maintenance and version control. Firefox does this best, IMO. It automatically looks for updates, and it assesses compatibility between plug-ins and new versions of the browser.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
