A quick look at Dash for doc browsing

Dash, by Bogdan Popescu, is a brilliant developer utility that removes friction from two key areas of programming: looking up documentation and reusing code snippets. I haven’t played with the snippets manager, and I’ve only played with the doc browser for a few minutes, but already I notice some excellent things:

  • It’s fast to open and dismiss with a hotkey.
  • It performs fast live-searching as you type into the search field.
  • It includes a ton of docsets for a variety of languages and platforms, not just Cocoa and iOS. See the screenshot above for a complete list.
  • You can add your own docsets. The Kapeli web site helpfully points you to instructions for creating them.
  • It shows an Ingredients-like table of contents listing methods, properties, etc. for the class you’re looking at.
  • It has options to search Google and StackOverflow, all while staying within the app.
  • It handles URLs of the form “dash://foo“. If you click on such a URL, the Dash window will open and perform a search for “foo”. This can be useful for things like emailing URLs as pointers to documentation, and putting links in one’s own notes. Who knows, maybe someday there will be a web site called “Let Me Dash That For You” (although lmdtfy.com is already taken).

In Xcode, URLs are clickable when they appear in comments. Unfortunately, this doesn’t work with dash:// URLs. I’ve filed a Radar requesting the ability to specify more URL schemes for Xcode to recognize. In the meantime, if one wanted clickable links badly enough, I suppose one could run a local HTTP server that converts localhost URLs to Dash URLs. Maybe Dash could have such a server built in? Would it be worth it?

More suggestions:

  • Add a Service that performs a search, much like a dash:// URL, but using the currently selected text in my frontmost application (which might be Dash itself).

    [UPDATE: @kapelimac informs me that Dash has had a “Lookup in Dash” Service for quite a while. My fault for not spotting it.]

  • Auto-detect method names. When I come across a method call like [obj doThis:xxx withThis:yyy] I’d like to be able to double-click one of the brackets to select the whole expression, and invoke the above-mentioned Service to perform a search. I’d like Dash to recognize that what I mean to search for is “doThis:withThis:”. For extra credit, be able to detect a method name in any string that contains a colon. Or if that’s too hard, any string that begins with a square bracket.

  • Add a social element such as Scott Anguish suggested a while back. This might not be a direction Bogdan wants to invest in, but it would be an interesting experiment. Of course, that’s easy to say when I’m not the one doing the investing.

    [UPDATE: More from @kapelimac: “And another note: Dash has had Wiki pages for each method/class, but no one used them, so I removed them. And: “I plan on adding Disqus threads to all documentation pages, but I’m still waiting on a reply from @disqushelp if they allow it.”]

I see from Dash’s Twitter feed that Bogdan is quite actively working on the app, and in fact plans to start charging for it with the next release. I encourage you to check it out now while it is free, and to consider buying when Bogdan sets a price on it.

3 thoughts on “A quick look at Dash for doc browsing

  1. Could you please provide a download link? I live in the country where mac app store is not accessible.

    Thank you!

  2. Pingback: mattbrickner.com » Blog Archive » Things to check out for May 18, 2012

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>