<?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: Mac app checklist</title>
	<atom:link href="http://boredzo.org/blog/archives/2007-03-18/mac-app-checklist/feed" rel="self" type="application/rss+xml" />
	<link>http://boredzo.org/blog/archives/2007-03-18/mac-app-checklist</link>
	<description>The personal weblog of Peter Hosey.</description>
	<lastBuildDate>Mon, 15 Mar 2010 23:31:21 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: EmptySet</title>
		<link>http://boredzo.org/blog/archives/2007-03-18/mac-app-checklist/comment-page-1#comment-18334</link>
		<dc:creator>EmptySet</dc:creator>
		<pubDate>Wed, 04 Apr 2007 06:26:03 +0000</pubDate>
		<guid isPermaLink="false">http://boredzo.org/blog/archives/2007-03-18/mac-app-checklist#comment-18334</guid>
		<description>Apple is presumably releasing Leopard for Intel AND PPC. Thankfully they aren&#039;t following your advice.</description>
		<content:encoded><![CDATA[<p>Apple is presumably releasing Leopard for Intel AND PPC. Thankfully they aren't following your advice.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter Hosey</title>
		<link>http://boredzo.org/blog/archives/2007-03-18/mac-app-checklist/comment-page-1#comment-17928</link>
		<dc:creator>Peter Hosey</dc:creator>
		<pubDate>Mon, 02 Apr 2007 22:13:11 +0000</pubDate>
		<guid isPermaLink="false">http://boredzo.org/blog/archives/2007-03-18/mac-app-checklist#comment-17928</guid>
		<description>Nat: Data is proving me wrong on the “most Mac users who download third-party software… have a Mac by now” assertion. Not just the Omni stats, but also the Adium stats, which show Adium&#039;s userbase at about half and half (just slightly more Intel than PPC).

I think I&#039;ll withdraw that point and move the bug-reporter one into its place.</description>
		<content:encoded><![CDATA[<p>Nat: Data is proving me wrong on the “most Mac users who download third-party software… have a Mac by now” assertion. Not just the Omni stats, but also the Adium stats, which show Adium's userbase at about half and half (just slightly more Intel than PPC).</p>
<p>I think I'll withdraw that point and move the bug-reporter one into its place.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nat</title>
		<link>http://boredzo.org/blog/archives/2007-03-18/mac-app-checklist/comment-page-1#comment-17908</link>
		<dc:creator>Nat</dc:creator>
		<pubDate>Mon, 02 Apr 2007 20:55:53 +0000</pubDate>
		<guid isPermaLink="false">http://boredzo.org/blog/archives/2007-03-18/mac-app-checklist#comment-17908</guid>
		<description>I&#039;d like to see any data backing up your assumption that &quot;most Mac users who download third-party software from the internets have an Intel Mac by now&quot;. Even if that weren&#039;t absurd, ignoring PPC machines also shuns potential customers who have at least one machine of each architecture, which strike me as a likely plurality. 

&lt;a href=&quot;http://update.omnigroup.com/&quot; rel=&quot;nofollow&quot;&gt;Omni&#039;s usage statistics&lt;/a&gt;, which are going to be strongly biased in favor of early adopters and of the Intel Mac customers who get Omni products preloaded, show that the crossover point wasn&#039;t reached until late last summer. Even their PPC customer base is above 30%, and would be a black eye to ignore for years to come.

&lt;i&gt;You shouldn&#039;t distribute untested software (at least without copious “It&#039;s beta!” warnings), so the solution there is to simply declare it Intel-only.&lt;/i&gt;

The civil solution is to spend a couple hundred bucks on a G4 from Craigslist. A big part of the reason that people like Macs is because they don&#039;t crumble into dust after two years. Software developers who make assumptions to the contrary deserve what they get. 

Adobe notwithstanding, if you want to release an Intel-only app without a negative reaction before about 2010, your company name had better be Parallels.</description>
		<content:encoded><![CDATA[<p>I'd like to see any data backing up your assumption that "most Mac users who download third-party software from the internets have an Intel Mac by now". Even if that weren't absurd, ignoring PPC machines also shuns potential customers who have at least one machine of each architecture, which strike me as a likely plurality. </p>
<p><a href="http://update.omnigroup.com/" rel="nofollow">Omni's usage statistics</a>, which are going to be strongly biased in favor of early adopters and of the Intel Mac customers who get Omni products preloaded, show that the crossover point wasn't reached until late last summer. Even their PPC customer base is above 30%, and would be a black eye to ignore for years to come.</p>
<p><i>You shouldn't distribute untested software (at least without copious “It's beta!” warnings), so the solution there is to simply declare it Intel-only.</i></p>
<p>The civil solution is to spend a couple hundred bucks on a G4 from Craigslist. A big part of the reason that people like Macs is because they don't crumble into dust after two years. Software developers who make assumptions to the contrary deserve what they get. </p>
<p>Adobe notwithstanding, if you want to release an Intel-only app without a negative reaction before about 2010, your company name had better be Parallels.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter Hosey</title>
		<link>http://boredzo.org/blog/archives/2007-03-18/mac-app-checklist/comment-page-1#comment-17457</link>
		<dc:creator>Peter Hosey</dc:creator>
		<pubDate>Mon, 02 Apr 2007 00:09:46 +0000</pubDate>
		<guid isPermaLink="false">http://boredzo.org/blog/archives/2007-03-18/mac-app-checklist#comment-17457</guid>
		<description>Manton Reece: It&#039;ll only make a bad impression on PowerPC Macs. Those are only getting fewer, and I think most Mac users who download third-party software from the internets have an Intel Mac by now. You&#039;re already seeing this in high-end markets (look at Adobe, for example), and I think it&#039;s going to get more common and it&#039;s not a bad thing.

More to the point, if all you have is an Intel Mac, and especially if all anyone you know has is an Intel Mac, then you&#039;re not going to be able to test your app on a PowerPC. You shouldn&#039;t distribute untested software (at least without copious “It&#039;s beta!” warnings), so the solution there is to simply declare it Intel-only.</description>
		<content:encoded><![CDATA[<p>Manton Reece: It'll only make a bad impression on PowerPC Macs. Those are only getting fewer, and I think most Mac users who download third-party software from the internets have an Intel Mac by now. You're already seeing this in high-end markets (look at Adobe, for example), and I think it's going to get more common and it's not a bad thing.</p>
<p>More to the point, if all you have is an Intel Mac, and especially if all anyone you know has is an Intel Mac, then you're not going to be able to test your app on a PowerPC. You shouldn't distribute untested software (at least without copious “It's beta!” warnings), so the solution there is to simply declare it Intel-only.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Manton Reece</title>
		<link>http://boredzo.org/blog/archives/2007-03-18/mac-app-checklist/comment-page-1#comment-17419</link>
		<dc:creator>Manton Reece</dc:creator>
		<pubDate>Sun, 01 Apr 2007 22:34:54 +0000</pubDate>
		<guid isPermaLink="false">http://boredzo.org/blog/archives/2007-03-18/mac-app-checklist#comment-17419</guid>
		<description>Nice list! I disagree with your explanation of number 5, though. Going Intel-only is not a good way to make a first impression. If you are at all serious about writing Mac software, find a beta tester on PowerPC or even pick up a cheap used machine for yourself. New developers to the Mac (who will get the most out of this checklist) are likely to start with a simple app that will work out of the box on both Intel and PowerPC anyway.</description>
		<content:encoded><![CDATA[<p>Nice list! I disagree with your explanation of number 5, though. Going Intel-only is not a good way to make a first impression. If you are at all serious about writing Mac software, find a beta tester on PowerPC or even pick up a cheap used machine for yourself. New developers to the Mac (who will get the most out of this checklist) are likely to start with a simple app that will work out of the box on both Intel and PowerPC anyway.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter Hosey</title>
		<link>http://boredzo.org/blog/archives/2007-03-18/mac-app-checklist/comment-page-1#comment-13573</link>
		<dc:creator>Peter Hosey</dc:creator>
		<pubDate>Tue, 20 Mar 2007 14:08:17 +0000</pubDate>
		<guid isPermaLink="false">http://boredzo.org/blog/archives/2007-03-18/mac-app-checklist#comment-13573</guid>
		<description>&lt;blockquote&gt;(argh, what&#039;s wordpress&#039;s reply syntax?)&lt;/blockquote&gt;

It&#039;s XHTML, but I want to change it to &lt;a href=&quot;http://daringfireball.net/projects/markdown&quot; rel=&quot;nofollow&quot;&gt;Markdown&lt;/a&gt; at some point. Last time I tried it, &lt;a href=&quot;http://dev.wp-plugins.org/wiki/TextControl&quot; rel=&quot;nofollow&quot;&gt;Text Control&lt;/a&gt; was broken with that.</description>
		<content:encoded><![CDATA[<blockquote cite="http://boredzo.org/blog/archives/2007-03-18/mac-app-checklist#comment-"><p>(argh, what's wordpress's reply syntax?)</p>
</blockquote>
<p>It's XHTML, but I want to change it to <a href="http://daringfireball.net/projects/markdown" rel="nofollow">Markdown</a> at some point. Last time I tried it, <a href="http://dev.wp-plugins.org/wiki/TextControl" rel="nofollow">Text Control</a> was broken with that.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David Smith</title>
		<link>http://boredzo.org/blog/archives/2007-03-18/mac-app-checklist/comment-page-1#comment-13552</link>
		<dc:creator>David Smith</dc:creator>
		<pubDate>Tue, 20 Mar 2007 08:27:51 +0000</pubDate>
		<guid isPermaLink="false">http://boredzo.org/blog/archives/2007-03-18/mac-app-checklist#comment-13552</guid>
		<description>&quot;If you mean no-signal-on-the-TV static, I&#039;d recommend writing a Core Image filter that takes no input and sets the pixel to a random gray value.&quot; (argh, what&#039;s wordpress&#039;s reply syntax?)

That&#039;s definitely the correct way to do it, but a) the effort/reward ratio is likely very poor (and it may be impossible if your vector format is not rich enough to support things like Core Image or SVG filters), and b) my point was an example, not a specific problem to solve. If you want a harder example consider this image: http://www.infogirl.org/img/may05/forgetmenots.jpg

In general I would consider vector art to be appropriate for many application uses (it tends to match up with graphic designer&#039;s work  like icons better than with painter&#039;s work), but I don&#039;t think bitmaps will be obsolete anytime soon.</description>
		<content:encoded><![CDATA[<p>"If you mean no-signal-on-the-TV static, I'd recommend writing a Core Image filter that takes no input and sets the pixel to a random gray value." (argh, what's wordpress's reply syntax?)</p>
<p>That's definitely the correct way to do it, but a) the effort/reward ratio is likely very poor (and it may be impossible if your vector format is not rich enough to support things like Core Image or SVG filters), and b) my point was an example, not a specific problem to solve. If you want a harder example consider this image: <a href="http://www.infogirl.org/img/may05/forgetmenots.jpg" rel="nofollow">http://www.infogirl.org/img/may05/forgetmenots.jpg</a></p>
<p>In general I would consider vector art to be appropriate for many application uses (it tends to match up with graphic designer's work  like icons better than with painter's work), but I don't think bitmaps will be obsolete anytime soon.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Simone Manganelli</title>
		<link>http://boredzo.org/blog/archives/2007-03-18/mac-app-checklist/comment-page-1#comment-13263</link>
		<dc:creator>Simone Manganelli</dc:creator>
		<pubDate>Mon, 19 Mar 2007 08:10:08 +0000</pubDate>
		<guid isPermaLink="false">http://boredzo.org/blog/archives/2007-03-18/mac-app-checklist#comment-13263</guid>
		<description>One other thing I would add: make your initial installation as easy as possible.  i.e.: drag-and-drop installation, and include a background image with instructions and an Applications folder alias to make it super-simple for users to get your app on their hard drive so that it will stay there and they&#039;re more likely to use it (especially with the good first-install impression).</description>
		<content:encoded><![CDATA[<p>One other thing I would add: make your initial installation as easy as possible.  i.e.: drag-and-drop installation, and include a background image with instructions and an Applications folder alias to make it super-simple for users to get your app on their hard drive so that it will stay there and they're more likely to use it (especially with the good first-install impression).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter Hosey</title>
		<link>http://boredzo.org/blog/archives/2007-03-18/mac-app-checklist/comment-page-1#comment-13173</link>
		<dc:creator>Peter Hosey</dc:creator>
		<pubDate>Mon, 19 Mar 2007 03:57:37 +0000</pubDate>
		<guid isPermaLink="false">http://boredzo.org/blog/archives/2007-03-18/mac-app-checklist#comment-13173</guid>
		<description>I have another one to add, myself: Maintain a bug- and feature-tracking system. Ideally, something like a locally-hosted &lt;a href=&quot;http://trac.edgewall.org/&quot; rel=&quot;nofollow&quot;&gt;Trac&lt;/a&gt; (don&#039;t open it to the users, or you &lt;em&gt;will&lt;/em&gt; be fighting lots of duplicates), but even a simple &lt;a href=&quot;http://www.omnigroup.com/applications/omnioutliner/&quot; rel=&quot;nofollow&quot;&gt;OmniOutliner&lt;/a&gt; or &lt;a href=&quot;http://a-sharp.com/opal/opal&quot; rel=&quot;nofollow&quot;&gt;Opal&lt;/a&gt; document will save you having to remember all those things you need to fix/add.

Its benefits aren&#039;t as immediate as version-control: Version-control pays off the moment you want to bring back something you deleted, whereas a bug-tracker pays off months down the road, when you&#039;re trying to remember what that last feature you wanted for 1.0 was, or what that one guy reported with the bug that only happened when he clicked on one of the windows with his left hand. But it&#039;s the same kind of time-saver.</description>
		<content:encoded><![CDATA[<p>I have another one to add, myself: Maintain a bug- and feature-tracking system. Ideally, something like a locally-hosted <a href="http://trac.edgewall.org/" rel="nofollow">Trac</a> (don't open it to the users, or you <em>will</em> be fighting lots of duplicates), but even a simple <a href="http://www.omnigroup.com/applications/omnioutliner/" rel="nofollow">OmniOutliner</a> or <a href="http://a-sharp.com/opal/opal" rel="nofollow">Opal</a> document will save you having to remember all those things you need to fix/add.</p>
<p>Its benefits aren't as immediate as version-control: Version-control pays off the moment you want to bring back something you deleted, whereas a bug-tracker pays off months down the road, when you're trying to remember what that last feature you wanted for 1.0 was, or what that one guy reported with the bug that only happened when he clicked on one of the windows with his left hand. But it's the same kind of time-saver.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris Hanson</title>
		<link>http://boredzo.org/blog/archives/2007-03-18/mac-app-checklist/comment-page-1#comment-13165</link>
		<dc:creator>Chris Hanson</dc:creator>
		<pubDate>Mon, 19 Mar 2007 03:49:25 +0000</pubDate>
		<guid isPermaLink="false">http://boredzo.org/blog/archives/2007-03-18/mac-app-checklist#comment-13165</guid>
		<description>No doubt one would expect me to say this, but:  Unit test, unit test, unit test!

Also, maintain a blog about your product.  It&#039;s a great way to keep your power users engaged.

Finally, everybody working in product development should read Kathy Sierra&#039;s &quot;Creating Passionate Users&quot; weblog.  It&#039;s all about helping you help your users kick ass.</description>
		<content:encoded><![CDATA[<p>No doubt one would expect me to say this, but:  Unit test, unit test, unit test!</p>
<p>Also, maintain a blog about your product.  It's a great way to keep your power users engaged.</p>
<p>Finally, everybody working in product development should read Kathy Sierra's "Creating Passionate Users" weblog.  It's all about helping you help your users kick ass.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter Hosey</title>
		<link>http://boredzo.org/blog/archives/2007-03-18/mac-app-checklist/comment-page-1#comment-13101</link>
		<dc:creator>Peter Hosey</dc:creator>
		<pubDate>Sun, 18 Mar 2007 21:51:55 +0000</pubDate>
		<guid isPermaLink="false">http://boredzo.org/blog/archives/2007-03-18/mac-app-checklist#comment-13101</guid>
		<description>&lt;blockquote&gt;Vector art is great for some stuff, but for certain types of images it behaves basically as a really inefficient bitmap (consider, for example, a vector representation of static).&lt;/blockquote&gt;

Hurrr?

If you mean no-signal-on-the-TV static, I&#039;d recommend writing a Core Image filter that takes no input and sets the pixel to a random gray value. Then your “static” image will look properly staticky at any resolution. Remember, you want each &lt;em&gt;pixel&lt;/em&gt; to be random, not each &lt;em&gt;point&lt;/em&gt;.

&lt;blockquote&gt;Also I&#039;m not sure what you mean by contextual menus. Use them? Here&#039;s how you do them if you want them?&lt;/blockquote&gt;

Use them, and here&#039;s how. (It&#039;s a checklist, remember. Every list item is something to do.) Much like AS support, effective contextual-menu support is a great way to make your app more efficient for its power users.

I think I&#039;ll go add that to the list item, actually.</description>
		<content:encoded><![CDATA[<blockquote cite="http://boredzo.org/blog/archives/2007-03-18/mac-app-checklist#comment-"><p>Vector art is great for some stuff, but for certain types of images it behaves basically as a really inefficient bitmap (consider, for example, a vector representation of static).</p>
</blockquote>
<p>Hurrr?</p>
<p>If you mean no-signal-on-the-TV static, I'd recommend writing a Core Image filter that takes no input and sets the pixel to a random gray value. Then your “static” image will look properly staticky at any resolution. Remember, you want each <em>pixel</em> to be random, not each <em>point</em>.</p>
<blockquote cite="http://boredzo.org/blog/archives/2007-03-18/mac-app-checklist#comment-"><p>Also I'm not sure what you mean by contextual menus. Use them? Here's how you do them if you want them?</p>
</blockquote>
<p>Use them, and here's how. (It's a checklist, remember. Every list item is something to do.) Much like AS support, effective contextual-menu support is a great way to make your app more efficient for its power users.</p>
<p>I think I'll go add that to the list item, actually.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David Smith</title>
		<link>http://boredzo.org/blog/archives/2007-03-18/mac-app-checklist/comment-page-1#comment-13099</link>
		<dc:creator>David Smith</dc:creator>
		<pubDate>Sun, 18 Mar 2007 21:23:30 +0000</pubDate>
		<guid isPermaLink="false">http://boredzo.org/blog/archives/2007-03-18/mac-app-checklist#comment-13099</guid>
		<description>I disagree about avoiding raster images. Vector art is great for some stuff, but for certain types of images it behaves basically as a really inefficient bitmap (consider, for example, a vector representation of static). Remembering to not use lowres bitmaps is good though.

Also I&#039;m not sure what you mean by contextual menus. Use them? Here&#039;s how you do them if you want them?</description>
		<content:encoded><![CDATA[<p>I disagree about avoiding raster images. Vector art is great for some stuff, but for certain types of images it behaves basically as a really inefficient bitmap (consider, for example, a vector representation of static). Remembering to not use lowres bitmaps is good though.</p>
<p>Also I'm not sure what you mean by contextual menus. Use them? Here's how you do them if you want them?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: steve cooley</title>
		<link>http://boredzo.org/blog/archives/2007-03-18/mac-app-checklist/comment-page-1#comment-13093</link>
		<dc:creator>steve cooley</dc:creator>
		<pubDate>Sun, 18 Mar 2007 18:28:35 +0000</pubDate>
		<guid isPermaLink="false">http://boredzo.org/blog/archives/2007-03-18/mac-app-checklist#comment-13093</guid>
		<description>Holy cow, this is a great post.  Big ups, dude.  I don&#039;t know if I&#039;m ever going to get to the point of releasing ObjC-based projects, but this is a pretty amazing list you&#039;ve compiled.</description>
		<content:encoded><![CDATA[<p>Holy cow, this is a great post.  Big ups, dude.  I don't know if I'm ever going to get to the point of releasing ObjC-based projects, but this is a pretty amazing list you've compiled.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jesper</title>
		<link>http://boredzo.org/blog/archives/2007-03-18/mac-app-checklist/comment-page-1#comment-13073</link>
		<dc:creator>Jesper</dc:creator>
		<pubDate>Sun, 18 Mar 2007 13:43:19 +0000</pubDate>
		<guid isPermaLink="false">http://boredzo.org/blog/archives/2007-03-18/mac-app-checklist#comment-13073</guid>
		<description>By the  in 8, I suppose you mean the App (bolded) menu, not the Apple menu, since none of the items in the Apple menu, except Shift+Force Quit, apply to the current application, and since you can&#039;t change *any* of them within MainMenu.nib.

To add to 4: make sure you only ever read data structures that contains strings or locale-sensitive information from a plist, and not from inside the app itself. Not only does this make it easier for you (or users) to change something, it also makes them automatically localizable without needing to change the app. In my Monocle app, I&#039;ll be providing default search engines from localized plists, and so if I have translations for Japanese, French and Swedish users, they&#039;ll also get different base search engines. (Another lesson: Localization is *not* just about translation. It&#039;s about adopting to customs - date and time and currency format, text layouts and so on.)

I&#039;ll throw in extra tips that have more to do with the user/customer side of the story:

Have big ears: Listen to all feedback. Realize that people aren&#039;t trying to beat your app up when they&#039;re being negative, and that an app that&#039;s *just right* for a selection of people will make those people happier than an app that takes a swiss-army-knife approach solely in order to please the critics.

Say no: Make your users work hard to win you over. Don&#039;t implement every feature that&#039;s requested of you unless it fills a gap in your application without changing its intended goal. Think long and hard about adding features that&#039;ll extend your app&#039;s intended goal or even add a second goal.

Be swift: Do not pile up customer requests. Answer them right now. Even if you don&#039;t know the answer, let them know you&#039;re listening and that you&#039;ll be looking into it. Allow for a maximum of 5 to 15 minutes of research, depending on how much mail you get. If the fix is a quick fix on the current release, send a special build and ask &quot;does this fix the problem? could this be done in a better way? is this what you had in mind?&quot;.

Follow up: This goes hand in hand with the previous tip. Follow up, follow up, follow up. Did that work for them? Have they seen the bug since the last email? Was it properly fixed in the build that claimed to fix it?

There are exceptions to these rules:

If you&#039;re a company with many, many demanding customers and a budget to uphold that are demanding a certain feature, without which they&#039;ll go to the competition, consider supporting the feature, but be wary of what it&#039;ll do to the perception of your app. Take Quark Xpress: it took long to get to Mac OS X and seemed bent on offering XML support (which InDesign had) instead of something that&#039;s more like InDesign. Now they&#039;re on their way out.

If you&#039;re doing consultation work, you should implement what&#039;s asked of you and try to straighten any wrong-headed constructions. There&#039;s room to get creative, but the room varies depending on the client. Often they&#039;ll have exact &#039;floor plans&#039; of what you should build and a formal process to get through; in a big enough organization (or in a small organization with few enough friends) it&#039;s an easy step to toss the trouble-maker and get a new consultant. It&#039;s up to you to decide whether that&#039;s an organization you&#039;ll want to work for.</description>
		<content:encoded><![CDATA[<p>By the  in 8, I suppose you mean the App (bolded) menu, not the Apple menu, since none of the items in the Apple menu, except Shift+Force Quit, apply to the current application, and since you can't change *any* of them within MainMenu.nib.</p>
<p>To add to 4: make sure you only ever read data structures that contains strings or locale-sensitive information from a plist, and not from inside the app itself. Not only does this make it easier for you (or users) to change something, it also makes them automatically localizable without needing to change the app. In my Monocle app, I'll be providing default search engines from localized plists, and so if I have translations for Japanese, French and Swedish users, they'll also get different base search engines. (Another lesson: Localization is *not* just about translation. It's about adopting to customs - date and time and currency format, text layouts and so on.)</p>
<p>I'll throw in extra tips that have more to do with the user/customer side of the story:</p>
<p>Have big ears: Listen to all feedback. Realize that people aren't trying to beat your app up when they're being negative, and that an app that's *just right* for a selection of people will make those people happier than an app that takes a swiss-army-knife approach solely in order to please the critics.</p>
<p>Say no: Make your users work hard to win you over. Don't implement every feature that's requested of you unless it fills a gap in your application without changing its intended goal. Think long and hard about adding features that'll extend your app's intended goal or even add a second goal.</p>
<p>Be swift: Do not pile up customer requests. Answer them right now. Even if you don't know the answer, let them know you're listening and that you'll be looking into it. Allow for a maximum of 5 to 15 minutes of research, depending on how much mail you get. If the fix is a quick fix on the current release, send a special build and ask "does this fix the problem? could this be done in a better way? is this what you had in mind?".</p>
<p>Follow up: This goes hand in hand with the previous tip. Follow up, follow up, follow up. Did that work for them? Have they seen the bug since the last email? Was it properly fixed in the build that claimed to fix it?</p>
<p>There are exceptions to these rules:</p>
<p>If you're a company with many, many demanding customers and a budget to uphold that are demanding a certain feature, without which they'll go to the competition, consider supporting the feature, but be wary of what it'll do to the perception of your app. Take Quark Xpress: it took long to get to Mac OS X and seemed bent on offering XML support (which InDesign had) instead of something that's more like InDesign. Now they're on their way out.</p>
<p>If you're doing consultation work, you should implement what's asked of you and try to straighten any wrong-headed constructions. There's room to get creative, but the room varies depending on the client. Often they'll have exact 'floor plans' of what you should build and a formal process to get through; in a big enough organization (or in a small organization with few enough friends) it's an easy step to toss the trouble-maker and get a new consultant. It's up to you to decide whether that's an organization you'll want to work for.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.445 seconds -->
