Archive for November 12, 2015

Thursday, November 12, 2015

Castro 1.5


Castro is now a free app. Every feature is available without charge.

If you like Castro, please consider becoming a patron by contributing $1/month. You will support the work of a small indie app studio in a way that the standard App Store model never can. Yesterday, Supertop needed an endless stream of thousands of new customers to sustain our business. From today, we can be successful with a far smaller number of much happier customers. We can offer better support. We can add new features more often, instead of holding them back for splashy major releases. In other words, we can do the things that indies do best.

Samantha Bielefeld blames Overcast 2 for accelerating this “race to the bottom.” Overcast may have been the impetus, but I see it as more canary than cause. I think it’s likely that—given current App Store realities—this change will be a (relative) financial success for both Overcast and Castro. Patronage may be the least bad option for certain kinds of apps. Individual developers don’t make the rules; they can only respond to them, trying different ideas in the hope of finding something that works. Regardless, it’s a bad sign for the app ecosystem in general. It’s hard to believe that this is where we are given that over 1 billion iOS devices have been sold. But if cheap-paid-up-front and free-plus-in-app-purchase don’t work with this installed base, it will take more than just selling more devices to solve the problem.

See also: Jason Snell.

Update (2015-11-13): Charles Perry (tweet):

The iOS developer community has been locked in a game of the Prisoner’s Dilemma since the App Store was introduced in 2008, and we’ve lost at every turn. For us, the stakes aren’t whether we’ll go free or go to jail, but whether there will be a vibrant market for paid mobile software. Our choice isn’t whether or not to sell out an accomplice, but rather it’s whether we’ll choose short-term gains while at the same time contributing to the perception that mobile software isn’t worth paying for, or if we’ll forego those short-term gains knowing that a competitor could cash in and make our restraint all for naught. In short, it’s about the race to the bottom.


This new model, in fact, is the opposite of patronage. Instead of requiring a patron to provide money up front in exchange for an item of value, this new model gives away all the value in advance and requires nothing from those who receive it.

Michael Rockwell:

But what happens when we get even further away from the days when we paid for apps and get accustomed to a world where high-quality, best-in-class applications are free. How long will users continue paying? My guess is not very long.

I hate to say it, but I think we’re in the midst of an App Store bubble. There’s far more developers building apps then there is money in the ecosystem to support them. And the sad truth is that that if Overcast didn’t do it, somebody else was going to. That’s just the way markets evolve when there’s seemingly infinite supply.

iPad Pro Reviews

Tim Cook:

Yes, the iPad Pro is a replacement for a notebook or a desktop for many, many people. They will start using it and conclude they no longer need to use anything else, other than their phones.

John Gruber:

We’ve now reached an inflection point. The new MacBook is slower, gets worse battery life, and even its cheapest configuration costs $200 more than the top-of-the-line iPad Pro.


The iPad Pro is “pro” in the way MacBook Pros are. Genuine professionals with a professional need — visual artists in particular — are going to line up for them. But it’s also a perfectly reasonable choice for casual iPad users who just want a bigger display, louder (and now stereo) speakers, and faster performance.


For just plain typing, it’s not that bad […] My complaints and frustrations are more from the software, both iOS 9.1 itself and individual apps, both from Apple and third-party developers. Trying to use the iPad Pro as a laptop with the Smart Keyboard exposes the seams of an OS that was clearly designed for touchscreen use first.


I don’t think it’s inherently problematic that iOS has no conceptual support for a mouse pointer, and thus can’t work with any sort of trackpad. But, given this constraint, good support for navigating as much of the UI as possible using the keyboard is more important on the iPad than it is on the Mac. But iOS’s support for navigating using the keyboard is worse.


It brings me no joy to observe this, but the future of mass market portable computing involves neither a mouse pointer nor an x86 processor.

Andrew Cunningham:

The A9X can’t quite get up to the level of a modern U-series Core i5 based on Broadwell or Skylake (see the 2015 MacBook Air and Surface Pro 4 results), but it’s roughly on the same level as a Core i5 from 2013 or so and it’s well ahead of Core M. And despite the fact that it lacks a fan, the A9X shows little sign of throttling in the Geekbench thermal test, which bodes well for the iPad Pro’s ability to run professional-caliber apps for extended periods of time.

Daniel Eran Dilger:

When Apple first unveiled iPad Pro, it noted that its custom designed A9X chip would be faster than 80 percent of the PCs that shipped this year. Benchmarks indicate that it’s not just faster than low end generic PCs, but also faster — and less expensive — than Microsoft’s Surface Pro 4.


This isn’t quite what we’re used to! With the logic board situated in the center of the iPad, the display cables connect in the very middle of the device, so we can’t even lay the display down while we work.

Federico Viticci:

The feeling of a bigger-than-usual but lighter-than-I-imagined device has stuck with me. Every time I pick up the iPad Pro, I realize that it’s much bigger than the screen I’ve held every day for a year, but also not as heavy as I thought it would be.


After a week of intense usage, various trips in my car, and numerous walks around the house, I’m glad to acknowledge that the iPad Pro is still a portable iPad. I can hold it with two hands when walking around for a few minutes without feeling excessive wrist fatigue, and I can even hold it with one hand (usually my left one) if I want to interact with an app on screen with my right hand. I know that it sounds ridiculous – and I couldn’t believe Apple’s marketing shots either when I first saw them – but holding the iPad Pro with one hand in a corner is possible.


On the Home screen, the iPad Pro keeps the same 5x4 grid (in landscape, excluding the dock) of smaller iPads, only app icons are more spaced out. It’s odd to look at when coming from an iPad Air 2, and I think users should be able to keep more apps on the same page. The Home screen hasn’t been updated to take advantage of the iPad Pro at all, so even folders carry the same four-apps-per-row limitation of the Air 2 (same with the dock).


The Slide Over app picker is the leading example of how scaling some UI elements to the bigger screen isn’t going to cut it. Five months into iOS 9, I believe that the way apps are found and picked in the Slide Over interface is aging badly – you can’t search for a specific app in the tray, and if you realize that you need to re-open an app that you last used a few days ago, you’ll have to scroll all the way back to the top to launch it. This is starting to be problematic on the Air 2, and the issue is exacerbated by the iPad Pro.


The iPad Pro doesn’t use the second-generation Touch ID sensor employed on the iPhone 6s (Apple confirmed this to me) and the device doesn’t have a 3D Touch display.


Two ways to interpret this:

  1. Apple no longer cares
  2. New Springboard design coming in 2016

Federico Viticci:

The Apple Pencil feels great in the hand, it’s taller than I expected it to be (it’s really the size of a pencil), and its performance on screen is phenomenal.


You can pair a Pencil with the iPad Pro simply by removing the cap, plugging its Lightning connector into the device, and accepting the pairing request. The cap itself snaps magnetically onto the Pencil, which is a nice detail, and you can also remove the tip and replace it with a new one if it’s worn down too much. Apple includes a replacement tip in the box, and I’m a fan of the small tip that allows for fine strokes and small handwriting.


I noticed that iOS would have the occasional line accidentally drawn by the back of her hand; I’d say that Apple has managed to achieve a solid 90% palm rejection with the Pencil, which is impressive.


Once paired with an iPad Pro, you’ll be able to use the Pencil to interact with apps normally through taps and swipes. In fact, using the Pencil as a pointer and interactive tip when the iPad is held upright by a stand on a desk is quite nice.


The lack of special function keys makes interacting with the iPad Pro when connected to the Smart Keyboard a bit slower – I need to touch the screen to bring up Control Center for music controls, and I can’t double press a Home button shortcut to enter the app switcher.

However, the Smart Keyboard’s biggest advantage is that it doubles as a cover, it’s light, and it connects to the iPad via the Smart Connector. I can’t overstate how nice it is to not have to worry about Bluetooth pairing requests anymore – or having to recharge a Bluetooth keyboard every few months.

David Pogue:

Unfortunately, the iPad doesn’t have an adjustable kickstand like the Surface’s. Put another way: You can prop the iPad at any angle, as long as it’s 55 degrees.

There’s an upside to that inflexibility, though: The iPad’s keyboard cover is rigid enough to use on your lap.


Finally, Apple focused exclusively on the act of using the Pencil, and put no thought at all into storing it or resting it. There’s no place to carry it on the iPad, or even in the keyboard cover. It doesn’t attach magnetically during your work session, as on the Surface Pro 4. And it doesn’t even have a pocket clip, flat edge, or anything else to stop this perfect cylinder from rolling away from you.

Lauren Goode:

But the Pencil is just plain fun. It is indeed Apple white, and there are Apple-y things about it — for example, the fact that it is weighted, and won’t roll away on a table top, and always stops rolling with the word “Pencil” facing upward on its metal band.


To move the cursor on your iPad screen, place two fingers anywhere on the keyboard until the keyboard turns gray. Then move your fingers to move the cursor around.

Previously: iPad Pro.

Update (2015-11-14): Manton Reece:

I don’t think I’ve ever been less excited to walk out of a store with a brand new $800 gadget. The iPad Pro has so much potential. I think it’s going to be a success and I’m building apps for it. But without the Pencil and keyboard, a significant part of the appeal is missing. And worse, developers who need a Pencil to start testing their apps — especially those apps like the one I’m working on that already supports third-party stylus pressure — are put at a month-long disadvantage compared to Adobe and the other early partners.

Update (2015-11-30): Gordon Mah Ung:

3DMark also runs a physics test, which measures how a platform would run a theoretical game engine. In short, it’s supposed to measure how fast a device’s CPU would be, not its GPU. The result here actually puts the iPad Pro and the A9X at a pretty big disadvantage against all of the x86 chips—yes, even the lowly Atom.

Update (2016-04-20): Kirk McElhearn:

I’ve noticed one annoyance with the iPad Pro however: the display shows smudges much more than previous iPads.

Decoding Old Nibs: a Sad Tale of Vendor Lock-in and Abandonment


I have over 200 NIBs of which most of them have EOInterface objects in them. The problem is, that they don’t open in the newer Interface Builders anymore.


If I redo 200 NIBs manually, I am spending a year on this alone.


[IBInspectable] doesn’t really work well for the kind of custom bindings EOInterface needs. It’s good, that you can put NSObject based instances into XIBs (again ?), but the kind of typed connection EOInterface has are not possible with IBOutlet alone (unless you expose every EOAssociation). But I can’t load the NIBs anyway, because the loader complains even with all classes present.

No One Minding the Store

I woke up to an inbox full of e-mails from customers reporting that my apps wouldn’t launch. This included new customers who had just purchased from the Mac App Store as well as people who had purchased long ago, hadn’t made any changes, and expected that things would just keep working.

On my own Mac, 1Password and Dash wouldn’t launch until I entered the Apple ID password for my App Store account. For some customers, the fix is more complicated: restarting the Mac or deleting and redownloading the app. I was in the middle of using ReadKit, when it suddenly quit, then wouldn’t launch, with the OS reporting that it was damaged. However, redownloading the app didn’t work; I had to restart the Mac to get it running. Then I got the password dialog for Tweetbot. In some cases, there seems to be no way to get the App Store version working, so I’ve pointed customers to the direct sale versions of the apps and issued them temporary serial numbers. Fortunately, my apps don’t require iCloud, Map Kit, or other system services that are withheld from non–App Store apps.

The Mac App Store is supposed to make things easier, but it’s also a single point of failure. Not only is it neglected, but sometimes even the existing functionality stops working. Mac OS X 10.9 introduced a code signing bug that prevented me from submitting updates for several months. In June 2015, there was a month-long iTunes Connect bug that prevented my uploaded build from entering the review queue. And I currently have a bug fix update that Apple has been reviewing for 33 days (with 8 days of waiting before that). When I inquired about the status, Apple told me that everything was normal and that I should just keep waiting. In short, the system is broken on multiple levels, and there is no evidence to suggest that things will get better.

Paul Haddad shows the expired certificate that seems to be the source of the problem.

Dan Counsell shows a flurry of “App is damaged” dialogs.

Tom Harrington:

Every single app I have downloaded from the Mac app store is failing to launch, with a variety of errors. Every one.

Jonathan Wight:

Um. Launching Photoshop because MAS Acorn isn’t opening due to MASpocolypse.

Rainer Brockerhoff:

The “damaged” screen seems to be a GateKeeper glitch (fixed by reboot). Then, some apps don’t check expiring receipt certs; most do.

Mike Ash:

Turns out that the App Store is just another DRM scheme with all the nonsense and dysfunction that implies. Who’d’a thunk it.

Drew McCormack:

Whoa, serious Mac App Store problem: It is delivering a binary to users that is still waiting for review; crashing on receipt validation.

Had to pull the app from the store, because otherwise all my customers will upgrade and be left with a non-functioning app.

Lukas Mathis:

Catch-22. (Also, no, Apple. It wasn’t. I bought this app on this computer, and just yesterday, it worked fine.)

Kirk McElhearn:

Seriously, what a bunch of noobs sometimes…

Update (2015-11-12): Craig Hockenberry:

Just verified that you don’t need to reboot to work around the Mac App Store certificate problem. Instead:

$ killall -KILL storeaccountd

Craig Hockenberry:

When that dialog says “YourApp” is damaged, who’s the customer going to contact? You or Apple?

Worse, there’s no way for us to be proactive about this situation because we have no fricken’ idea who’s affected.

This is because only Apple has the customers’ contact information.

Bare Bones Software:

Restart your computer. (This is a necessary step, because the App Store’s code signing certificate has expired, and restarting will clear the local certificate cache.)

Necessary, but alas not always sufficient.

Daniel Jalkut:

Mac App Store meltdown: the less a developer heeded Apple’s own advice for validating receipts, the better they look to customers today.

Jim Matthews:

I can’t get MAS Fetch to launch on any OS.

Mihira Jayasekera:

This is some MobileMe-level brand tarnishing.

The Guardian:

Apple did not respond to request for comment.

Update (2015-11-13): John Gruber:

Inexcusable for a service that is absolutely essential to users and developers.

Harsh words, but I don’t see how anyone could disagree.

Matt Berg:

So many of their products feel this way. They’re just stretched too thin. And for what? Apple Watch? They’ve lost focus.

Steven Frank:

Every aspect of this MAS cert thing is completely infuriating to me.

Daniel Jalkut:

I spent a lot of years being sarcastic but optimistic about the Mac App Store. I guess my patience, like so many others’, has worn thin.

More than anything else, sandboxing and my assumption that the future was in the Mac App Store, has shaped my priorities the last 5 years.

Paul Haddad shows a 1-star review from a customer whose app stopped launching.

Andrew Wickliffe shows a reply from Apple Support encouraging him to post a review in the Mac App Store in the hopes of the developer contacting him. This is ironic because Apple does not let developers contact customers who post reviews.

A customer e-mailed me to say that AppleCare told him that “actually the app store certificates come from the developer of the app, not Apple. Apple only approves the certificates. […] So their current position is that it’s the responsibility of the app developer to fix it!” I think this is incorrect and that Apple itself signs the apps that the store distributes. My own certificates are for submitting to the Mac App Store and have not expired. Furthermore, if AppleCare’s explanation were correct, the workarounds (entering your password, redownloading the app, restarting the Mac to clear the caches) wouldn’t work for anyone.

Michael Yacavone:

Wishing all my favorite MAS developers the best after Apple dropped the cert and then blamed devs. Sad situation. Everyone take a month off.

I woke up in the middle of the night thinking about how egregious Apple’s behavior this week has been toward devs.

Michael Gorbach:

Between Apple nuking sideloading for f.lux and the Mac App Store issues, I’m really feeling ecosystem angst today.

Pierre Lebeaupin:

This is not just unacceptable: this is a fundamental violation of the trust that both app developers and customers have placed in Apple, namely that bought, installed and compatible apps would keep working (short of any dramatic action taken for consumer protection so that they would not, such as revoking the certificate of a malicious developer).


So, in turn, how am I supposed to trust iCloud or Apple Maps, if I am not sure I can run any app that can access it? As if these services did not already have a reputation…

But even more troubling are the implications for long-term usage and preservation of software and it data.

Rene Ritchie:

Before it expired, Apple issued a new certificate, but one using SHA-2 (secure hash algorithm 2). This was supposed to be transparent, but once the old certificate expired, some people began experiencing problems.

First, outdated certificate information was stuck in cache, which required some people to reboot or re-authenticate in order to clear it out.

Second, some apps are apparently using an old version of OpenSSL for receipt validation, and—you guessed it!—it doesn’t support SHA-2, and hence isn’t compatible with the new certificate.

This makes sense, although I suspect there are also other factors involved because it doesn’t explain all the cases that I’ve heard about.

Paul Haddad:

Grabbed a new Mac App Store receipt. They are back to using SHA1 and it now has an expiration date in 2023.

Philip Elmer-DeWitt:

A security certificate Apple installed to protect users from malware had expired on Nov. 11, 21:58:01 GMT—precisely five years after its original creation—and nobody at Apple had thought to renew it.

The company fixed the problem—pushing through a new certificate that expires in 2035—but not before breaking untold numbers of Mac apps and confusing and inconveniencing countless Mac owners.

Matt Stevens says that developers need to be careful to validate App Store receipts using the receipt’s creation date rather than the current time. The creation date field was not initially documented, and Apple’s sample code uses the current time.

Keith Gugliotto:

What we know, so far, is the receipts embedded in most, if not all, Mac App Store apps became invalid yesterday. This happened without any advance warning from the mothership. How apps reacted to this varied. Our apps are among those affected, and in the worst way. […] In the meantime, we’re giving away our apps at our online store.

Jim Matthews:

As of November 13, 2015, it appears that Apple has fixed this issue. If your copy of Fetch from the Mac App Store does not open, drag it to the trash, empty the trash, and download a fresh copy from the App Store.

Nick Heer:

Today’s ongoing certificate expiration issue is yet another reminder that Apple needs to commit more talent and resources to the Mac App Store, or get rid of it.

Graeme Devine posts another response from Apple Support blaming the developer.

Update (2015-11-14): Shawn King:

This is a huge embarrassment to Apple (and one they haven’t explained or apologized for) as well as being a giant pain point for developers. After all, when your app stops working, who do you contact? The developer or Apple?

Core Intuition:

Daniel returns from Amsterdam to find Mac App Store issues abound. Manton buys an iPad Pro but has to wait for the Pencil. The two discuss the Mac App Store’s 6-year failure to evolve substantially, and dig into the emotional highs and lows of enjoying and surviving Apple’s platform constraints.

Glenn Fleishman:

When a certificate fails—whether through an accidental expiration or due to tampering—it’s a reasonable precaution for software to act as if the sky is falling, because there’s no good reason it should fail unless an attack or compromise is underway.


And yet because Apple’s infrastructure is seemingly so brittle, not only did it happen, it inconvenienced an unknown number of Mac App Store software purchasers, while offloading the frustration and customer-service load to developers.

Rainer Brockerhoff:

There are actually several different unfortunate problems here. First, the “damaged” dialog seems to be caused by some sort of cache or memory corruption in the system processes that coordinate to implement GateKeeper and the app store updates; some reports say killing the “storeagentd” process solves this problem without rebooting. (My system doesn’t seem to run this, FWIW.) What not everyone knows is that this dialog appears before the app it allowed to run; that is, it’s not affected by any checking done inside the app itself!

Second, asking for a new AppleID password. This is caused by the app itself checking the store receipt; something strongly recommended by Apple, since otherwise, it’s easy to copy a downloaded app to another computer and having it run there; I remember some early games not doing this and being widely pirated.


When and if you get a new version of the app, all certs will probably be new ones. So there’s no “allowing” a leaf cert to expire — they do so naturally.


Apple “pushed” a new certificate that expires in 2035. This is probably just looking in the wrong place — not knowing which certificate had expired, someone glanced at the root certificate and noticed the “new” 2035 date. Nothing new to see, of course; that cert was created in 2006!

Update (2015-11-18): Benjamin Mayo:

Apple has emailed developers about the recent damaged apps bug affecting a sizeable proportion of the OS X user base with some getting repeated errors on app launch. Whilst a reboot should be enough to invalidate and reload the certificate cache for most people, there are some weird edge cases. Apple says that a permanent fix for the caching issue will be included in a future OS X software update.

Rainer Brockerhoff notes that Apple’s e-mail linked to the wrong documentation page and neglected to mention the important receipt creation date issue.

Pierre Lebeaupin:

Conceptually, there are two “security” services the Mac App Store provides: DRM, to protect the developer against unlicensed use of the app or the app being pilfered, modified, and passed off as being the modifier’s creation; and code signing, to protect the user against an attacker tampering the app between the moment the app was signed by someone the user (supposedly) trusts and the moment he runs it.

Code signing, by its nature, relies on digital certificates, and these certificates expire, for what I hear are good security reasons. The archivist does not particularly care about code signing: even if the app was tampered with by an attacker, the archivist has a pristine copy of the data, and the machine is off the network and nothing will ever exit it. Since code signing is put for the user’s benefit he should have as a last resort the ability to disengage it, otherwise this is not done for the user’s benefit and is not just code signing, is it?

Update (2015-11-20): Gus Mueller:

Maspocalypse. The gift that keeps on giving. Now I get to support family members who bought things years ago, that just stopped working.

Other users continue to find apps that aren’t working after rebooting.

Update (2015-11-24): See also Accidental Tech Podcast.

Dan Moren:

But given that the Mac is doing tremendously well, setting sales records—even if not approaching the sales volume of iOS devices—and given that Apple takes a 30-percent cut of both iOS and Mac app sales, regardless of the disparate support for the two app stores, it might behoove the company to spend a little time bringing the Mac App Store up to snuff.

Tom Harrington:

Still finding new “app is damaged” errors, over a week later.

John Gruber:

Put aside the argument about whether a fiasco like this should have ever happened in the first place. Why did it take six days for Apple to publicly respond and explain what happened?

And since Apple only contacted developers and select Mac press, not the people who bought the apps, most users probably never heard anything about it.

Update (2015-11-29): Rob Griffiths:

However, with a few simple changes—and one not-so-simple changes—the Mac App Store really could be the place to shop for Mac software, instead of a place where you only find apps that meet Apple’s narrow definition of what an app should be.