November 2008 Archives

Sente Available on Amazon.com

| No Comments
We are pleased to announce that it is now possible to purchase Sente on CD-ROM through Amazon.com (at least in the US).

Sente 5, Academic License (Mac)

For many people, downloading and purchasing a license on-line will remain the best option, but we regularly receive requests for an actual physical package, and this option fills that need.


Amazon's Sente page says that it has been available since September, but given that they only received the product from us two days ago, this is not really the case.

You will notice that as of today, no reviews have been posted.  Existing customers, no matter how they purchased the product, can always post their thoughts on Amazon, should they be so inclined...


Improved Note Taking

| 5 Comments
I would like to say a few words about our latest release, which includes a major update to Sente's note-taking features.

Since the release of version 5.0 in 2007, Sente has included the ability to attach multiple notes to each reference. (Earlier versions restricted you to a single note per reference.) Each note included a title, page range, quotation and comments.

For many users, this has been a valuable feature, and they mention it regularly in posts about Sente. But we have never been particularly fond of Sente's interface for creating and editing notes. It worked, but it was neither attractive nor terribly functional.

In Sente 5.7, we have completely rewritten the notes interface and we are much happier with the results.  In the new interface, it is easy to see more than one note at a time, and we make better use of limited screen space.  Also, it is now possible to copy one or more notes from within the Notes view, and then to paste them into most other applications.

We have also added a feature that makes it simple to create notes from selections in PDFs or web pages. You can select either text or any arbitrary region in either a PDF or a web page, and then, if you click on the Create Note button, Sente will automatically create a new note for the current reference using the selection as the quotation.  Sente will also fill in the page numbers and add a placeholder title for you.

This ability to create notes from PDFs is not intended as a replacement for tools that let you mark-up a PDF, like Preview and Skim.  If what you want to accomplish is to highlight portions of a PDF so that the next time you read the document you will see these annotations, then we would recommend that you use one of these other tools.  (Annotations created in Preview, unlike those created in Skim, will show up in the Links view within Sente, so you will not need to return to Preview to view them.)

These changes should make Sente's notes feature more useful to many of our users.  I would encourage you to watch the new video on our web site and then to download the latest version and give it a try.

User Interface Design: Inactive Controls

| 1 Comment
We are in the middle of implementing some new features in Sente and we are faced with a common design dilemma that I am surprised has not, at least as far as I am aware, been resolved in a standard way across all applications.

The issue is what to do about controls for operations when those operation cannot be performed.

The basic answer in Cocoa is that controls (menu items, buttons, etc.) for operations that cannot be performed should be disabled.  Thus, when writing in a text editor, if there is no test selected, the Edit > Copy command is greyed out, meaning there is nothing that can be copied right now.

The problem with this approach is that it does not really help the user very much.  They know that they cannot perform the operation, but they do not know why and what they need to do to be able to perform the operation.  For me personally, this is one of the most common problems I face when trying out new software.  It may be obvious to the developer why the greyed out operation is not available right now, but I am often at a complete loss as to why this would be the case.

I have heard people suggest that you leave the command active (i.e., not greyed out) and pop up an error sheet when the command is invoked inappropriately.  The problem I have with this option is that you lose the quick feedback that an inactive control gives you -- you have to go down the blind alley to find out that it leads nowhere.  Particularly after you understand when a particular command makes sense and when it does not, deactivating it when it is invalid is helpful.

Another approach I have heard of fakes the deactivation but leaves the command executable.  For example, if Copy made no sense, it would appear grey in the menu, but it could still be selected.  The developer would then open an error sheet (or something similar) to explain why the command can not be executed.  While there is much that I like about this approach (immediate feedback of "deactivation"; simple, consistent method for getting more information) it also has some important problems.  One, it is not standard, so most users will not know that they can select an inactive control.  Two, it is not supported in the Cocoa frameworks, so it would require quite a bit of development on the part of every developer to make it work.  Three, there is no visible indication that an explanation is available, so less experienced users would have to be told that this convention existed.

One more approach is to use the fly-over help on controls to explain when they can be used.  This could be very helpful, but... One, it does not work for menu items (they do not have flyover help).  And, two, because this is not a standard, many people will not find the messages even where they exist.

So, in the end, I don't think any of these options is good enough and I cannot think of anything better.  What I really want is a solution that:

1) is genuinely standard, and this means that it is implemented in the Cocoa frameworks so that everyone gets it "for free" just by following the normal development process and experienced users expect it to be used

2) preserves the immediate feedback of inactive controls

3) is obvious (or at least visible) for users who do not yet know how to get this information

Anyone have any ideas about what such a mechanism might look like?  Or do you think I am making too much of this problem and that the existing conventions/tools are adequate?

Michael