I’m Old, Part XXV: Itty Bitty Buttons

One of the magic words that people look for in resumés is “detail-oriented.” At the time that Acrobat was being written, Apple published extensive user-interface guidelines along with piles of tech notes to help you achieve these results. It seemed that for the people who worked directly on the Mac product, me, Mike Pell, and Alan Wootton, each had their own approach to doing things. Sometimes, things got dumped on us and we did a half-assed implementation to just get it done. Other times, we might pick that particular feature as our hill to die on to get it implemented the right way.


For example, sticky note annotations were an endless source of bugs and the initial cut looked, well, like crap. Part of the problem was that when sticky notes required scrollbars, they were teeny tiny so as not to waste too much screen real estate. Macintosh scroll bars were designed to be 16 pixels wide for vertical bars, or 16 pixels high for horizontal ones. In sticky notes, we were making them half that size. Even though the built-in scroll bars scaled to any size, they looked especially crappy when shrunk to half their expected size.

I picked this hill to die on. In the Macintosh UI you could make custom control plug-ins called CDEFs. I did the work to figure out how to make these and put together custom scroll bars that looked good at that size, and matched the Macintosh UI. Mike Pell pointed out that Apple had just release new guidelines for how to reflect color “tinge” settings that the user might make, so I updated the code to reflect that. But it got trickier, because the user could select a variety of color settings or they might be on a Mac Plus (the oldest Mac we supported in 1.0), which was 1 bit, black and white only. So I made sure I had support for that too. Then, in talking with Joe Holt, I discovered the joys of trying to make sure that your display supported multiple monitors with multiple bit depths. He gifted me a slick, small chunk of code called “ForEachIntersectingMonitor”, which made that task much easier.

I did all of this to make sure that the user experience for itty-bitty scroll bars on sticky notes was ideal. And in Acrobat 2.0, that all got torn out and thrown away. More than once, I reported bugs on the scroll bars in sticky notes in the 2.0 product out of sheer spite.

2 thoughts on “I’m Old, Part XXV: Itty Bitty Buttons”

  1. I remember writing a voice annotation plugin when the plugin API was brand new. It only worked on Macs, but it felt like an accomplishment at the time.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.