Home | Parent | ← Go → | Prior | Next

# 5.2 Acknowledgements

Topics on this Page

- Beta Testers
- Open-Source Code
- Teachers
- Tools

## 5.2.1 Beta Testers

Our sincere thanks to the following people who contributed feedback, many of whom persisted with great patience, during the Beta Test of BookMacster, between November 2009 through May 2010.

- Alexander Hoffmann in Trier

- Andreas Zeitler of Mac OS X Screencasts in London

- Andrew Lyles of New York, New York (“Say it twice, we’re kinda slow”)

- Bradley MacDonald of Chevy Chase

- Charles WJ in France

- Mr. D. Wright of Wasilla, Alaska

- Eric O’Brien of Possibility Engine in Seattle, USA

- Faisal N. Jawdat

- Mr. Frank H. Wu of San Francisco

- Guy Kawasaki of Alltop, Palo Alto

- John M. Knapp, LMSW, of Knapp Family Counseling in Malone, NY

- Leo Marihart of Lemoore, California, USA

- macmystic in Venezuela

- Mads Vestergaard in Copenhagen

- Mark Dymek of Mark’s Computer Repair in Boston, MA

- Mike Harris in Chicago

- Nic Giannandrea of Visalia, CA

- Nikolaos Anastopoulos in Greece

- Rick Mathes of Egoscue - Austin in Austin, TX

- Roland Schama of Seven Hills, OH

- Steve Mayer in Aloha, OR

- Steven Wickliffe of Evanston

- Tedkl

- Yoni Blumberg of Northfield, MN

- and a couple dozen others who contributed anonymously

## 5.2.2 Open-Source Code

- Graham Cox wrote and published the GCUndoManager which provides Undo and Redo support. Yes, GCUndoManager plays with Apple’s Core Data!

- The Check For Updates feature is implemented by the Sparkle framework, written and maintained by Andy Matuschak, and provided under license.

- We read/write JavaScript Object Notation using the Cocoa categories from the BSJSONAdditions which is among the source code published by Blake Seely, and used under license. The latest code is available on the project’s github.

- The Firefox reader/writer (when Firefox is not running) uses the latest version of SQLite, written and placed into the public domain by D. Richard Hipp of Hipp, Wyrick & Company, Inc..

- The text fields used to record keyboard shortcuts in the Shortcuts tab of the Preferences in Markster and BookMacster are the shortcutrecorder. We use the code from this project under the contributor’s New BSD License.

- BookMacster’s Google Bookmarks parser uses essentially the RSS Class written by Brent Simmons, provided under license by Ranchero Software, the maker of NetNewsWire for Mac.

- Michael Ash wrote and published the MAKVONotificationCenter, which allows our apps to have “Key-Value Observing Done Right”.

- The code implementing our Preferences window is based substantially on the UKPrefsPanel, from the collection of source code written by Uli Kusterer.

- The Tags View in the document window is based on the Tag Cloud NSView.

- Code for using Core Animation to animate this “Hint” arrow was copied and modified from Core Animation Tutorial: Window Shake Effect, by Marcus Zarra

- Parsing and unparsing of dates formatted per ISO 8601 in XBEL files is done using the ISO8601DateFormatter class written by Peter Hosey.

- The star rater thingey was adapted from EDStarRating, by Ernesto Garcia, of cocoaWithChurros.

- Changes in bookmarks trees are detected using the mix() function, published by Robert Jenkins, for nonlinearly combining hash values.

- The popup menu in the Content View is based in part on the KBPopUpTableHeaderCell published by Keith Blount of Literature & Latte.

- The idea to use an attached window to make the blue “Hint” (Help) arrow, and most of the heavy lifting code, was copied and modified from MAAttachedWindow by Matt Gemmell.

- The tooltip window which drags with the mouse is based on the ToolTip class published by Eric Forget of Cafederic.

- The small blue “bookmark” and some of the other stock icons are from the kit created by Jasper Hauser of JasperHauser.nl Icon Design.

- The orange “RSS” icon used for Firefox Live Bookmarks is from the Developer Icons set published by Matt Ball.

- Additional code used under license from Whistle Communications.

- Cool sound effects were provided by SoundJay.com. They have many high-quality sound effects available.

## 5.2.3 Teachers

- Quitting Chrome and Firefox was only about 98% reliable until we learned a trick from AppleScript guru Shane Stanley.

- Use of the EVP functions to generate SHA1 and MD5 hash algorithms was learned from the NSData_AMDigest category written by Andreas Mayer.

## 5.2.4 Tools

- The Help Book is produced with our own Perl script which invokes Fletcher Penney’s MultiMarkdown, which is in turn built on John Gruber’s Markdown, and also invokes John Gruber’s SmartyPants.

Home | Parent | ← Go → | Prior | Next