<?xml version="1.0" encoding="utf-8"?><!-- generator="wordpress/2.3" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>
<channel>
	<title>Comments on: Re: Bounties</title>
	<link>http://www.tigert.com/archives/2005/01/09/re-bounties/</link>
	<description>um, what do I write here?</description>
	<pubDate>Tue, 06 Jan 2009 11:18:10 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3</generator>
		<item>
		<title>By: ben lemasurier</title>
		<link>http://www.tigert.com/archives/2005/01/09/re-bounties/#comment-469</link>
		<dc:creator>ben lemasurier</dc:creator>
		<pubDate>Wed, 19 Jan 2005 00:17:34 +0000</pubDate>
		<guid>http://www.tigert.com/archives/2005/01/09/re-bounties/#comment-469</guid>
		<description>I absolutly love the bounty system, it is very modivational and allows a well earned payback for open source programming. I think there should be a system setup where people and donate money specifically to the bounty system.</description>
		<content:encoded><![CDATA[<p>I absolutly love the bounty system, it is very modivational and allows a well earned payback for open source programming. I think there should be a system setup where people and donate money specifically to the bounty system.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ds.phorce.com</title>
		<link>http://www.tigert.com/archives/2005/01/09/re-bounties/#comment-464</link>
		<dc:creator>ds.phorce.com</dc:creator>
		<pubDate>Thu, 13 Jan 2005 17:55:58 +0000</pubDate>
		<guid>http://www.tigert.com/archives/2005/01/09/re-bounties/#comment-464</guid>
		<description>&lt;strong&gt;GNOME Work&lt;/strong&gt;
Recently, I've been strongly considering ditching Windows XP as my primary operating system and switching back to the Linux platform with the GNOME desktop environment.  I used this setup as my primary computing environment between 1998 and 2001 when ...</description>
		<content:encoded><![CDATA[<p><strong>GNOME Work</strong><br />
Recently, I&#8217;ve been strongly considering ditching Windows XP as my primary operating system and switching back to the Linux platform with the GNOME desktop environment.  I used this setup as my primary computing environment between 1998 and 2001 when &#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tuomas</title>
		<link>http://www.tigert.com/archives/2005/01/09/re-bounties/#comment-448</link>
		<dc:creator>Tuomas</dc:creator>
		<pubDate>Mon, 10 Jan 2005 12:39:27 +0000</pubDate>
		<guid>http://www.tigert.com/archives/2005/01/09/re-bounties/#comment-448</guid>
		<description>Sean, exactly.

My job is to write those specs, so I know what you are talking about. And I think, as much as we want to encourage new, smart programmers to participate, it wouldnt hurt to have more people come up with clever ideas - we dont just need to clone stuff from other environments - the basic framework we already have. But we want to make programs and frameworks that actually make sense, that actually solve real problems and just make life easier instead of just "having a GUI config tool for [foobar]" :)</description>
		<content:encoded><![CDATA[<p>Sean, exactly.</p>
<p>My job is to write those specs, so I know what you are talking about. And I think, as much as we want to encourage new, smart programmers to participate, it wouldnt hurt to have more people come up with clever ideas - we dont just need to clone stuff from other environments - the basic framework we already have. But we want to make programs and frameworks that actually make sense, that actually solve real problems and just make life easier instead of just &#8220;having a GUI config tool for [foobar]&#8221; <img src='http://www.tigert.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sean Middleditch</title>
		<link>http://www.tigert.com/archives/2005/01/09/re-bounties/#comment-447</link>
		<dc:creator>Sean Middleditch</dc:creator>
		<pubDate>Sun, 09 Jan 2005 05:56:18 +0000</pubDate>
		<guid>http://www.tigert.com/archives/2005/01/09/re-bounties/#comment-447</guid>
		<description>"Then again, another interesting idea: Could there be bounties for concepts?"

Actually, I've gotten several paid contracts specifically for writing specs.  The customer knew what he wanted so far as the end result, his programmers were only thinking in terms of implementation and not the final goal, and I wrote a spec listing the goal, breaking it down, providing implementation strategies, rationalizations for each, priorities for each, and a number of general remarks and suggestions for some low-level details that I knew a lot of coders tend to botch up (like networking code).  Turned out great, given that the applications exist and do what the users wanted.  (Although I wish I could have pushed UI design a bit more heavily on the apps...)

Actually generating a list of goals isn't *too* hard.  Users know what they want to do.  The problem is when a user knows what they want to do and thinks up a sub-optimal way of doing it, and then starts asking for that specific method instead of explaining their end desire.  I think that, in this community, that's probably more important than technical specs, since we're programmer oriented.  The trick is figuring out what people want to do and the best way to do it, then layout out some general implementation details and strategies and let the coders work out the lower-level details.

Example - user complains that they hate getting offline errors in Evolution and that dialing into the internet with their modem is a pain.  Offline errors aren't the problem, and the manual dialing process is as simple as it can get - a click or two.  The problem is that the computer doesn't automatically recognize that the user's operations requires 'net connectivity and doesn't initiate that connectivity, but instead requires the user to recognize that and do it manually.  So, the high level goal here is to get network-requiring apps to initiate an Internet connection automatically.

Some goals then are a) security of the infrastructure, b) ease of use, c) robustness, d) developer friendly.  Security means that random apps can't quietly connect to the 'net and start doing bad things.  Ease of use means that the user shouldn't have to do a lot of work - the automatic initiation of connection removes some mental overhead, but that doesn't mean it requires fewer steps.  Robustness means that apps can reliably detect when 'net access is available and that they don't try to connect to the net if a connection is already available.  Developer friendly means that it's easy for developers to get the functionality working in their apps.

That translation there is often the hard part in projects like GNOME, because it's the idea of thinking top-down that gets hard.  If the developer focuses on the bug report (offline in Evolution is annoying) vs the over-all problem (user has to know when and how to connect to the Internet) then the problem won't be solved properly.

The people that break down those requests like this could offer implementation suggestions, although it probably isn't needed.  Personally, I'd tie this all into something like NetworkManager, add some client library calls that basically provide two functions - HaveInternetConnection() and ConnectToInternet().  Library uses D-BUS to talk to NetworkManager.  ConnectToInternet() would select the network interface best able to connect to the net if one isn't already active and pop-up a confirmation dialog for the user, specifying the app that requested it using the application user-friendly name and icon.  Library should be devoid of any dependency garbage other than D-BUS itself so that it is friendly to KDE, OOo, Mozilla, and so on.</description>
		<content:encoded><![CDATA[<p>&#8220;Then again, another interesting idea: Could there be bounties for concepts?&#8221;</p>
<p>Actually, I&#8217;ve gotten several paid contracts specifically for writing specs.  The customer knew what he wanted so far as the end result, his programmers were only thinking in terms of implementation and not the final goal, and I wrote a spec listing the goal, breaking it down, providing implementation strategies, rationalizations for each, priorities for each, and a number of general remarks and suggestions for some low-level details that I knew a lot of coders tend to botch up (like networking code).  Turned out great, given that the applications exist and do what the users wanted.  (Although I wish I could have pushed UI design a bit more heavily on the apps&#8230;)</p>
<p>Actually generating a list of goals isn&#8217;t *too* hard.  Users know what they want to do.  The problem is when a user knows what they want to do and thinks up a sub-optimal way of doing it, and then starts asking for that specific method instead of explaining their end desire.  I think that, in this community, that&#8217;s probably more important than technical specs, since we&#8217;re programmer oriented.  The trick is figuring out what people want to do and the best way to do it, then layout out some general implementation details and strategies and let the coders work out the lower-level details.</p>
<p>Example - user complains that they hate getting offline errors in Evolution and that dialing into the internet with their modem is a pain.  Offline errors aren&#8217;t the problem, and the manual dialing process is as simple as it can get - a click or two.  The problem is that the computer doesn&#8217;t automatically recognize that the user&#8217;s operations requires &#8216;net connectivity and doesn&#8217;t initiate that connectivity, but instead requires the user to recognize that and do it manually.  So, the high level goal here is to get network-requiring apps to initiate an Internet connection automatically.</p>
<p>Some goals then are a) security of the infrastructure, b) ease of use, c) robustness, d) developer friendly.  Security means that random apps can&#8217;t quietly connect to the &#8216;net and start doing bad things.  Ease of use means that the user shouldn&#8217;t have to do a lot of work - the automatic initiation of connection removes some mental overhead, but that doesn&#8217;t mean it requires fewer steps.  Robustness means that apps can reliably detect when &#8216;net access is available and that they don&#8217;t try to connect to the net if a connection is already available.  Developer friendly means that it&#8217;s easy for developers to get the functionality working in their apps.</p>
<p>That translation there is often the hard part in projects like GNOME, because it&#8217;s the idea of thinking top-down that gets hard.  If the developer focuses on the bug report (offline in Evolution is annoying) vs the over-all problem (user has to know when and how to connect to the Internet) then the problem won&#8217;t be solved properly.</p>
<p>The people that break down those requests like this could offer implementation suggestions, although it probably isn&#8217;t needed.  Personally, I&#8217;d tie this all into something like NetworkManager, add some client library calls that basically provide two functions - HaveInternetConnection() and ConnectToInternet().  Library uses D-BUS to talk to NetworkManager.  ConnectToInternet() would select the network interface best able to connect to the net if one isn&#8217;t already active and pop-up a confirmation dialog for the user, specifying the app that requested it using the application user-friendly name and icon.  Library should be devoid of any dependency garbage other than D-BUS itself so that it is friendly to KDE, OOo, Mozilla, and so on.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ds.phorce.com &#187; GNOME Work</title>
		<link>http://www.tigert.com/archives/2005/01/09/re-bounties/#comment-463</link>
		<dc:creator>ds.phorce.com &#187; GNOME Work</dc:creator>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<guid>http://www.tigert.com/archives/2005/01/09/re-bounties/#comment-463</guid>
		<description>[...] ything else) and I write very little (if any) C anymore.  Thus I have a strong interest in &lt;a href="http://tigert.gimp.org/log/archives/2005/01/09/re-bounties"&gt;this post&lt;/a&gt; by Tigert that proposes the idea of giving bounties for writing the spec for [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] ything else) and I write very little (if any) C anymore.  Thus I have a strong interest in <a href="http://tigert.gimp.org/log/archives/2005/01/09/re-bounties" onclick="javascript:urchinTracker ('/outbound/comment/tigert.gimp.org');">this post</a> by Tigert that proposes the idea of giving bounties for writing the spec for [&#8230;]</p>
]]></content:encoded>
	</item>
</channel>
</rss>
