|Home » Industry Watch
Windows Friendly Attachments
Nothing like bashing Microsoft when you're stuck with your thumb in the pie.
OS X users in the habit of sending pictures to friends on other platforms have run into trouble: the images don't work for the recipients.
There's an option in later editions of Apple Mail that can correct this. It's a toggle called 'Windows Friendly Attachments'.
Apple use a file system known as HFS ('Hierarchical File System'). HFS is what happened when Apple abandoned their two year MFS ('Macintosh File System') project in the early 1980s. It's been extended for 32-bit access (HFS+) and now has a case-sensitive variant (HFSX).
HFS uses something known as a 'resource fork': this is a separate data stream not normally seen by the user.
The original idea was to place document-specific information in this fork to help with file associations and the like. Over the years it's been used for a lot of other things such as 'fat binaries' and has even been shown to be capable of injecting 'bad code' onto the computers of unwitting users.
When Copland fell apart much as MFS before it and the Apple board decided $25 million was too high a price to pay for BeOS, focus switched to NeXTSTEP which could be acquired for a facile $429 million [sic]. NeXTSTEP runs on Unix and Unix has no resource forks. In fact no other file system in widespread use does.
A major concern when beginning the seven year port of the eminently portable OPENSTEP to the 'Macintosh' platform was backward compatibility. This presented a slew of problems, in no small regard due to the fact that MacOS was still 16-bit with cooperative multitasking and certainly not in the least because it still used resource forks.
Purporting to be POSIX compliant, Apple ran HFS under the bonnet of their new OS X and offered the same POSIX services as all flavours of Unix. The difference was that their file system drivers were actually dealing with the age-old HFS and not a genuine Unix file system.
Apple run a Unix file system on OS X Server - 'sort of'. The system is still tweaked to understand resource forks even though said forks cannot be stored as streams of the same file. The prefix '._' is used to denote what otherwise would be a resource fork instead.
Popular 'Carbon' applications such as Photoshop use resource forks if the user wants thumbnails of the images created. The OS X 'workspace', of which Finder is today an integral part, will automatically find these thumbnails in resource forks and use them for display if they exist. Otherwise users get to see standard generic icons.
Apple have an armada of their own multimedia applications such as iTunes, iPhoto, and of course Mail. Even Preview, a lean and cheap graphics converter, can be included in this category.
But whereas Adobe might give the user the explicit option to create a resource fork or no, these standard OS X utilities from Apple do not. As a result, OS X users can have resource forks littered over their hard drives and not know it.
Files with resource forks are not portable to other platforms. In this age where the accent is on cross-platform compatibility and communication, Apple have effectively painted themselves into a corner.
No utilities on a standard OS X setup will tell the user if there are resource forks on files or what files are not portable. When an OS X user sends a file with a resource fork as an attachment through Apple Mail, two items are actually sent: first the file itself, and then its precious resource fork. The attachments make no sense to anyone on any platform other than OS X (or an old MacOS).
To get around this, Apple Mail includes the option to send 'Windows Friendly Attachments'; the cosmic joke here is that no platform other than Apple can understand the HFS gobbledegook - not AIX, FreeBSD, Gentoo, Linspire, Linux, NetBSD, OpenBSD, Solaris, SunOS, SVR4 - or Windows. No other system can.
Apple are essentially pulling a con job. Stuck with a file system they were pressured to retain (Maccies make a lot of noise) Apple are now caught with their thumbs in the pie. That HFS is not really POSIX compliant has been known for some time; but when the number of OS X users grows and when a great number of these users are 'switchers' that migrated in good faith from Linux and Windows, and when they want to keep up communications with their friends who still haven't made the switch, they get told - in an oh so subtle way - that it's actually all Microsoft's fault.
Microsoft do enough dumb things on their own. There's no point in blaming them for more than they really do. And there's no point in doing things as dumb or dumber than they do either.