Bookshelf 5.3 release notes for Mac

What's new in Bookshelf 5.3 (Mac)

(Also applies to CourseSmart Bookshelf and Evolve Ebooks release)

Accessibility
- Section 508 (1194.21 and 1194.31) compliant
- Improved VoiceOver Support
- Support for <alt> tags
- Support for english natural language description of MathML markup
- Improved keyboard navigation

Localized in 17 languages
- English, British English, French (France), Canadian French, Italian, German, Spanish (Spain), Central American Spanish, Portuguese (Portugal), Brazilian Portuguese, Polish, Dutch, Swedish, Danish, Norwegian, Finnish, and Russian.

Reference & Dictionary Changes
- Quick Reference window
- Book viewer enhancements
- MacOS X Service to look up selected text in Quick Reference

Notes & Highlights
- Fast highlighting
- Faster note syncing
- More responsive UI with large numbers of notes and highlights

Navigation enhancements
- Improved next / previous page buttons in PDF
- Next / previous chapter buttons with keyboard shortcuts
- chapter navigation popup
- Section level data shown as a chapter instead of in the book root

Usability
- Book list update check
- Content update check
- Account menu
- Help menu now redirects to the new support knowledge base
- Improved welcome sign-in screen

Numerous bug fixes and general interface improvements

Full list of changes:

* 64 bit versions of the Spotlight and QuickLook plug-ins. (VSTBS-2074)
* Dash view now exposes its selection as a settable attribute to VoiceOver, allowing the selection inserter to follow the voiceover cursor.
* Dash now has keyboard shortcuts for selecting text.
* Dash now reports selection changes to VoiceOver using the proper notifications.
* Esc events should be routed to the search field if there is no autocomplete popup visible. (related to VSTBS-2097)
* Install content from optical disk progress bar was stuck in the indeterminate state.
* Improved optical install cancel behavior. It now shows an inteterminate progress bar while waiting for the install thread to cancel, and the words "Stopping install..." Also fixed an issue where the main thread could block while waiting for the install to stop.
* Remove the reload contextual menu items for the webkit views in the optical media install screen and the pick list screen. In both cases, choosing "reload" from the menu causes the webkit view to go completely blank, and there really isn't a reason for these to have contextual menus.
* Add publication date and VBID to the tooltip and info window.
* Make the return key work in the figures and the notes tabs in the book window. It should do the same thing as a double-click - open the figure window or a note window.
* Make the delete key work in the notes tab.
* When updating an open book, the download controller closes the book before deleting. However, the book controller was autoreleased so it is keeping the file busy.
* When updating an open book, the book is now closed, updated, and then reopened to match Windows. Previously it was not reopening the book after the install.
* Improve accessibility of QuickTime movies.
* Using the tab key to cycle through controls works correctly in the Dash and picture book windows.
* Fixed a bug where the search edit field control was typing a tab character instead of tabbing to the next field when you press the tab key. This bug was introduced by the autocomplete changes.
* Sections are now treated as chapters. Each section shows its children in outline form, as does the root. This is done so that the sections don't "land" in the root. The book representation then becomes a list of chapters in-order, with no content out-of-order back in the book root.
* Links are now accessible to VoiceOver in Dash.
* Images in Dash are exposed as "links" in Dash via VoiceOver. Activating the link opens the image window.
* Movies and audio files are also exposed as links in Dash. Activating the link toggles playback - starts and stops.
* The invisible insertion point now follows the user's location within the book, when navigating using the table of contents or following a link. That makes it so that VoiceOver goes to the right place instead of jumping to the beginning of the chapter text. Currently it only does this when the user has nothing selected.
* The "Buy this book" button in the cover view is now visible to VoiceOver.
* Images, media (movies) and the Buy button now report their text values less confusingly instead of always saying "image" - and report their role.
* Fixed the activity window. It was broken in the 5.3a2 build for the VitalSource brand only.
* Add link accessibility support to SimpleDashView. This makes the "contact support" hyperlink in the crash dialog, and the "Buy this book" button in the cover view accessible.
* Add an accessibility description to the book cover images in the book info window and the cover view area.
* Add contextual menu accessibility support to the Dash view.
* Added next / previous chapter menu commands and keyboard shortcuts to Dash. Also added chapter navigation popup menu and buttons to Dash. (VSTBS-40, VSTBS-2065)
* Eliminated an annoying "New window" notification in VoiceOver when a custom tooltip window appears. The built-in tooltips are ignored by VoiceOver but my custom ones were not.
* Fixed a crash when closing a window during animation. (VSTBS-2108)
* Worked around a problem in Leopard / Snow Leopard with the "Smooth Scrolling" system setting by turning the setting off, just for Bookshelf. (VSTBS-1859)
* Add a "do not show this message again" checkbox to the delete custom folder dialog. Note that this checkbox only appears on 10.5 and 10.6 - Apple added an option to their standard alert dialog for showing this checkbox in 10.5.
* Added window title proxy icons to the book and figure windows. The icon behaves as a proxy for what the window represents when you drag it, and the path popup when you press command shows the item's place in Bookshelf's conceptual hierarchy. (Bookshelf -> Book -> Figure) Note that showing a proxy icon for anything other than a simple file path for a file saved to the file system is impossible prior to 10.5, so 10.4 just shows no icon as always.
* Fixed a bug where the figure icon has an erroneous "missing" badge when the image is a graphics file on disk that the user has dragged to a custom collection.
* Fixed a bug where the movie icon has an erroneous "missing" badge when the movie is contained in (and streamed from) a vbk container file, and the unpacked file doesn't exist.
* Implemented the proxy icon support for movies streamed from a VBK container.
* Made the remove item from custom collection dialog into a sheet and added the "Do not ask me again" checkbox.
* Added "Do not ask me again" checkbox to the delete note confirmation and the delete multiple highlights confirmation.
* Implement keyboard selection in picture books, which works like it does in Dash.
* When there is no text selected, set the insertion point to the location navigated to when navigating using the TOC in picture books. This matches the Dash behavior.
* Lots of bug fixes reading the text in picture books with VoiceOver.
* Add contextual menu accessibility support to the picture book view.
* Optimization that makes font substitution much faster in Dash, particularly on 10.6.
* Moved account-related stuff from the Help menu to the Account menu.
* Page column header sized correctly so header is not truncated.
* Lots of performance improvements.
* Fixed bugs with the three table of contents outline objects: picture book TOC, Dash TOC, and search results TOC (which is the same object for both Dash and picture books). (VSTBS-2113)
* Notes and highlights optimizations for large notes databases. (VSTBS-2112)
* Automatically check for new version of book on open. Automated verison check in background happens once every two days to avoid bombarding the servers. (Period is hardcoded but we can adjust this if needed.)
* Automatically check for license update on startup. If there is a license update, prompt the user to see if they want to update their license.
* Change the dialogs for book version check to be sheets. This makes it more clear when the automatic check happens what book its exactly talking about, since otherwise you may not realize you did a version check.
* Fix a crash when deleting multiple highlights from under a note window. (VSTBS-2114)
* Lazily load the address book people picker when it is needed. It was being loaded on program launch, which slows down launch times. Additionally, this frequently causes crashes on startup on 10.6, particularly for Exchange users.
* Fix a bug where the page number in the table of contents in the Contents tab is not right. Sometimes the processing instruction is after the start of the element title but before its text, or inside the title just after the label. In these cases Dash (correctly) renders the page break as if its at the very beginning of the chapter, but the TOC page number wasn't relecting this.
* Fix a bug where page breaks that occur right at the beginning of a chapter occasionally also show up in the book root or section view between the links. Turns out this occurs when the page break processing instruction is inside the title element - it gets pulled in when we load the title element to build a link from it. Strip those processing instructions out.
* Remove gray background bar for terms that are already inside a box.
* Make the "Where am I?" feature more accurate, particularly for terms.
* Fix a bug where, when the "Inside books" column takes long enough to load, it delays the second click of a double-click beyond the double-click interval when opening a book.
* New URL form: vbk:all_references?q=search to search all references using the quick lookup palette.
* Better error messages when the network is down, including use of the network diagnostics dialog you may have seen in Safari to aid the user in diagnosing the network problem.
* PDF view delete note needs to show the warning suppression button (and respect the preference).
* Remove the code to draw a border around a title in Dash. It was leaving weird spacing around the titles, because it was leaving room for the border. This looks really odd if there is no visible border. We started defaulting the border color to white a while back, so most users are experiencing this spacing issue.
* Remove the title border and background colors from the preferences.
* Better message in the enable syncing dialog.
* Fix the width of the page # column in the picture book window so the header text is visible.
* Fix the Title columns in the Table of Contents of the picture book view and the Table of Contents search results of the Dash book view so they're not resizable.
* Make the window save / restore state code more consistent between Dash and picture books.
* Partial search results in term hits were not highlighted correctly in terms that are displayed as part of a full chapter view. This is more noticable now that we display reference books as books, but it also affects traditional books that have terms such as glossaries.
* Sorting by sort title should not be case sensitive.
* Use the support and help URL from services instead of the hardcoded values.
* Fix a bug where, if the app needed to use a URL that was returned by services, it would make the services call even if the URL it needed was cached. But, when the services call returned it would ignore the value because it already had it cached. Worse yet, the services call could fail and the app would refuse to use the URL, even though it was just going to use the value it had cached anyhow. If the value is cached, it should just use it and not make the services call at all.
* Treat terms like titles for printing - keep them with the next item in the printout.
* The page layout toolbar button icon was not reflecting the current page layout setting when the window is first opened, it was always defaulting to the browser icon.
* Made Bookshelf more responsive during notes and highlights syncing operations, particularly with thousands of notes, by moving the operation that recieves and processes highlights from the server to a background thread.
* Accessibility fixes relating to textual representations of images. The user can move a word at a time through the image description, instead of hiding the voiceover cursor when this is going on, we still put the voiceover cursor over the image.
* Add support for alt attributes occurring inside of: graphic, inline.graphic, media, inline.media, and mathml elements. An alt attribute provides accessibility text for the item it occurs inside.
* Inline media elements now default to "movie" or "audio" for their accessibility text if no alt is provided. This gives their on/off trigger link some text to anchor to. Previously, their text was just a space, which meant that VoiceOver would skip over the media "link" and say the word "link," but there was no way to navigate the VoiceOver cursor to it to trigger it.
* Fix some problems with accessibility. VoiceOver gets confused trying to switch its focus to the book window if a book takes too long to open and gives up, leaving the VoiceOver cursor on the bookshelf window.
* Improved the way the scroll position follows the VoiceOver cursor. It's not perfect (reading mode gets slightly confused in the boundaries between pages still) but its a lot better than it was before. You have to be sighted to notice the glitch.
* Eliminate some Loading screen flicker for books that open quickly.
* Don't let VoiceOver announce the autocomplete window. Autocomplete doesn't really work with accessibility right now.
* Use the accessibility text for the "Speak Text" command. This allows it to read the converted mathml and the image alt text.
* If compression of note sharing data fails, log the issue and fall back to the uncompressed data instead of crashing.
* Replace the welcome screen with a simple login panel, directly in the welcome screen. This mimics the sign-in screen in Online.
* Keyboard navigation is much improved in the bookshelf window now.
* The custom push buttons used in the welcome screen handle keyboard control focus correctly now.
* Add logging of all books that were open during a crash to the crash log.
* Force a "full" license update whenever the user does "Update License" from the menu. Just do an incremental license update otherwise. (#3183)
* New UI for showing / hiding markers. Added a contextual menu to show/hide markers in the Bookshelf window source list. Also give visual feedback that a marker is hidden by showing it faded. (Part of #3291)
* Also, by right-clicking on a group of shared markers, you can either hide or show the entire group. If all markers in a group are hidden, the group icon is also shown faded. (#3274)
* Scroll bookshelf window source list to reveal initial selection on startup.
* Advanced search was passing a list of all of the search terms into the book. Should only pass the terms that are meant to be searched on inside the book - in other words, omit the title/author filter. Otherwise more often than not you end up doing a search, seeing a lot of hits, then seeing no hits when you open the book. Its still not perfect, just because Advanced Search separates note search terms from book search terms, and the book window has no way to replicate this. (#3324)
* Weird gap between scrollbar and grow box in column view fixed. (#3219)
* Remove the support menu option from the help menu, because it is redundant: both help and support now take the user to the support home page.
* Added an accessibility description for the source list column in the bookshelf window. The different rows in the source list are different types of data with different behavior, differentiated by their icons; this information needs to be conveyed through voiceover. The accessibility description also allows a blind user to tell if a highlighter is hidden.
* Bookshelf window accessibility fixes:
- Warning image in subscription dialog and sign-in dialog needed accessibility descriptions.
- Progress indicator and error field in subscription dialog need to be hidden when not in use.
- Accessibility description for the checkmark in the Friends preference panel, and for the validation icons in the friends table.
* Picture book window accessibility fix - book view does not get focused when VoiceOver navigates to it.
* Don't create the Unimportant highlighter any longer as part of the default highlighter set.
* PDF Accessibility enhancements
- When books are built with MakePB v1.0a15 or later running on MacOS 10.6 - we can now differentiate between paragraphs and lines in Bookshelf. Previously each line was treated as a separate paragraph, which caused operations that operate on paragraphs and sentences that span lines to fail.
- When VO asks for a line number in a picture book, it has to find all of the linebreaks for all of the pages before the current line. This can be very slow and can lock up Bookshelf with the wait cursor. MakePB v1.0a15 embeds a line count in the metadata for each page, and Bookshelf can use these to very quickly find the line indices anywhere in the book.
- Worked around a voiceover bug where, when you navigate to the top of a book with the table of contents, VoiceOver arbitrarily decides to take you back to where you were before in the book instead of where you asked to go. (Also fixed for Dash books too.)
- Fixed a crashing bug.
- Improved the ability of the book window to scroll along with the user as they interact with the text.
* Worked around a problem in Dash books with VoiceOver on 10.5 where VO gets stuck and the previous line command doesn't work.
* Added keyboard shortcuts for selecting to the beginning / end of lines.
* Dash accessibility fix - when moving the voiceover cursor to a scaled table, it was not correctly scaling the rectangle of the voiceover cursor to match the table.
* Reinstate the "don't ask if I want automated update checking on first launch" rule, which was lost because of how Sparkle worked. I figured out a way to delay Sparkle's startup checks (or skip it entirely).
* If a license update was done on launch, just skip the software update version check because it'll just interrupt the license update.
* Also skip the software update on startup when there's a crash to report. As soon as the crash dialog is dismissed we're going to do a check anyhow, and it is annoying to have the crash dialog obscured by the software update dialog.
* If the user has a valid license file and a saved password, try to log in with that password and the email address from their license. If login fails, then show the sign-in dialog so they can fix the password.
* In the sign-in dialog, if the user has a valid license file, fill in the email but don't let them change it. Changing user accounts in this manner has never really been supported and can end up mixing user data.
* Fix an issue where dragging to custom groups is broken while the download or notes spinners are going. (#3490)
* Add support for "fast highlight" mode, which already exists on Windows. (#3199, #3479) Also fix some xplat bugs related to keyboard selection and triple-clicking to highlight a line in fast highlight mode. (#3493)
* Force a full license udpate when updating a demo license for the first time. This fixes a bug where, when you have a demo license, if you sign in as a different user (instead of registering) you might not have access to the same content.
* Change the wording of the dialogs that tell you that you have to update your license. Initial pass at this, would not surprise me if more changes are needed.
* Change the wording throughout the application related to checking for new "versions" of books. In publishing the term "version" could be misconstrued as a new edition.
* New page forward / back buttons in picture books. They are now invisible until you mouse over them, yet the hit area is much larger - the entire space to the left / right of the page. The old previous / next page icon is now a previous / next chapter icon, so the old icon button needed to change.
* Add the chapter navigation widget to the picture book window, matching the Dash one.
* Change "Update License" to "Update Book List." Some other textual changes are needed as well, in the license update progress.
* Fix capitalization in menus. Menu items should follow the rules for title capitalization. (#3519)
* Add the email address of the user's currently registered account to the account menu and to the about box.
* Make the custom tooltip windows fade out and disappear after 10 seconds, matching the behavior of system tooltips.
* Activate the bookshelf window when a search is triggered programmatically.
* The "Clear" menu option in the standard Edit menu commands changed to "Delete" several OS releases ago, and we didn't update ours. "Clear" was broken and did nothing. Updated it to "Delete."
* Bring the Bookshelf window to the front when the user chooses "Redeem code..." or "Refresh book list" from the Account menu.
* Updated translations for all of the existing languages.
* Renamed the language folders to fix issues with how the languages were being handled by MacOS X. This also fixes some issues with Sparkle localizations not being used.
* Fixed a problem where the EULA in CourseSmart can't be found if the language is not set to English. (#3613)