in Mac apps, organization

Mac PIM review II: Yojimbo review

This is part two of a seven part series comparing Mac Personal Information Managers. Today, I’m going to look at Yojimbo version 1.5.1.

As I sat down to begin this review, I pondered discussing the Yojimbo/samurai metaphor, when it struck me that the name of the company is perhaps more relevant. I had never considered why this company is called ‘Bare Bones Software,’ but maybe it has something to do with a focus on creating applications that hone in on the bare essentials. It’s just a theory, but Yojimbo certainly qualifies as bare boned: it’s a lightweight, simple and elegant information manager.

But designing a simple and elegant application is a tricky business. You need to strike a delicate balance between functionality and user configuration options. You need to seek out and destroy bells and whistles. Unnecessary bloat and clutter must be avoided at all cost. If an application gets it right, it ‘flows like water‘ (to borrow a Taoist metaphor). It feels good to use. Of course, it also works very well. Few applications meet this high standard.

I think Yojimbo is on the right path, but it’s not quite there yet.

Mastering the Onslaught

Yojimbo is an information manager and note-taking application made by the people behind the acclaimed industrial text/code editor BBEdit. The tag line for Yojimbo is ‘Master the Onslaught.’ I suppose the metaphor goes something like this: Yojimbo is a samurai at your disposal to slice through your information overload. And, as a samurai, it’s going to slice with style and maximum economy. While the name and the tag are cool, does Yojimbo live up to the imagery it evokes? For the most part, yes.

Looking at it from the viewpoint of the user interface, Yojimbo stands out from the competition. A person who knows nothing about this app can, as advertised, jump right in and start collecting data. The user controls are standardized Apple fare, so you know what to expect. In fact, there’s not much to say about the user interface because there’s not much to it. It has a distinct minimalist feel to it. You have a left-hand column for organization (à la iTunes); you have a main window that displays your library; and you have a sliding split pane in the main pane to preview a selected item in your library (just like in Apple Mail). Aside from this, there is a standard popup inspector window that may be toggled off or on to display relevant info about a particular folder or library item. You may also customize the Yojimbo toolbar by adding/deleting your favorite items.

If there is any criticism to levy against the interface, it’s that some users may pine for a few alternative layout options. Personally, I like the interface. It’s one of the things that drew me to the program.

However, the samurai metaphor doesn’t hold up as well for me when it comes to organization, filtering and searching. It’s quite good, but it’s not great. I’ll get to this in more depth soon, but first let’s look at getting data in and out of the program.

Capturing Data

The type of data you can enter in Yojimbo compares favorably with other apps in this class: you can stuff it full of text, MS Word documents, RTFs, PDFs, image files (except for RAW images, a reasonable exception), bookmarks, and web archives. You can’t, however, import any other proprietary document formats other than Word files. While the range of document types Yojimbo accepts is about the same as other applications in this field, I think Pages documents should be supported. This is a Mac app, after all.

I should add that you can also add emails, but they are only imported as bookmarks — if you drag and drop them into the app you create a link back to the originating app (i.e. Mail). To get the actual email message text into Yojimbo, you can use this free AppleScript created by a Yojimbo developer (I use it in concert with MailActOn).

AppleScript support is a strong feature of Yojimbo, by the way. A quick web search turns up many user-generated scripts free for you to try. The only problem here is that they are a bit hard to find. I wish that Bare Bones would compile user-created scripts on their site.
In addition to dragging and dropping files into the app, you can directly type in new notes in rich or plain text. Unique among the PIM crowd, Yojimbo also provides two built-in templates to handle password and serial number data as well, which is a nice touch. One welcome addition would be a user-defined open template (or user-created templates). For example, I would like to create a car maintenance record template with field names that I define.

There are several other ways to add data besides direct input and the ‘drag and drop.’ Yojimbo also offers a ‘drop dock’ that integrates into any corner of your Mac screen. I put mine in the lower left-hand side of my screen and made it as transparent as possible so it doesn’t stick out. The drop dock allows you to directly drag and drop to the main library or directly to a specific folder. I prefer this type of ‘drop box’ to those that in other apps that sit directly on the desktop because I can get at it without leaving the program I’m working in.

The only minor complaint I have about the drop dock is that you have to click precisely on the word ‘Yojimbo’ to minimize it. If you miss the target, it stays extended. If you are an Apple Dock user, you can also drag items to the Yojimbo dock icon. This will import the item to your library, but will not allow you to add an item to a specific folder.

Another way to add data is via a hotkey (F8 by default). This is my favorite feature. With Yojimbo running in the background, F8 will bring forth a quick-entry menu to import your clipboard. While this is handy, you need to know that it only handles text (a note, bookmark, password, serial number, or web archive). If you copy a file (a RTF, Doc, image file or PDF, for example), you can’t import it with this function. If you try, what you’ll get is an unlinked icon file representing the file type for the document. That’s annoying. It is nice that you can directly convert a copied URL from your browser to create a web archive, though. According to the developer, Yojimbo will ‘examine the clipboard, and guess what kind of item you wish to create, and will default to that editing panel.’ If Yojimbo guesses incorrectly, you can select a different item type by using keyboard shortcuts. This feature works well for me. One thing I don’t get, though, is why the drop-down menu includes ‘image’ as an item choice since this quick-entry method doesn’t properly import images copied to the clipboard.

You can also enter data into Yojimbo with AppleScripts (like the previously-mentioned Mail script). And there are user-created scripts out there that let you add special bookmarks to your web browser for one-click bookmarking or web archiving to Yojimbo. Finally, you can use the Apple Services menu to import copied text or URL direct to Yojimbo. This is handy if Yojimbo is not currently running and you want to quickly add an item or link from a given open application.

With so many different options to get info into your database, Yojimbo truly makes data entry an effortless process.

Organizing and Finding Data

Now let’s next look at how data is organized. Here’s where I have a bit of trouble ‘mastering my onslaught.’
Yojimbo offers several ways to organize your stuff. First, you may create folders and drag items to these folders. Yojimbo calls these ‘Collections’ for obvious reasons. The most important thing to point out about the Collection folder is that you may not nest other folders. For example, I can’t create a Collection for ‘food’ and place individual folders for various food categories under this top-level folder. Many users have asked for this, but Bare Bones developers have ruled this out from the start. Why? Presumably because they have decided that the built-in search and tagging functions are the best way to organize.

The app includes ten options for ‘smart’ collections (you’ll probably be familiar with this concept from the Finder or iTunes). Smart folders are basically saved searches. With Yojimbo, you can view flagged items, recent, unsorted, untagged, archives, bookmarks, images, notes, passwords, and serial numbers. The frustrating part is that these smart folders cannot be modified in any way, nor can you create your own smart folders based on criteria of your choosing. Why not?

In addition to the ‘dumb’ and smart collections, Yojimbo also serves up ‘Tag Collections.’ This is a smart folder that collects items based on tags you’ve assigned to items in your library. While it’s nice that you can choose to collect more than one tag into a tag collection (for example, you can gather all of your items tagged ‘food’ and ‘recipe’), there are several major shortcomings. First, you can only create a collection based on tags. You can’t create a more complex collection (say, all items with ‘food’ tags AND all flagged AND all recent items). Next, you can only collect tags that meet ALL conditions. There is no option to choose ‘ANY’ as a selection condition. This means that I can collect all items tagged ‘food’ and ‘recipes,’ but I can’t collect together items that have the single tags of ‘food’ or ‘recipes.’ What I would like to have is robust smart folder support, similar to what I get in the Finder or in iTunes. Yojimbo is really tying our hands by not giving us more control. The last problem is that the tag collection folders you create provide no clues about what tags are being collected. The only way to tell is to open up the tag collection for editing, or to choose an item in the collection and taking a look at the tags.

One final note: you can’t drag and drop into a Smart or Tag Collection. This makes sense in that these ‘folders’ really aren’t folders at all, but are collections of items that meet certain search parameters. But wouldn’t it be wonderful if you could drag an item into a Tag Collection, with Yojimbo automatically appending the tag or tags for that collection to that item?
Yojimbo also offers two other ways to organize data: flagging and labeling. Flagging is a way to keep track of hot items that require follow-up, although you could assign any meaning to a flagged item. A flag can either be on or off. Chances are, you’re already familiar with the flag from other Mac apps. Me? I don’t use them very often. Color labeling is a common type of organizational method as well (most notably in Finder). Unlike Yojimbo’s built-in Smart Collections, you get full control over labels. You may change the name of a label and you may choose the colors of your labels. While you can select multiple items and label them in batch, you cannot create a rule to label items based on tags. You also cannot add a color label to a folder. You can, however, search for items based on label names, which is nice (I can search for all ‘work’ labels, for instance). I’m not a big label fan (in Yojimbo or any other app), but I might use this feature more if I had the ability to create more complex custom Smart Collections (a very handy app called Hazel is a great example of how useful this can be — and it’s using built-in Mac OS features!).

Now back to tagging. Yojimbo emphasizes tagging as a primary organization method. Indeed, tagged collections can be handy. But it’s not good enough. And here is my biggest problem with Yojimbo: I need better tag management options. What I would like to see added is an on-the-fly tag filtering similar to what I’ve seen in Things and OmniFocus. If Bare Bones won’t give users the nested folder, then they might consider providing a more interactive method to filter through tags.

And speaking of tags, an inspector just for tags would be handy: a place to view them, batch change them, delete them. It would also be nice if Yojimbo would label orphaned tags in this list that are no longer being used. Note that it’s currently not possible to change or delete a tag.
The ultimate test of how well your data is organized is put to the test when you try and find something. One easy way to do this is use Yojimbo’s very speedy search engine. I have no complaints in this department. You can search by any word in an item, by tag and by label. Since Yojimbo is Spotlight-enabled, you can also search straight from Spotlight even when Yojimbo’s not opened. I love having the ability to search for certain tagged items from my Yojimbo database using Spotlight. Very handy.

As for the search function within Yojimbo, it could be made better if we had that inspector pane with a list of all of our tags (what if I can’t remember the tags I assigned?). The other way to find what you’re looking for, of course, is via your Collections. I’ve already talked about why this doesn’t meet my needs. If I had full control over my smart collections, Yojimbo would be a much better tool for organizing and finding things. I would personally also like the added ability to nest folders. I know, I know…hierarchical folders are so 20th century…but many people like to manage their data this way. Yojimbo went half-way by providing folders, so why are they against providing a nested folder option for those who want it? I don’t get it. If the idea is that you shouldn’t really need hierarchical folders, then the developers should get rid of them entirely. I’m all for that — provided I get much better tagging, filtering and smart folder creat
ion capabilities.

A Few Nuts and Bolts

Now I need to add a few additional points about how Yojimbo physically handles your data. Consider how to get your data back out. It’s very easy to do with Yojimbo: simply select what you want from your library and choose ‘export’. However, it’s important to note that the only metadata that will be preserved once you export your stuff are item creation dates. Your tags, labels, and flags will be lost. That’s a shame.
I’m quite unhappy with this. Say, for instance, I someday decide to move some of my Yojimbo data back to the Finder so I can manage these items with Leap (a tag-centric program for managing all the files on your system). I would lose all my carefully crafted tags! Thanks to reader Brab for suggesting I check out metadata ‘persistence,’ by the way. I wouldn’t have thought of this myself.

I also need to comment briefly on how Yojimbo data is physically stored. While some PIMs store your stuff in what’s called a flat file structure (in other words, directly in the Finder), Yojimbo stores everything in a SQLite database tucked away in your user library. While I’ve never had any trouble with the database, I came across many comments on the web from people worried about corruption. If the database gets corrupted, all of your data is potentially hosed. That’s a bit worrisome.

But there’s nothing much to worry about if you regularly back up your system. You can back up your Yojimbo database with Time Machine, in case your wondering. I came across some posts on the web suggesting it doesn’t work, but it did for me. I tested this by deleting my entire database from my user>Library>Application Support>Yojimbo folder, then I replaced these files with a backed-up copy from Time Machine. It restored just fine.

One more thing to consider with Yojimbo is that it duplicates a file upon import. So if I drag a PDF into the application from my Documents folder, it will still be in my Documents folder. I’ll just have an extra copy of it now stored in the Yojimbo database. I’m not crazy about this. I could delete the origninal files, but then I’m relying on one database to store all of my precious files. I could keep two copies (one in my Document folder, one in my Yojimbo database) but things would get confusing if you later changed something in one of those versions; they wouldn’t be in sync. My solution: I choose to not import most of my documents into Yojimbo. I primarily use it as a digital junk drawer.

Finally, I would be remiss if I didn’t mention that Yojimbo supports encryption for individual items. It works great, but I wonder why Yojimbo doesn’t have a built-in Smart Collection to view all encrypted items. A work around for this is to create a tag called ‘encrypt’ for all your encrypted items, then create Tag Collection or search on that tag.

The Verdict

Yojimbo is a PIM that occupies a specific place on the info management spectrum. That place for me is as a lightweight tool to quickly and easily capture snippets of info. Yojimbo provides a good home to all of those little bits and pieces that don’t fit anywhere else on my Mac. It may not be the best solution for a complete desktop information management solution (by ‘complete,’ I mean an application that you are comfortable using as an archive and repository for ALL your critical data — including long and complex documents that you frequently edit). If you need this type of functionality, you may want to consider another solution.

I think Yojimbo excels at grabbing data of all varieties, but I’m less enthusiastic when it comes to finding what I’m looking for and filtering through my data collection. As my database grows, I find it increasingly hard to keep it organized and find what I want.

Still, there are many things that I really like. What I appreciate most about Yojimbo is how easy and quick it is to add new data. I’m also quite fond of the minimalist user interface.

1. Could I figure out how to use the application with minimal fuss (without documentation)?
The developer states that there is ‘no learning curve.’ I found this to be largely true, but there are a few features you may not discover if you don’t read the instructions. When you first launch Yojimbo, by the way, Bare Bones includes a helpful note that summarizes all the big ideas about how to use the app.

2. Was I still enthusiastic about using the application after a week of use?
Yes, but I’m growing less enthusiastic as my database grows larger. I’m particularly frustrated that I can’t create more complex smart folders. I also would like to see more robust tagging support.

3. How well does the app integrate into the Mac OS?
Very well. In addition to the variety of data entry methods I detailed in this review, Yojimbo supports .Mac syncing for other Yojimbo installations on your network (and you can use your one license to install Yojimbo on multiple Macs in your household!). Yojimbo data is also spotlight indexed. This means you can search from spotlight on a tag name, and all of your Yojimbo items that match that tag will pop up (Yojimbo does not need to be running to use this). Super. By the way, if you want to access your Yojimbo database remotely (from a web browser or on your iPhone), a company called Flying Mac sells a slick Web 2.0 app called Webjimbo to meet this need. The downside? It will cost you an additional $30.

4. How did the program ‘feel?’ How ‘Mac-like’ is it?
This application has a great feel to it. The controls are intuitive. It’s sleek. And if you want to know how Mac-like it is, consider this Apple article.

Yojimbo is not perfect, but it’s a reliable, speedy and handy tool in my toolbox. I think Bare Bones have hit on a solution with broad appeal, but there are a few areas that need refinement before I will say Yojimbo ‘flows like water.

That’s it for the Yojimbo review. Next up on the Mac PIM review series is an examination of DevonThink Personal. Stay tuned.

NOTE: (March, 2009) I’m still planning to complete the rest of the reviews in this series. Really. I’ve been busy with multiple work projects and haven’t had the time to dedicate to these reviews, but I will get to it.

  1. About synchronization: Yojimbo also synchronizes using the .Mac replacement SyncTogether, which I found really useful when I was using Yojimbo. (Low level synchronization, by copying the files, works also reliably as long as one remembers to quit Yojimbo before copying the files.)

  2. I received the following feedback on this review from a Bare Bones Software developer last week. The block quotes are segments pulled from my review. Thanks to developer Steve for taking the time to write and to clarify the points below. This kind of excellent feedback and support is part of what makes me a dedicated Mac user.

    Here’s the message:

    “I came across your Yojimbo review today. Thanks! There are a couple of clarification I’d like to make, and a couple of related observations as well.

    Regarding the quick input panel:

    While this is handy, you need to know that it only handles text (a note, bookmark, password, serial number, or web archive).

    The quick input panel can handle images, as well as the types listed above. The attached screenshot should show that. (I selected your thumbnail in Safari, chose “Copy Image” from the contextual menu, and typed F8). I’ll discuss “files” a bit more later.

    (NOTE FROM TROY: I’M NOT GOING TO PUT THE SCREENSHOT REFERENCED HERE, BUT SUFFICE IT TO SAY THAT IT DOES INDEED WORK. THE TRICK IS TO COPY THE IMAGE FROM THE CONTEXTUAL MENU. I WAS USING ⌘-C, WHICH ONLY COPIES THE REFERENCE TO THE FILE)

    If you copy a file (a RTF, Doc, image file or PDF, for example), you can’t import it with this function.

    When you choose Edit->Copy in the Finder, you aren’t really copying the file, you are copying a reference to the file. As you noted, if you want to import the contents of a file, you need to use another mechanism than the Quick Input panel

    According to the developer, Yojimbo will ‘examine the clipboard, and guess what kind of item you wish to create, and will default to that editing panel.’ If Yojimbo guesses incorrectly, you can select a different item type by using keyboard shortcuts. This feature works well for me. One thing I don’t get, though, is why the drop-down menu includes ‘image’ as an item choice since this quick-entry method doesn’t properly import images copied to the clipboard.

    It’s entirely possible we have a bug in the image support, but as you can see from the attached picture, it works for me.

    (NOTE FROM TROY: IT WORKS JUST FINE – JUST BE SURE TO USE ‘COPY IMAGE’ FROM THE CONTEXTUAL MENU. THE ‘CONTEXTUAL MENU’ IS THE ‘RIGHT CLICK’ MENU, JUST TO BE CLEAR)

    And speaking of tags, an inspector just for tags would be handy: a place to view them, batch change them, delete them. It would also be nice if Yojimbo would label orphaned tags in this list that are no longer being used. Note that it’s currently not possible to change or delete a tag.

    It’s not intuitive, but the Preferences window will list all the tags, and let you delete them. You cannot rename them at this time.

    The problem of orphaned tags isn’t as simple as it appears. Because .Mac syncing is a core component of Yojimbo, there’s not a simple answer to the question “Are there any items not tagged ‘my_favorite_tag’?” On any single machine, the answer is easy and obvious. But if you are syncing with .Mac, the answer becomes ambiguous.

    That said, improvements to tags, tag visualization, etc. are all on the short list for a future release. Not that it helps you today. 🙂

    One more thing: If you open the Quick Input window, and click the triangle to the right of Name, you’ll be able to apply tags right from that window.

    I also need to comment briefly on how Yojimbo data is physically stored. While some PIMs store your stuff in what’s called a flat file structure (in other words, directly in the Finder), Yojimbo stores everything in a SQLite database tucked away in your user library. While I’ve never had any trouble with the database, I came across many comments on the web from people worried about corruption. If the database gets corrupted, all of your data is potentially hosed. That’s a bit worrisome.

    While you’ll find people “worried”, I don’t think you’ll actually find any users that have lost data. SQLite is used all over the system, and has proven itself to be very robust and reliable. But no matter how reliable something is, backups are still an important part of using a computer.

    One more thing to consider with Yojimbo is that it duplicates a file upon import. So if I drag a PDF into the application from my Documents folder, it will still be in my Documents folder.

    Here, we’re about to get a little esoteric. Technically, there is no file duplication, as Yojimbo isn’t tracking files. The data from the PDF is read in, and stored in the aforementioned database.

    I could delete the original files, but then I’m relying on one database to store all of my precious files.

    To be pedantic, you’d be storing “data”, not “files”. It would be in one file, but I don’t see that as a reliability problem. All your files are stored on one disk, with one volume wrapper, and one catalog. Damage to that catalog, wrapper, or disk could also lose files.

    But much like not worrying about database corruption, I don’t worry about catalog corruption, either. I keep frequent backups of my data, and as you’ll hear all over the world, backups are your best defense against disk failure.”

  3. Good review. I agree on almost everything. My biggest gripe was this comment:

    “Yojimbo stores everything in a SQLite database tucked away in your user library. While I’ve never had any trouble with the database, I came across many comments on the web from people worried about corruption. If the database gets corrupted, all of your data is potentially hosed. That’s a bit worrisome.”

    Coming across people ‘worried’ about corruption is far different than finding corruption, and not worrisome by itself.. The rest of my comment regarding SQLite would echo what the barebones representative said.

    I agree that if you want one application to put your life in, yojimbo isn’t it. But if you want it for a particular purpose, as a type of inbox and storage for info that has no other home, it works great. It’s polished, easy to use, and easy on the eyes.

  4. I know this review is really old but I’m hoping that you finish your “Together” review soon.

    I’m looking forward to hearing your thoughts on Together now that I’ve heard Yojimbo…

Comments are closed.