I’m seeing lots of developers dealing with extension issues as they get ready for tomorrow’s iOS 8 launch. I’m still working on an extension for Shoots & Leaves, but I have already dealt with one of the problems mentioned by Tumblr’s Bryan Irace:

For existing apps, the problem is simple; the data already exists somewhere outside of the shared container, and only the container app can migrate it over. Thus, if the user installs an update that adds an extension, and tries to use the extension before launching the application and giving it a chance to perform the migration, they’re going to have a bad time.

Workaround

There’s no great option here. If the user opens our extension first, we just throw up a dialog telling them that they need to launch the application first. Inelegant but necessary.

That’s a pretty bad workaround. I look at is as no different from when a user opens your app the first time: You need to give them some way to do what they want to do.

I don’t know how the Tumblr app is structured, so I won’t try to offer a different solution. But I will describe what I did.

In the Shoots & Leaves extension, if you open it before you launch the app you’ll be able to upload via Imgur (which doesn’t require a login) and send the link to Safari or the clipboard. At the bottom of the view is a message:

Full access to all your configured hosts and actions will be available after the next time you launch Shoots & Leaves”

Or something like that. And that message is a link you can tap on to launch the app. Once you open the app all your personal hosts and actions will be in the extension, and those defaults will be replaced.

It would be nice if the extension could launch the app in the background, and that’s something I could see Apple doing at some point. As we iOS debs say a lot: Maybe next year.


Loved this post by Gus Mueller:

However much time I’ve been doing this for, and no matter how much practice I put into it, there’s one thing that always sneaks up and pulls the rug right from under me. It’s usually between major releases, but not always. It’s a period of time where I’m pretty lost, and I don’t know what to do. I have feature lists, I have open bugs to fix, and I have an outline of where the app is going. But I feel mentally incapacitated, like I’m getting nothing done.

We’ve all been there, but it’s nice to see it explained so well.


Great post by Maciej Ceglowski on the fifth anniversary of Pinboard. I particularly liked this part:

I find that the longer I run the site, the more resistant I become to the idea of ever giving it up, even if I need to take the occasional break. It is pleasant to work on something that people draw benefit from. It is especially pleasant to work on something lasting.

I feel the same way about Shoots & Leaves. The feedback I get telling me how people use it is a huge motivator.


I wasn’t expecting much this year.

It had become sort of a tradition: The handful of things that were always on everybody’s WWDC wishlist that never arrived. The disappointment was not so much in not getting those things, but in knowing it would be a full year before you even got another chance.

This year, we got what we asked for. Not everything, certainly. I still don’t have a pony. But Apple announced many of the things we’ve been wanting for years. And not because they “finally caved”, but because those things were finally ready.

So here, in more or less the order they showed up in the Keynote, are the things I’m most excited about:

Yosemite

An OS X release named after a Warner Bros. character! How could I not be excited about that?

The design looks nice. I’m not sure about the transparency, because you never know if something like that will be done well, but we’ll see. I’m glad they went with an evolution of the current design, rather than a complete rework. And I’m excited to try the dark theme.

iCloud Drive is unlikely to replace Dropbox for most people, but it will be great to have that kind of access to our iCloud files.

They had an impressive demo for Continuity, but that’s one of those features that has to work near flawlessly for people to use it. If it only works sometimes, or it’s slow, people will go back to their old habits of sending stuff back and forth manually.

iOS 8

Interactive notifications is a great feature. I hope a lot of apps adopt it quickly (looking at you, Due).

Just the week before, I had been thinking about what we were going to do in a few years when our kids are old enough to have their own iOS devices. Family Sharing is a welcome solution. Only thing I haven’t heard yet is whether iTunes Match will be included.

I love that all my photos can be in iCloud, and the new iCloud price tiers. The $0.99 tier is a no brainer, and I wouldn’t hesitate to jump to the next level if I need the space.

Dev

I’ve heard some people suggest that app bundles will cause the price of apps to drop even lower. I see it being very useful in a variety of situations. If you can bundle iPhone and iPad apps together then it would be a better solution than universal apps. You would be able to sell, say, the iPhone version for $1.99, the iPad version for $2.99, and the bundle for $3.99. Users will get smaller app downloads and not have to pay extra for platforms they don’t own.

I have mixed feelings about TestFlight. Beta testing based on Apple IDs rather than devices, and distribution through the App Store is fantastic. But having to go through a beta app review could be a deal-breaker. We’ll see.

I’m probably most excited about extensions. There are a lot of ways I could use this with Shoots & Leaves. So many, in fact, I’m not sure where to begin. And I can’t wait to see how some of my favorite apps use it.

Similarly, the new camera APIs and PhotoKit should be useful for me as well. CloudKit too, though I haven’t dug in enough to see if I can use it the way I want.

I’m seeing a lot of people playing with Swift already, and it looks like a great new language. It’ll take some getting used to, but the new tools they introduced with it should make it easy to learn.

I don’t think it was mentioned in the keynote, but that fact that embedded webviews will now be as fast as Safari is a significant change. This will affect my day job quite a bit.

And probably the most important change, is the one that makes it possible for us to discuss all the others: the changes to the NDA. It’s exciting to see people publicly discussing all the new stuff. I think this will have a huge affect on adoption of all the new APIs.

This is going to be a busy summer and an exciting year for all iOS and Mac developers. I can’t wait to see what we do.


The Onion, of course:

According to Richman, it was just now hitting him how many hours of his life he’s pissed away listening intently to nonsense about celebrity couples, how good or bad certain pens are, and why a particular sports team might have a chance this year. The husband and father of two said that every time he’s felt at all put out or bored by a bullshit conversation—especially a speculative one about how bad allergy season was going to be—he should have just turned around, walked away, and gone rafting or rappelling or done any of the millions of other things he’s always wanted to do but never thought he had time for.

At various points throughout the day, Richman could be heard muttering to himself that he couldn’t believe he was almost 40 years old.

Yep.


A little over a year ago, I was working on our pool when I realized I needed a part for the pump. I pulled out my phone and took a picture of it so I’d have the model number. As I looked at the photo in my camera roll it occurred to me that I didn’t need it there. I needed it in Omnifocus. Better still, I needed a way to turn a photo into text, so that it would be as portable as plain text is.

That was the inspiration for Shoots & Leaves. And now, finally, it’s on the App Store. It’s on sale through this weekend, so grab it before I change it to its regular price on Monday.

A huge thank you to my wife. She gave me the time I needed to get this done, and she’s my #1 beta tester.

Also, big thanks to Derek Giromini for his wonderful work on the icon.

I have absolutely no idea how this thing is going to do. I’d love for it to find an audience that uses it regularly. But I consider it a success that the damn thing exists at all. I made a thing that’s mine, which was the real goal all along.

Anyway, releasing apps is fun. Let’s do it again soon.


I realized at the beginning of this year that it had been a very long time since I’d read a book. I read constantly, but almost all of it is articles on the web. I hadn’t read a grown-up fiction book in ages. So I decided to change that. I ended up reading a lot this past year, and I wanted to mention some of my favorites. They are listed here in the order I read them.

  • The Road by Cormac McCarthy – I don’t think any book has ever affected me the way this one did. It was easy to imagine me and my son as The Man and The Boy, which made me anxious the entire time I was reading it. That feeling pushed me to read it as fast as I could. It’s a wonderful book, and I don’t think I could bring myself to ever read it again.
  • The Ocean at the End of the Lane by Neil Gaiman – This book does a great job of showing the world from the perspective of a young child. As with The Road, the scenes between the father and son felt like a gut punch.
  • Leviathan Wakes by James S.A. Corey – I thoroughly enjoyed this book. It just pushed all the right buttons for me. After reading it, I immediately read both sequels. They were both very good, though not quite as good as the first. I’m eagerly awaiting the next book in the series, as well as the possible TV show.
  • The Rook by Daniel O’Malley – Another fun one, with possibly the best first chapter ever. Lots of great characters, too. And the main character’s letters to herself are a great device for introducing the reader to the world.
  • The Lies of Locke Lamora by Scott Lynch – I hesitated to read this one, since I don’t tend to like fantasy settings. But I’d heard so many good things that I gave it a try, and I’m glad I did. It’s a fascinating world, and I’m looking forward to reading the sequels.
  • The Night Circus by Erin Morgenstern – The best word I can think to describe this is “lovely”. Such a beautiful story, with so many dream-like elements. I find myself thinking about it quite a bit. This is one I could see re-reading regularly.
  • Ancillary Justice by Ann Leckie – If you follow sci-fi news you’ve probably seen quite a bit of praise for this book. It’s well deserved. It can get confusing in places, but not in a frustrating way. More of a, “Oh, I should have paid more attention to that part. But since I didn’t, now I get to go back and read it again. Yay!” way.

Sam Thielman, at AdWeek:

Netflix has cracked down on password sharing this year (the streaming service has a $12-per-month plan if you want to stream on four devices simultaneously), but it looks like there’s a new tier to its pricing plan, albeit one available only to new users: you can now sign up for a single-screen standard-def stream for a dollar less than the hi-res, two-streams service most users are currently using.

Thielman theorizes this is for people on slower DSL connections, but to me this looks like a mobile play. There’s a growing audience whose only computer and internet access is their phone. Makes sense to offer them a lower cost, lower bandwidth option.


Alex Payne, with the best explanation of what’s wrong with Bitcoin that I’ve seen:

And Coinbase certainly feels, uh, compliant. It took me over a week to use the service to turn US dollars into a fraction of a Bitcoin, an experience that coupled the bureaucratic tedium of legacy consumer financial services with the cold mechanization of notoriously customer-hostile PayPal, but with the exciting twist that I have no idea from moment to moment how much my shiny new Internet money is actually worth.


Joe Cieplinski, developer for Teleprompt+, has the same reaction to Marco’s post as I did:

The fact is, there is a whole world of untapped potential on the App Store for developers who can solve real problems for people who are happy to pay. I’ve said it a million times, but it bears repeating: it’s not about price; it’s about trust. People are willing to spend money if they are sure what they are getting will solve their problem.

There are so many potential business models in mobile development that declaring any one of them “over” is just silly.