Goodbye, Dash for iOS

I’ve decided to discontinue Dash for iOS, as maintaining it is no longer sustainable.

Every year, Apple releases a new version of iOS, which requires updating Dash to support the new OS and work around any new bugs. Dash for iOS worked great on iOS 12, but is an unusable mess on iOS 13 and will only get worse.

Dash for iOS also uses UIWebView extensively, which won’t be accepted on the App Store starting with April 2020. Migrating to WKWebView would be more work than it’s worth.

Note: this does not affect the future of Dash for macOS in any way.

Dash 5: Now Available

TL;DR: Download Dash 5 for macOS and try it out!

Dash 5 is the latest version of Dash and includes a lot of improvements and a completely new, streamlined search interface.

Dash 5 is a paid upgrade ($19.99 + VAT). To upgrade, download Dash 5 and add your existing Dash license in Preferences > Purchase and you’ll be prompted to upgrade.

Anyone that purchased Dash after the 1st of September 2019 gets to upgrade for free.

What’s New


  • New Search and Navigation Interface – The search and navigation interface was completely redesigned to be more intuitive and fast
  • New Search Result Sorting and Nesting – Search result sorting and nesting were completely rethought and redone. The order of docsets in Preferences > Docsets or in your search profile will now matter a lot more, while also keeping your results uncluttered
  • New Browser Engine – Dash 5 uses WKWebView, the latest browser engine from Apple. Supporting WKWebView required rewriting a huge part of Dash, some of which to JavaScript, so please make sure to report any bugs you might encounter, no matter how small
  • Improved Dark Mode – The dark documentation style will now preserve colors instead of inverting them
  • New Snippet Navigation – Snippets can now be bookmarked and are part of the navigation history. Don’t like snippets? You can now completely disable them
  • New Support System – The in-app Contact Support option is now powered by replies.io, which makes it easier to improve your support request with screenshots, videos and logs, significantly reducing the time needed for your issue to be resolved
  • Lots of Small Improvements – New in-page find interface and result highlighting, new status bar, faster search and a lot more are waiting for you in Dash 5

Download Dash 5

Dash 5 is a paid upgrade ($19.99 + VAT), but it’s free to download and try out. If you encounter any issues or need any help, contact me.

Dash, Xcode 11 and macOS Catalina

In case you like living on the edge, Dash 4 seems to work great with the macOS Catalina beta.

The Apple API Reference docset was updated to work with the latest docs from the Xcode 11 beta.

To use the Xcode 11 beta docs, make sure xcode-select -p (in Terminal) points to the location where you have Xcode 11 installed.

Use xcode-select -s <path-to-xcode> (in Terminal) to change the active version of Xcode and then check for updates in Dash’s Preferences > Downloads to make sure Dash picks up the change.

The Swift docset in Dash is based on swiftdoc.org, which has not been updated to Swift 5 yet. As soon as it’s updated, the docset will also be updated. In the meantime, you can get the Swift 5 docs by using the Apple API Reference docset (mentioned above) with Xcode 11.

Please let me know if you encounter any issues or if you have any special requests.

Dash’s Year in Review: 2017

I’m happy to report Dash has had its best year to date. Revenue in 2017 was 30% higher than Dash’s previous best year, 2015.


Revenue Sources

Users from 128 countries have purchased Dash. The top regions and countries are shown below:

Bandwidth Usage

Dash used 520 TB of bandwidth in 2017, distributed over 7 servers:

Server Costs

Server costs were $4,835 in 2017.

Docsets

Dash currently has 202 docsets maintained by me, 316 docsets maintained by users and 112 cheat sheets. All these docsets take up 112 GB of disk space.

The top docsets are shown below:

Conclusion

It’s been an amazing year which will be hard to beat in the future. I’m very happy and grateful with how Dash is doing and for the community that’s growing around it. A lot of things are in store, stay tuned.

Happy New Year!

Dash for iOS: Back on the App Store

TL;DR: Dash for iOS is back on the App Store and it’s completely free.

Ever since I’ve open-sourced Dash for iOS there have been a lot of requests for Dash to get back on the App Store, as the process to install it from source isn’t exactly user-friendly.

Quite a few “developers” have even added it to the App Store themselves, violating the GNU GPL license in the process. Apple has been very responsive in removing these apps, but the developers kept adding it back in different shapes and forms and I got tired to fill the same copyright claim forms over and over.

I’ve made a personal developer account which Apple accepted and the review for Dash for iOS went through without any issues. I hope this will somewhat stave off the pirated copies of Dash from appearing on the App Store. We’ll see.

The macOS version of Dash will continue to be sold exclusively on kapeli.com.

Dash 4: Now Available!

TL;DR: Download Dash 4 for macOS and try it out!

Dash 4 is the latest and greatest Dash release. It incorporates the most popular feature requests in a new streamlined interface. Enjoy!

Dash 4 is a paid upgrade ($14.99) for existing Dash users. To upgrade, download Dash 4 and add your Dash 2 or Dash 3 license in Preferences > Purchase and you’ll be prompted to upgrade.

Anyone that purchased Dash after the 1st of December 2016 gets to upgrade for free.

What’s New


  • New Interface – Clean, modern, with a focus on what matters most: the docs
  • New Dark Mode – Night owls, rejoice! The entire Dash interface can now be turned dark
  • Web Searches – You can now add/edit fallback web searches (e.g. Google or Stack Overflow) in Preferences
  • Docset Playgrounds – Most docsets now show “Play” buttons which let you quickly test snippets of code
  • Search Using Selected Text – This feature has been completely remade and is now more reliable, even in apps that don’t support system services. Set a hotkey for it in Preferences > General
  • Tab Improvements – You can now reopen the last closed tab, duplicate tabs and close all tabs except for the selected one

Lots of other improvements:

  • You can now easily manage docsets directly from the docset browser, using drag and drop, right click and/or the add button
  • You can now manage bookmarks from the top menu bar
  • Searching in Preferences > Downloads is now synchronised across all docset sources
  • You can now copy the external URL of documentation pages for easier sharing
  • The Add button in Preferences > Docsets now offers the option to download docsets
  • Installing a docset will now also add it to your currently active search profile (Note: can be disabled in Preferences > Docsets > Settings)
  • You can now manage the default profile settings from the search profiles popover
  • Dash’s web browser is now a bit smarter

Download Dash 4

Dash 4 is a paid upgrade ($14.99), but it’s free to download and try out. If you encounter any issues or need any help, contact me.

100 Days Without the App Store

A lot of users have expressed concerns about the future of Dash after Apple removed it from the App Store. This post is meant to give some insight into how Dash is doing exactly, as well as some interesting tidbits.

Revenue in 2016

All of Dash’s App Store revenue has migrated to direct sales, with a slight increase.

The downhill from Q1 to Q3 is due to saturation of the Dash 3 paid upgrade. I haven’t had any sales or promotions for the entirety of 2016.

Dash for iOS was never a significant part of my revenue and like most iOS apps it was never sustainable. I should have open-sourced it a long time ago, as it now brings in more revenue by promoting Dash for macOS.

Users

Most of the App Store users of Dash 3 have migrated their license to the direct version. I was able to use the in-app notification mechanism I had to let them know about what’s going on so that they don’t get cut off from the app they paid for.

Unfortunately I have no data on what happened to the App Store users of Dash 2 and I have no way of notifying them.

Interesting Tidbits


  • Dash for iOS returned to the App Store just a few days after I open-sourced it, thanks to He Tiancong and Jie Wang. This is despite the fact that I specifically chose a license that’s incompatible with the App Store. I highly recommend avoiding Dash on the iOS App Store, as I do not know what modifications they have made to my code.
    • Later Update: Two more developers just released Dash on the iOS App Store as paid apps: Cuilian Su and Zuogen Zhang.
    • Later Later Update: These apps have now been removed from the App Store.
  • Dash continues to be used by a lot of Apple Engineers and I’ve received great help from them in debugging issues and in supporting the new Xcode 8 documentation format.
  • It feels great to have full control over my business and to avoid App Store installation/updating/purchasing issues.

Conclusion

I was lucky to have setup a direct way of distributing Dash a while ago and as a result I’ve been mostly unaffected by the removal from the App Store.

Dash for iOS 1.6.0

Dash for iOS 1.6.0 is now available.

What’s New


  • Added support for cheat sheets – #22
  • Added support for user contributed docsets – #20
  • Added state restoration support. Thanks to @zhongwuzw for the great work on this – #18
  • Fixed Unity 3D docset bug which caused it to not remember the selected language. Thanks to @hantengx for reporting the issue – #17
  • Fixed a crash in the docset downloader. Thanks to @zhongwuzw for the fix – #16
  • Stopped an evil if() from taking over the world. Thanks to @BalestraPatrick for reporting the issue and @flovilmart for fixing it – #4

Dash 3.4

Dash 3.4 is now available.

What’s New


  • Apple API Reference Improvements:
    • The Apple API Reference docset now reads the docs from within Xcode 8. This reduces disk space usage while also allowing me to modify & improve the docs at display-time. Thanks a lot to the Xcode team at Apple for helping me understand the new documentation format!
    • The doc pages of classes will now display full method/property docs inline (i.e. how the old docs used to be)
    • The parent class will now be shown at the top
    • For any other improvement ideas, please contact me
  • Angular for TypeScript Docset. An “AngularTS” docset is now available in Preferences > Downloads.
  • Lots of minor improvements and bug fixes.

That’s all. Thanks for using Dash!