<?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: How not to use UTIs</title>
	<atom:link href="http://boredzo.org/blog/archives/2009-09-22/how-not-to-use-utis/feed" rel="self" type="application/rss+xml" />
	<link>http://boredzo.org/blog/archives/2009-09-22/how-not-to-use-utis</link>
	<description>The personal weblog of Peter Hosey.</description>
	<lastBuildDate>Wed, 09 May 2012 18:26:35 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
	<item>
		<title>By: Peter Hosey</title>
		<link>http://boredzo.org/blog/archives/2009-09-22/how-not-to-use-utis/comment-page-1#comment-294706</link>
		<dc:creator>Peter Hosey</dc:creator>
		<pubDate>Wed, 11 Nov 2009 06:56:15 +0000</pubDate>
		<guid isPermaLink="false">http://boredzo.org/blog/?p=1127#comment-294706</guid>
		<description>BJ: Sure, but even that small cost stands in contrast to *free*. Cocoa will set the correct filename extension for you, but it makes you do the work to set a file type.</description>
		<content:encoded><![CDATA[<p>BJ: Sure, but even that small cost stands in contrast to *free*. Cocoa will set the correct filename extension for you, but it makes you do the work to set a file type.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: BJ Homer</title>
		<link>http://boredzo.org/blog/archives/2009-09-22/how-not-to-use-utis/comment-page-1#comment-294700</link>
		<dc:creator>BJ Homer</dc:creator>
		<pubDate>Wed, 11 Nov 2009 05:36:33 +0000</pubDate>
		<guid isPermaLink="false">http://boredzo.org/blog/?p=1127#comment-294700</guid>
		<description>A small quibble; it&#039;s actually not all that difficult to set the creator code in a Cocoa-based app, or at least in a document-based one.  It&#039;s a simple override on a method in NSDocument.

See here: http://developer.apple.com/mac/library/documentation/cocoa/Conceptual/Documents/Tasks/SavingHFSTypeCodes.html</description>
		<content:encoded><![CDATA[<p>A small quibble; it&#8217;s actually not all that difficult to set the creator code in a Cocoa-based app, or at least in a document-based one.  It&#8217;s a simple override on a method in NSDocument.</p>
<p>See here: <a href="http://developer.apple.com/mac/library/documentation/cocoa/Conceptual/Documents/Tasks/SavingHFSTypeCodes.html" rel="nofollow">http://developer.apple.com/mac/library/documentation/cocoa/Conceptual/Documents/Tasks/SavingHFSTypeCodes.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ricardo</title>
		<link>http://boredzo.org/blog/archives/2009-09-22/how-not-to-use-utis/comment-page-1#comment-293564</link>
		<dc:creator>Ricardo</dc:creator>
		<pubDate>Thu, 29 Oct 2009 17:05:45 +0000</pubDate>
		<guid isPermaLink="false">http://boredzo.org/blog/?p=1127#comment-293564</guid>
		<description>What I want:

1 - when I &quot;Save&quot; a file, I want it to open in the same app it was saved. When I &quot;Export&quot; a file, I want it to be opened by the default handler of that type.

2 - that Apple and the developers sort it out. I&#039;m postponing upgrading to Snow Leopard and buying any new Macs (except for a Mini Server) for as long as I can just for that reason.

Some people can say &quot;You&#039;re not upgrading only for that?&quot;, well, since I don&#039;t need to upgrade for any reason whatsoever, doing that and breaking my workflow for no reason at all would be just stupid, no? ;)</description>
		<content:encoded><![CDATA[<p>What I want:</p>
<p>1 &#8211; when I &#8220;Save&#8221; a file, I want it to open in the same app it was saved. When I &#8220;Export&#8221; a file, I want it to be opened by the default handler of that type.</p>
<p>2 &#8211; that Apple and the developers sort it out. I&#8217;m postponing upgrading to Snow Leopard and buying any new Macs (except for a Mini Server) for as long as I can just for that reason.</p>
<p>Some people can say &#8220;You&#8217;re not upgrading only for that?&#8221;, well, since I don&#8217;t need to upgrade for any reason whatsoever, doing that and breaking my workflow for no reason at all would be just stupid, no? ;)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sean</title>
		<link>http://boredzo.org/blog/archives/2009-09-22/how-not-to-use-utis/comment-page-1#comment-291690</link>
		<dc:creator>Sean</dc:creator>
		<pubDate>Sat, 03 Oct 2009 18:01:27 +0000</pubDate>
		<guid isPermaLink="false">http://boredzo.org/blog/?p=1127#comment-291690</guid>
		<description>Both 10.5&#039;s usage of creator codes and 10.6&#039;s new behaviour have pros and cons.  However, it&#039;s really a question of _how_ the system uses creator codes, not whether it has them.  Having a creator code is great.  It gives you something to base a decision on.  The HFS type and creator are/were great.  The former gives the format of a file, the latter says who created it.  From that info, the system can decide how to open the file.  It could use that info in it&#039;s decision or not.  But having that info is important.  And these days we rarely have it.  UTIs are great and all, but they are not actually associated with the file on the disk.  They are _derived_ from extension and type.  This fails for extensionless files and fails when several different formats use the same extension (.img, .hdr, .dat, etc.!)  A better UI needs rich data to make decisions upon.  We need filesystem metadata!  Some that could help: a) the UTI of the file format b) the bundle identifier of the app that created the file c) the version of that app d) the app that last edited the file e) etc.  Were this info associated with a file, the system could better decide how to open a given file.  And there&#039;s more info available for advanced user customisation.</description>
		<content:encoded><![CDATA[<p>Both 10.5&#8242;s usage of creator codes and 10.6&#8242;s new behaviour have pros and cons.  However, it&#8217;s really a question of _how_ the system uses creator codes, not whether it has them.  Having a creator code is great.  It gives you something to base a decision on.  The HFS type and creator are/were great.  The former gives the format of a file, the latter says who created it.  From that info, the system can decide how to open the file.  It could use that info in it&#8217;s decision or not.  But having that info is important.  And these days we rarely have it.  UTIs are great and all, but they are not actually associated with the file on the disk.  They are _derived_ from extension and type.  This fails for extensionless files and fails when several different formats use the same extension (.img, .hdr, .dat, etc.!)  A better UI needs rich data to make decisions upon.  We need filesystem metadata!  Some that could help: a) the UTI of the file format b) the bundle identifier of the app that created the file c) the version of that app d) the app that last edited the file e) etc.  Were this info associated with a file, the system could better decide how to open a given file.  And there&#8217;s more info available for advanced user customisation.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joshua W. Burton</title>
		<link>http://boredzo.org/blog/archives/2009-09-22/how-not-to-use-utis/comment-page-1#comment-291636</link>
		<dc:creator>Joshua W. Burton</dc:creator>
		<pubDate>Fri, 02 Oct 2009 17:12:45 +0000</pubDate>
		<guid isPermaLink="false">http://boredzo.org/blog/?p=1127#comment-291636</guid>
		<description>&lt;i&gt;This is a car, it&#039;s a yellow car, it&#039;s a yellow sports car, and it&#039;s &lt;b&gt;my&lt;/b&gt; yellow sports car.&lt;/i&gt;

I should perhaps have been clearer here:  I was thinking of myself as a potentially hijacking editing app, not as the user.  (You could imagine a scheme in which user file ownership was itself a sub-subtype, still deeper than file creator, but even lowest-denominator filesystems have native file ownership, so that&#039;s a bridge we need not cross.)

So, in the above analogy, imagine that the car is a &quot;&lt;i&gt;Joshua&#039;s discount garage&lt;/i&gt; yellow sports car.&quot;  Joshua&#039;s discount garage bears a relationship to Ferrari analogous to the relationship that BBEdit bears to the original creator app when it rebinds a file.</description>
		<content:encoded><![CDATA[<p><i>This is a car, it&#8217;s a yellow car, it&#8217;s a yellow sports car, and it&#8217;s <b>my</b> yellow sports car.</i></p>
<p>I should perhaps have been clearer here:  I was thinking of myself as a potentially hijacking editing app, not as the user.  (You could imagine a scheme in which user file ownership was itself a sub-subtype, still deeper than file creator, but even lowest-denominator filesystems have native file ownership, so that&#8217;s a bridge we need not cross.)</p>
<p>So, in the above analogy, imagine that the car is a &#8220;<i>Joshua&#8217;s discount garage</i> yellow sports car.&#8221;  Joshua&#8217;s discount garage bears a relationship to Ferrari analogous to the relationship that BBEdit bears to the original creator app when it rebinds a file.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: sporobolus</title>
		<link>http://boredzo.org/blog/archives/2009-09-22/how-not-to-use-utis/comment-page-1#comment-291634</link>
		<dc:creator>sporobolus</dc:creator>
		<pubDate>Fri, 02 Oct 2009 17:08:55 +0000</pubDate>
		<guid isPermaLink="false">http://boredzo.org/blog/?p=1127#comment-291634</guid>
		<description>obviously there are flaws to the creator concept, and without the hutzpa to really clean things up and launch a new paradigm, Apple defaulted to a simpler, but still quite flawed concept

as both a designer and a coder, i&#039;m sad to see creator codes go; but for years now Apple has junked up the system enough that i have been using drag &amp; drop (first to DragThing, then to LiteSwitch, rather than Dock) because of how many files i receive from which HFS metadata has been stripped, for which it was never present, or where it is incorrect for my environment

i can envision a better solution involving multiple attributes -- perhaps type, editor, local-editor, viewer, local-viewer, quick-viewer, etc. -- plus a more evolved mechanism for acting upon a file -- maybe separate gestures for view and edit; that&#039;s not a fully formed idea, but an example of what i think is missing: articulation and handling of the use-cases of people acting upon files; currently drag &amp; drop comes closer than double-click or even Open With to efficiently addressing my needs; i would even propose removing double-click, as it is a crutch that makes user thinking too simple -- the idea that one can simply &quot;do the file&quot; and the right thing will happen is like a language with only one verb; but then i think that Apple is nowadays really embracing the crutch-ness of its OS

OS evolution is really too slow to catch up with, and perhaps help define, the growing non-verbal language we use with computer interfaces; OS designers should look at how the Web experience is evolving at a much faster rate, and also at the fundamental thinking shifts that are happening with the generations that have grown up with GUIs and mobile devices</description>
		<content:encoded><![CDATA[<p>obviously there are flaws to the creator concept, and without the hutzpa to really clean things up and launch a new paradigm, Apple defaulted to a simpler, but still quite flawed concept</p>
<p>as both a designer and a coder, i&#8217;m sad to see creator codes go; but for years now Apple has junked up the system enough that i have been using drag &amp; drop (first to DragThing, then to LiteSwitch, rather than Dock) because of how many files i receive from which HFS metadata has been stripped, for which it was never present, or where it is incorrect for my environment</p>
<p>i can envision a better solution involving multiple attributes &#8212; perhaps type, editor, local-editor, viewer, local-viewer, quick-viewer, etc. &#8212; plus a more evolved mechanism for acting upon a file &#8212; maybe separate gestures for view and edit; that&#8217;s not a fully formed idea, but an example of what i think is missing: articulation and handling of the use-cases of people acting upon files; currently drag &amp; drop comes closer than double-click or even Open With to efficiently addressing my needs; i would even propose removing double-click, as it is a crutch that makes user thinking too simple &#8212; the idea that one can simply &#8220;do the file&#8221; and the right thing will happen is like a language with only one verb; but then i think that Apple is nowadays really embracing the crutch-ness of its OS</p>
<p>OS evolution is really too slow to catch up with, and perhaps help define, the growing non-verbal language we use with computer interfaces; OS designers should look at how the Web experience is evolving at a much faster rate, and also at the fundamental thinking shifts that are happening with the generations that have grown up with GUIs and mobile devices</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joshua W. Burton</title>
		<link>http://boredzo.org/blog/archives/2009-09-22/how-not-to-use-utis/comment-page-1#comment-291633</link>
		<dc:creator>Joshua W. Burton</dc:creator>
		<pubDate>Fri, 02 Oct 2009 16:57:22 +0000</pubDate>
		<guid isPermaLink="false">http://boredzo.org/blog/?p=1127#comment-291633</guid>
		<description>Ahrman @6 says:
&lt;i&gt;In the subtypes-for-creators scheme, if I then tried to bind it to BBEdit, it would either fail because BBEdit doesn’t have a subtype for AhruML, or change it to com.barebones.bbedit.txt and break my app that’s expecting com.example.ahruman.ahruml (thus eliminating one of the main points of the UTI system).&lt;/i&gt;

I don&#039;t see this.  Your file would in this example would be a public.text (its type, so any text application knows it can edit it), perhaps also a public.text.frob-ml (some imagined well-known markup subtype, which only fancy text applications can frob) &lt;i&gt;and also&lt;/i&gt; a com.example.ahruman.ahruml (your private sub-subtype, which only your app knows what to do with).  You have your preferred AhruML editor installed, so this file will open in that editor for you.  If AhruML catches on and someone else makes a competing editor that understands it, this file might open in that editor for me (just as in single digit MacOS some competing app might hijack your creator code for me).  More likely, I don&#039;t have an app that understands AhruML, so your file opens in my favorite FrobML editor, or if I don&#039;t have one of those, in my favorite text editor.  So far this is just like creator codes, except that we can have many hierarchical decision points (in my example, three) instead of the two that type/creator enforces.

So now, as in your hypothetical, let us suppose that I deliberately try to bind this file to BBEdit -- as you say, I would change its sub-subtype to com.barebones.bbedit.txt, a subtype of either public.text or (if BBEdit groks FrobML) of public.text.frob-ml.  This, I claim, enforces correct behavior.  Henceforth, the file is associated with BBEdit, and if your AhruML app tries to open it again, we have lost the knowledge that it was once a com.example.ahruman.ahruml file -- it&#039;s just a generic text subtype FrobML, which AhruML knows how to read and knows how to hijack back again.

You might claim that we have lost something, because AhruML files have special gifts unknown to generic FrobML, and after BBEdit stole the binding your app has no way to know that it used to be AhruML.  &lt;i&gt;&lt;b&gt;This is a feature, not a bug.&lt;/b&gt;&lt;/i&gt;  As soon as BBEdit took over control of the file, &lt;i&gt;while ignorant of its ahruml-ness&lt;/i&gt;, it can be assumed that BBEdit may have screwed up the content in a way that makes the file broken AhruML.  BBEdit has only promised to understand text, and the FrobML subtype of text, and so what BBEdit touches is text, dialect FrobML, subdialect &quot;BBEdit style FrobML,&quot; no matter what it was before BBEdit got involved.

The UTI system provides an infinitely extensible, hierarchical means of identifying everything about the type of a file, and allows partial public and partial private knowledge to coexist within that hierarchy.  The single-digit MacOS legacy claim here appears to be that creator/opener is a &lt;i&gt;different kind of thing&lt;/i&gt; than file type, rather than the deepest subtype in a file type hierarchy.  I just don&#039;t see what this conceptual model buys you; it seems to me that hierarchical subtypes do all this and much more, and are conceptually cleaner.  This is a car, it&#039;s a yellow car, it&#039;s a yellow sports car, and it&#039;s &lt;i&gt;my&lt;/i&gt; yellow sports car.  When I transfer title, the innermost subtype changes, and the new owner puts maps in the wrong glove compartment.  If he transfers title back, it&#039;s still a yellow sports car, but I can&#039;t assume it retains the map storage properties that make it a &lt;i&gt;my&lt;/i&gt; yellow sports car.  And, especially, if it started life as a &quot;Ferrari yellow sports car&quot; (creator code!), I can still keep that code by promising to understand it (I read the whole owner manual, it&#039;s now a &quot;my Ferrari yellow sports car&quot;) or I can replace that code by ignoring it  (I don&#039;t know Ferraris too well, this is just a &quot;my yellow sports car&quot;).  When I take it in to the shop, Ferrari can infer by the presence or absence of their subtype whether I was aware that the car was meant to be treated like a Ferrari.

In short, creator codes capture a particular sort of metadata:  this file, in addition to everything the type data tells you, came from app X.  Creator subtypes can capture exactly that data, &lt;i&gt;and also&lt;/i&gt; an additional useful datum:  this file, in addition to everything the coarser type data tells you, came from app X &lt;i&gt;and has never been hijacked by any application that was ignorant of app X&#039;s special subtype enhancements&lt;/i&gt;.  This looks like a pure win, even for hardcore type/creator fans.  Please, tell me what you lose.

(Note that, for this to work, any application that creates files &lt;i&gt;should&lt;/i&gt; characterize those files in the UTI data by maximally informative hierarchical public types and then, at finest level, by its own private &quot;creator&quot; type.  Also, apps that rebind other apps&#039; files should adhere to the convention of retaining type information they understand, and overwriting private &quot;creator&quot; subtypes that they don&#039;t understand, while apps that simply display or nondestructively edit other apps&#039; files should leave the creator subtypealone.)</description>
		<content:encoded><![CDATA[<p>Ahrman @6 says:<br />
<i>In the subtypes-for-creators scheme, if I then tried to bind it to BBEdit, it would either fail because BBEdit doesn’t have a subtype for AhruML, or change it to com.barebones.bbedit.txt and break my app that’s expecting com.example.ahruman.ahruml (thus eliminating one of the main points of the UTI system).</i></p>
<p>I don&#8217;t see this.  Your file would in this example would be a public.text (its type, so any text application knows it can edit it), perhaps also a public.text.frob-ml (some imagined well-known markup subtype, which only fancy text applications can frob) <i>and also</i> a com.example.ahruman.ahruml (your private sub-subtype, which only your app knows what to do with).  You have your preferred AhruML editor installed, so this file will open in that editor for you.  If AhruML catches on and someone else makes a competing editor that understands it, this file might open in that editor for me (just as in single digit MacOS some competing app might hijack your creator code for me).  More likely, I don&#8217;t have an app that understands AhruML, so your file opens in my favorite FrobML editor, or if I don&#8217;t have one of those, in my favorite text editor.  So far this is just like creator codes, except that we can have many hierarchical decision points (in my example, three) instead of the two that type/creator enforces.</p>
<p>So now, as in your hypothetical, let us suppose that I deliberately try to bind this file to BBEdit &#8212; as you say, I would change its sub-subtype to com.barebones.bbedit.txt, a subtype of either public.text or (if BBEdit groks FrobML) of public.text.frob-ml.  This, I claim, enforces correct behavior.  Henceforth, the file is associated with BBEdit, and if your AhruML app tries to open it again, we have lost the knowledge that it was once a com.example.ahruman.ahruml file &#8212; it&#8217;s just a generic text subtype FrobML, which AhruML knows how to read and knows how to hijack back again.</p>
<p>You might claim that we have lost something, because AhruML files have special gifts unknown to generic FrobML, and after BBEdit stole the binding your app has no way to know that it used to be AhruML.  <i><b>This is a feature, not a bug.</b></i>  As soon as BBEdit took over control of the file, <i>while ignorant of its ahruml-ness</i>, it can be assumed that BBEdit may have screwed up the content in a way that makes the file broken AhruML.  BBEdit has only promised to understand text, and the FrobML subtype of text, and so what BBEdit touches is text, dialect FrobML, subdialect &#8220;BBEdit style FrobML,&#8221; no matter what it was before BBEdit got involved.</p>
<p>The UTI system provides an infinitely extensible, hierarchical means of identifying everything about the type of a file, and allows partial public and partial private knowledge to coexist within that hierarchy.  The single-digit MacOS legacy claim here appears to be that creator/opener is a <i>different kind of thing</i> than file type, rather than the deepest subtype in a file type hierarchy.  I just don&#8217;t see what this conceptual model buys you; it seems to me that hierarchical subtypes do all this and much more, and are conceptually cleaner.  This is a car, it&#8217;s a yellow car, it&#8217;s a yellow sports car, and it&#8217;s <i>my</i> yellow sports car.  When I transfer title, the innermost subtype changes, and the new owner puts maps in the wrong glove compartment.  If he transfers title back, it&#8217;s still a yellow sports car, but I can&#8217;t assume it retains the map storage properties that make it a <i>my</i> yellow sports car.  And, especially, if it started life as a &#8220;Ferrari yellow sports car&#8221; (creator code!), I can still keep that code by promising to understand it (I read the whole owner manual, it&#8217;s now a &#8220;my Ferrari yellow sports car&#8221;) or I can replace that code by ignoring it  (I don&#8217;t know Ferraris too well, this is just a &#8220;my yellow sports car&#8221;).  When I take it in to the shop, Ferrari can infer by the presence or absence of their subtype whether I was aware that the car was meant to be treated like a Ferrari.</p>
<p>In short, creator codes capture a particular sort of metadata:  this file, in addition to everything the type data tells you, came from app X.  Creator subtypes can capture exactly that data, <i>and also</i> an additional useful datum:  this file, in addition to everything the coarser type data tells you, came from app X <i>and has never been hijacked by any application that was ignorant of app X&#8217;s special subtype enhancements</i>.  This looks like a pure win, even for hardcore type/creator fans.  Please, tell me what you lose.</p>
<p>(Note that, for this to work, any application that creates files <i>should</i> characterize those files in the UTI data by maximally informative hierarchical public types and then, at finest level, by its own private &#8220;creator&#8221; type.  Also, apps that rebind other apps&#8217; files should adhere to the convention of retaining type information they understand, and overwriting private &#8220;creator&#8221; subtypes that they don&#8217;t understand, while apps that simply display or nondestructively edit other apps&#8217; files should leave the creator subtypealone.)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hamranhansenhansen</title>
		<link>http://boredzo.org/blog/archives/2009-09-22/how-not-to-use-utis/comment-page-1#comment-291597</link>
		<dc:creator>Hamranhansenhansen</dc:creator>
		<pubDate>Fri, 02 Oct 2009 01:53:17 +0000</pubDate>
		<guid isPermaLink="false">http://boredzo.org/blog/?p=1127#comment-291597</guid>
		<description>The worst part of this debate is we have been having it for about a decade now and no solution. Apple should have fixed this. I shouldn&#039;t have to see a difference between Leopard and Snow Leopard. This should all be developers only who are working on this. Rebooting into Snow Leopard and all your document icons have changed is unacceptable.

By now, they should have created a new way to do all this that is so much better in so many ways that everyone who likes either past system is satisfied and productive with the new one.

&gt; separate exporting a file from saving it in the creator application

This is already how the guidelines are structured, but very few developers do this. Apps seem ignore Creators or use them all the time.</description>
		<content:encoded><![CDATA[<p>The worst part of this debate is we have been having it for about a decade now and no solution. Apple should have fixed this. I shouldn&#8217;t have to see a difference between Leopard and Snow Leopard. This should all be developers only who are working on this. Rebooting into Snow Leopard and all your document icons have changed is unacceptable.</p>
<p>By now, they should have created a new way to do all this that is so much better in so many ways that everyone who likes either past system is satisfied and productive with the new one.</p>
<p>&gt; separate exporting a file from saving it in the creator application</p>
<p>This is already how the guidelines are structured, but very few developers do this. Apps seem ignore Creators or use them all the time.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pierre Lebeaupin</title>
		<link>http://boredzo.org/blog/archives/2009-09-22/how-not-to-use-utis/comment-page-1#comment-291580</link>
		<dc:creator>Pierre Lebeaupin</dc:creator>
		<pubDate>Thu, 01 Oct 2009 22:17:47 +0000</pubDate>
		<guid isPermaLink="false">http://boredzo.org/blog/?p=1127#comment-291580</guid>
		<description>As I&#039;ve written elsewher, it&#039;s not because someone imagines being in a majority (and where the hell did you pull that 5%/95% stat, other than your ass?) that this majority automatically gets to &quot;win&quot;, because even if it&#039;s actually a majority, if the policy is a huge inconvenience for an important minority, is it actually the best policy? Not to mention giving people what they say they want does not give them what they actually need.

Also, has any of you thought about why some people are upset that files of the same type get opened by different applications, but have no problem with files of different types being opened by different applications? Think about it: they consider the former the same, because they have the same icons. QuickLook is fine and all, but I consider the loss of the information of what is going to open the file a regression; and obviously no policy is going to match everyone&#039;s expectation (and that&#039;s expected, that&#039;s why it&#039;s a policy, otherwise we&#039;d call it something else), and if you can predict using the icon (or something else) a policy/expectation mismatch is only one extra drag and drop in this particular case, but if you can&#039;t, then this mismatch becomes a huge inconvenience as the application that opens isn&#039;t the one you expected, and you now have to suit it and drag and drop the one you wanted; the result is much more tension on the policy, which would pretty much need to read your mind (even if the policy can be set by preference) to not infuriate anyone, and a more heated debate than is healthy. So sure, the icons have become poorer in information with QL, so now let&#039;s just make the policy poorer to match. But why not the other way round?</description>
		<content:encoded><![CDATA[<p>As I&#8217;ve written elsewher, it&#8217;s not because someone imagines being in a majority (and where the hell did you pull that 5%/95% stat, other than your ass?) that this majority automatically gets to &#8220;win&#8221;, because even if it&#8217;s actually a majority, if the policy is a huge inconvenience for an important minority, is it actually the best policy? Not to mention giving people what they say they want does not give them what they actually need.</p>
<p>Also, has any of you thought about why some people are upset that files of the same type get opened by different applications, but have no problem with files of different types being opened by different applications? Think about it: they consider the former the same, because they have the same icons. QuickLook is fine and all, but I consider the loss of the information of what is going to open the file a regression; and obviously no policy is going to match everyone&#8217;s expectation (and that&#8217;s expected, that&#8217;s why it&#8217;s a policy, otherwise we&#8217;d call it something else), and if you can predict using the icon (or something else) a policy/expectation mismatch is only one extra drag and drop in this particular case, but if you can&#8217;t, then this mismatch becomes a huge inconvenience as the application that opens isn&#8217;t the one you expected, and you now have to suit it and drag and drop the one you wanted; the result is much more tension on the policy, which would pretty much need to read your mind (even if the policy can be set by preference) to not infuriate anyone, and a more heated debate than is healthy. So sure, the icons have become poorer in information with QL, so now let&#8217;s just make the policy poorer to match. But why not the other way round?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Scott Boone</title>
		<link>http://boredzo.org/blog/archives/2009-09-22/how-not-to-use-utis/comment-page-1#comment-291579</link>
		<dc:creator>Scott Boone</dc:creator>
		<pubDate>Thu, 01 Oct 2009 22:16:59 +0000</pubDate>
		<guid isPermaLink="false">http://boredzo.org/blog/?p=1127#comment-291579</guid>
		<description>As I commented on the Siracusa article, there are TWO problems Apple is confronted with in this debate:
#1 Apple has embarked upon a foolish path neglecting Best Practices regarding metadata
#2 Even though their solutions sometimes make one doubt it, OS X -is- a multi-user environment and some of these &quot;preferences&quot;/mechanisms don&#039;t deal very well across multiple users nor mesh easily into HFS

The first problem, metadata, is something that Siracusa has bitterly complained about since just about day 1. And I&#039;m right with him. Almost every bone-headed design problem I&#039;ve ever encountered watered down to missing information that was once in hand. Ignoring and destroying factual and near-factual information about a file is just plain dumb, and that&#039;s what Apple is doing by relying on TLEs. I mean, c&#039;mon, TLEs have been a dumb idea since their inception. (A file&#039;s NAME is somehow supposed to completely DEFINE it??? Imagine if people were treated in such a way, Joe The Plumber notwithstanding.) The &#039;creator&#039; of a file is pertinent information, final. How that information is used is a different point. The fact that Windows Explorer can display and sort audio files by ID3 information yet the Finder cannot, embarrasses me. Really. The fact that Apple so &quot;doesn&#039;t get&quot; metadata that their &quot;special&quot; apps are the only ones that act upon it is beyond disappointing...it is, in short, a flawed design philosophy.

The second issue comes into focus as &quot;solutions&quot; to the issue at hand start to be investigated. All the &quot;other side&quot; commenters here are right: it is confusing to have files open in--or attempt to open in--weirdo apps. Which is why a second piece of metadata is required: the Utilizer code. A file necessarily has a TYPE which defines its internal structure, a CREATOR which can be used to modify/edit that structure, and a UTILIZER--the app that you want to open the file, for whatever reason. That could be further editing, ongoing editing, viewing, etc. But that is, typically, an INDIVIDUAL choice. Hence that piece of data should be attached on a user-by-user basis, not stuck inside the file or a file-system fork. Additionally the UTILIZER could be assigned system-wide. As Siracusa pointed out, with that much metadata, a definable policy could then be used to replicate ANY of the &quot;preferences&quot; mentioned in this debate! (As an aside, the act of &quot;exporting&quot; would necessarily be a mechanism by which a file&#039;s CREATOR would undergo change…when a Web Designer finishes a site in Dreamweaver and exports it, the HTML files would then become &quot;owned&quot; by a public UTILIZER, a web browser.)

I think Siracusa&#039;s, and ilk&#039;s, argument is NOT that what Apple has done is right/wrong from the -user&#039;s- perspective (John isn&#039;t saying if you LIKE this way you&#039;re dumb). What he is saying is that by going this route of fundamentally ignoring the merits of good metadata usage, Apple has now committed an act that has become very hard to undo. It is though, quite simply, Apple has said metadata be-damned. By not implementing Cocoa APIs that even PERTAIN to manipulating creator metadata on a file in 10.6 (the beneath the hood update, remember) yet still making the change to forgo the only creator metadata mechanism left, that&#039;s pretty much the only conclusion to be drawn.

However, given the criticism that Apple has been getting for the past several years from Rixstep over UNIX file permissions and the liberties that Apple has been taking with them, I think we are seeing through to Apple&#039;s true colors: they don&#039;t care. Some of these changes are so specious and arbitrary--I&#039;d say amateurish--that it belies a complete lack of an overriding design principle. Which is odd, given the thought behind technologies such as Grand Central, etc, from the same engineering division.</description>
		<content:encoded><![CDATA[<p>As I commented on the Siracusa article, there are TWO problems Apple is confronted with in this debate:<br />
#1 Apple has embarked upon a foolish path neglecting Best Practices regarding metadata<br />
#2 Even though their solutions sometimes make one doubt it, OS X -is- a multi-user environment and some of these &#8220;preferences&#8221;/mechanisms don&#8217;t deal very well across multiple users nor mesh easily into HFS</p>
<p>The first problem, metadata, is something that Siracusa has bitterly complained about since just about day 1. And I&#8217;m right with him. Almost every bone-headed design problem I&#8217;ve ever encountered watered down to missing information that was once in hand. Ignoring and destroying factual and near-factual information about a file is just plain dumb, and that&#8217;s what Apple is doing by relying on TLEs. I mean, c&#8217;mon, TLEs have been a dumb idea since their inception. (A file&#8217;s NAME is somehow supposed to completely DEFINE it??? Imagine if people were treated in such a way, Joe The Plumber notwithstanding.) The &#8216;creator&#8217; of a file is pertinent information, final. How that information is used is a different point. The fact that Windows Explorer can display and sort audio files by ID3 information yet the Finder cannot, embarrasses me. Really. The fact that Apple so &#8220;doesn&#8217;t get&#8221; metadata that their &#8220;special&#8221; apps are the only ones that act upon it is beyond disappointing&#8230;it is, in short, a flawed design philosophy.</p>
<p>The second issue comes into focus as &#8220;solutions&#8221; to the issue at hand start to be investigated. All the &#8220;other side&#8221; commenters here are right: it is confusing to have files open in&#8211;or attempt to open in&#8211;weirdo apps. Which is why a second piece of metadata is required: the Utilizer code. A file necessarily has a TYPE which defines its internal structure, a CREATOR which can be used to modify/edit that structure, and a UTILIZER&#8211;the app that you want to open the file, for whatever reason. That could be further editing, ongoing editing, viewing, etc. But that is, typically, an INDIVIDUAL choice. Hence that piece of data should be attached on a user-by-user basis, not stuck inside the file or a file-system fork. Additionally the UTILIZER could be assigned system-wide. As Siracusa pointed out, with that much metadata, a definable policy could then be used to replicate ANY of the &#8220;preferences&#8221; mentioned in this debate! (As an aside, the act of &#8220;exporting&#8221; would necessarily be a mechanism by which a file&#8217;s CREATOR would undergo change…when a Web Designer finishes a site in Dreamweaver and exports it, the HTML files would then become &#8220;owned&#8221; by a public UTILIZER, a web browser.)</p>
<p>I think Siracusa&#8217;s, and ilk&#8217;s, argument is NOT that what Apple has done is right/wrong from the -user&#8217;s- perspective (John isn&#8217;t saying if you LIKE this way you&#8217;re dumb). What he is saying is that by going this route of fundamentally ignoring the merits of good metadata usage, Apple has now committed an act that has become very hard to undo. It is though, quite simply, Apple has said metadata be-damned. By not implementing Cocoa APIs that even PERTAIN to manipulating creator metadata on a file in 10.6 (the beneath the hood update, remember) yet still making the change to forgo the only creator metadata mechanism left, that&#8217;s pretty much the only conclusion to be drawn.</p>
<p>However, given the criticism that Apple has been getting for the past several years from Rixstep over UNIX file permissions and the liberties that Apple has been taking with them, I think we are seeing through to Apple&#8217;s true colors: they don&#8217;t care. Some of these changes are so specious and arbitrary&#8211;I&#8217;d say amateurish&#8211;that it belies a complete lack of an overriding design principle. Which is odd, given the thought behind technologies such as Grand Central, etc, from the same engineering division.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael</title>
		<link>http://boredzo.org/blog/archives/2009-09-22/how-not-to-use-utis/comment-page-1#comment-291575</link>
		<dc:creator>Michael</dc:creator>
		<pubDate>Thu, 01 Oct 2009 20:51:19 +0000</pubDate>
		<guid isPermaLink="false">http://boredzo.org/blog/?p=1127#comment-291575</guid>
		<description>Clarification:
Inside System Preferences, you should be able to set the system wide policy.
That includes a user adjustable priority for all elements per a configurable list as shown in reply #26.
Second, a check box next to each item, for telling the system to ignore that info completely (with apropriate warnings).  Individual file default app changes would still be available in get info, and when right clicking (unless disabled in system preferences).</description>
		<content:encoded><![CDATA[<p>Clarification:<br />
Inside System Preferences, you should be able to set the system wide policy.<br />
That includes a user adjustable priority for all elements per a configurable list as shown in reply #26.<br />
Second, a check box next to each item, for telling the system to ignore that info completely (with apropriate warnings).  Individual file default app changes would still be available in get info, and when right clicking (unless disabled in system preferences).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jon Fabritius</title>
		<link>http://boredzo.org/blog/archives/2009-09-22/how-not-to-use-utis/comment-page-1#comment-291573</link>
		<dc:creator>Jon Fabritius</dc:creator>
		<pubDate>Thu, 01 Oct 2009 20:21:05 +0000</pubDate>
		<guid isPermaLink="false">http://boredzo.org/blog/?p=1127#comment-291573</guid>
		<description>This issue clearly shows a divide in preference, with power users on both sides of the fence. So having it as one checkbox in Finder would be a perfect solution.</description>
		<content:encoded><![CDATA[<p>This issue clearly shows a divide in preference, with power users on both sides of the fence. So having it as one checkbox in Finder would be a perfect solution.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael</title>
		<link>http://boredzo.org/blog/archives/2009-09-22/how-not-to-use-utis/comment-page-1#comment-291572</link>
		<dc:creator>Michael</dc:creator>
		<pubDate>Thu, 01 Oct 2009 20:19:53 +0000</pubDate>
		<guid isPermaLink="false">http://boredzo.org/blog/?p=1127#comment-291572</guid>
		<description>Most here already know this, but clearly a few above don&#039;t know.  The problem is with the 10.6 POLICY Apple has chosen.  They didn&#039;t have to do this.

For details, see the article John Siracusa wrote here.
http://arstechnica.com/staff/fatbits/2009/09/metadata-madness.ars

If most of the the policy could be user set, we wouldn&#039;t be having these discussions.  Or, at least, they&#039;d be less intense.  As an example, if you could just go to &quot;system preferences &gt;file system &gt;settings policy, and make change thus, and so&quot;.  Then everybody&#039;s happy.  Keep creator codes (an option could even make them permanently ignored), UTI, 8.3, or anything else.

Customize your system OS per this example, or in any other order you wish:
1) open file abc in application xyz (if set)
2) open file per UTI
3) open file in app creator
4) open file per file extension
5) open file in last app used
6) allow/do not allow any user set file info to override system wide preferences
7) anything I&#039;ve forgotten
8) ASK
9) API for additional criteria. (As Apple, I&#039;d avoid this option like the plague...)

Put a check box telling the system ignore all items but 8.3 and ASK, if you wish.

e.g., let it degrade gracefully.  Unless the user sets the policy to do so, don&#039;t ignore included file info.  The OS POLICY should use all file info (in whatever order Apple desires) as a default.  Then, let the user change the details as needed.

This way, everyone can set the system to open a file using the info available in your prefered order.

The system&#039;s POLICY is what&#039;s whacked.  10.6 should not be ignoring file info unless EXPLICITLY TOLD TO to by the user.  I understand Apple&#039;s wish to simplify the system.  Many users don&#039;t have any need to know about this, but if they ask, it&#039;s there.  Just make sure this is clear to developers, with clear API&#039;s to use in carbon, cocoa, 32bit, and 64bit.  This isn&#039;t something to be used for forcing an upgrade (or downgrade in this case).</description>
		<content:encoded><![CDATA[<p>Most here already know this, but clearly a few above don&#8217;t know.  The problem is with the 10.6 POLICY Apple has chosen.  They didn&#8217;t have to do this.</p>
<p>For details, see the article John Siracusa wrote here.<br />
<a href="http://arstechnica.com/staff/fatbits/2009/09/metadata-madness.ars" rel="nofollow">http://arstechnica.com/staff/fatbits/2009/09/metadata-madness.ars</a></p>
<p>If most of the the policy could be user set, we wouldn&#8217;t be having these discussions.  Or, at least, they&#8217;d be less intense.  As an example, if you could just go to &#8220;system preferences &gt;file system &gt;settings policy, and make change thus, and so&#8221;.  Then everybody&#8217;s happy.  Keep creator codes (an option could even make them permanently ignored), UTI, 8.3, or anything else.</p>
<p>Customize your system OS per this example, or in any other order you wish:<br />
1) open file abc in application xyz (if set)<br />
2) open file per UTI<br />
3) open file in app creator<br />
4) open file per file extension<br />
5) open file in last app used<br />
6) allow/do not allow any user set file info to override system wide preferences<br />
7) anything I&#8217;ve forgotten<br />
8) ASK<br />
9) API for additional criteria. (As Apple, I&#8217;d avoid this option like the plague&#8230;)</p>
<p>Put a check box telling the system ignore all items but 8.3 and ASK, if you wish.</p>
<p>e.g., let it degrade gracefully.  Unless the user sets the policy to do so, don&#8217;t ignore included file info.  The OS POLICY should use all file info (in whatever order Apple desires) as a default.  Then, let the user change the details as needed.</p>
<p>This way, everyone can set the system to open a file using the info available in your prefered order.</p>
<p>The system&#8217;s POLICY is what&#8217;s whacked.  10.6 should not be ignoring file info unless EXPLICITLY TOLD TO to by the user.  I understand Apple&#8217;s wish to simplify the system.  Many users don&#8217;t have any need to know about this, but if they ask, it&#8217;s there.  Just make sure this is clear to developers, with clear API&#8217;s to use in carbon, cocoa, 32bit, and 64bit.  This isn&#8217;t something to be used for forcing an upgrade (or downgrade in this case).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter Hosey</title>
		<link>http://boredzo.org/blog/archives/2009-09-22/how-not-to-use-utis/comment-page-1#comment-291571</link>
		<dc:creator>Peter Hosey</dc:creator>
		<pubDate>Thu, 01 Oct 2009 19:44:56 +0000</pubDate>
		<guid isPermaLink="false">http://boredzo.org/blog/?p=1127#comment-291571</guid>
		<description>godDLL: Seems to me you could do that by simply having the Save command let the creator information and the Export command not do that. With no creator set, the file would open in the default app for its type.</description>
		<content:encoded><![CDATA[<p>godDLL: Seems to me you could do that by simply having the Save command let the creator information and the Export command not do that. With no creator set, the file would open in the default app for its type.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: godDLL</title>
		<link>http://boredzo.org/blog/archives/2009-09-22/how-not-to-use-utis/comment-page-1#comment-291569</link>
		<dc:creator>godDLL</dc:creator>
		<pubDate>Thu, 01 Oct 2009 18:32:08 +0000</pubDate>
		<guid isPermaLink="false">http://boredzo.org/blog/?p=1127#comment-291569</guid>
		<description>I think we may need more than a replacement for creator codes at this point.  To be frank I didn&#039;t like the old behaviour and I like the new one even less.  
What I&#039;d love this scheme to work as would be to separate exporting a file from saving it in the creator application.  Exporting would be for use with other apps, and should be handed by the os to the UTI handler.  And saving would be for use with the app, and should open in said instance/version of the app.  
How this would be done without the whole dev community supporting it and Apple releasing public APIs to do all of that is beyond me.  But maybe someone could come up with a solution?</description>
		<content:encoded><![CDATA[<p>I think we may need more than a replacement for creator codes at this point.  To be frank I didn&#8217;t like the old behaviour and I like the new one even less.<br />
What I&#8217;d love this scheme to work as would be to separate exporting a file from saving it in the creator application.  Exporting would be for use with other apps, and should be handed by the os to the UTI handler.  And saving would be for use with the app, and should open in said instance/version of the app.<br />
How this would be done without the whole dev community supporting it and Apple releasing public APIs to do all of that is beyond me.  But maybe someone could come up with a solution?</p>
]]></content:encoded>
	</item>
</channel>
</rss>

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

