174 comments

[ 3.4 ms ] story [ 241 ms ] thread
Can't imagine life without this anymore. How it frees up the ~5 tabs of docs I used to have open in another window is worth it alone

For those of you on OSX, the integration with Alfred[0] is also stellar.

[0] - http://www.alfredapp.com/

This has been the single best investment i've made to my workflow for years. Really communicative, friendly developer too.
Dash is great. The only reason I don't use it is that it offers only latest docset versions; once you update (in-app, great feature) the docsets, there is no way to access previous versions.

I would pay and use it immediately if I could access all versions (for example, Django 1.0 thru 1.7 etc)

The latest update of Dash added support for older versions. If any version you need is missing, let me know and I'll add it ASAP.
This is amazing; I'm sure I wasn't the only one to make that feature request on twitter - so happy to see it, thanks very much.
Wait, are you talking about 2.1.1? Can you describe how it works or point to docs or something?
Yes. There are now dropdown buttons next to each docset in Preferences > Downloads. You can use them to choose which version(s) you want.
Awesome! I bought it. Thank you :)

If it's possible, can you make available all Django versions, from 1.0 onwards? Too much work? Perhaps just 1.x.latest?

I'm not able to find the docs for Django 1.0 and 1.1, but all others should be doable. Right now I'm focusing on fixing things for OS X 10.10, but I've added a todo entry for this and as soon as I can I'll add them.
(comment deleted)
OS X is surprising to me. This is something that should be cross platform.
I'm Dash's developer. Currently there is Zeal, that has access to all of Dash's docsets - http://zealdocs.org. Native apps for iOS and Windows are also under development and recently an app for Android has been released (http://lovelydocs.io/). Note: these apps are made by other developers, I'm just providing the docsets.
Zeal AND lovelydocs will help me tremendously. Thanks for that, and I'll be waiting for dash on new platforms too.
Zeal looks nice... but am I missing something or are there no urls available for just the docsets on the dash/zealdocs pages? I get that zealdocs can download dash docsets -- but quickly skimming the c++ source for editdocsets didn't reveal any obvious link to a http repo?
> Native apps for iOS and Windows are also under development

Oh, that's nice! I've had Dash for a couple of years now and love it, but it would be very nice to have it open on my iPad while I develop on my mac! Awesome!

looking fwd to the Windows version (& hopefully Visual Studio integration?)!
I agree. I'm mainly using Linux so I've started working on a Linux version (also targetting Windows). If you like it you can use Zeal[0], which is free -- works on Linux/Windows. There's a signup page for my app[1] if you want to get notified of the launch/beta.

[0] http://zealdocs.org/ [1] http://dash-port.launchrock.com/

Can I request you use Qt? Thanks
I was considering Qt but decided to use Kivy[0]. Why do you think I should use Qt?

[0] - http://kivy.org

I've never heard of Kivy before, but judging purely from the gallery on that page, my first impression is that I see no screenshots of any native-looking desktop apps. Unless that's just an omission in the gallery, that would be a good reason to use Qt.
It's true that Kivy's widgets are not native and Qt's are. Would that be a sufficient reason for you to not use the app?
Here is my reason for Qt. Qt won the Linux tool kit wars (My opinion) and it is used by so many projects that it keeps the ecosystem more standardized. Plus when I am at work on my one Windows box I like seeing Qt on there also.
Ok, I'll look into Qt licensing wrt commercial Python apps and will consider using Qt if there are no issues.
There's LGPL PySide (http://qt-project.org/wiki/PySide) which should be suitable for commercial projects under LGPL, but PySide is Qt4 only. There is also PyQt (http://www.riverbankcomputing.co.uk/software/pyqt/license) with Qt5 support, but its free license is GPL-only, so if you're not doing open source, it's not going to work, unless you buy their commercial license.

BTW, Zeal's original author here - thanks for mentioning Zeal and good luck with your project!

As some personal advice, I wouldn't try Kivy for such content-oriented desktop app. I've tried briefly using it once for doing a very simple application, but it seemed much harder to implement usual desktop-like widgets. Overall it looks like it's good for graphics-rich and custom-rendered applications.

You'll also need some HTML rendering engine for docsets. While there are Kivy projects like https://github.com/kivy-garden/garden.cefpython or https://github.com/kivy/kivy-berkelium aiming to provide exactly that, they don't seem very mature.

However, I don't claim to be Kivy expert at all, and maybe you'll have good experience with it.

Thanks for the info and advice. Much appreciated!
Same here. I'd love to use it if it worked on Ubuntu.
Ubuntu is my main development platform. To be honest I've had some doubts about targeting Linux for my app because I don't know how many devs are using Linux as their OS for development, but I hope I'm not wasting my time.
Have happily paid for the desktop version, I'd love to pay again (seriously) for an iOS version!
Great developer too. I've put in docs request (for ColdFusion) and he constantly sought feedback from me to ensure it was presented in the best way possible and if he was unsure about something himself.
Didn't like it. Why use Dash if you have Google? But maybe I'm missing something. I'll try new version.
My use-case is the three hours a day I'm on the train without stable internet :)
Hell, even with an internet connection it's faster than Google .
Offline use, speed, and software integration.

When I'm at the cottage (no internet) I can still use the keyboard shortcut from my editor to instantly pop up the docs for something.

Speed is my number one reason for using it. Internet is fast, but Dash is faster. That and Xcode integration for iOS development is killer.
When you look at docs and stackoverflow answers many, many times a day, the seconds you save REALLY adds up :)
Just bought this recently. I feel that I got my money back with all the time won over Google searches multiple times already. The low latency and absence of unrelated results helps me stay in the flow. For me the trick was to assign a global shortcut to invoke the tool.
Call me stupid, but I can't get simple question answered by reading the page: What is Dash? A website? Locally run server listening at 8080? Desktop application? From the screenshots I guess it is probably OSX app, but is it so hard to put it clearly somewhere in the top?
In the upper-right corner of the main page there are "Download" and "App Store" links. That seems to indicate that it is an OS X app. ;-)
"App Store" _hints_ that "Download" must be an application for Mac OS X, but I had to download and browse through the .zip archive to make sure. I think it could be stated more clearly, at least somewhere on the page (if the author doesn't want to ruin the illusion that there are only Apple products by stating it at the top)
One of the first things you see is a link to download on the App Store...
Frankly, I don't know whether AppStore offers only OSX apps (or you can also buy iOS apps, or certain website access). It also doesn't mean that it's not some kind of portable application (working also on OSX). That's also suggested by the "Download" link below AppStore link, which may mean that there is also other forms of whatever Dash is, apart from the form which is available through AppStore.

Ok, I guess the target audience would in 99% _guess_ what Dash is, but that still doesn't mean that it shouldn't be written somewhere clearly.

(comment deleted)
Right bellow is a download button. My immediate thought was that OSX platforms obtained the app from the appstore while other platforms could use the download link. When I see an appstore link I don't immediatly assume OS X only.
Wondered the same, had to download to understand it's an OSX .app which should be clear on the page. Having a iTune link isn't explicit. Boo.
Thanks for pointing this out. I've changed the tagline to "Dash gives your Mac instant offline access to 150+ documentation sets".
Thank you, but it's still too subtle IMO. Is there some unspoken marketing rule not to include simple phrases such as "Dash is an OS X application"?
Is "Dash gives your Mac .." too subtle? It says MAC, and the website has got an AppStore button with Apples logo.
as someone who just downloaded the zip and unpacked it to a windows desktop only to be disappointed by the .app at the end of the folder, yes.
people shouldn't have to infer these types of things. Not everyone's brains makes the same connections in the same way, not because they're stupid, but because we all process information differently.

I looked at the page and it wasn't immediately obvious to me what it was.

Dash is... an app? a site? a collation of data?

If I'd hit the front page to something like:

> DASH

> An application for browsing API documentation sets

I'd know what was going on immediately.

Please don't get angry with other people for your own failures in comprehension. Come on.
see you kind of prove my point about how people process data.

you thought perhaps my comment was a complaint, an angry statement, this couldn't be further from the truth. In actuality I was just reflecting on how good signposting (through pertinent language and UI) helps people interpret meaning on websites.

If you design your website so that your potential users/customers cant look at the front page and have an instant grasp of what your product is, then your website is failing to do its job.

Again I say, people shouldn't have to infer what something is by association. Saying "what is this? oh look, there's an appstore link, it must be an app" is not the right way to tell people what you've made. Unambiguous and engaging language is.

Presumably the developer would quite like people to buy his app. Some honest feedback about the clarity of the messaging should be welcome.
I assumed, looking at the site that it somehow scanned your code and attempted to document it for you. I may be cognitively challenged, but it wasn't clear to me what it was.
I'm so used to ignoring marketing speak didn't even realize it's Mac only.

Didn't expect a mac only app to make it to the front of HN.

Must be really good I don't use a Mac though.

Edit: Mac fan-boys stop down voting me just because you disagree with my choice of OS.

I think the downvotes are due to the tone. Don't necessarily agree with them, but that might be the root cause.
"Must be really good I don't use a Mac though" is regrettably ambiguous. It can either mean "Dash looks great; too bad I can't use it since I don't have a Mac" or it can mean "It's really great that I don't use a Mac", especially when read quickly.

Also, you were terse so that there isn't much content in your comment. As always, ask yourself if your comment is worth the time for people to read. Cheers.

Dash is great combined with Alfred. I changed the keyword to a period (.) with no space so lookups look like ".extend" and bam I get the results for extend from four docsets.
I travel a lot. And I'm thinking about buying a houseboat in France. I wish I'd seen this years ago. Happily purchased.

I can't believe this hasn't come up before - we had a big discussion about working offline on cruise ships and it wasn't mentioned. [1]

[1] https://news.ycombinator.com/item?id=6697787

I'd be interested in hearing about your plans for a houseboat in France. I have plans to build a titanium Catamaran for a circumnavigation.
You sound like you are living up to your username.
(comment deleted)
I love Dash, have recommended it to everyone at uni. Using a machine where Alt+Space doesn't throw up documentation feels really weird.
Looks good, particularly alfred and sublime integration. It doesn't download any docsets for me on the OSX10.10 preview but I'll try it again when Yosemite is a bit more prepared for the real world!

Good stuff!

There are quite a few issues in Yosemite, especially with Apple's new docsets. An update should be available soon.
Glad to see people providing offline documentation (and worrying about offline in general)

I am wondering why you went with a native app as opposed to something webbased though?

How can you provide offline anything with a web-based app?
Lots of ways actually: it could be hosted on the web but use HTML5 offline storage and caching; it could use something like node-webkit or atom-shell; it could be a Chrome extension.
As a loyal user of Dash, I find the interface to fit in very seamlessly with OS X. An app built using either offline HTML or a cross-platform toolkit would be unlikely to achieve the same level of consistency with OS X conventions, at least based on my experiences with other such apps.
Can you get a web-based offline app to be invoked by a global keyboard shortcut and appear instantly?
Love Dash !! Esp. since you can also add Rubygems doc
Is there an easy way to (try to) run Mac apps on Linux, like Wine project +PlayOnLinux for Windows?
Seriously, if you want to do this just get a mac. I made the switch several years ago after being a loyal Linux user for a long time, after I realised how much easier it made life.

I know they're expensive (though a low-end macbook air is pretty reasonably priced) but I've found it well worth the money given it's what I spend almost every waking hour in front of.

And with decent enough hardware Linux runs very nicely under a virtual machine when you need it.

Get a Mac to do what? Run this one application? Sorry, that looks too excessive for me.

Following this logic, should I have bought a latest Windows PC to run the program or two I run under Wine?

Why would I want to do everything inside of a Linux virtual machine, as opposed to natively?

> Get a Mac to do what? Run this one application?

If it's only for one app, no.

I just personally find the mac platform in general to offer a better user experience, esp. with regards to not having to waste hours getting stuff to work.

This is just my personal experience; if Linux works for you then great.

I deeply respect Apple for its attention to user experience and design, but I don't agree with all of it's choices they make for me. I wish there were many different Apples, then I could choose the one I like, but unfortunately we have only one.

In my very limited encounters with OS X's desktop environment, I didn't find it practical, and the proposition is: take it or leave it, right? Changes to the default desktop environment are as outlawed as they are in Windows, or aren't they?

I'm not quite sure how outlawed they are in windows, but I've replaced the alt-tab/cmd-tab with Witch by manytricks, to make it more windows like. But something like XMonad, while it runs, only affects X apps, and is not quite so useful.
I maintained an xmonad environment for a couple of years on various versions of ubuntu and switched to osx last year. I share your view that Apple frequently makes choices that don't map to my expectations of an OS.

I use slate + pckeyboardhack + keyremap4mac to control my windows via keyboard. Instead of using multiple monitors I switched to a single larger one which is easier to control.

I guess my point is that you can kind of change things, but you might need to compromise in some areas. I don't know of a way to get multiple desktops, for example, but I can switch between apps by binding keys to names of them and get around that way.

It's also going to be hard to try these sorts of things out in the store, and given how expensive the devices are it's difficult to justify given you may end up with an expensive tool you don't want to use.

YMMV, of course.

Apart from everything being backwards on a Mac compared to Linux, the locked in nature of everything, and everything else, sure.
This is awesome. Although an excellent resource, there are many times I get very distracted using Google to get this kind of information. This could help me stay on task.
I used Dash for a couple of months but found myself Googling when Dash returned no results.

Dash needs better fuzzy searching.

I've enjoyed http://devdocs.io/ for the same purpose, though it doesn't have quite the same library.
DevDocs is wonderful! I have the source up and running on my home laptop to be able to have the documentation I want, lightning fast and without internet connection. The source is available here: https://github.com/Thibaut/devdocs
devdocs' C++ doesn't have the first thing I tried (list::erase)
Strange oversight, the other containers have it.
It's in there under std::list, but for some reason erase and begin are linked to externally. All the other member functions seem to be present/offline.
One thing that I wish devdocs had was Java integration, but it's been repeatedly stated (just one example here: https://github.com/Thibaut/devdocs/issues/26) that they can't include the JDK because of it's restrictive licensee.

But, it seems like Dash includes the JDK, so how exactly are they able to do it but not DevDocs? My knowledge on the legal front is limited but if Dash is able to redistributed these docs I don't see why DevDocs couldn't do it.

Oracle mention this on their website:

  This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means.
DevDocs is just a hobby of mine and I don't want to waste my time on a documentation that I may have to remove. If Oracle is willing to grant DevDocs a license (I haven't asked them) I'd gladly add the JDK docs to it.
Bought the license few weeks ago and loving it.

Would be willing to pay even more if it integrated well with ReadTheDocs — there are tons of (not only) Python docs living there which I need regularly.

And yes, I know #662 exists [1] on the RTD side and the future is not so clear.

[1] https://github.com/rtfd/readthedocs.org/issues/662

Dash has become a part of my standard workflow in the last few months. It's great and it's always getting better. @kapeli responds quickly to feedback/questions on Twitter. I use it with Alfred and the vim plugin.
This looks great, assuming it's very useful when you want to do concentrated coding with internet off to avoid distractions. I'm sold, buying this when I get out of work.
I was very happy to see this in HN. This is one of my favourite everyday job tools in my Mac. It's also easy to integrate with vim, emacs or sublime to show the docs for the selected keyword.

For a clojure programmer having clojuredocs docset is also a must (https://github.com/dlokesh/clojuredocs-docset) although I think this is unofficial.

Yes, I originally bought Dash for iOS development and was pleasantly surprised to see ClojureDocs appear one day. Really freaked me out ... in a good way!
The thing about Dash is that it's just so much faster at displaying documentation than going to the browser and doing a search query - I use it even when I'm online with Alfred integration.

Certanly a great investment.

Agreed. I started using it back when it was a free beta and bought it once that was an option (iTunes receipt says that was a few days over two years ago), and I've probably used it daily since then. The ability to almost instantly search through tons of different docsets and find what I'm looking for, narrow them down, create groupings, and so on has made it absurdly useful to me.

I make a lot of my own docsets as well (i.e., ones for GLFW 3, Gambit Scheme, JeroMQ, and so on), since kapeli was hesitant in the past to add docsets that would be only of interest to really narrow groups of people, though it looks like the user docset thing on GitHub sort of fixes that. Either way, it not being closed off to outside docsets was nice, since I imagine it would've been easy to not allow it.

Anyway, glad to see it on HN since I'm a huge fan of Dash after using it for years. Sort of a shame it's Mac-only, since I keep looking around for ways to jump to Linux, but it looks like there're some open source alternatives. So, yeah, Dash was probably the best $30 I spent back in 2012.

Bought this a while back and was very impressed, definitely a worthwhile purchase if you ever spend some time without much internet access. The integration with Alfred + the fuzzy searching is just the icing on the cake.

Also as a little side note, I thought the way it handled the UI for tabs was interesting, though it does leave little room to grab the window and drag when you've got a few open.