May 09, 2005

Take This .sit and Stuff It

by peterb

Dear Mac Developers:

I know very well that software developers are creatures of habit. Given a tool that does roughly 80% of the job we need to do (such as Emacs, or the X Windowing System), we are inclined to grab on to it with both hands and refuse to let go until we are forced to.

Today I would like to try to force Mac developers to stop using Stuffit. Stuffit is evil, and must be destroyed.

First and foremost, Stuffit is an application that, under OS X, serves absolutely no useful purpose. Every single thing that Stuffit does is done better by services that are built in to the operating system. If you are distributing your software in .sit form, then every Mac user in the world has to do extra work in order to use your software. More to the point, you are doing unnecessary extra work to ship your software (and paying money that would be better spent on pizza and coke, to boot.)

It's so silly, so wasteful, so wrong. Even if you feel that creating a compressed disk image with Disk Utility is too much work, you can make a distributable archive that's more compatible, easier to use, and faster to both pack and unpack. Go to the Finder. Choose a folder. Control-click on it and choose "Make an archive of this folder." Congratulations, you now have a zip file that can be distributed to your users (and, since Stuffit will uncompress zip files, you're not even leaving your three or four OS 9 users out in the cold.)

Amount of extra money you had to spend to package and compress your software: $0.

Amount of extra money your users had to spend to uncompress your software: $0.

Number of additional programs your users have to download or purchase to uncompress your software: none.

Relying on Stuffit is even more foolish now that OS X 10.4 "Tiger" is out, because Stuffit Expander doesn't ship with the OS anymore. I don't know why, but it doesn't particularly bother me; as mentioned above, OS X supports the saner (and less encumbered) .zip and .dmg formats natively. Even after an archive install, Stuffit doesn't work out of the box — you have to reinstall. When I realized this, just for fun, I consciously decided to not install Stuffit at all to try to simulate the new user experience (after all, if my Grandma bought a new Mac, she'd have no idea that Stuffit even existed, right?) And what I've noticed is that there are a surprising number of applications that are distributed in .sit form (or even worse, BinHex) for no good reason whatsoever.

It's just force of habit.

So unless you're targeting your application for Mac OS 9 (in which case I hate you), using Stuffit costs you money (because you have to buy the packaging app), prevents some percentage of users from using your app at all (because they will never buy or install Stuffit), and makes those who do have Stuffit installed go through a little bit of pain (because they have to sit there while a comparatively super-slow Stuffit process forks and does its thing).

Furthermore, each successive edition of Stuffit has become more and more facehuggerware. If you go to Allume's web site and try to download the "free" edition of Stuffit, you'll end up downloading the time-limited demo of their full product, which nobody in the entire world actually wants. Basically, Allume deserves some sort of Annoyance Award for managing to craft an app distribution mechanism that is actually worse than RealPlayer's. Ask yourself: what conceivable justification does one have for installing an extension to run a user-level uncompression routine? After you upgrade to Tiger, Stuffit Expander stops working until you find (by hand!) the "Stuffit Engine" file and put it into the right magic directory (or, you can just give up and reinstall Stuffit from scratch). It's as if the idea that an application should be self-contained is repulsive to the authors of Stuffit. The only way they could possibly make their software less pleasant to install and use would be if, whenever I double-clicked the application, bees flew out of my Mac's USB port and stung me in the eyes.

Don't believe me? Here's a sample of the comments up at versiontracker on this issue:

Unbelievable: Allume are now up on my "most hated" list, surpassing Real. If you try and download StuffIt from their website you HAVE to give them a valid email address, so that they can spam you and try and persuade you to buy the "deluxe" version.

The thing that I find maddening here is that the makers of Stuffit are trying to facehug their way into getting you to pay for a service that already works great for free. And, apparently, they've done a good job of fooling people into thinking their format is essential, since lots of newly developed Mac apps (for example about half of these games) are compressed with Stuffit.

Once upon a time, Stuffit solved a real problem. Today, Stuffit is the problem. I appreciate that the guys at Allume have every right to try to make a buck. But I say sincerely, and without malice, that I hope they are forced to find some other way to make that buck. Write an app that does something the OS doesn't do for me, or that at least does it better.

Here's my challenge to you, Mac users. When you upgrade to Tiger, don't even bother reinstalling Stuffit expander. Spread the word to the people providing your apps that you'd appreciate getting them in a reasonable format (such as zip, dmg, or dmg.gz) that doesn't require you to download third-party software.

Additional Resources

There are some other things that lazy developers use even though they're really quite horrid. We've written about quite a few of them here: Posted by peterb at May 9, 2005 12:52 PM | Bookmark This
Comments
Stuff .sit
Excerpt: Tea Leaves has a great entry calling on all current and future Mac OS X developers to ditch 'Stuffit' in favor of the built in Mac OS X compress utilities (AKA Tar with GZIP, and Disk Image) Tiger shipped without...
Weblog: Random Access 3.0
Tracked: May 9, 2005 01:58 PM

TESTIFY. But I'll go one further: Stuffit doesn't support some of the key file system features in OS X 10.4. If you're using Stuffit to compress files at this point, you're losing data.

Posted by Faisal N. Jawdat at May 9, 2005 12:36 AM

"I" "liked" "this" "post" "because" "I" "hate" "stuffit" "as" "well".

Posted by Ben at May 9, 2005 01:02 AM

It has always baffled me as to why Stuffit is, like, an order of magnitude slower at decompressing zip/gzip/tar/gnutar then the freeware variants.

Posted by Foo at May 9, 2005 01:41 AM

"you HAVE to give them a valid email address"
You NEVER have to give any site your real email address thanks to sites like http://www.mailinator.com , http://www.mailbucket.org , http://www.dodgeit.com ,
and the like.

Brian

Posted by Brian p at May 9, 2005 08:39 AM

god tell me about it. i used to do testing, and every time we'd install mac os x, or reformat, or etc... we'd have to install stuffit :(

Posted by maaaaark at May 9, 2005 10:15 AM

Faisal,
does the built in zip stuff preserve file attributes and the other nifty things Tiger (rawr!) gives us?

Posted by shelby davis at May 9, 2005 10:42 AM

Apple should have included StuffIt Expander with 10.4; users and developers are going to waste a lot of time working around this decision. Developers want an efficient file format that can be decoded by all their customers (which may include Mac OS 9 users) without the user having to install any additional software. Until 10.4 that meant .sit or .sitx; now there's no such format:

.dmg -- not supported before 10.0, poor compression
.zip -- not supported before 10.3
.sit and .sitx -- not supported on 10.4

Using Macs should be simple; this decision makes it more complicated. And where is the benefit?

Posted by jim at May 9, 2005 10:58 AM

Interesting article. I'm no longer a developer but basically agree with it. However, am I missing something? A comparison of creating an archive with Tiger and using StuffIt to compress a 437 MB graphics folder resulted in Tiger's archive at 326 MB abd Stuffit at 257 MB.

Posted by will chen at May 9, 2005 11:27 AM

Will,

It doesn't surprise me to find that the two programs have different characteristics; presumably they make different tradeoffs. It also wouldn't surprise me to find that there are workloads which compress better under "Create archive" then under Stuffit.

Just as a test, I compressed Microsoft Office with Stuffit and Create archive. As in your case, Stuffit made a slightly smaller archive (148 Mb vs. 167 Mb.) But space isn't the only axis one optimizes along. It took Stuffit 2 and 1/2 minutes to compress that folder (!), whereas it took Create Archive 40 seconds.

Obviously, one can quibble about where the best tradeoffs are. My belief is that _even if_ Stuffit compressed better _and_ faster, it would still be a mistake to use it, because it's a proprietary, nonstandard, and fundamentally annoying program.

Jim: You're welcome to your opinion, but obviously, I disagree. I think Stuffit is terrible for developers and users, for all the reasons I outlined above, and I think that anything which hastens its demise is a good thing.

Posted by peterb at May 9, 2005 11:46 AM

The time element is an excellent point and one that I'm inclined to forget at times, retired and 80 ;-). I doubt that there are many hurting for storage any longer but if so, they may want to swap time for space. In any event, your point is valid.

Posted by will chen at May 9, 2005 12:58 PM

jim, don't forget ".img", which has been been supported for ages.

Posted by Spiff at May 9, 2005 01:12 PM

Unfortunately, for large, national news publishing enterprises that can't just switch on a dime, StuffIt and .hqx are still the standards. I would love see a move of the news publishing industry from the current standards to the MacOS X native Zip and .dmg methods for distribtution, but there are many legacy editorial systems and distribution channels (some are on 10-15 year depreciation cycles) that cannot make the change without a high cost and introducing high productivitly lost.

Posted by Sam at May 9, 2005 02:47 PM

In a world of ever increasing file-sizes, with bandwidth still costly, I still see a place for StuffIt. How much money could you save in bandwidth by multiplying 19 MB saved by 10,000 downloads in a month?

Posted by LD at May 9, 2005 03:07 PM

MacOS9 compatibility is still a very real issue for developers who are trying to target the education market. Apple has done a pure crap job catering to them.

Furthermore, Stuffit offers far better compression, most of the time, than Zip. Keep in mind that it took until Jaguar (or was it Panther?) for Apple to include a compression tool AT ALL, in the MacOS.

That said, I anxiously await the day when Zip can compress worth a crap, and I no longer have to stuff files.

-Chilton

Posted by Chilton at May 9, 2005 03:16 PM

You personally hate developers who target MacOS 9? That's ridiculous.

You probably hate developers who still use resource forks, too, don't you? Those developers cannot use zip instead of sit, because Mac OS X 10.2 and older will open zips with Stuffit and Stuffit doesn't recognize the resource forks of files in zip archives that were created with Panther or Tiger.

I really like zip better than sit and I really don't like resource forks, but nevertheless I think it's a stupid decision by Apple to remove Stuffit from the Mac OS. Grandma doesn't care if zip would have been the better format - she wants to be able to open the files she gets, and Stuffit can expand a lot more than just tar.gz and zip.

Posted by Helge at May 9, 2005 03:19 PM

I'm no fan of Stuffit, and haven't re-installed it on Tiger.

And reading this thread, it occurs to me that one of the benefits of being Apple vs. MS is you get to say: Screw 'em. It's inferior, costs money, just leave it out.

Some will be annoyed, but the platform moves forward and people will stop distributing .sit files soon enough.


Posted by Doug at May 9, 2005 03:40 PM

For those who aren't aware, OS X has shipped with archive and compression software since pre-beta, "tar" and "gzip". Not the most friendly tools, but they were there. All of Apple's *.pgk archives are essentially tar/gzip files in a bundle wrapper.

Posted by Gooberpants at May 9, 2005 04:12 PM

With Spotlight, I just eliminated every .sit I currently have (which won't affect downloads, I know). Regardless, it isn't tough to find 'everything ending in .sit' and 'everything with stuffit's creator code' etc.

Then I ran them through a 'make archive' script. I still have to keep the (*)(*)( destuffer though.

Posted by Al at May 9, 2005 05:19 PM

Posted by "Gooberpants ": For those who aren't aware, OS X has shipped with archive and compression software since pre-beta, "tar" and "gzip". Not the most friendly tools, but they were there. All of Apple's *.pgk archives are essentially tar/gzip files in a bundle wrapper. (end quote)

While the archives are compressed with gzip, they are not *.tar but *.pax. I wish they were *.tar, for security reasons. Even Apple mangled that one once (some 10.1.x update that deleted some home directories, IIRC), so you wonder why *.pax is even used to this day.

Tiger does support a lot more compression types: *.tar.bz is the one to use if you really want to squeeze some bytes out (command line or the excellent "On my command").

Posted by Maarten Sneep at May 9, 2005 07:06 PM

When I distribute stuff with "make archive", the zip archives always have thes __MACOSX folders littering the place. They usually have stuff in them, so I don't know if I can get rid of them.

Posted by cyberdude at May 9, 2005 08:31 PM

I use it to annoy PC users if I post something online - if they want it ...

Posted by jbelkin at May 9, 2005 11:14 PM

If *I* was Allume then my strategy would be to make the installation and use of Stuffit Expander as un-Mac-like as possible, totally ruining the Apple experience and thereby forcing Apple to purchase the technology and actually make something usable out of it.

Posted by dave at May 10, 2005 05:26 AM

Oh, if you *must* install StuffIt Expander, and don't want to give away an e-mail address (which is needed to go the the http download page), you could use good old ftp:

ftp://ftp.stuffit.com/pub/mac/StuffIt/stuffit_exp_902_x_install.dmg

It is even the good old simple package (without the "free" trial), and you don't have to agree to anything. Use the command-line, as most GUI tools insist on giving your good e-mail address as a login-password, and on the command-line you can throw in any garbage you like.

Posted by Maarten Sneep at May 10, 2005 05:55 AM

You can still gzip your dmg files and Safari will decode it on the fly during download. I bet the file size will be comparable to those of StuffIt files. For MenuCalendarClock, we're happy with that.

Dirk

Posted by Dirk Theisen at May 10, 2005 06:24 AM

i agree with the article - but stay with the truth: As a custumer you ca download the free expander.
There is no valid email neccesary, there is no time limited demo.
You can get the free expander tp open *.sit files just simply with 3 mausclicks.
- got to allume website
- klick FREE EXPANDER
- remark the activated buttons - leave the form clear and push download.
but i agree that stuffit is crappy shit :-)

Posted by Kai at May 10, 2005 07:45 PM

That's changed since last week, then -- when I tried right after installing Tiger, the site refused to let me download without giving them a valid address.

Posted by Nat at May 10, 2005 11:01 PM

"And reading this thread, it occurs to me that one of the benefits of being Apple vs. MS is you get to say: Screw 'em. It's inferior, costs money, just leave it out."

Keep in mind here that when you say "screw 'em", you are saying, "screw end-users." Screw the end-users who can't afford to pay $130 every year that Apple decides to release a new OS.

And you think Microsoft and third-party Windows developers are *bad* for supporting older OS releases?

This is part of what infuriates me with OS X development. I own a Mac for one reason: so I can port my win32/linux software to it. I bought OS X 10.2 in early 2003 and was hoping it'd be the only version of OS X that I'd have to buy in a long time. Less than 2 years later, it turns out that my OS is all but extinct, its support and many useful download links thrown away by Apple in favor of OS X 10.3, an OS that looks pretty much the exact same as 10.2 save for a bunch of changes that I don't care for.

Apple's approach to system upgrades is, at the very least, idiotic, especially considering the fact that for the typical end user, very little actually changes from one OS revision to the next--at least, very little that couldn't have been otherwise accomplished by an application instead of a change to the whole operating system.

In other words, the only reason I feel compelled to ever buy a new OS from Apple is simply to "keep up". I don't actually need any of the new features Apple adds to their OS, but because they apparently instantly drop support for their older OS's as soon as they come out with a new one, I feel compelled to buy their new OS lest I get left in the dust, as you're planning to do with this .sit file situation. That approach to system upgrades is mean and bullying at best.

"Some will be annoyed, but the platform moves forward and people will stop distributing .sit files soon enough."

Again, this is a very inhumane and technocratic assumption. Has it ever struck you that some people might actually be satisfied with the current version of Mac OS that they have--yes, even Mac OS 9--and that they honestly see no reason whatsoever to pay $130 and possibly even buy a new computer just so they can "upgrade to the latest platform"?

Fortunately, this is one thing that Microsoft generally understands. A number of my friends still use Windows 98--an OS that's six years old--and honestly have few problems with it for their needs. On top of that, virtually any software I write on my XP machine is compatible with a Windows 98 system on a binary level out-of-the-box. Even if it's not compatible out-of-the-box, MS offers plenty of documentation to tell me how to make my XP app compatible with Windows 98. Apple, on the other hand, likes to pretend that older versions of their OS don't exist, and that anyone who uses their computers is enough of an Apple patriot (and wealthy enough) to buy their latest OS the day it comes out.

Posted by Foopy at May 14, 2005 02:19 AM

Well, look, I despise Stuffit and have since version 4.5. That was an update that was very problematic, and it set the tone for the future. In my experience nearly every update to Stuffit since then has been needlessly problematic, causing grief for users. Reason enough to hate Stuffit, in my not so humble opinion. Now take into consideration their crappy version checking scheme, if you have it enabled and the Allume servers happen to be down when you launch Stuffit, Stuffit will NOT launch because it can't connect to the Allume servers to do its version checking. Stooopid and unforgivable. Makes less-than-savvy users freak out.

Mac OS 9? If you are happy with that mouldering pile of crash-happy code, then you are lost. I have used Mac OS since day one and now use OS X 10.3.9. I would quit using computers if I had to go back to using OS 9. Sure, the education sector, they can't always have the latest, so developers must use Stuffit for the Classic platform. PLEASE STOP USING STUFFIT FOR OS X. Allume deserves to be kicked in the teeth for any number of reasons. I won't even go into how many decent sharewares they bought from the original developers and then just let them die.

Allume is a crappy company. Lets do our best to put the last nail in their coffin. Stuffit's death is inevitable, let's make it sooner rather than later.

Posted by Albert at May 18, 2005 09:49 AM

Stuffit sucks.

OS9 sucks.

Resource forks suck.

Things that suck deserve to die

Posted by j4ck at May 19, 2005 02:47 PM

One more reason why StuffIt sucks: Have you ever tried to compress files greater 400 MB with the best possible stuffit compression? – Ok, first no problem, but if you try to expand you will be astound, that your file maybe could not be expanded anymore!

This is a REAL StuffIt bug! After further investigation I found out, that when the same files are compressed with the same compression settings on the PC, they can be expanded without problem (also on the Mac side).

So be careful when trying to compress really big files!

–Markus

Posted by Markus at June 1, 2005 10:34 AM

Not to forget about a REAL StuffIt bug: Ever tried to compress a file bigger than 400 MB on the Mac, with the best possible StuffItX compression? – Ok, first everything will look good, but if you try to decompress the archived file you will maybe be astound, that it can’t be decompressed anymore!

Further investigation showed, that when compressed on the PC (with the some settings), the file will be exandable (even on the Mac side).

So please Allume, if you don’t fix the other annoyances, fix at least this compression bug!

–Markus

Posted by Markus at June 1, 2005 10:40 AM

StuffIt version 6 for Windows worked pretty well. It actually did its job with a minimum of fuss, and opened some obscure Mac archive formats that nothing else would touch.
But version 9 can go to hell. I'm never installing another Aladdin/Allume product again.

Posted by dr_dog at June 4, 2005 10:26 PM

"So unless you're targeting your application for Mac OS 9 (in which case I hate you),"

Wow. Just...wow. What an asshole. You HATE people who are still developing for MacOS 9? What must you feel for people who still USE MacOS 9?

You might want to tone down the rhetoric there, Bucky. Sheesh.

Posted by Penginkun at July 6, 2005 02:42 PM

If you're getting this bent out of shape by random weblogs you stumble across saying unkind things about your favorite operating system, you might consider therapy.

Just a thought.

Posted by Nat at July 6, 2005 03:43 PM

Hate it...StuffIt wastes my time...I don't have time to waste...I just have time to enter "expand sit files without stuffit" into Google and stumble upon a spot-on article by someone who also hates it.
Hate it.

Posted by at July 22, 2005 11:58 AM

Thanks for writing this! I had the misfortune of having to port Mac OS 9 fonts from an OS X machine to a Linux machine running VMWare. (Don't ask...it's a FrameMaker thing.)

I followed the usual advice and got Stuffit for the PC and the Mac. Navigating their site was like wading through slime.

It was completely unnecessary. You can simply make a ZIP archive in the Finder. It contains the resource fork, and no slime is needed on the origin or destination machine.

Posted by a Linux user at July 27, 2005 07:20 PM

Please re write this column every day until people get it.

Allume is a piece of poop company. If you think having to provide a e-mail address is bad know this: Windows users have to provide a valid creit card number to download the 'free Stuffit expander.

Posted by Steve Jobs at July 29, 2005 08:43 PM

Oh, the irony.

At the bottom of the page is an ad for... ...Stuffit Deluxe!!!

The basic point, which has already been made by a lot of people, is that an open standard is ALWAYS preferable to a proprietary solution. Thank Apple, or possibly FreeBSD, for providing us with a plethora of compression tools. Too bad bzip2 isn't aware of Mac specifics.

Posted by BSD Rules at August 1, 2005 08:24 PM

Stuffit "Deluxe" is even worse than the standard - NO I do not want to browse directories of compressed folders, NO I do not want to drag and drop files, open close windows or specify locations. I just want to compress, uncompress without having to think about it. "Deluxe" is an utter waste of cash. BTW, I'm sure I didn't have to reinstall stuffit when I upgraded to Tiger...

Posted by lyric at September 9, 2005 05:17 PM

Stuffit 10 is absolute garbage. I could put up with all the crap with Stuffit 9 because it actually works, but the "Free" upgrade to 10 killed all hope of extracting .sit files on my powerbook. Thankfully a little digging and I was able to find an installer for 9.0.2:

http://www.macupdate.com/download.php/6326/StuffItSTD902.dmg

Allume has pulled all traces of Stuffit 9 off their web and ftp sites.

Posted by aManCalledSun at October 20, 2005 05:23 PM

Well, a client just gave me a file with a sitx extension and it's been hell trying to unpack this beast. In fact, it angers me deeply that such a proprietary compression type is used and exists. I'm having a Mac friend unpack it for me. Yes, I use Windows. Just felt like venting...

Posted by philip at March 6, 2006 09:20 PM

Please help support Tea Leaves by visiting our sponsors.
Archives

2006
November October September August July June May April March February January

2005
December November October September August July June May April March February January

2004
December November October September August July June May April March February January