Hacker News new | past | comments | ask | show | jobs | submit login
A quick look at Dash for [OS X] documentation browsing (notesfromandy.com)
61 points by MaysonL on May 13, 2012 | hide | past | favorite | 45 comments



I've been using Dash now as a part of my work flow for months and I can definitely attest to its awesomeness. So here's a great tip, and a feature request.

When searching for a method on a class, you can do a partial string of the class then use alt + up / down to quickly scan through method names. What'd be useful also ( and I think this was an earlier feature ) is to be able to have the second word look at class/instance methods first before then resorting to google / stack overflow.


Your feature request exists in the HUD style and will be part of the Standard style as well, in the next update. Anything that will come after a space will be used to search in-page and filter the methods. Furthermore, Dash will automatically highlight the first method you find.


Thanks, brilliant! Just what I was after =)


I've been looking for an alternative to something like this (ala Ingredients) for Windows. Does anyone know of one that exists? (Also, one that supports PHP would be nice, although the ability to add other languages is fine, I can write that myself)


Looks a lot like Ingredients

( http://www.fileability.net/ingredients/ )


Fun fact: Development of Dash started with close inspection of the Ingredients' source code, 8 months later when the standard-window style was designed, I went back to Ingredients and took some UI components (awesome progress bar!).


Except Ingredients seems limited in documentation. Dash has a LOT of documentation. More importantly, it's here, now, live and actively being developed.


Kind of annoyed that there's no way within the search box to limit the docset I'm searching for (say I want to open read(2) and type 'read', I get all the Python results I enabled) and that exact matches aren't promoted to the top of the list (when searching for 'read(2)', the first result is aio_read, then pread, then read).

Maybe there's a way to do these things, but I didn't see them in the help pages after a quick perusal.

So, pretty dang nifty, maybe worth $30 to me. Definite sale at $15 or after the next time I get seriously frustrated by how man pages work (that hasn't happened in a while though)

edit: Suggestion for the search box: Start the search from the current position within the document rather than resetting to the top of the page. Especially given the subtle visual of the scrollbar, it'd be nice to not have searching cause the document to jump around all over the place.


You can use docset keywords to search a specific docset. See Preferences > Docsets > Enable Docsets.

Regarding your specific problem, read(2) should have had "read" as the top result. I'll look into it and try to figure out where the sorting fails. Thanks for reporting!


Thanks, definitely missed that docset feature! Maybe a brief mention of the docset: prefix in the Docset help page would be possible?


Just a followup: the read(2)-related sorting bug has been fixed and will be part of the next update.


I glanced at it and do like the concept.

However, I do not like how it deals with matches in multiple docsets.

E.g. when you search for "String" and have the Ruby and RoR docsets enabled, then it will always show the RoR one first. The only way to switch to another one seems to be by clicking that microscopic icon in the list.

Possible fixes (ideally implement them all):

1. Optionally show all hits separately in the list (then I can just click directly on the Ruby or RoR version)

2. Display a toggle-bar at the bottom of the window where I can quickly enable/disable any docset. Most of the time I'll only want to search in one particular docset anyway.

3. Provide large buttons at the top of the right pane for each matched docset, to easily switch to a different version (Ruby, RoR, ...).

Other than that: Great work. If this issue gets fixed I could see this tool becoming part of my workflow (and paying for it).


You can also press enter, instead of clicking the microscopic icon. 1. I think I'll do this.

Currently you can also use docset keywords to search a specific docset. Check out Preferences > Docsets > Enable Docsets.


Thanks for the enter-tip, that's helpful! (although I still don't like having to do it every time).

Yes, showing them separately seems like the easiest permanent fix. Ideally with the docset toggle-bar, so the noise can be cut down quickly when zero'ing in on one language for a few minutes (that's what typically happens in my workflow; digging into coffeescript for a while, then some ruby, then again coffee, etc.).


This is what I decided to do: no more nesting of results for results that belong to different platforms. Sounds good?


Yep, sounds great to me!


I've been using Dash for quite some time. I remember first seeing it pop up in the App Store, and picked it up. Honestly, I didn't expect much. I mean, it's a document reader. However, it's fast, and it works. And the large assortment of easily accessible documentation makes it incredibly easy to use. Now, it's a quite shortcut key away and a fast search. The only thing I wish it had was DDG's bang syntax. !<language> <search> would be easy on the muscle memory.


I think you can use docset keywords to achieve the functionality you want. You can define a keyword for each docset in Preferences. For example, python:test would search for "test" in the Python docset.


Just tried this out, and it's not as flexible as I would like. For example, !python <search> doesn't work. You'd need to use !python:<search>. It also seems to require that you have no space between the keyword, colon, and search phrase.

Still, a minor annoyance.


I use Alfred (http://www.alfredapp.com/) as a Spotlight replacement. One of its features is that it lets you set up search keywords (like in Chrome) to search on specific websites. I set up html, css and js keywords that link to http://dochub.io/. It's quite handy. If it's speed you're looking for, dochub is an open source project written in node.js, so it can easily be run local :)


Dash also works with Alfred :) alfredapp://customsearch/search%20dash%20for/dash/ascii/url=dash://{query}


This is awesome! More reasons to use Dash. Dislike the interface though.


What's wrong with the interface?


It feels a bit clumsy. When I fist opened it I had no idea what to do really. It looks quite complicated for the (simple) function it serves.

I summarised some of the problems I had when I first opened the app.

- Where do I search? There are two search fields with ambiguous placeholder texts.

- Where is the documentation? I expected to be able to click on a button called "Ruby" and browse the Ruby documentation.

- The double function of the side bar (perhaps the whole app) confuses me. I expected it to be mainly an app to browse/look up documentation. After some time I figured out the app serves the function as snippet repository as well. What confuses me most is that once you search for documentation, the snippet part of the app completely disappears.

Personally I wouldn't have put in the snippet part. It's, in my opinion, the job of a text editor or IDE to manage snippets. Alternatively a dedicated app such as Notational Velocity could be used to manage snippets.

I hope you find this comment useful, as it's definitely not intended to shit on your app :)


This app looks great, added it to my arsenal of tools!

Though the interface could do with some work.


Any suggestions on what I should change?


This app is great!

Two feature suggestions:

1) Search inside a selected docset? Like only in iOS or only in Wordpress.

2) Show the index of a selected docset, for API exploration.


1. Exists, using docset keywords. You can define a keyword for each docset in Preferences > Docsets > Enable docsets. For example, python:test, would search for "test" in the python docset. 2. Is coming in the next update.


Thx! I see now, it's nice that the keyword its customizable.


Dumb question, do you download a docset and add it? Point it to a URL? Derive it from docstrings? All of the above?

As noted by another commenter, I too use Alfred for site-specific searches but this looks much more powerful.


I just switched to using this with Alfred because of speed alone.

I just set up a custom search using the url: dash://{query}

And a few specific custom searches like: dash://css:{query} or dash://php:{query} if I want to get to something specific.

It seems the System Service for searching in Dash wasn't working in IntelliJ IDEA so I set up a hotkey instead in Alfred to search Dash with the selected text. Works great.

I'll probably never even touch the snippet functionality, but I'll buy it when it is released for the speedy searches.


You can download docsets from Preferences > Docsets. Docsets are just folders which contain a SQLite index, more information on generating docsets can be found at http://kapeli.com/docsets.


I wish it was collaborative so people could help improve the OSX documentation.

The one huge negative of OSX documentation is the lack of commenting and inline code samples like you'd see with say, the Django docs.


I plan on adding Disqus threads to all documentation pages. Should come soon :)


As it seems that here is a/the dash developer: how much will it be in the future? It's free now, but (AFAIUI) it will be a paid software once it leaves beta!? Can someone explain?


Dash will switch to paid-for in the next update. Basically Dash will get an evil annoying twin, Pinky, in the form of a red bottom banner (see https://p.twimg.com/AsxsSE4CQAEUG7S.png:large). The removal of Pinky will cost $30, using an In-App Purchase. And yes, I'm the only developer behind Dash :)


That's not too annoying. I could probably continue to use it for free without going crazy with a small nag like that.

And that's why I'll be paying for it, because you're not making it annoying in the first place. :)


Are the scripts/templates used to generate the docset downloads in Preferences available? I'd like to create an additional docset for Ruby 1.8 and Rails 2.3


did you managed to create the docs for ruby 1.8 and rails 2.3? i'm interested in the same thing


I'm afraid not, sorry!


This tool is awesome! I wish I discovered it sooner. Keep up the good work :)


Strange, I would expect this to be part of the Apple developer tools.


It is based on the official apple documentation, but it's trying to provide a different interface to the one built into the IDE Xcode. In my experience it's significantly faster to use.


The built-in one is agonizingly slow to open.


Looks pretty awesome, would love to see support for Golang.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: