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)
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.
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 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!
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.
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.
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.
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.
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.
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.
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?
"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)
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.
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.
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
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.
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.
"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 also Debian's shell: https://en.wikipedia.org/wiki/Almquist_shell
If someone tells me "I'm using dash" I'll think about the shell, so I think they should call it "dash the API browser" to make it obvious that it is NOT what everyone thinks about.
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.
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!
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
174 comments
[ 3.4 ms ] story [ 241 ms ] threadFor those of you on OSX, the integration with Alfred[0] is also stellar.
[0] - http://www.alfredapp.com/
I would pay and use it immediately if I could access all versions (for example, Django 1.0 thru 1.7 etc)
If it's possible, can you make available all Django versions, from 1.0 onwards? Too much work? Perhaps just 1.x.latest?
Take your time with other versions, it's not like it's urgent.
Once again thanks for great work.
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!
[0] http://zealdocs.org/ [1] http://dash-port.launchrock.com/
[0] - http://kivy.org
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.
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.
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.
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.
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.
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.
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.
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
Good stuff!
I am wondering why you went with a native app as opposed to something webbased though?
Here is the dash-feed: dash-feed://http%3A%2F%2Fspeedata.github.io%2Fpublisher%2Fspeedata_Publisher_(en).xml
[1] https://github.com/speedata/publisher/blob/develop/bin/creat...
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.
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?
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.
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 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.
Dash needs better fuzzy searching.
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.
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
For a clojure programmer having clojuredocs docset is also a must (https://github.com/dlokesh/clojuredocs-docset) although I think this is unofficial.
Certanly a great investment.
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.
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.