jb… a weblog by Jonathan Buys

Go2 1.3 Release Notes

Most release notes are so dull. A cut and paste list of code changes, new features, and fixed bugs. Go2 version 1.3 certainly contains it’s share of fixes and enhancements, but this is Farmdog, so Go2’s release notes are more of a story.

1.3 began development shortly after 1.2 was released. 1.2 was solid, so I thought I’d turn my attention to the user interface, and add a feature that I’ve been wanting for a long time, the ability to organize my bookmarks with smart folders. However, The existing interface of Go2 was going to need a major overhaul for smart folders to make any sense, so I went to work refining and expanding the main window. It would be wrong not to mention that I’ve drawn inspiration from both Twitter and Sparrow, not to mention LittleSnapper.

Along the way I found a few annoying bugs that were present in 1.2 that I’ve now fixed in 1.3. For example, the “Add Bookmark” and “Edit Bookmark” dialogs are now using the same panel, where before they used two different panels. Little things like that led to duplication of code, which invariably leads to mistakes. I also experimented with ideas, some of which led to some great improvements. One of which was a new bookmark wizard. The wizard was, in my opinion, very nice. It walked you through creating a bookmark one step at a time, asking first for the protocol scheme, then the host, and then the path, and optionally a username and password combination. It was all nicely animated, and I loved it.

Then, someone who knows far better than I said “When you think to your self, ‘I should make a wizard’, slap yourself and then dont”. He was right, Go2 is a professional’s tool, professionals that I’m marketing to don’t need a wizard, they need speed and tools that don’t make them think. So, I took his advice and instead added the ability for Go2 to pre-populate the new bookmark field if it finds a URL in your clipboard. So, if you copy a URL from someone else, switch to Go2 and hit Command-N, the URL you just copied will be there. It works great, and its a feature that Go2 would not have had if it were not for the wizard.

Next were the smart folders, and the outline view that they live in. I used an open source project to build the outline view, and I’m pretty happy with how it turned out. However, it did take a lot of work and several versions before it finally turned out right. I won’t get into all the details here, but the smart folders almost drove me nuts.

Another feature that was far more difficult than it should have been was the center information button. The function of the button was not hard, but I spent weeks getting the look of it just right. I finally was able to use an icon that one of my awesome beta testers created for me, and it couldn’t be more perfect. I probably went through fifteen iterations of that button.

Come to think of it, the addition of buttons has been something that I have tried to avoid at all costs. I really hope I’ve hit just the right balance of usability and aesthetic appeal.

Towards what I was thinking should have been the end of the beta cycle, I simply became overloaded with things to do. I talk about it at length in my article The Experiment, but in June Farmdog went on hiatus until I finish my Masters degree at Iowa State. I put away the code, and focused on my family, my day job, and my classwork, and took a break from development for a few months. I miss developing on a regular basis, but this is a necessity. Last month, I learned that Apple was going to require all App Store applications to be sandboxed. I had some time, I knew Go2 1.3 was nearly complete, so I once again dug out Xcode and decided to ship 1.3.

I knew from before that Go2 ran fine on 10.7, but what I did not expect was that my reliance on one third party tool, ShortcutRecorder, was going to cause me so much pain. Xcode 4 does not allow Interface Builder plugins, so I spent several days getting all the right pieces in all the right places so Go2 would compile cleanly. Lesson learned, no more frameworks, it’s write it myself or it doesn’t ship. The next version of Go2 will not have ShortcutRecorder.

Despite the initial problems with compiling Go2 on Lion, Go2 is now updated, clean, and runs great. I’ve fixed the bugs that were preventing me from shipping it earlier. I’ve been using it at home and at work for months now, and I’m happy to ship it. Go2 is sandboxed, so its data now lives in ~/Library/Containers/com.farmdog.go2/data. If you want to integrate Go2 with Quicksilver (which is what I do), export the bookmarks for Spotlight indexing, and have Quicksilver index ~/Library/Containers/com.farmdog.go2/Data/Documents/Go2Data. Works like a charm.

I do not expect any problems with the new release, but if you see any, please let me know and I’ll be happy to do my best to make it right. I am still in school for another three semesters, and Farmdog is still officially on hiatus, but I’ll be adding small fixes here and there to Go2 as I have time.

The final lesson I’ve learned from 1.3 is to stop making major changes in minor point releases. 1.3 will be the last such release, point releases beginning with 1.4 will be very minor changes, with any new features or major modifications being worked into version 2.0.

I hope you enjoy Go2 version 1.3, and I truly hope it makes your day just a little bit easier.

Thank you.

farmdog go2 indie