Dewey

Dewey is an open-source Collections editor for the Sony Reader PRS-505 (and maybe the PRS-700, but I don't have one to test). It is written in Cocoa and requires Mac OS X 10.5 or higher.
At the moment, Dewey is fairly feature-limited:
- • Add and remove collections
- • Add and remove books from collections
- • Reorganise books within collections
To add a book to the PRS-505 on Mac OS X, first copy the file to the /database/media/books directory on the device, then unplug it from your Mac. When the Reader has loaded, plug it back in - you will then be able to place the book into a collection using Dewey. Eventually you’ll be able to do this all in one step using Dewey, but I need to write code to parse the eBook formats to extract the title and author of the book, amongst other things before I can implement that feature.
Getting the Application
To to download the latest public build of Dewey, click here. This archive contains the application and the code used to build that version.
Dewey can update itself to the latest version automatically. To check for updates, choose “Check for Updates…” from the Dewey menu. Please note that this will update the application but not the code.
Getting the Code
The code is available on our public Bazaar repository: http://repo.kennettnet.co.uk/Dewey/
To check out a copy, you must install Bazaar. Then, open terminal and cd to the directory you wish the Dewey project to be placed in. Then enter:
bzr checkout http://repo.kennettnet.co.uk/Dewey/
Bazaar will then download the latest version of Dewey into a new folder in the directory you’re currently in. To update your branch to the newest version, in Terminal cd to the Dewey directory that contains your code, and enter:
bzr update
This will update Dewey to the very latest version.
KNAppGuide

KNAppGuide is a Cocoa framework for embedding "guides" into your application. Visually inspired by Apple Guide from the System 7 and 8 era, this framework brings this idea to the modern world of Cocoa.
Demo video:
Features include:
- Beautiful, intuitive tutorials to guide users through your application. A HUD window presents your guide content while a bold, clean highlight highlight the area in your application’s UI the user should focus their attention on.
- Intelligent UI handling. The guide will automatically move along as the user performs actions in your app. This makes guides much easier to follow, as your app’s user experience isn’t fragmented by having to click “Next Step” after every action.
- Easy integration. Using KNAppGuide is easy. Import the framework, build a guide in code or in a file (or a combination of the two). If you have your guide in a file, you can load it and begin its presentation in three lines of code.
- Extensible. If KNAppGuide doesn’t do quite what you need, it’s fully extensible out of the box - have it interact with your custom controls or present your guide content with your own custom guide UI. The guide loader is smart enough to instantiate any custom classes and set custom values without any modification to it at all.
Planned features include:
- A program to author help content so you don’t have to manually make plists.
- ... that’s it, so far. Submit feature requests please!
Using KNAppGuide
Adding KNAppGuide to your application is simple:
- Add the KNAppGuide framework into your application.
- Set up a “Copy Files” build step to your app’s build that copies files to the Frameworks folder, and add KNAppGuide to it.
- #import <KNAppGuide/KNAppGuide.h> in the class you’d like to use KNAppGuide in.
To load a guide from file and present it takes an almost negligible amount of code:
id <KNAppGuide> guide = [KNAppGuide guideWithName:@“Sample Guide.plist”
resolver:[KNAppGuideBasicKVCResolver basicResolverWithBaseObject:self]];
KNAppGuideHUDPresenter *presenter = [[KNAppGuideHUDPresenter alloc] initWithGuide:guide];
[presenter beginPresentation];
[presenter release];
Downloading the Framework
Note: To build the framework, you need a working copy of BGHUDAppKit. This is a wonderful framework for HUD controls, and Interface Builder needs a copy of the IB plugin to compile the XIB files that contain the controls. If you don’t have this framework and aren’t interested in downloading it, you’ll find a pre-built (but not necessarily up-to-date) version below.
The code is available on our public Bazaar repository: http://repo.kennettnet.co.uk/KNAppGuide/
To check out a copy, you must install Bazaar. Then, open terminal and cd to the directory you wish KNAppGuide to be placed in. Then enter:
bzr checkout http://repo.kennettnet.co.uk/KNAppGuide/
Bazaar will then download the latest version of KNAppGuide into a new folder in the directory you’re currently in. To update your branch to the newest version, in Terminal cd to the KNAppGuide directory that contains your code, and enter:
bzr update
This will update KNappGuide to the very latest version.
You can also download version 0.3 of the KNAppGuide project below. This includes a pre-built version of the demo application and framework if you’re not interested in the code, or don’t have BGHUDAppKit on your system to compile it from the repository. However, it is strongly recommended that you use the repository as that’ll stay more up-to-date than this page.
http://www.kennettnet.co.uk/code/files/KNAppGuideDemo.zip
iPhone Browser

iPhone Browser is a sample project that demonstrates the AFC classes I’ve written. These classes are intended to be an object-oriented, Cocoa-friendly framework to talk to AFC devices such as the iPod touch and iPhone.
iPhone Browser is a sample project that demonstrates the AFC classes I’ve written. These classes are intended to be an object-oriented, Cocoa-friendly framework to talk to AFC devices such as the iPod touch and iPhone.
Oh, and they also happen to power the iPhone compatibility of our flagship product, Music Rescue.
The very inner workings of the code are based on MobileDevice.h taken from the community and Disk for iPhone by Allen Porter. The OO framework on top of this is the main reason for this project’s release.
Important: iPhoneBrowser (as well as more or less all of the iPhone products out there, open source or not) use the private, undocumented MobileDevice framework that iTunes uses. KennettNet Software Limited or any of it’s employees cannot be held responsible for any data loss that may occur, and this code is provided without warranty.
Also important: Deleting random files is bad. You will break stuff.
Demo Application
- Simple browsing of the iPhone/iPod touch’s file system.
- Can preview text, image and QuickTime (audio, video) files.
- Can copy files to/from the device.
Code
- Easy-to-use Objective-C classes for working with the devices.
- Convinience methods for working the device’s filesystem (for example: (NSData *)contentsOfFileAtPath:(NSString *)path;)
- Access to raw filesystem methods if needed
iTunes 7.4 (ish) or higher is required, and the project was written in Xcode 3.0 on Mac OS X 10.5. The demo app uses features in the 10.5 frameworks, but the AFC classes will compile on 10.4. It shouldn’t be too hard to make the demo app work on 10.4 also.