Monthly Archives: February 2017

Working in Objective-C today. So nice. Calling methods on nil like it’s 2002 WWDC San Jose.

→ 2017/02/27 3:02 pm

Lyft short film

Uber has been in the news lately, and not in a good way. I’m taking a short trip this week and decided to more actively look for ride-sharing alternatives. I’ll be trying Fasten in Austin and Lyft elsewhere.

One nice discovery in this search: Lyft produced a wonderful animated short film called June. It’s directed by John Kahrs, who as I blogged about a few years ago did Paperman at Disney.

I’m still annoyed that Lyft joined with Uber to first actively campaign against regulations in Austin and then ultimately left the city. But Lyft funding a film like this makes me feel better about supporting the company. There’s also a behind-the-scenes video.

Search and smart folders in Apple Mail have become so unreliable (presumably stale Spotlight indexing), giving Airmail for Mac another try.

→ 2017/02/27 11:45 am


Ten years ago I wrote a post about customer support. Nothing in my attitude toward customers has really changed since then, although my products have changed along the way.

Most of my Mac and iOS apps could be built by one person. Even Sunlit, which I developed with Jon Hays, could be maintained by one person. And so when providing support for my apps, I’ve always embraced being an indie company and said “I” instead of “we” when talking about my company Riverfold Software.

I’ve realized as I work toward launching that this product is different. It has a much greater scope than anything I’ve built by myself. To be successful, it needs a team.

This is why my first priority with the Kickstarter stretch goal was to bring someone new to the project. I was initially nervous about making that announcement. I thought that nervousness was because the stretch goal might not work, or because my post was long and could be misinterpreted, but I realize now that I was nervous because I knew it mattered.

The first decisions a new company has to make will end up shaping many things that follow. I worked at VitalSource for over 14 years because the technology decisions and leadership at the beginning were so strong they carried forward for years.

The same rule applies for a very different kind of company: Uber. When you look at their series of missteps, it seems clear that these are inherent problems that go back to day one. I think John Gruber is right when he says Uber’s response is “too little, too late”.

We can learn from every company culture that fails. I don’t expect to make all the right decisions with But I’m going to try very hard to make the first decisions correctly, because it will make everything easier going forward.

Just sent an update to Kickstarter backers. Short version: I’m delaying username invites so that I can launch them with microblog hosting.

→ 2017/02/23 10:53 am

The “Your disk is almost full” notification in macOS Sierra is a bit aggressive. Dismiss it, comes back about 10 seconds later.

→ 2017/02/21 1:35 pm

Since Uber and Lyft left Austin, I’ve looked for replacements only briefly, because I thought Uber would be back and the company might not be run by jerks. Now deleted the app and ready to move on.

→ 2017/02/21 9:21 am

Swift 3 churn

Back in July, I posted this to my microblog, which was cross-posted to Twitter for some additional discussion:

Not shocked that Swift classes won’t be subclassable by default. But it underscores Swift’s priorities. And for that reason, I’m out.

The “I’m out” was meant as a Shark Tank reference, and not to be taken too seriously. But I was serious about taking a break from Swift until version 4, when it would at least be more stable. Daniel and I followed up that week with a more in-depth discussion on Core Intuition 242.

A few days ago Craig Hockenberry posted about how the rapid pace of improvements to Swift can get in the way of learning the language and using example code:

It’s gotten to the point where every time I come across some information written in Swift, especially on Stack Overflow, I cringe. I know that I’m going to have to not only figure out the code, but also which version was used for the answer.

I have absolutely no regrets sticking to Objective-C. As Swift 3 was wrapping up, it seemed that the churn around syntax changes was even worse than I feared. From an Apple dev forums thread at the time:

For the expected quality of software in a third-generation project in late Beta, Swift 3 has become a trainwreck of Microsoftian proportions–at least in terms of process and expectation. Many of us devs are spending 90% of our time not developing our app, but babysitting Swift and trying to understand so many unvetted changes.

That settled down with the final Swift 3 release, but I expect many developers won’t upgrade from Swift 2.3 until Xcode forces them to. There’s even a whole book by Erica Sadun on migrating code.

I still consider Swift a beta language. I just hope that the Swift team and community recognize that this level of instability isn’t acceptable forever. A programming language is not an iOS or macOS release. There shouldn’t be a new major version of Swift every year.

Listening to Sting’s new album after seeing him perform last night. Great show. 20+ years since we saw him at Southpark Meadows in Austin.

→ 2017/02/20 10:48 am

Editing some more Jekyll themes for It will ship with 6 default themes and custom CSS to tinker with the design.

→ 2017/02/19 9:22 am

Washington Post’s new exclusive today that Flynn lied to the FBI, following their exclusive last week about the transcripts. They clearly have a great source. Reminds me so much of All the President’s Men.

→ 2017/02/16 5:16 pm

Posted Core Intuition 271. Recorded before the WWDC announcement, so we dissected Planet of the Apps, plus an updated Siri vs. Alexa debate.

→ 2017/02/16 3:23 pm

WWDC moves back to San Jose

I have a tradition when I go to San Francisco for WWDC. I arrive early on Sunday before the conference, drop my bags at the hotel, and take a cab to the Presidio. The weather is usually beautiful. I visit the Walt Disney Family Museum, maybe sit in the grass with a coffee, then go for a walk to take in views of the Golden Gate Bridge.

I’ve done this the last handful of years. It’s always a perfect reset to whatever stress was happening with my own coding projects and business. You can find blog posts and tweets from past years.

I attended WWDC in San Jose a few times. Moving WWDC back there will probably end up being fine. If you’re at the convention center, or hanging out with attendees at a restaurant, or taking a break to work at a coffee shop around the corner, or even going to a party — many cities will suffice for that. I’m sure the conference will be great.

I’ll still miss San Francisco. I know it’s not a perfect city. But it’s historic and unique. That’s why I recorded a podcast episode about it over 10 years ago, and I’ve learned much more since. I always get something out of the trip.

I attended WWDC in San Jose a few times. Moving it to SF was the right call. But a city can change in 15 years too. Maybe worth a chance.

→ 2017/02/16 10:58 am