The Apple Bugfest

I’ve never made a post about my “Apple woes” before, because I didn’t think I’d have anything to say that hasn’t already been said.

I’ve now realised that it might be worth speaking up, just in case someone at Apple still cares, and also because posts like my yearly report might be interpreted as “everything is just fine”.

I’ll try to be brief:

  • Last year I spent at least 30% of my development time fixing Apple bugs.
  • I spent 4 days just to get the lovely new search field in Yosemite to work properly. In the end, I just found a hacky way of reverting it to how it was before Yosemite.
  • I always check if an Apple framework or class is at least 2 years old before using it. If it’s not, I assume it’s full of bugs and I try to use something else.
  • My day is ruined whenever an Apple engineer or evangelist says “It just works”. I really hope Marketing forces them to say it, because otherwise they’re just delusional.
  • I’ve spent a lot of time trying to get “engineers” at Apple to look into In-App Purchase issues on OS X. The good news is that I think they’re finally working on it. The bad news is that they seem to be adding new bugs:

If you’re an iOS or OS X developer, speak up. Venting your rage is therapeutic.

My Year in Review: 2014

Revenue

All revenue comes from Dash, either from App Store or direct sales (through my website). All sums are before taxes, which are 16% over here.

I am the sole developer.

Monthly revenue

Average revenue per day

Note: Monday to Sunday.

Average hours worked per day

Note: Monday to Friday only.

Some details:

  • February: worked on Dash 2.0
  • May: mostly played Hearthstone :(
  • August: 3-week holiday
  • September-October: worked on Dash for iOS
  • November: 2-week holiday
  • December: mostly played Hearthstone :(

Total expenses

Dash uses over 20TB of bandwidth per month, so hosting costs are a bit severe. Everything else is negligible.

These are the total expenses for 2014:

Some thoughts

In 2014 I’ve released Dash 2.0 (OS X) and Dash for iOS. Both of them were very well received. For the first time I think I can say that I’m very happy where Dash is feature-wise.

I have a lot of plans for 2015 and there are a lot of exciting things coming to Dash. I hope you’ll like them.

Happy new year!

Sneak Peek: Dash for iOS

For the past few months I’ve been working on bringing Dash to iOS. I’ve finally reached a point where I can share what Dash will and won’t be like on iOS.

If all goes well, a beta of Dash for iOS will be released sometime in November, followed by an App Store release in December, hopefully 2014.

The boring news

  • It’s going to be an universal app and will support both iPhone and iPad.
  • It will probably cost around $9.99.
  • No snippets at all. Only documentation. I might add snippets later on depending on demand.

The good news

  • Searching will be the same as on OS X. Same instant speed, same results.
  • Docsets that are downloaded by the app will be kept archived and documentation pages will be unarchived in-memory only when they need to be displayed. This means 4-10x less disk space usage compared to Dash for OS X.

The bad news

  • There are a lot of limitations when dealing with WebViews in iOS. This means that some docsets might not be as awesome as they are on OS X, but I’ll do my best to fix any issues.
  • You’ll only be able to install the main 150+ documentation sets and nothing else (i.e. no support for Ruby Gems, CocoaPods and others). However, you’ll be able to transfer docsets from your Mac/PC using iTunes File Sharing.

Screenshots

Note: This is a work in progress. Some things (e.g. icons) will be changed.

Meet Velocity for Windows

At the beginning of 2014 I’ve started looking for other developers to bring Dash to other platforms.

A few days ago, Velocity for Windows was released. Just like Dash on OS X, Velocity gives your PC instant offline access to 150+ API documentation sets, so you can get to the programming docs you need as quickly as possible.

Velocity is made by Jamie da Silva and not by me. I’ve just helped Jamie get access to all of Dash’s docsets. As far as I can tell, Velocity has a bright future ahead and more features are in the works. I really hope it will become at least as popular as Dash is with Mac users.

If you ever have to use Windows for your programming needs, please check out Velocity now, it will help speed up your development process.

Dash, Swift and Yosemite

I’m getting lots of requests to add support for Swift. This post is to assure everyone that I’m working on it.

The good news is that the OS X 10.10 and iOS 8 docsets already include Swift alongside Objective-C. For example, check out the NSString Class Reference in OS X 10.10.

The bad news is that Apple changed the look and feel of their docsets and there are a few changes required in Dash to get everything to work. I don’t expect these changes to take a lot of time, but I can’t give an ETA.

I know that some of you would like to use Dash inside Yosemite as soon as possible, so I’m also going to support it in the upcoming update. By support, I just mean fixing any bugs that might have come up (no redesign yet). If you’re using Dash in Yosemite already, please contact me and let me know whether or not you found any bugs.

Thanks for using Dash!

Dash 2.1

Dash 2.1 is now available on the Mac App Store or direct download.

What’s new


  • Offline Stack Overflow Access. I couldn’t wait to brag that Dash is the only app that does this, but it looks like it’s not. Online access is also supported, if you want to save some disk space.
  • PHP Docsets Repo. You can now install docsets for any PHP Package you can find on Packagist.
  • Go Docsets Repo. You can now install docsets for any Go Package you can find on GoDoc.org.
  • User Contributed Repo. Users can now contribute docsets to Dash. If you made a docset other users would find useful, please contribute it!
  • Older Docsets. You can now download older versions of the main Dash docsets. If you want a docset for a specific version or if you find any bugs in an old docset, please let me know!
  • Brackets Integration, thanks to Raymond Camden.
  • 22 New Docsets:
    • AngularDart
    • Apache HTTP Server
    • AppleScript
    • AWS JavaScript
    • CMake
    • Dart
    • ElasticSearch
    • Font Awesome
    • Groovy JDK
    • Jasmine
    • MATLAB
    • MomentJS
    • NumPy
    • PHPUnit
    • Polymer.dart
    • RequireJS
    • SaltStack
    • SciPy
    • Sinon
    • SQLAlchemy
    • Statamic
    • Tornado
  • Lots of minor improvements and bug fixes.

That’s all. Thanks for using Dash!

Offline Stack Overflow Access

I’m proud to announce that I’m working on bringing offline Stack Overflow access to Dash, based on the Stack Exchange Data Dump.

The upcoming Stack Overflow docset will let you:

  • Search all questions directly from within Dash, just like any other docset
  • View comments and answers for any question, without any Internet access
  • Waste around 20GB of disk space

If you’re short on disk space, don’t worry! I’m also working on an online-only version of the docset. This version will let you search Stack Overflow using Dash’s blazing fast search engine, but the content will come from stackoverflow.com instead of your drive.

Beyond Stack Overflow: I’m also working on bringing support for all of the Stack Exchange sites, especially my personal favorite – cooking.stackexchange.com.

This is NOT an April Fools’ joke. If all goes well this will come with the next update of Dash.

Dash 2 Now Available

Dash 2 has been released and is now available for free to all Dash users.

What’s new?


  • Make awesome cheat sheets and contribute them to the cheat sheet repo
  • Install docsets from package managers:
  • Lovely new icon, thanks to Reda Lemeden
  • Dash will modify the Alfred workflow on-the-fly so that it includes docset and search profile keywords. This means you can now type php {query} in Alfred instead of dash php:{query}
  • Added Grunt, Mongoose and Rust docsets
  • Lots of minor bug fixes and lots of new bugs!

What’s next?


  • Short term: A few updates to fix any bugs that might come up and add a few new docsets.
    • Note: I’m not currently aware of any unfixed bugs, so if you find any please contact me.
  • Long term: Annotations!

Thank you!

A very warm thank you to all Dash users. Your support is highly appreciated and have helped make Dash awesome!

Please do not hesitate to contact me regarding anything, I reply to all emails as soon as I get them.

Dash for iOS, Android, Windows or Linux

TL;DR: Dash-like apps for other platforms have been released. Check out Dash for iOS, Velocity for Windows, Zeal for Linux and LovelyDocs for Android.

I get asked a lot to bring Dash to other platforms. That won’t happen, because:

  • I’ve got a lot to add to Dash on OS X and I can’t focus on any other platform
  • I’m a complete novice when it comes to developing for any other platform, so I wouldn’t do a great job

Looking for devs to bring Dash to other platforms

I am actively looking for developers of other platforms (iOS, Android, Windows or Linux) that would like to work on a Dash-like app, as their own project and for their own profit.

Later edit: I have found iOS, Windows, Linux and Android devs and Dash-like apps for these platforms should be released sometime in 2014.

What you’ll make:

  • An API documentation browser app for your favourite platform
  • You can give it your own personal twist or base it on Dash as much as you want
  • Release it as commercial, free or keep it for personal use, I don’t care

What you get:

  • My help, as much as I can
  • Free access to all of Dash’s docsets to be used by your app
    • This includes docset updates and I’m also covering the hosting costs

What you won’t get:

  • Access to Dash’s source code

What I want in return:

  • A link to Dash, on your app’s presentation website and inside the app

Some notes:

  • Don’t start working on this without contacting me first
  • I’ll give exclusivity to Dash’s docsets to whoever looks most promising
  • This is not a weekend project
  • Making an awesome documentation browser takes time

In case you’re considering making this a commercial project:

  • You really should. Dash is my only source of income
  • I really think this is a huge opportunity for indie devs
  • I have no idea how much money you’ll make
  • Dash made around $100 / day during its first versions
  • Dash now makes anywhere between $400 – $1000 / day (avg. is around $600)