Of unintended interactions

The other day Jason posted a sample of some of the stuff he's been working on behind the scenes to extend ShapeShifter's reach, or rather what a themer can do via ShapeShifter. There are a few things in the coming tech I really want to see in some themes, because it is becoming harder and harder to use an OS without borders on its windows...

A survival guide for angry Mac users

Unfortunately, that functionality is a bit out in the future, and mostly I mention it because it brought to mind one of the more amusing things that happened at EAA after the talk at the bar. There was Wi-Fi, and people were setting up laptops and such and showing different things, and Jason was showing some people some of the test-bed stuff, and at some point he had Microsoft Office fired up all enlarged and green and such.

As it turned out, there was a guy from the Microsoft Mac Business Unit who'd flown in, and after buying me several drinks and a shot, or perhaps that was after, wandered over and saw his toolbars being violated, and started freaking out: "Dude, you can't... that's going to break x... OMG you can't do that..." I'm told watching him tweak made Jason's night, and was glad to get the following a day or two later...

hey db, this is **** from mbu,

well - i hope you had a good time last night, it was definitely good to meet all of you guys. it'd be great to do this again sometime, but i'll let you recover for a minute before pushing that idea to hard.

also, uh, that girl from the taco shop, not cute. no more democratic surveys on hotness from a bunch of drunken technofiles... after you left i took another look at her, and i think an organ nearly gave out. i'm not even sure if she was a she at that point, and she had a serious limp... anyway, sorry i didnt just give you guys a lift back to the hotel, cause i left right after you guys did (yes, alone)... i hope you made it there alright.

so.... keep in touch man, its always good to meet cool people with common interests. take care, and thanks for getting this whole thing together.

-****

While I don't remember a lot about that part of the evening, I remember us bailing out of the taco shop -- and him saying he was staying -- and us trying to warn him of the horror he'd be faced with the next morning. Minus a picture, let's just say I'm glad he went home with the above story, as opposed to the memory he could have had.

He actually was a really cool guy -- considering some of the questions I saw people throwing at him when they found out he was at the Mac BU, an aptitude for patience must be required on the psychological profile.

I could just see his body language change when he was interacting with someone expecting him to be a representative of all things Microsoft-on-Mac, and I was reminded again of what a weird dichotomy these guys often have to deal with when it comes to the Mac base. They're generally at the Mac BU because they love the platform and work their asses off, yet Mac users have a habit of glorifying their products with one hand when its a convenient point against another platform, while viciously resenting the platforms dependence upon them with the other.

Rather than politely informing the umpteenth person that the Mac BU isn't responsible for the Mac version of Windows Media Player, I'd probably have gotten snarky. I was so impressed, I wonder if they're given a crash course on what to do if cornered by an angry Mac user.

Of GyazMail and Sway, Redux

Awhile back, in Of GyazMail and Sway, I mentioned that something in 10.4 seemed to be exacerbating some speed issues in GyazMail. This was my bad, and I need to own up to it -- I thought I'd tested it on a stock install but apparently I was wrong, as I found out while looking into something else near before Evening at Adler. Some interaction with ShapeShifter was causing certain views to have a massive slowdown, which didn't make sense, as ShapeShifter shouldn't be doing that.

For the most part, ShapeShifter just swaps graphics with no slowdown (sometimes feels faster), however if something is a custom view (like the labels field in the Finders contextual menu) there can be a miniscule hit -- as in imperceptible unless you counting milliseconds while profiling. It just shouldn't have been happening, so it was weird, so I was curious.

I contacted the author, which didn't go well at first once he heard APE was involved, but a few samples later and a bug was found in the date formatting code. This bug wasn't a huge deal on its own, but ShapeShifter was exacerbating it to the point where it was extremely noticeable. The author passed on version 1.3.3b5, which fixed the issue, and I'm going to assume that version 1.3.3 which is online now has the fix in for it.

Lessons:

  1. My memory is fallible, although like some of the below this is something I learned long ago.

  2. Many devs, when they hear APE is involved, have a tendency to shut down because they consider it something interacting with their software that's out of their control. This is exacerbated by many devs not spending much time in looking into APE and such.

    I.E., the first email back was "Sorry, nothing I can do, APE affects Cocoa below my program.", but it's worth not giving up on, unless the company is an extreme example like BareBones (who throws up an alert saying they see APE is installed, and to uninstall it before calling support), which I always thought was exceedingly lame for just this reason. Basically, if this had been a BareBones product, they'd probably still have that bug in there. There's an implied arrogance behind that error message I can't get behind.

  3. If someone had asked me whether or not ShapeShifter was causing this, and I'd have been forced to guess, I would drawn on what I knew ShapeShifter does, and I would have guessed wrong.

    Software interactions are a bitch, and the improbable should be checked, because it's still possible.

  4. I keep forgetting what a barrier language can be, especially when you're like me, and known to make up words.

  5. The ability for a user to be able to take a sample of a program instead of just saying "It went wonky doing this" or "It seems slow doing this" is extremely helpful to devs, and something more users should probably be aware of. In this case, if I hadn't been able to send off samples of it running with and without ShapeShifter, it probably would have been a taller task to get listened to.

In the interest of fairness:

  • There was a bug in Panther which made the situation quite a bit different when it came to anything using APE or mach_inject, and it caused some serious headaches. Basically, crash reports and samples and such had their symbols stripped, because the kernel wasn't going far enough down the tree, IIRC. This made debugging a crash report much harder than it would otherwise be, and really annoyed a lot of devs. Luckily, this was reported quite a bit to Apple, and was finally fixed in Tiger.

  • Developers don't like debugging other's code, and are often going to be sensitive when it comes to dealing with other's software and how it may be interacting with their own. Many devs go in with the assumption that the other guy's stuff is screwing up theirs, because it often is, just not intentionally.

To give you an idea, there's a company known for putting out camera drivers for the Mac that have a habit of assuming they're the only thing running, and unintentionally break other's software -- and they're then forced to debug wtf the other guys are doing, then tell them and hope it gets fixed, but since it's on the CD that comes with the camera and most people will never update, they really just have to figure out a workaround.

Dealing with interactions can get tiring after awhile, but the best devs seem to just want their software to work as well as possible, and it's sorta their job and why you're paying them for their software -- and I'm glad the author of GyazMail fell into that camp.

yummy alcohol posted button Posted by drunkenbatman
    November 18, 2005, at 05:11 AM


Comments (46)




Post a comment



Anonymous comments are allowed, but please enter something for a name.

And do endeavor to appear sane.









Remember personal info?