Slashdot Mirror


Snow Leopard Snubs Document Creator Codes

adamengst writes "In this TidBITS article, Matt Neuburg explores how Mac OS X 10.6 Snow Leopard changes how the operating system handles preferred application bindings, dropping support for the creator codes that have been part of the Mac OS from the early days. He also explains how to work around the problem, if you want, for instance, text documents created with BBEdit to open in BBEdit even when TextEdit is the default handler for text files."

39 of 214 comments (clear)

  1. Re:We Know Best by nine-times · · Score: 4, Insightful

    On the other hand, you could argue that Apple is protecting users from developers who say, "We know what's best for you. We're making it just work. Now just sit back and drink your kool aid."

    If I want my text documents to open in BBEdit, I'll set them to open in BBEdit thankyouverymuch. I set my default for them to open in something else, and that's the way I want it.

  2. Re:We Know Best by Knara · · Score: 2, Insightful

    On the other hand, you could argue that Apple is protecting users from developers who say, "We know what's best for you. We're making it just work. Now just sit back and drink your kool aid."

    If I want my text documents to open in BBEdit, I'll set them to open in BBEdit thankyouverymuch. I set my default for them to open in something else, and that's the way I want it.

    QFT. Overriding my choice as the end user for default application open selection is a no-no.

  3. Problem? by clone53421 · · Score: 4, Insightful

    He also explains how to work around the problem

    It's not a problem, it's a fix. This is the way it should work.

    Suppose I put a Word document on a computer where OO.o is installed instead of Office. The document says "open me in MS Word". The OS says, "Word isn't installed". What happens? What originally should have happened: The OS looks at the document, says "Word document, open this with OO.o", and everything works great. The extra information was a stupid extra step. "Word document" is all the OS needs in order to figure out how to open it.

    --
    Alexander Peter Kristopeit bought his basement from his mommy for one dollar.
    1. Re:Problem? by gabebear · · Score: 4, Interesting

      It had uses, but I think it did complicate more than it helped.

      Example of use:
      I have a lot of AVIs, and a handful of them only play in Quicktime, or only play in VLC. I changed the creator code on those files so they open in specific player.

    2. Re:Problem? by nine-times · · Score: 4, Insightful

      The extra information was a stupid extra step. "Word document" is all the OS needs in order to figure out how to open it.

      Well actually OSX still lets you set the proper application to open on a per-document basis, and it's kind of handy. AFAIK, what happens if you put a Word document on a computer that doesn't have word, but has OO.o, OSX will read the part that says, "open me in Word" and say, "Well I don't have Word but I have OO.o, so I'll open you in that instead." So there's no problem.

      However, let's say you have both OpenOffice and Word installed on the same machine, and 9 times out of 10 you want to open your Word documents in OpenOffice, but you have that 1 document out of 10 that doesn't display properly in OpenOffice and you want to preserve the current layout. What's actually kind of nice IMO is that you can say, "I want my default to be to open all Word documents in OpenOffice, but I can set this one individual file to open in Word." And then the OS will open each document in the correct viewer when you double-click on it, automatically. It works great.

      So what's being talked about here is that it has typically been set in the past so that, regardless of your default application, documents were set to open in whatever application you saved/created them in. So it's like lets say OpenOffice is my default application but I create a new document in Word. The old behavior is that document would automatically be set to open in Word when you double-click on it instead of OpenOffice, even though OpenOffice is your default application. It makes a certain amount of sense to do it that way, since you may have done layout work in Word that won't render properly in OpenOffice.

      However, I personally want to set a default application for each file-type, and then only have them use a different application if I manually set them to do so.

    3. Re:Problem? by tlhIngan · · Score: 2, Informative

      Suppose I put a Word document on a computer where OO.o is installed instead of Office. The document says "open me in MS Word". The OS says, "Word isn't installed". What happens? What originally should have happened: The OS looks at the document, says "Word document, open this with OO.o", and everything works great. The extra information was a stupid extra step. "Word document" is all the OS needs in order to figure out how to open it.

      What if you didn't have OO.o OR Office installed?

      Type/creator codes were meant to replace "ugly" extensions, but in the Internet age, the only way to pass file metadata around is in the filename - MIME types get preserved, if you're lucky, but more often than not, the MIME type is just based on the filename (i.e., the extension).

      This was probably due to limited namespace - what is a ".doc" file? These days, it's 95% certainty it's a MS Word document. But it can also be a plain text file since many older programs from the 80s/90s used ".doc" to represent a generic document, like a manual. You'd have README, README.TXT, README.DOC, etc.

      So Mac came up with a way to use 2 32-bit identifiers - a creator code, and a type code. Creators are used to identify a creator, so double-clicking would open the same app that opened it (back in the days when compatibility was horrible, the general thinking is you want to open something in the app that created it). The type ID was a fallback in case you can't find the creator, you can try a type lookup, in case it was something another program could handle. If not, you could consult a small database of creator codes to application name mapping, and display an error like "The file 'my file.doc' could not be opened because 'Microsoft Word' was not found, nor any other program that could open it.", thus providing the user with a reason why the file can't be displayed/viewed/etc., and what the user could get to open it. (Would be nice for whoever did the "WINMAIL.DAT" crap...)

      These days, it seems that creator codes aren't useful anymore since any number of documents can be created in any number of programs, and binding a document to who created it is less useful these days. Type codes are still useful, though, though the expressiveness of modern extensions makes even type codes obsolete.

    4. Re:Problem? by MMC+Monster · · Score: 2, Insightful

      The problem is for those of us that didn't know that creator codes exist.

      We would set .avi files to all open in VLC, and be confused when some opened in quicktime.

      This is a bugfix.

      --
      Help! I'm a slashdot refugee.
    5. Re:Problem? by Mneme · · Score: 5, Insightful

      No, they were opening in QuickTime just because they were originally saved by QuickTime.

      No one ever did Get Info.

      It sounds like this previous behavior seems odd to you (since you misunderstood what happened), which supports the perspective that for most users, the behavior was odd and the change amounts to a bug fix.

    6. Re:Problem? by ari_j · · Score: 2, Insightful

      No, it's a work-around for a PEBKAC. That doesn't make it more or less worthy, it just isn't a bugfix.

    7. Re:Problem? by proxy318 · · Score: 2, Insightful

      Bah, if I want to open a file with something other than the default app, I'll just right-click -> open with, done. Or start the program and go to file->open. Or drag the file to the program's icon. The creator codes just cause me problems. If I want to open a PDF file in a shared folder, what do I care that someone else prefers to open it with Adobe Reader? Most of the time I'd rather open it in Preview since it's far less of a steaming pile. The creator codes just seemed to be the OS not doing what I told it - I'd say, open all PDFs with Preview, and it would most of the time, but then sometimes it would go "surprise bitch! adobe reader!". So if they're gone, good riddance.

      --
      Saying your "phone ran out of batteries" is like saying your "car ran out of gas tanks".
    8. Re:Problem? by Jeremy+Erwin · · Score: 2, Insightful

      Apparently, that's also why Word, Wordstar, WordPerfect, DisplayWrite and Framemaker all have used the .doc extension for their proprietary file formats.
       

    9. Re:Problem? by Just+Some+Guy · · Score: 4, Informative

      So let me get this straight.

      Fail. The GP was saying that he'd set all AVI files to open in VLC. In spite of that, some would open in QuickTime anyway because that's what the creator code indicated, which confused the GP greatly because he didn't know that such a mechanism existed.

      --
      Dewey, what part of this looks like authorities should be involved?
    10. Re:Problem? by hattig · · Score: 2, Insightful

      You mean you set the "Open with..." in the Get Info window? That still works, the article says so.

      The real problem is that everyone needs five media players on their computers just for handling bad videos, but they all have the same extension. Quicktime, VLC, mplayer, niceplayer, etc, etc, etc. It's a shame that the "vague short extension" mechanism of identifying files has won, especially now we have container files with variant contents.

    11. Re:Problem? by FooAtWFU · · Score: 5, Funny

      Bah, if I want to open a file with something other than the default app, I'll just right-click -> open with, done.

      Whoawhoawhoa, slow down, buddy...... right-click? You're scaring me with your crazy-talk!

      ;)

      --
      The World Wide Web is dying. Soon, we shall have only the Internet.
  4. Re:We Know Best by nine-times · · Score: 5, Insightful

    Just to explain this, for me where I really think this is an issue is not text as much as graphics. I work with graphics and often enough, the application that created the graphics is Photoshop. However, I never want to actually open the file in Photoshop unless I actually want to edit it. Why open a JPEG in photoshop when it's going to take a full minute to load?

    So I've set Preview to be the default application for viewing graphics, but still, any graphics I make in photoshop are set to open in Photoshop. If Snow Leopard is going to ignore that it was made in Photoshop and open it in Preview instead, as I've set the OS to do, that seems like a "bug fix" to me.

  5. quicktime by e**(i+pi)-1 · · Score: 4, Informative

    This is especially annoying with Quicktime. The new quicktime in Snow Leopard is no match in comparison with the old Quicktime 7 Pro:

    The editing features are now limited to trimming for example, the export possibilities rudimentary.

    Fortunately, one can still reinstall Quicktime 7 additionally in Snow Leopard, but one can not change the default application binding for Quicktime. This is a serious problem.

    For me, Quicktime pro is half the reason to use a Mac. Changes like this from Leopard to Snow leopard always make me nervous and I'm glad to have Linux catching up. Even apple might screw things up in future, possibly due to pressure of the movie and music industry.

    One can for example suspect that the lack of cut and paste ability or export of sound only etc is due to such industry pressure. The average user can no more cut out advertisements for example. I do not see any technical reason why the new limitations are in place if quicktime pro is ditched. An other reason for the current limitations could be that a new QT pro is in the making. I hope this is the case. Still, one should be able to change the default application binding to an old version of quicktime!

    1. Re:quicktime by larry+bagina · · Score: 2, Funny

      Half the reason to use a Mac is software that's also available for Windows?

      --
      Do you even lift?

      These aren't the 'roids you're looking for.

    2. Re:quicktime by mdarksbane · · Score: 5, Informative

      According to the Ars write-up, the features are missing because Quicktime was completely rewritten to be a more modern codebase. Among other things, this was required to be able to get it to run on the iPhone. Unfortunately, this also means that some features are still missing. Apple has told developers that they intend on bring Quicktime X back to the level of Pro soon.

      Also, some of the awesome features of Quicktime Pro were so embedded in the system that they caused a real problem for movie viewing. Most media formats stream data in a way that quicktime doesn't like - it wasn't to know when the beginning and end are so it can do all of its fancy frame-by-frame selections. So if you read in a divx avi file with an mp3 soundtrack, it had to load the entire file, generate its editing information, and convert it to a .mov in the background to even play it. Hopefully they can find a way to do the best of both worlds in the new version once it finally gets up to snuff.

    3. Re:quicktime by Toonol · · Score: 2, Insightful

      In fairness, Apple's software ported to Windows nearly uniformly sucks, so it may still be a selling point for Macs.

  6. Re:We Know Best by DudeTheMath · · Score: 3, Informative

    It's the developer, not the end user, that applies the creator code that's being ignored (I can't remember the last time I manually changed a creator code--it was long before OS X, anyway). The end user can always do a "Get Info" to change the default app for any individual document.

    That said, I agree that it's a pain to have to do that for every specific document you want opened with a particular app; I just saw a nit that needed picking.

    --
    You save only 59 seconds over 8 miles by going 75 instead of 65. Do you really have to pass that guy? Do the Math!
  7. Not the UNIX way by McDutchie · · Score: 5, Insightful

    File name extensions are definitely not the UNIX way. They are the CP/M way, copied later by DOS, then by Windows, then by UNIX graphical environments such as KDE, GNOME, and Mac OS X -- but still not by the under-the-hood UN*X running any of them; to UN*X, it's just an indiscriminate part of the filename.

    It's very, very unfortunate that Mac OS X is now reverting to the primitive CP/M way. It causes a loss of essential functionality that Mac power users have always depended on: to know that a document will always be opened in the application with which you've created it.

    For me, there is less and less reason to use a Mac as Apple keeps progressively emulating Microsoft. This is yet another nail in the coffin.

    1. Re:Not the UNIX way by AndrewNeo · · Score: 4, Insightful

      While you are right that file extensions are not the UNIX way, from TFA and the other comments, it seems OSX uses Uniform Type Identifiers (a variant on MIME types) to identify files, rather than by their extension or creator code. I would assume extensions are still used When All Else Fails (for example, when reading files from FAT32 with no metadata attached)

    2. Re:Not the UNIX way by IntlHarvester · · Score: 2, Insightful

      but still not by the under-the-hood UN*X running any of them; to UN*X, it's just an indiscriminate part of the filename

      Let's be clear - under-the-hood, *nix does not have any standardized way of tracking file types. Unlike MacOS/OSX, there's no type metadata stored with the file.

      However, there are many *nix applications which use file extensions. Apache, for example, uses extensions to map to MIME types. Is this because the authors of Apache were enamored with CP/M? Or because there's no other practical way to handle it in standard unix?

      --
      Business. Numbers. Money. People. Computer World.
    3. Re:Not the UNIX way by Jeremy+Erwin · · Score: 2, Insightful

      Matlab and octave use .m files for scripting. Objective C class files also use .m. It's annoying when xcode opens up matlab files, but an editor suitable for working with matlab files is suboptimal for Objective C files. Yes, I know emacs supports objective C, but xcode is easier to work with.

  8. Re:Even better. by clone53421 · · Score: 2, Informative

    The only meta-data attached to a file sent by e-mail is the extension and the mime-type. If your default .doc opener is OO.o, it should work fine.

    You'll only see this problem when you get files in storage formats that support file meta-data. Some compression formats support it, and removable storage may or may not.

    --
    Alexander Peter Kristopeit bought his basement from his mommy for one dollar.
  9. Re:Change for the Better by 99BottlesOfBeerInMyF · · Score: 2, Insightful

    What's the point of making a default application if half the files will ignore it?

    The idea was application developers had the power to make files they made open in that application by default and if you didn't like it you could file a bug with the application provider. Now, application providers don't seem to have a way to do this, which many people are unhappy about as they relied on that ability of applications.

    The "right" solution is for Apple to have provided a way for applications to claim files and given the user the option to honor or not honor that choice (regardless of the default). This change has lost functionality for some while not giving users or application developers a choice.

    Note, I don't really care much on this one as it doesn't really impact my workflow, but I'm generally against changes that remove user choice altogether. Flexibility is good.

  10. Re:We Know Best by TheRaven64 · · Score: 2, Informative

    This isn't the default application. Documents now open with the application that is set as the default, not the application that happened to be set as their creator code. This now means, for example, that the PDF manual for Final Cut Express 2 will open with Preview (because that is my default application for displaying PDFs) not with Adobe Reader (because Acrobat 5 was set as the creator code when it was produced).

    --
    I am TheRaven on Soylent News
  11. Re:RIP by Jeremy+Erwin · · Score: 3, Insightful

    Time to put them to rest for good? Why? What on earth for? I am puzzled by your joy.

  12. File Association Hijacking by ThrowAwaySociety · · Score: 5, Informative

    He also explains how to work around the problem

    It's not a problem, it's a fix. This is the way it should work.

    Suppose I put a Word document on a computer where OO.o is installed instead of Office. The document says "open me in MS Word". The OS says, "Word isn't installed". What happens? What originally should have happened: The OS looks at the document, says "Word document, open this with OO.o", and everything works great. The extra information was a stupid extra step. "Word document" is all the OS needs in order to figure out how to open it.

    That's always the way it worked. If you had a Word file (Type=W8BN, Creator=MSWD) on a system without Word (MSWD) installed, the system would identify any other applications capable of opening W8BN files, and open it using that app.

    The extra information only came into play when there was more than one application capable of opening W8BN files. It prevented the common Windows practice of "hijacking" another application's file extensions.

    1. Re:File Association Hijacking by ThrowAwaySociety · · Score: 2, Insightful

      It prevented the common Windows practice of "hijacking" another application's file extensions.

      That's a feature, not a bug. If I install a new app, I want it to open such-and-such file types. The only problem is apps that silently re-associate themselves with all their file types when they open, and anyone who writes such an application should be flogged and rubbed with salt IMHO.

      Having your file types stolen by another application should be responded to with a warning popup specifying the file type(s), the apps with which they're now associated, and giving the following options: (1) Reassociate the types. (2) Don't reassociate, and stop checking these file types. Yes, popups are annoying as hell, but if two apps are fighting over the file type you'll only see the warning twice: once from each app. Consider it part of the installation process.

      God, what a mess. You're seriously advocating this behavior? Do you work for RealNetworks?

      When I install an app, if and when I want it to open such-and-such file types, I will make that change myself.

  13. It actually works just fine by dbet · · Score: 3, Insightful

    You can flag a document to open with any application, regardless of the default. You can also change the default for any document type, including newly-created ones. Finally, you can right click and choose the app you want to open your doc with right there.

    I think the complaint is that apps in 10.6 are not flagging their own documents to open with themselves. It should be easy to patch this in for any app that is currently being supported, but I suspect most won't care, because it's just not a huge deal.

    1. Re:It actually works just fine by 99BottlesOfBeerInMyF · · Score: 2, Informative

      I think the complaint is that apps in 10.6 are not flagging their own documents to open with themselves.

      That is not the complaint in the article. The complaint is that Apple removed the old way applications flagged documents to open in themselves and does not seem to have provided any way for applications to do that using the new method. Rather, applications can tag documents, but the user must still go through and select the files by hand or using a non-obvious script to open in the application after each file is created. It could be that the article writer is mistaken and there is such a method, but no one has yet pointed it out that I've seen and the documentation from Apple is vague and does not seem to provide a method.

  14. Creator codes have been deprecated since 10.4 by bonch · · Score: 2, Informative

    Apparently, everyone has forgotten that UTIs have been in use since Tiger.

    By the way, Slashdot, nice job not posting a link to Arstechnica's epic 23-page Snow Leopard review from last week. It's not like they put out the most detailed reviews in the industry or anything.

    1. Re:Creator codes have been deprecated since 10.4 by ThePhilips · · Score: 2, Informative

      But UTI is in no way a replacement for a creator code.

      The most useful aspect to me was that one can tell that the particular file has to be opened by different application.

      E.g. for most of smallish stuff I'm using QuickTime Player. But most of my movie collection is marked as to be opened by MPlayer. Files types are the same - but different applications are used to open different files.

      Or bigger (to organization of my personal information) example are plain text files. On my Mac OS X MacVim is used as default editor. But I also have number of text files which I open and print only from TextEdit.

      Creator code was allowing to set non-default application to open the file.

      P.S. That was BTW one of the most missed features when I worked under Windows: allow shortcuts to have customized application and customized action for opening the file. After gaining access to Macs I naively thought it was another cool feature. It doesn't look like an ancient artifact to me.

      --
      All hope abandon ye who enter here.
    2. Re:Creator codes have been deprecated since 10.4 by ThePhilips · · Score: 3, Informative

      Oh... I digress. The RTFA explicitly says that Finder's "Get Info" window still allows to change application to be used to open the file. IOW, I'm on safe side as it is how I usually do it anyway.

      P.S.

      Evidence provided through an anonymous tip suggests that removal of the influence of creator codes in Snow Leopard was deliberately imposed by management on engineering. Since engineering's hands are tied, bug reports to them are likely to be met with the usual "works as intended" brush-off.

      If Apple did it right, then I'm pretty sure one can programmatically change the per-file association. Or probably even with the AppleScript.

      After RTFA it seems to me the issue was greatly exaggerated.

      --
      All hope abandon ye who enter here.
  15. Re:We Know Best by fuzzyfuzzyfungus · · Score: 3, Insightful

    The trouble, and what seems to be irking the faithful, is that treating documents simply by type leaves no way to treat some documents of a given type in one way, and others of the same type in a different way.

    If, for instance, you prefer one graphics program for editing .jpgs and a different one for viewing them you are now screwed. You can either set .jpgs to open in one, or the other; but you can no longer have ones created in photoshop open in photoshop while ones from outside are just opened in a lightweight viewer(or whatever the use case happens to be).

    Sort of a niche thing; but sounds like the people who relied on that class of configurations are out of luck.

  16. Re:We Know Best by TheRaven64 · · Score: 2, Informative

    Clear the execute bit and it won't try to execute them.

    --
    I am TheRaven on Soylent News
  17. Resource fork making a comeback by yabos · · Score: 2, Interesting

    Actually, I found this kind of strange, but on Snow Leopard, all application executable code is compressed and stored in a resource fork. The reason it's not left in the data fork is because it apparently would confuse Leopard to have a compressed data fork in the app. So now to Leopard, all Snow Leopard apps look like 0 byte files.
    See here
    http://dl.getdropbox.com/u/118359/ars/snow-leopard-indexed.html

  18. Just Like Windows by Nom+du+Keyboard · · Score: 2, Funny

    So now OS/X works just like Windows. Wow, what an advance.

    --
    "It's the height of ridiculousness to say for those 9 lines you get hundreds of millions."