Metadata woes with OS X

Krevinek

Evil PPC Tweaker
Okay, this is starting to bug me...

People keep claiming that certain OS 9 metadata is not used in OS X, yet whenever I download a PC-hosted .mpg through Hotline (which is a piece of crap, but that is another matter), it sets the type/creator to TYPE/CREA. Now when I open this using QT5, it won't open since the file type/creator isn't MPEG/TVOD.

I think this is proof that the type/creator is still used by Carbonized applications. Also shows you how picky QT5 is. This isn't very good to be having apps/etc not properly using the MIME database in Internet Config, and having apps using the type/creator solely for checking in OS X.

I understand that Apple wants to move away from type/creator codes, considering the possible limitations. MIME types would be nice to support, but it surely bugs me that I have to change the type/creator whenever I download a PC media file.
 
The problem is that Apple is discouraging developers from using metadata in new projects. Many (Carbon) applications still use type/creator metadata, but not all apps do - there's no consistency and it makes users confused.

There are lots of other problems with Apple's current implementation (or lack) of metadata.
 
Shouldn't Apple be moving away from metadata themselves in their projects? I always hated the type/creator code limitations in QT5, and to see them come over to OS X where such limitations create severe problems in some cases... bugs me.
 
I have to differ.

Coming from OS 9, I find OS X's metadeta support much better. It isn't the operating system that isn't assigning type/creator codes correctly, it's the application, or it's the file itself. If the app you use to download assigns the type to "TYPE" and the creator to "CREA", then complain to the DEVELOPER, not about APPLE'S implementation.

OS X has much more control over metadeta -- in addition to filename extensions and type/creator metadata, you can change the application that opens a type/filename extension combination using the get info "Change All..." button, AND you can change the application that opens a file on a PER FILE basis. This is MUCH BETTER than OS 9, hands down.
 
True, but when I copy this file, it sets the association properly, but QT still won't open it because of the wrong type/creator codes. Apparently the Hotline guys put in some wierd little thing that sets the type/creator to TYPE/CREA under OS X, and QT still uses the type/creator to determine if it is a 'valid' MPEG or MOOV file.

I am definitely getting Pitbull Pro, especially since that sucker uses the Internet Config APIs for what they were made for: identifying files and assigning type/creator codes. ;)
 
Well.. I've grown accustomed to file type/creator codes, in OS 9, I've never bothered to ever call files names with suffixes, I consider this a benefit, ofcourse if you constantly have to swap files with some windows user... I found that distinguishing file types by just there suffix is rather lame - ahem.. MS.Windows. I really like it when all I had to do was to type any string of characters for a file name, and the OS and Application appends the appropriate information to the resource fork of the file - another of which I find a benefit.

I don't understand, why Apple would be choosing to phase out this system, it made the Mac what it is. I don't really see the liabilities in it either, if you suggest keeping track of all the file type/create codes is a hassle, its generally kept away from the users, hence you can only access these type of information by using ResEdit or some other resource editor - As what was said before its generally the Application in use that is to blame for, for giving the wrong Creator/Type Codes.

If you guys think that file extensions is everything that needs to be, just look at MS Windows.
 
I never said that extensions are the best, I actually hinted at moving towards a MIME-based system which is much more diverse and is not as limiting as 4-byte creator/type codes.

Now it would require a large DB stored of which app currently wants what mime type, and a good method to set a large chunk of types at once for experts. '.DS_Store' would continue to store the final say in what a document uses, just like now.

What I am frustrated the MOST at though is apps that still RELY solely on extention, MIME, or type/creator codes. Good file formats that are truely cross-platform have headers you can verify to see that it is truly a file of type X. This is one strength of *nix systems as it stands so far: many apps are moving to checking the file CONTENTS to determine the actual type. Apple seems to be pushing people in the same direction, and it is actually a good one. Heck, if we could get a board together to freely push file header standards for future file formats and get enough people to accept it (*ahem* Windows Programmers *ahem*), it would be pretty darn spiffy as app X can tell the user 'I can't open this file, since it is an unsupported file type. The file belongs to *X*, and is of type *Y*' rather than 'This is a file that I have no clue about'.

Of course, this is just my programmer side talking.

BTW, now that I am writing a Carbon app from scratch, it is a truely great API for programmers who aren't used to Obj-C yet or want OS 9 compatibility. If you use the Carbon Event Manager rather than the out-dated WaitNextEvent() method, CPU usage is much more reasonable. As it stands, my app's UI uses 0% of the CPU under OS X using the Mach-O compile while in the foreground. OS 9 is a little more annoying to implement with NIB-based tabs, and I had to hack a rather ugly work-around, but it actually saved a little CPU usage overall (hiding 2 controls and drawing 1, rather than hiding 3, drawing 1). But, I am hopeful that this app will remain fairly nice to the CPU, even when I put the load of about 10-20 TCP/UDP connections into my app, since I am trying to make the network code 100% Async and event-driven.

(The joys of writing a Gnutella client, with the hope to add support for better protocols later on)

If anyone can point me at a good P2P network other than FastTrack (appears dead) and Freenet (not really sharing, more of distributed hosting), let me know, I want to add it alongside the Gnutella support. Heck, I am even tempted to implement a protocol I designed awhile back that is designed to scale, even as available bandwidth scales.

Sorry for the somewhat off-topic rant... I tend to do this when I have information I wish to spill ;)
 
Back
Top