Archive for January 29, 2016

Friday, January 29, 2016

The 2015 Panic Report

Cabel Sasser:

iOS Revenue. I brought this up last year and we still haven’t licked it. We had a change of heart — well, an experimental change of heart — and reduced the price of our iOS apps in 2015 to normalize them at $9.99 or less, thinking that was the upper limit and/or sweet spot for iOS app pricing. But it didn’t have a meaningful impact on sales.

More and more I’m beginning to think we simply made the wrong type of apps for iOS — we made professional tools that aren’t really “in demand” on that platform — and that price isn’t our problem, but interest is.


One of our interesting app experiments — an app to share and discover music — was 95% done, had a beautiful interface and some interesting ideas, plus a complete server-side component… then got shelved. It wasn’t an easy decision. It was mostly worries about revenue — it doesn’t seem possible that you can charge money for a social app in 2016, since mass adoption is critical. And is advertising really a thing we want to do? This is maybe one of the only times I wished we were a startup — with a “release now, figure out how to make money later” culture — but we’re not.


Later in the year should see a brand-new, major update to Transmit, that will increase speed, add Panic Sync, seriously expand protocol support, and more. A Transmit overhaul is long overdue and we are extremely excited to get this out to the world in 2016. (One open question: will we distribute it in the Mac App Store? Hmm…)

Numbers 3.6.1 for Mac Review

Rob Griffiths:

Beyond this one change, however, Numbers 3.6.1 looks much like Numbers 3.0. There’s still no formatting bar below the customizable toolbar, so everything is still controlled by the context-sensitive right-hand panel. And while this cleans up the look a lot, it leads to lots of clicking between tabs in the panel for many common tasks.

Another annoyance that remains from version 3.0 is the lack of an editable formula bar. To edit a formula, you have to double-click the formula, which pops up a tiny editing box. This box can be both resized and moved, but for no reason I can discern, these changes aren’t permanent, so you have to resize and move the formula box every time you use it (assuming you don’t like its size/location).

AppleScript, which vanished in 3.0, has also returned from the dead, to the relief of scripters everywhere. (It’s even gained a couple new options for PDF and Excel export.) Macros, which didn’t exist before, still don’t exist. I expect them to continue to not exist in all future versions, so macro users should look elsewhere.

This version of Numbers also returns Help to the app, sort of: Numbers no longer opens a webpage when you open help, but the in-app help viewer still requires an Internet connection.

He reports some big performance improvements. My 2013 test of opening a CSV file now takes 44s in Numbers 3.6.1 (down from 3m25s) vs. 3s (up from 2s) for Excel 2016.

Update (2016-02-02): I’ve found that, although some AppleScript features were restored, at least one property was removed/renamed, which broke my scripts.

Update (2016-02-05): The AppleScript support doesn’t seem to actually work. There is a dictionary, but nothing shows up in Script Debugger’s explorer. And basic scripts such as:

tell application "Numbers"
    get document 1
end tell

fail with error -1,728.

A Modern Network Operation

Marcus Zarra:

Fortunately, I have recently worked on a design that I have been quite pleased with. In this design I am happily using NSOperation subclasses again and I am using the NSURLSession API.


Note that I am triggering a KVO notification on isFinished as opposed to finished which is what the property name is. This seems to be a Swift-ism as the NSOperation get accessor is called isFinished instead of getFinished and I suspect that is part of why I need to tickle the accessor name instead of the property name.


By using NSOperation subclasses I can now prioritize my network calls (posting to twitter is a higher priority than receiving avatars from twitter for example), cancel operations that are no longer needed (avatars or images that are no longer on screen) and in general be a much better citizen by only keeping the radios on for as long as I need them and not any longer.

Further, I can now watch for application life-cycle events in my NetworkController and terminate operations when my application goes into the background, further improving my citizenship status. I can also look for operations that need to finish when the application goes into the background and request additional background time.

Lightroom 6.4

Tom Hogarty (tweet):

The goal of this release is to provide additional camera raw support, lens profile support and address bugs that were introduced in previous releases of Lightroom. This release also includes a new Boundary Warp feature for Creative Cloud members.

The direct download link is here (via ProDesignTools).

Linnie Rourke:

This is a very simple step-by-step guide [to migrate from Aperture to Lightroom] as I could not find anything with a really detailed description of the process for someone reasonably competent but not expert and who has a highly organised Aperture library of Projects, Folders and Albums!

BBEdit 11.5

Lots of good stuff in this BBEdit update:

There is a new setting in the Text Colors preferences: “Differences”. This color setting determines how differences are highlighted in editing views when you select them in a Differences window. (The color for differences within a line is derived from this, by darkening or lightening as needed.) If a custom color scheme does not include a Differences color, BBEdit will use a dark gray or light gray (depending on the scheme's background color) instead.


Things that are highlighted in the text at various times (matches for selected text, Live Search results, spelling errors, and diffs) are now marked in the view’s vertical scroll bar. The tick marks indicating matches for selected text may be turned off in the Editing preferences, if desired.


The “Apply to Left” and “Apply to Right” commands (and buttons) no longer pay attention to the selected range(s) of text in the respective documents. Instead, they will apply the difference based on what is reported in the differences list (and highlighted using the Differences color).


Open File by Name will now search Xcode for system framework headers, rather than relying on previous installation of the Xcode command-line tools package (which places framework headers in /System/Library/Frameworks/).


Updated the Objective-C/Objective-C++ keyword lists to add __kindof, nullable, _Nullable, _Nonnull, _Null_unspecified, and a few others.