February 24, 2008
Pragmatic Disillusionment

I wanted to talk about the issues we experienced while running the currently released versions of some of our software products on Mac OS X 10.5. I think this will help people understand a decision we made regarding Mac OS X 10.5, which I'll discuss more about in a future post. This does not cover every problem we saw, just the ones that influenced our decision. This post only discusses the past, even though it may use present tense.

This is a summary of the problems we saw when our current products on Mac OS X 10.5 when no code changes have been made. It's just the currently released product (as of this post) running on Mac OS X 10.5. I'm not going to mention every product, just a few.

All Haxies (Except FontCard 1.5) Running on ICBMs (Both PrefPane and APE Module)

In Mac OS X 10.5, Apple removed the x86 part of an important (and fully supported) library some of our products linked to. In Mac OS X 10.4.x on the ICBMs, this library was fat. On Mac OS X 10.5, it is not. This was never documented and never mentioned that it would not be fat in the future. We used this version of the library as we needed Mac OS X 10.3.x (or as it Mac OS X 10.2.x?) compatibility and the newer version of the library was not made available on those older versions of Mac OS X. We never switched to a newer version as the old version still worked on ICBMs on 10.4.x.

A quick Google search shows we were are not the only ones bit by this undocumented and unexpected change. Back when Mac OS X 10.5 was still being seeded (long before its release), I filed a bug about the missing architecture and was told it was correct. I strongly disagree. This change means none of these products loaded on Mac OS X 10.5 due to dyld rejecting the binary because of linking issues. (Mac OS X does not load binary images if they do not link as of at least Mac OS X 10.3 and later, before the host application would crash).

Note: The only reason FontCard 1.5 doesn't suffer from this problem is because FontCard 1.5 was released shortly before WWDC, and I needed it to load on Mac OS X 10.5 so I could ask some questions about then future directions in the font/text APIs at WWDC. Since FontCard 1.5 required Mac OS X 10.4 or later, I could safely use the new version of the library. I also did it because I wanted to file a bug on the extremely silly and useless dialog System Preferences shows when a preference pane cannot be loaded due to a dyld error, but I needed to make sure the Apple people ignoring the bug didn't think I was filing a duplicate bug on the missing fat library.

Individual Haxies Running on PowerPC (with no changes, in no particular order)

FontCard 1.5

FontCard 1.5 mostly works on Mac OS X 10.5. The only significant issue is the that the Font Panel features that were new to FC 1.5 did not work. Nothing bad happened, the font panel was just not modificated. FontCard's error checking caught the Mac OS X 10.5 changes to the font panel and prevented Bad Things™ from happening. All the font menu stuff continued to work, including support for inactive fonts in third party font sets (which surprised me greatly).

FruitMenu 3.6.4

FruitMenu 3.6.4 mostly works with no serious issues. The only thing that doesn't work is the contextual menu modifications since Apple significantly changed how CMMs are handled on Mac OS X 10.5. I strongly agree with the changes Apple made with regard to CMMs as FruitMenu was often pointed to as a cause of a crash when a buggy CMM was installed. Luckily, the Finder was also blamed for buggy CMMs even if FruitMenu was never installed, so Apple changed the behaviour of CMMs so the Finder would get less blame. Also, loading some CMMs every time on a right click could be a significant performance hit, even if the user never intended to use the CMMs during that click. Surprisingly, click and hold to show the contextual menu in the Finder still works.

Another problem FruitMenu 3.6.4 has on Mac OS X 10.5 is disk operation speed. Mac OS X 10.5 significantly changed disk I/O. It is now low-priority in many cases and doesn't hit the UBC as hard as it used to. I'm not yet sure if either of these changes are good. The end result on FruitMenu is that if you have a large number of items in your Apple menu and you have hot key scanning on, application launches can take significantly longer on Mac OS X 10.5 than they did on Mac OS X 10.4 since the result of the disk operation isn't as aggressively cached as it was before. This becomes an even more significant problem if a Time Machine backup operation is running while you launch an application, as FruitMenu cannot get the results of its disk queries as quickly (Time Machine eats the bandwidth, especially if you use the craptacular and extremely Time Machine unfriendly Mail.app).

Labels X 1.8.2

Let's just say, "Uhm... no...". Labels X works mostly in Cocoa Open/Save dialogs on Mac OS X 10.5, but almost no where else. It does not work in the Finder.

Menu Master 1.4.2

Surprisingly just about every feature in Menu Master 1.4.2 works in Mac OS X 10.5. Even more surprising was that Menu Accelerator works. This is surprising because the menu accelerator feature had to work around a huge number of bugs in Mac OS X 10.4. So either the bugs were not fixed in Mac OS X 10.5 or the Menu Master fallback path (in case the bugs were ever fixed) works. I'm guessing it's a mix of the two.

However, custom hot keys on Menu Extras do not work. This is due to a change in the Cocoa wrapper around menu items (all menus are Carbon menus, even in 64-bit) that Menu Master did not expect. This causes Menu Master to be unable to find menu items in menu extras, thus causing misidentification. This only applies to status items and menu extras (which are subviews of one large Status Item).

There is actually one thing that works better in Mac OS X 10.5 with regard to Menu Master. I had been begging for years for the Menu Manager to support changing the width of menu items while the menu is open. Mac OS X 10.5 brings this feature to the table. This means when a new shortcut is set to a menu item, the system will no longer cut off the text and draw "…" until the menu is reopened. Yes, this is an extremely minor thing, but it's something I've longed for. Yay!

ShapeShifter 2.5

Also, "Uhm... no..." ShapeShifter 2.5 was always designed to not load on Mac OS X 10.5 to prevent any possible compatibility issues. However, this has an amusing result on Mac OS X 10.5. ShapeShifter 2.5 correctly does not do anything on Mac OS X 10.5. However, if you upgrade to Mac OS X 10.5.1 or Mac OS X 10.5.2 after installing a previous version of Mac OS X 10.5, ShapeShifter will warn you about having an out of date guiKit cache. And then it will correctly refuse to load. This is amusing because it's not possible to upgrade your guiKit cache on Mac OS X 10.5, since ShapeShifter won't load.

A second problem is that the ShapeShifter 2.5 Preference Pane crashes a few seconds after load on Mac OS X 10.5.

Silk 2.1.3

Silk 2.1.3 mostly does not work in Mac OS X 10.5, therefore it is an "Uhm... no...". It will work in some places, but won't work in others. It's behaviour in the Finder is very mixed. A few Carbon applications (Finder, iTunes) on 10.5 ask for an undocumented ScriptCode (126, iirc) using GetThemeFont() when opening certain modal dialogs and this makes Silk crash. Luckily, Silk 2.1.3 does not crash at any time before a modal dialog is opened.

WindowShade X 4.1.2

This is also kind of an "Uhm... no...". WindowShade 4.1.2 will not load on Mac OS X 10.5 due to a linker (dyld) error because of a missing symbol.

Xounds 2.4(.1)

Xounds 2.4(.1) (2.4.1 was sent to some users, but never officially released due to what some other users perceived to be a significant bug) is a big freakin' loud, "Uhm... no...". It is the definition of "Uhm... no...". Let's just say that Xounds 2.4(.1) does not like Mac OS X 10.5. In any way, shape, or form. Especially the Xounds daemon. I'm sure you can imagine how bad something can be. Well, Xounds 2.4(.1) on Mac OS X 10.5 was that kind of bad.

Other Non-Haxie stuff

Unsanity Installer 3.6.1

The Unsanity Installer is the application we wrote to install the majority of our stuff that requires an installer. We also allow third-parties to freely use the Unsanity Installer for their own products. It really doesn't have very many features other than what we at Unsanity need it to have. (That is, we do not accept feature requests as it is not meant to be a multi-purpose installer).

Anywho, Mac OS X 10.5 introduces something called "File Quarantine" and "File quarantine" (copied from the Windows XP SP2 feature). This feature shows a dialog whenever you launch a file that was downloaded from the Internets or launch an application that is on a disk image that was downloaded from the Internets. This quarantine attribute is stored in the metadata of the file. When the file is copied, the quarantine metadata gets copied with the file as well.

And thus, we have our problem. The Unsanity Installer explicitly tries to save all metadata on the files it is installing. Sadly, this includes the quarantine metadata. This becomes a super annoying issue for the user as they first see a quarantine dialog when the launch the installer, and then see another quarantine dialog whenever they launch (directly or indirectly) an application that was installed by the installer. Since the Unsanity Updater application was installed by the installer, the user would see a quarantine warning about the Updater when it was launched as part of automatic update checks.

A second problem is the Smart Crash Reports plugin used in the installer suffers from the linker problem mentioned above on Mac OS X 10.5 and will not load (which is a moot point, as SCR 1.2.1 doesn't load on Mac OS X 10.5).

InputManagers:Smart Crash Reports 1.2.1 and Menu Extra Enabler 1.0.3

Smart Crash Reports 1.2.1 was always designed from the get-go to not load on Mac OS X 10.5.

Other than MEE and SCR, we do not produce any InputManagers. None of our other stuff uses the InputManager technology, and thus, are not restricted by the limitations imposed and/or inherent to InputManagers.

That said, Mac OS X 10.5 brings a whole slew of ultimately useless restrictions. Note that not all of the restrictions listed are actually required or true. However, neither MEE nor SCR are installed in a manner that matches the true and required restrictions. This means they will not load in Mac OS X 10.5. They won't even get a chance to decide they don't want to load.

If Menu Extra Enabler 1.0.3 meets all the true restrictions, it will load and will work without any problems. In fact, some third parties are already shipping MEE 1.0.3 with their products and it works just super and jim dandy-like.

Important Note: On Mac OS X 10.5.x, InputManagers must not be installed in the user's home folder (~/Library/InputManagers/) as it will prevent the InputManager from loading even if the InputManager is installed globally in /Library/InputManagers/ and meets all the requirements to load. If you are a developer installing an InputManager, make sure your InputManager is not in the user's home folder on Mac OS X 10.5.x and move it to the trash (FSMoveObjectToTrashSync()) if possible.

Final Thoughts

With all that said, I hope this helps to elaborate a little about the decision we made regarding Mac OS X 10.5 that I will discuss in a future post.

*The above image is courtesy Chilton Webb. Used with his permission. Well, I asked his permission to use the photo for a yet to-be-determined blog post about 2 years ago. He said, "ok", but I do not know if he remembers this permission giving. So, try SuperCard or something.

Digg This!

 Posted by rosyna at February 24, 2008 02:09 AM

Trackback Pings:

TrackBack URL for this entry:
http://www.unsanity.org/mt-tb.cgi/425.




Related:
Comments

Hey great to finally hear something from you guys. I was afraid that 10.5 might have killed Unsanity off there for a while.

Posted by: Twist on February 24, 2008 3:13 AM

just installed Silk-214b1. but the OS is refusing to load the APE...?

Posted by: zx on February 24, 2008 3:36 AM

Well here's to hoping the future is smoother. I miss my shapeshifter. I hope you guys can get it all sorted out.

Nice to see a post!

Posted by: Alistair Morton on February 24, 2008 9:25 AM

"Pragmatic disillusionment" sounds rather grim to my ears.
I miss Windowshade X. Good luck!

Posted by: David on February 24, 2008 9:32 AM

So what is this big decision about 10.5? You tease but don't tell us what it is. Are we expected to keep checking back for the next few months until we're finally told that you've decided it's too hard and the haxies will not be updated after all?

Posted by: Polaris on February 24, 2008 10:36 AM

Glad to finally hear something. I'm definitely hoping that we get FruitMenu and Menu Extra Enabler working in 10.5.

Posted by: Matt on February 24, 2008 10:53 AM

All this waiting, and you STILL won't tell your users the BIG DECISION ABOUT 10.5 that you've made? That's chutzpah!

Guess which company's not getting any more of my shareware dollars? Wait till my next comment to find out!

Posted by: Volt on February 24, 2008 11:24 AM

Sounds like those of us who have moved on into the future will be waving bye-bye to a company that isn't going to do the same. Hope I am wrong.

BTW - I will gladly absolve you of your no-charge for upgrades promise if you prove me wrong.

Posted by: david on February 24, 2008 12:34 PM

Oh well - I thought you'd get there in the end, and it looks like you won't. Still, I've Installed Tiger just to have my OS X world (Haxies and all) the way I used to like it.

It's pretty rank to feel that Shapeshifter isn't going to re-emerge. I got so used to having a change now and a again.

Weird to see after a few months just how fast and stable Tiger is by comparison

Always hopeful that you'll crack it eventually - Fingers crossed.

Posted by: Digital Hippo on February 24, 2008 4:23 PM

I appreciate the position that you found yourself in upon Leopard's release.

For many of us, the Mac OS just isn't the Mac OS without one or more of your haxies. (For me, it's FruitMenu and WindowShade). I hope that the decision you have made will allow for these to see the light of day again.

In any case, please let us know your decision (if it has been made) so that we know if we should keep up our hopes - or simply face our fates.

Thanks, guys!

Posted by: jsalzer on February 24, 2008 8:23 PM

I'm guessing that Unsanity will need to charge an upgrade fee, or make us all buy new versions for 10.5. I'll also guess that because of the library changes that Apple made that the 10.5 compatible versions will NOT be backward compatible with 10.4 and older.

I did not read anything that said, "see ya don't wanna be ya".

Posted by: Bryan Schappel on February 24, 2008 8:24 PM

I'm sure that most users of 10.5x should have figured out that Apple ''improved'' and broke parts of the user interface in their move from 10.4.x that even Apple does not seem to have a handle on. ...a few steps forward in some areas (64 bit), a few steps back in others (GUI)..., and the GUI is where everybody lives, works, and plays.

Try to keep up the good work - your products, like Windowshade, have made life easier, more productive, and more personal on this platform (up to 10.4.x). Apple should be happy you chose this platform to work on. You help put the shine on this Apple.

Thank you.

Posted by: Steve on February 26, 2008 5:14 AM

I'm a long time windowShade user.
I just attempted to install WindowShadeX on 10.5.2 mactel.
I logged out/in. it does NOT seem to do anything.

And just for the record windowShade is wonderful!

-JT

Posted by: jean T on February 28, 2008 11:52 AM

I am so glad to have Fruit Menu and Windowshade back. Where do you want us to post bug report/comments on specific haxies?

Don

Posted by: Don RIcklin on February 28, 2008 11:59 AM

Unsanity Labels = A1, top hole, numero uno, prima
Apple Labels = dreck

Posted by: Anthony Clarke on February 28, 2008 12:41 PM

The solution is obvious... in future, install anti-bastard code :)

Posted by: Steve Rogers on February 28, 2008 11:51 PM

I miss window shade too. Tried the beta on my MBP and got "could not load WindowShade X preference pane"

Posted by: Richard Weiss on February 29, 2008 9:41 AM

fruitmenu is back!!!!! (maybe i'll go install leopard on my own machine)

Posted by: dpc on February 29, 2008 12:37 PM

Thank you Thank you.

Every company has to make difficult decisions. Perhaps if some of the complainers owned and ran a business they wouldn't be such harsh critics.

Unsanity, you can take all of the frustration as great appreciation for your creative and extremely useful products.

WindowShade! Hallellujah! Many thanks.

Posted by: terrapinStation on February 29, 2008 1:57 PM

i really appreciate your work through all these years but WHY the **** were you leaving all your customers without a comment / weblog-post for monthes ??? i really hope you get that damn shapeshifter to run in 10.5 - it's one of the few (!) things in sw-universe that are worth the money (and the ****** bright os-x is so terribly ugly i can't stand it).

Posted by: on March 1, 2008 1:26 AM

Four months later, and we finally have betas. Woot! Maybe there's hope they'll get back to resurrecting ResExcellence.com yet.

Posted by: Leepin' Leezard on March 1, 2008 4:22 AM

Well... Fruit menu is such a spectacular product, I'll happily accept the bizarre and uncalled for rant from the developer. I don't think I ever complained, but I did as if the product was still in development. I didn't think that was unfair, and in an odd way should have been a compliment.

Anyway, bygones (unless the news re X.5 is no further development - in which case, to hell with you and I'll make do with lesser products from now on). Fruit menu continues to be my favorite shareware product ever, and I'll certainly be happy to pay something for the upgrade.

What I really wanted to say (I downloaded the product and used it immediately then came back here to post a rave review - but then I read the blog) was that not only does Fruit menu appear to work fine, but it actually maintained my old settings! How cool is that!

Posted by: Scott on March 10, 2008 3:16 PM

I can't get Fruit Menu to work in OS 10.5.2. I'm using a first-generation Intel Core Duo iMac.

Posted by: Al Friedman on March 14, 2008 8:01 AM

I susspect the problem lies with the beta APE,not necessarily FruitMenu itself, as I tried installing only ICEcoffee+APE, and got the same kernel panics.

Posted by: Al Friedman on March 16, 2008 7:37 AM

Whoops. APE is innocent. 'Twas ICeCoffEE 1.5b1.

Posted by: Al Friedman on March 24, 2008 9:49 AM

Hi,

A short update on what is happening or not would be greatly appreciated after four months.... Thanks

Posted by: Ronald Leroux on June 23, 2008 8:05 AM
Post a comment
Keep comments on topic. If a comment is unrelated to this post, it may be removed or moderated.





Remember Me?

(you may use HTML tags for style)