Solve Gmail's Disappearing Cursor in Safari
This has been annoying me for the longest time.
Gmail uses Flash to provide “advanced attachment features,” the capability to attach multiple files at once and to display progress bars while attachments upload. As far as I know, that’s the only place Gmail relies on Flash, and if you switch to Basic Attachment Features in Gmail’s Settings, that eliminates Gmail’s use of Flash and works around the bug.
I’ve looked for a solution before, but it was never given a high priority. I guess I just assumed that Google and/or Apple would care enough about getting it fixed to, you know, fix it. Apparently not.
The fix is somewhat “hacky”, but it works and I haven’t felt any sense of lost functionality in the short time since turning off the whiz-bang attachment functionality.
FlickrPlus Changes

I spent a good bit of time this weekend making changes to my FlickrPlus extension for Safari. Most of the changes are under the hood, but one in particular is not.
I’d never been happy with how I was displaying Exif data. I built and released that functionality quickly with the intent of iterating on the visual bits, but it’s hard to iterate when you can’t decide how to proceed. Even though I hated what I had done (at least as a permanent solution), the non-designer in me didn’t have a clear idea of how to make it better.
Late last week it hit me. What if I could find a way to display the Exif data on the “back” of the image?
Since this is a Safari extension, I don’t have to deal with cross-browser issues and Safari has outstanding support for CSS3—including transitions and animation. If I could treat the image as a some sort of card and apply an Exif panel to the back of that card, then I’d be able to “flip” the card to display the Exif info and flip it back when I was done reading. Think about that Kirk Gibson baseball card you had as a kid. How many times did you flip that card to read the stats? The same idea applies here.
Information about the extension as a whole and these changes in particular can be found on the project wiki page.
Add to Google Reader Changes

One of the things that I really wanted to do with my Add to Google extension for Safari was to offer the option of subscribing via iGoogle. I didn’t expect it to be a popular option and, as far as I know, it’s not. It was, however, educational to implement and I like to think it offered some kind value-add, even if it wasn’t widely used. That said, it’s going away (hopefully to return someday).
Safari’s extension API doesn’t support this functionality in any kind of elegant manner. Under the hood, hijacking the RSS button really means capturing Safari’s native feed display page (it’s just a new page request after all) before it gets shown and redirecting. It’s essentially a meta refresh with a value of zero, except that Safari’s extension API provides a hook into the process immediately before the new page is loaded. If the redirection is executed via that hook, then it can happen in a manner that’s completely transparent to the user.
At this point in the execution process (i.e. the hook executed before the page is loaded), though, settings can’t be accessed cleanly. In order to read the extension settings:
- A second file—a “global HTML” file—has to be loaded.
- An asynchronous message requesting the extension’s current settings has to be passed to the new file.
- A message containing the settings has to be returned to the start script.
- The start script has to process the settings and redirect appropriately.
In the strictest functional sense, I had this working, but it had to be hacked. I could live with the inelegance of the hacked solution, but a natural by-product of doing all this work and, moreover, doing it asynchronously was that the Safari feed page was loaded before the settings were returned and redirection could occur. The timing of all this created a user experience that I found completely unacceptable because it made the redirection very obvious and annoying.
Unless and until Safari provides a more robust API that can handle this kind of interception and interaction—specifically synchronous messaging, I’m going to remove the ability to subscribe via iGoogle. My apologies to anyone who was actively using or relying on this feature. I will bring it back if and when I can do so without compromising user experience. If anyone has a problem with this, let me know and I’ll make an earlier release available.
I’ve updated the changelog on the project wiki accordingly.
Safari Extension: FlickrPlus
As a photography hobbyist—I hate to even use the term amateur at this point—and avid user of Flickr for sharing my photos, I spend more than a little time looking at, being inspired by and trying to learn from some of the amazingly talented photographers that also share their work there.
As much as I love the site for what it does and even its general user experience, There are some other aspects of the experience that drive me crazy. Chief among those aspects is the tendency of the site to require multiple clicks to access some useful functionality where I believe only one should be required. This extension seeks to eliminate that annoyance.
More information about the FlickrPlus extension for Safari 5 can be found on the project’s wiki page. If you’re not interested in the blah, blah, blah or the yada, yada, yada, you can download it directly.
Suggestions and reports of issues are always welcome and encouraged. Please create a ticket to do so. If you’d rather take the project in a different direction all together, feel free to fork it—it’s freeware released under the do-whatever-the-hell-you-want-with-it license.
Safari Extension: Add Google Reader

I wrote about this a few weeks ago, but given all the movement around these here parts, I thought I’d double down. You know, just in case you were sitting home on a Friday night pondering the native capabilities of your Safari browser and thinking to yourself…
Self, this browser would be just about perfect if I could only click that RSS button up there in the address bar and subscribe to the feed in Google Reader instead of using Safari’s native display or a desktop reader.
If you were thinking that—and let’s face it, you know you were—then I’ve got just the solution. Check out my Add to Google Reader extension for Safari 5. This is a pretty simple extension that does exactly what it says it does, so if you don’t like reading all of the whatnots you can download it directly.
If you have any problems, feel free to create a ticket. You can also fork the project yourself and go to town if you like the idea, but want to take it in a different direction. If you have any questions, I’m working on a Contact page, but I’m all over the web so I’m sure you can track me down.

