Curio 11.1 Release Notes

Release Date

March 11, 2017

Requirements

Curio 11 runs on OS X Yosemite (10.10), OS X El Capitan (10.11), or macOS Sierra (10.12).

Editions

Features only available in certain editions will be listed with colored tags like , , . For example, next to a feature means that the feature is available only in the Professional edition of Curio.

Features

Search Improvements

Previously Curio would always search within asset contents when you specified a text search criteria within the Search shelf. Now, however, you can decide on-the-fly if Curio should search asset contents or not.

Content Searching Via SearchKit

Curio generally uses Apple's venerable SearchKit framework to index and search assets. This framework can handle many popular basic types like text, RTF, PDF, and apparently some Apple file types like Pages. However, SearchKit does not piggyback on Spotlight's capabilities thus can't be extended to search within 3rd party documents via Spotlight plugins.

Content Searching Via Spotlight

Curio Professional users can enable a new feature called external project library which places your project's asset library alongside the project file instead of hidden within the project package. This means your projects are now discoverable by Spotlight!

So now in Curio 11.1, for your projects that have external libraries, Curio will use Spotlight instead of SearchKit to look within 3rd party files that have Spotlight plugin support.

Tweaks

  • Highlight Text
    A new Format > Highlight Text menu item and ⌃⌘H keyboard shortcut (same as Preview's shortcut) allow you to quickly change the background color of selected text in a text figure. The color used for the highlight comes from the text inspector bar's background color control.
  • Search Shelf
    Pressing ⌘F changes to the Search shelf. If you press it again it will either restore the previously displayed shelf or hide the shelf, if appropriate.
  • Organizer Document Autosave
    Autosave now manages any Organizer documents you might be editing within Curio, which means they are automatically saved periodically. Previously they were only saved when you switched to another Organizer item or closed the project.
  • HTML Export
    The HTML export now includes asset tag names in the exported Javascript imagemap data for custom HTML gurus to work with.
  • RTF View Inset / RTF View Color
    Curio now supports new advanced settings for overriding the margin and background color for an RTF Organizer item. View via the Hep > Advanced Settings menu item.

Experimental Style Change ⚗

We're exploring some tweaks to Curio's automatic styling in lists and mind maps.

Level Styles

As you know, both lists and mind maps support level styles. This style information is used to define what items look like by default at different hierarchical levels. You can easily define a style for a level by right-clicking on a figure and choosing Copy Style to Level. When you move items around or promote/demote items within a list, for example, they adopt the appropriate level style.

Sibling Style Override?!

However, back in Curio 9, we made it so when you added a new item into a list or mind map that new item would adopt the styling of its previous sibling. Why? That way, if you changed the styling of a current item — perhaps gave it a checkbox or changed it to bold — then when you press Return the new item will adopt that styling instead of defaulting to whatever the level style is.

However, this makes the styling confusing: a list may have a level style but then this adjoining sibling style can override it! Worse, it's not always clear what's going on, even for experienced users.

Making it Better

We'll keep this logic as-is for now, but we'd like to turn off this sibling style override in the near future. We're introducing some new advanced settings to work towards that direction.

If you'd like to see where we're going, you can disable sibling style overrides with the following Terminal command or just click the link:

defaults write com.zengobi.curio "Collection Adopt Sibling Style" -bool no

Note that even if adopt sibling style is disabled, the visibility of checkboxes and start/due dates will still automatically adopt from the sibling, since this was indeed a handy feature of the previous functionality. So this means the newly added item would first take the level style, then enable the checkbox or date adornments based on its sibling.

However, you can even control this automatic behavior with these additional settings:

defaults write com.zengobi.curio "Collection Adopt Sibling Show Check" -bool no

defaults write com.zengobi.curio "Collection Adopt Sibling Use Dates" -bool no

Feedback Requested!

Feedback is welcome either via email or in this forums discussion.

Debug Menu 🐜

Psst! Curio now has a secret Debug menu! Here's how to access it:

  1. Hold down the Option key.
  2. Click the Help menu.

You should now see a Debug submenu under Help with the following options:

  • Regenerate Idea Space Previews
    Regenerates all idea space previews on a background thread. No UI is presented during this time. This generally takes just a few seconds but, if you have a particularly large project, you can use Activity Monitor to see when CPU usage drops back down once the task is completed. This is useful when fine-tuning the Idea Space Previews preferences documented in Help > Advanced Settings.

That's it for now but we'll add more goodies in the future.

Robustness Fixes

  • Extra precautions are now in place when the user renames an idea space to ensure safe recording of changes.
  • The 3rd party LinkBack code has been modified so if a server application is not found, it can recover quickly without beach balling.
  • Fixed an internal "retain cycle" which resulted in unfreed memory when a project is closed.
  • Fixed a memory leak when generating idea space previews as PDF.
  • Evernote fix to avoid hang potential due to WebKit conversion of HTML to RTF conversion, plus tweaks to internal note caching.
  • Fixed rare crash involving willResignActive.

Technical Improvements

Performance Optimizations 🚀

Curio is now faster than ever!

Dragging Images

This first one impacts all customers:

  • Dragging images and PDF figures is now super fast!
Working with Huge Projects

We were given access to a customer's project which definitely pushes Curio to the extremes:

  • 4.5 GB in size.
  • 12 sections.
  • Almost 400 folders.
  • Over 1,500 idea spaces.
  • Over 100,000 figures including approximately 86,000 text figures; 2,500 PDFs; 1,000 stacks; 700 tables; 500 lists; 500 albums; 7,400 documents; 1,700 images; and 1,000 lines; plus dozens of other types of figures.
  • Almost 12,000 file assets including approximately 4,000 image assets.

On my SSD-based iMac it takes 143 seconds to load this project and 48 seconds to save it. 😳

So we ran it through Apple's Instruments to profile the bottlnecks and made several targeted improvements:

  • Observers
    Collection figures (like lists) care about changes made to contained figures, asset figures care about changes made to their associated assets, sticky lines to their attached figures, etc. Previously Curio added all of these observers during project load - thousands of observers in this customer's case which, it turns out, takes an incredibly long time! In hindsight this was silly since they only care about changes if the figure is on the active, currently rendered idea space. So now observers are added when the idea space is loaded for display, then those observers are removed when you go to another idea space. Huge time save here.
  • File Locking
    During save, each asset was checking to see if the project was Finder-locked before attempting to save. Turns out this is surprisingly slow, especially when you have thousands of items. Now we test for locked status on project load and set an internal flag.
  • Searching
    During save and find operations Curio scans all assets in the project. There was a much faster method for doing this which shaved off lots of time. Plus there were some other related optimizations we could make here.

This massive project now takes 28 seconds to load (80% faster!) and 5 seconds to save (90% faster!). 🚀

More reasonably-sized projects should also notice the performance boost as well.

Smarter Previews 🤓

Curio is now much smarter about the idea space previews it generates and stores on disk.

Curio automatically chooses between generating a PDF preview, which is compact especially for text, and renders perfectly at any resolution, and a JPEG preview, which is better for idea spaces that contain images. However, we learned that for some large or complex idea spaces it was possible for the resulting preview to use a significant amount of disk space in either PDF or JPEG form.

Now Curio will do two things to remedy this:

  1. If, based on the contents of the idea space, Curio decides to generate a PDF, it will then check the resulting file size of that PDF and, if large in size, Curio will quickly generate a JPEG version to see if it's more reasonable.
  2. For any JPEG's generated, it will scale them to a resonable width and height so they are still suitable for Quick Look previews but not too large.

Curio also adds a number of internal parameters that can be used for fine-tune the generated previews. You can force a file format (PDF or JPEG), the PDF size cutoff, a specific JPEG scaling, a minimum JPEG preview dimension, a minimum JPEG scaling, and much more. All of this is documented under Idea Space Previews within the Advanced Settings document via the Help menu.

The new Debug menu, mentioned below, can be used to quickly regenerate your project's idea space previews as you test out the new advanced preview settings.

Other Notable Fixes

  • Fixed autowrap issue when typing in a text figure.
  • Fixed ⌃⌘L keyboard shortcut for Insert > List menu item.
  • Fixed problem where assigning a resource to a figure could shrink the resource's image as displayed in the Meta inspector.
  • Fixed issue when saving a figure style that could disassociate the style inadvertently if the focus is still on an inspector edit field like a font size box.
  • Figures in collections can no longer be rotated, except for non-title figures in a pinboard.
  • Mailing as Curio project now includes folders as necessary.
  • Took care of graphical artifacts when jumping between a large and small idea space if the "Center Contents" advanced setting is set to false.
  • Progress controller now displays when restoring previously loaded projects on app launch.
  • You can now copy an asset figure or asset in the project Library then select a text figure and that asset will be used when you choose Paste As > Attachment for Selected Text Figure.
  • Control-clicking an Organizer item now selects the item before showing the context menu just like right-clicking.
  • Fixed File > Share menu on Yosemite.
  • More orthogonal line tweaks.
  • Sneaky fix to handle embedded NovaMind 5 mind maps contained in Curio idea spaces (with encoded LinkBack info) if you've now upgraded to NovaMind 6. If we notice NovaMind 6 is installed (via the com.novamind.NovaMind bundle ID) we override the encoded NovaMind5LinkBackServer and com.novamind.NovaMind5 identifiers with the new, thankfully more generic, NovaMindLinkBackServer and com.novamind.NovaMind identifiers that NovaMind 6 introduces.

Slipstreamed Releases

Build 11008.4
  • Fixed rendering problem with idea space link figures on Retina systems.
  • Fixed pen and brush tool performance issues.
Build 11008
  • Tweak to the Trash fix so Trashed sections are properly removed on project close.
  • Fix so expired trials can still access the License dialog to input a purchased license or extended trial key.
Build 11007
  • Important Trash fix!
Build 11006 and 11006.1
  • Evernote shelf robustness tweaks.
Build 11005
  • Curio's Spotlight plugin now loads correctly.
Build 11004 and 11004.1
  • Fixed crash when loading project files that contain orthogonal lines that stick to other orthogonal lines which then stick to the first line (directly or indirectly via a snap figure).
Build 11003
  • Fixed problem when loading pre-Curio 8 project files.