the candler blog

Add (Mostly) Universal Search to Ulysses III With an Alfred 2 Workflow

As I mentioned in my review, universal search is not currently implemented in Ulysses III. I’ve got an Alfred Workflow that picks up the slack on that front until The Soulmen ship an update. It allows for full text, sheet and group name search. Here’s what it looks like:

Type uly and your query, then pick your group or sheet and it will open in Ulysses. Easy peasy.

Note that this will only search sheets and groups stored in iCloud or On My Mac. Daedalus documents are stored as text documents with a hash for a title, so the results look (in a word) crazy.1 External documents are external; deal with them externally.

**Bonus:** This Alfred workflow adds a File Action for opening Text and RTF documents in Ulysses. When triggered, it will import the document to your Inbox, and even convert the rich text to Markdown for you. Neato.

Download Search Ulysses 3.alfredworkflow

  1. Worse: if you were to open a text document in Ulysses, it wouldn’t take you to what you’re looking for, just import the document again to your Inbox.

Mac App Review: Ulysses III

In college I bought a copy of James Joyce’s Ulysses. This stately, plump tome, to be exact. I didn’t read it. I tried to, sure, but after a few weeks it became clear I needed to move on.

Every few years I start reading it again from the beginning, each time making it a bit further than my last attempt; never very far. Up until this latest release, The Soulmen’s text editor that shares a title with Joyce’s novel was only too aptly named for me. It never clicked. That’s all changed with Ulysses III.

Getting Organized

I’ve written before about how most editors get in my way. In praising Drafts, I wrote this:

Nearly every app I use on iOS utilizes the same basic “document” model. Whatever I write usually needs a name and/or tags so that it can be differentiated from the other documents. As such, I couldn’t open an app and start writing without feeling like I was working on something.

The more writing feels like work, like a chore to me, the less I feel like doing it. On iOS, Drafts solved this problem. On the Mac, the closest thing to an app that allows me to just aimlessly write has been nvALT. I use and love nvALT, but for notes, little snippets of information I may need access to later. I never launch it just to write.

Ulysses III puts writing front and center, doing away with the “document” model. Instead, you compose text in “sheets” which can be organized into “groups” (basically folders). A sheet doesn’t need a title, though you can add one with a Markdown header. There is an Inbox where you can compose loose bits of text for later organization or just get to writing.

All of this gets stored in the Ulysses database, which has its advantages. For one, you don’t need to clutter up your file system with snippets of text. By keeping your writing in Ulysses, you can add attachments to sheets, including photos, notes and keywords (or tags). These items follow your sheet no matter where you file it.

Filters allow you to create a search folder, similar to a smart mailbox in Mail. You can search the full text of documents in your entire Ulysses database, or limit the search to a single group by, say, keyword or modification date.

I’m using filters right now. I’ve got a few sheets for different sections of this review. Some sheets have the keyword @first-draft attached to them, some have @second-draft and some both. I’ve got filters limited to my Ulysses Review group for each keyword, so I can view each draft separately. By doing this, I’m able to edit the same sheet in both drafts, which jibes with my brain more than making multiple copies of the same text.

Ulysses III also makes the best use of OS X’s Versions feature I’ve seen in an organized writing app. Hitting ⌘S in any sheet will save a version of it in its current state. This again obviates making multiple copies of the same sheet, allowing you to simply go into the Versions browser to see previous edits. This is the first implementation of Versions I’ve actually wanted to use.

Editing Text

Out of the box Ulysses ships with syntax highlighting for John Gruber’s original Markdown, an extended syntax they’re calling Markdown XL1 and Textile2. From there you can create your own syntaxes and set up your own highlighting color schemes and keyboard shortcuts.

Most of the highlighting is pretty basic (*italics* are italic, **bolds** are bold), but some elements become invisible. Link text, for example, is displayed with a colorful halo around it with the URL embedded, accessible in a popover. You can create a link by surrounding text with square brackets or with the keyboard shortcut ⌘L.

Ulysses III is stunning to look at. It’s not distraction-free-douchy, but it definitely gets out of your way to let you focus on writing. Have a look at it:

Ulysses 2 looks comparatively:

Each of the two panes on the left side of Ulysses III can be folded underneath the editor window, allowing you to only focus on the document at hand. It’s simple and delightful to watch the app animate into place, which you can quickly invoke with ⌘1 (all panes), ⌘2 (Editor and current group) and ⌘3 (Editor only). In each view, the app will grow from the center out as opposed to treating the sidebar panes as drawers. This feels logical, though it’s the first use of such an animation I’ve seen in any Mac app.

The Kitchen Sync

Where Ulysses III really wins me over is its sync implementation. The app offers three sync options: iCloud, Daedalus and External Sources. There is also an On My Mac mode which keeps documents on your Mac, un-synced, though I’ve turned this off for the time being. Each comes with its own set of caveats. Let me try to lay them out simply:

  • iCloud: Mac-to-Mac syncing. Makes full use of the features described above as it syncs the entire Ulysses database.
    • Documents have to live in the Ulysses database, meaning they are not editable by other applications until you export them.
    • Identical to On My Mac, except items are synced.
  • Daedalus: Mac-to-iOS syncing (via iCloud) for use with Daedalus Touch.
    • No support for custom syntaxes, only straight Markdown.
    • No support for nested groups, attachments or filters (this makes some sense if you’re familiar with Daedalus’ interface).
  • External Sources: Allows you to read and write documents from anywhere on your system, like your Dropbox folder.
    • No support for custom syntaxes, groups, filters or attachments.
    • Will only parse Markdown text for documents with the extension .md; .txt documents need to be converted to .md to allow for syntax highlighting.3

If you prefer a Dropbox text editor on iOS like iA Writer, Byword or Elements, then you can use the external sources mode to edit your documents in Ulysses. However, this is the most stripped down experience you can have in Ulysses III. I think it’s a nice feature if you don’t use Daedalus Touch, but I think users trying to fit Ulysses into their workflow with it will end up being disappointed.

The sync with Daedalus Touch is phenomenal. I love being able to make edits on any device and have it stay in sync on all of them. In my experience iCloud does a much better job than Dropbox at keeping documents up to date. I can leave Ulysses open, even to the document I’m editing with Daedalus on my iPhone, and the changes will stay consistent, intelligently.

I’ve had varying degrees of success keeping sheet order in sync across devices. Right now if I reorder sheets in a stack on my iPad it will reorder the sheets on my Mac and iPhone, even while I’m looking at them. I’ve had less luck going the other way, though in my testing, like I said, I’m staring at my devices watching paint dry. Even from the last version of the beta I used sync has improved exponentially; I imagine edge case bugs like this will get squashed in future updates.

I’ve turned the On My Mac header off in the sidebar (you can also do away with iCloud and Daedalus, if you please). My thinking here is that I want to keep my documents in sync via iCloud. Technically my documents are still “on my Mac,” just in the Mobile Documents folder. There has been a lot of hubbub about iCloud being a terrible product, but I’m enamored of it for document syncing. I use CrashPlan to constantly back up my Mac, including the Mobile Documents folder, so I feel confident that, should something go awry, I’ll always be able to restore my Ulysses database. And for documents I’m extra worried about, I can always export them.

What’s Missing

Ulysses III is a 1.0 app. Since they wrote a brand new app from the ground up, some aspects of Ulysses 2 are missing. The biggest one you need to know about right now is universal search. You can search for text in a single sheet, but at present there is no way to search your entire database. The workaround right now is to create a filter with, but it’s not a real solution by any means.4 The Soulmen have promised this is coming in the future updates.

There is currently no support for auto-pairing of most characters. While ⌘I will surround your cursor with asterisks, Ulysses doesn’t intelligently pair parentheses or back-ticks. Square brackets, in addition, will create a link popover. If you want to use actual square brackets, you’ll need to escape them with backslashes (\[Like so\]), which is annoying, but in practice I rarely use square brackets outside of links, which Ulysses handles well. You can create TextExpander snippets to trigger auto-pairs, or you can create keyboard shortcuts for elements of custom syntaxes.

Typewriter scrolling and line highlighting didn’t make the cut for 1.0. I’d like to see keyboard shortcuts for the attachments menu, which is currently only accessible with the mouse. This makes sense for images, which have to be dragged into the app, but I’d like quicker access to keywords and notes. And it would be nice if they implemented something similar to TextMate’s Go to File… menu, which allows for quick search without ever taking your hands off the keyboard. These missing items may be deal-breakers for some, but I’m making do without them. What I get in sync-ability and organization more than makes up for it.

Wrapping Up

I use Ulysses III for almost everything I write now. Long-form writing, aimless yammering, quick things I don’t want to forget; it’s all going into Ulysses or Daedalus. It’s solid, beautiful and simple. And it’s only going to get better.

The Soulmen have now completely reinvented themselves. Many established Mac developers have tried to make iOS versions of their biggest apps because users have been clamoring for it. When Daedalus launched in 2011, I noted in my review that they had actually been working on an app called Ulysses Mobile at the time. I applauded their resistance to shipping that product at the time, but I had no idea that Daedalus would in turn influence Ulysses.

Ulysses is still on sale for $19.99 during their launch week event, but soon it will go up to $39.99. Go grab it5 and get back to writing.

Other Apps Mentioned in this Article

Purchasing any of the apps mentioned with the links below supports the candler blog. I thank you in advance:

  1. Which mainly add extended attachments and footnotes.

  2. And that’s the last time you’ll hear me talk about Textile. Since I’m a Markdown writer, as far as I’m concerned Ulysses is a Markdown editor.

  3. Gabe Weatherhead explains this best in his review. Be sure to check out the comments where Max from The Soulmen responds to him.

  4. I’ve also got another workaround I’ll be publishing soon.

  5. Affiliate link.

Goodbye, Roger

Sad news: Roger Ebert has passed away.

Writing on the Web had no greater champion than Ebert. He was encouraging, generous and humble. He didn’t care about the masthead under which your writing appeared. He would share anything he came across and enjoyed. He took joy in using his celebrity to shine light on the work of others and make film criticism an ever-expanding field.

I was once the recipient of his generosity. On January 22, 2012, Roger posted two links to the candler blog on Twitter and Facebook. As if that weren’t enough of a gesture, he very kindly said some nice things about me. After that there was no going back for me; like it or not I was a writer online. Roger said so.

I bring up that experience because I know that he inspired many thousands as he did me. That may even be an understatement.

Besides his little rule book, there is one piece of wisdom of his that is always in my mind. From his foreword to Nicholas Jarecki’s Breaking In: How 20 Film Directors Got Their Start, which I read at a very impressionable age:

It doesn’t matter if you go to film school or not, or which film school, or what you study. It doesn’t matter if you work on film or video, or what kind of camera you use. It doesn’t matter if you write in the morning, or at night, or on yellow pads or on a Macintosh. It doesn’t matter if you work as an intern or an apprentice, in Hollywood or Austin or anywhere else. It doesn’t matter what movies you watched or what books you read—as long as the answer is “a lot of them.” What matters is that you called yourself a movie director, and you made a movie.

Thank you, Roger. Your mark will be felt for generations to come.

Further Reading:

(photo via Roger’s Facebook page)

Ulysses III [Mac App Store Link] ⇒

The Soulmen just released the excellent Ulysses III text editor. I’ve been using it since January and I love it. Forget what you know about previous versions of Ulysses, this is a ground up rewrite; more accurately a rethinking of what a text editor is.

I’m still putting together a review of it, but I’ll say this much: Ulysses III solves most of my text problem. It’s on sale during launch week for $19.99 (50% off). Go get it.1

  1. That’s an affiliate link, as is the headline link of this article. Using it to purchase Ulysses III supports the candler blog. I thank you in advance.

Go Listen to Me on Generational ⇒

Gabe Weatherhead was kind enough to have me on his Generational podcast to talk about Fountain, markup languages, apps and whatever else came to mind (which most definitely came out of my mouth). It was great speaking with him and Erik Hess. Go give a listen.

Alfred 2 Workflow to Search DuckDuckGo by Way of Google Suggest

Here’s a quickie workflow for Alfred 2. David Ferguson, a nerd who works on Alfred, has been building some excellent extensions for the launcher/so-much-more app. His Google Suggest workflow caught my eye, only I don’t particularly like using Google for my Web searches anymore. Luckily it’s easy enough to modify workflows in Alfred 2.

Google’s suggestions are a great feature. I use them all the time in Safari1 even though I’ve set the default search engine for the location bar to DuckDuckGo. I like DuckDuckGo’s commitment to privacy and the simplicity of their bang (!) searches. If I want to search on Google, I just type my string and add “!g” to do so. But they don’t offer a suggestion feature. That’s where David’s workflow (and my modification) comes in. (Download it here.)

I set the shortcut in Alfred to “s” for “search.” Launch Alfred,2 type “s” and then the start of a search string. Google suggestions will come up, selecting any of them and hitting Enter will take me to DuckDuckGo results. Selecting a result and hitting tab will put the cursor after the selected phrase, allowing me to add whatever bang I please, like !imdb or !a for Amazon.

I’m happy I got an Alfred Power Pack, which unleashes the power of workflows. I’m excited to see what else this little app can do.

Download Google Auto Complete to DDG.zip

  1. I really couldn’t tell you if that’s stock behavior or a plugin I installed.

  2. ^+Space for me.

Friends Don’t Let Friends Curate ⇒

Levi Mills:

I like my friends. I like the same things as many of my friends. Do I want my friends to be the curators of the content I consume? No. A thousand times no.

Interesting take on the latest Facebook redesign. I barely use Facebook anymore because I find little-to-no value in the content posted there with the sole exception being pictures of my nieces and nephews.

Mills’ piece, I think, gets to the core of why I’m not interested in Facebook: I just don’t care about most of the crap my friends link to. They’re still my friends, but I can do better at finding what to consume elsewhere.

Reader’s End and Google Today

Google Reader is shutting down on July 1st. By chance I actually switched to Fever a few months back, so this doesn’t really effect me as a reader.1

The biggest issue doesn’t seem to be the loss of Reader itself, but the recognition that Google’s priorities have shifted.

I imagine most people, especially daily users of Reader, still like to think of Google as the company described by Chris Anderson in his 2009 book, Free: The Future of a Radical Price2 (emphasis mine):

For Google, almost anything that happens online can be seen as a complement to its main business. Every blog post put up is more information for Google’s Web crawler to index, to help Google give better search results. Every click in Google Maps is more information about consumer behavior, and every email in Gmail is a clue to our human network of connections, all of which Google can use to help invent new products or just sell ads better.

The interesting thing about the consumption of complementary products is that they tend to rise in tandem. The more people use the Internet, the better it is for Google’s core business.

That’s not Google in 2013. The Web is a very different place than it was back then. Users used to demand openness across the Web. That’s why we have RSS and XML-RPC and APIs and all the goodies that make it easy to use data from one site on another, or to make it simple to just plain leave one product for another. Anil Dash put it best in a blog post titled “The Web We Lost.”3

But walls have sprouted up. Google can’t access the massive amounts of data people pour into Facebook and Twitter, so they built Google+ as their own social walled garden. Twitter is exerting control over how users experience their product, which shuts out competitors like Instagram (which is owned by Facebook), which can no longer display images inline in tweets. The Web is getting smaller, not bigger, with each company working to become the umbrella under which you experience the Internet. So Google has taken steps to make sure that the Web as users know it exists under their company banner, and Reader doesn’t fit in with that plan anymore.

I was once a Google cheerleader. Like many I believed their goal was to make a better Web for everyone, with the one major tradeoff being that they would sell ads instead of charging users. That may once have been true but the Google of 2013 doesn’t want to build a better Web, it wants to build a better Google. I don’t think that goal is aligned with any of my own.

And now Reader is gone. What’s next? I’d rather not play that guessing game, so I’m making efforts to remove as much of my data as I can tolerate from Google products. Now might be a good time for you to start to do so as well.

  1. As a publisher it does, but you don’t need to hear about that right now.

  2. Affiliate link. I thank you in advance.

  3. If I were to try to quote it I’d end up pasting the whole thing over here. Just go read it.

Dropbox Acquires Mailbox ⇒

Dropbox founders Drew Houston and Arash Ferdowsi on their company blog after acquiring Mailbox today:

We’re all looking forward to making Mailbox even better and getting it into as many people’s hands as possible.

Congrats to all parties involved, seems like a great fit.

I don’t really like Mailbox, the app, but I do love Dropbox, the company. I’m interested to see where this goes, though I’m wary.

For one thing, I don’t understand why Mailbox was free to begin with. Other than being bought, what was their monetization plan? And now that Dropbox has them, how do they plan to make it profitable?

The bigger, more fun question, I think, is what sense does it make for Dropbox to own a product that is currently built on top of Gmail? Sure, Mailbox will probably add IMAP support in the future, but for now it’s Gmail only, which means Dropbox isn’t in control of the core product. Unless, of course, they roll out their own email product. Dropbox has the storage and scalability needed to release a killer mail product, something that truly is revolutionary in this space.

Or maybe they just like the app. In any case, thank goodness Google didn’t buy Mailbox.