Ken Case, CEO of The Omni Group; Dave Messent, OmniFocus product manager; and Tim Ekl, OmniFocus engineer, join the show for a special episode to talk about HEY IT’S LAUNCH DAY WOO-HOO!
We look back on the two years of work on this release — all the database and syncing groundwork, new user interface, and new features — and how all these different pieces didn’t come together until near the end. But then they did!
While the app looks familiar — which is entirely by design — this release is a much more dramatic improvement than it appears on the surface. And we’re very proud of the whole team.
And now our Support Humans, who’ve done so marvelously well during the beta program, get even busier as OmniFocus 3 is now available on the App Store. We’ve got WWDC next week, and our designers, engineers, and testers are back to working on OmniFocus for Mac, OmniFocus for the Web, and more new features for OmniFocus 3 for iOS.
It’s almost the company motto: “Work continues!”
Brent: You're listening to The Omni Show. Get to know the people and stories behind The Omni Group's award-winning productivity apps for Mac and iOS. Music!
Brent: I'm your host, Brent Simmons. In the studio with me today is Ken Case, CEO, Tim Ekl, OmniFocus engineer, and Dave Messent, OmniFocus Prime Minister. This is our special launch episode. OmniFocus 3 for iOS is out today.
Dave: [sound of a can of Talking Rain sparkling water opening]
Brent: Yes, we're celebrating! Anyway, say "Hello," Ken.
Ken: Hello, Ken.
Brent: Say hello, Tim.
Tim: Hello, Tim.
Brent: Say hello, Dave.
Dave: Hello, Dave.
Brent: So, everyone relax. We've done a whole ton of work and now we're all finished, right? Because we've shipped today. Just sit back-
Dave: Just earlier today.
Brent: Goodness gracious, all right. We're sitting around, drinking Talking Rain, eating a bunch of cake. Some people are dancing.
Ken: Game Day.
Brent: Will there be a game day tomorrow, is the question?
Ken: I think we're gonna be pretty busy answering questions after launch.
Brent: Pretty busy, yeah, that's fair. That's fair. So listeners, just so you're not totally confused, or so you are more confused, we're recording this on May 16th. We haven't actually shipped, we're just pretending that way, okay? So if our tenses get confusing here, well, blame us. Anyway, so, it's been a long road. When did we start?
Dave: We decided earlier today that we started in 2016.
Dave: With some of the big underpinning things for this release.
Brent: Mm-hmm (affirmative). And so what was that? What were we thinking about? What did we have to do?
Tim: There were two big components that we started on really early. The first was what we call the multi-pane controller, and that's the thing that, at this point, is shipped in all of our apps and actually shipped in every other app before OmniFocus. But it's what lets us have that three-up display where you have a left sidebar and then a central outline view, and then the right inspector side bar all at the same time.
Brent: Which is very much like a lot of Mac apps look like.
Tim: It is, yeah. That was-
Brent: Bringing it to iPad.
Tim: That was an influence on the design, for sure. But we started that in early to mid 2016, knowing that we wanted to use it in OmniFocus 3, knowing it would support some of those features. And then a lot of the other apps that shipped along the way found that hey, it would be pretty useful for them too.
Tim: We wound up sharing it across our entire line.
Brent: But they all got to use it first.
Tim: They all got to use it first.
Brent: (laughs) All right. So it seems like that alone would've been a fairly substantial update, especially for the iPad app.
Tim: That's a huge feature already, and a big difference from OmniFocus 2, where we had the singular side bar and then an outline and a modal editing experience.
Brent: Mm-hmm (affirmative).
Tim: You can do a lot more with an embedded sidebar inspector.
Brent: What more can you do?
Tim: Well, along with multiple selection you can do a whole lot of batch editing, which is a major, major update in OmniFocus 3. But even without multiple selection, you can get a better sense of details on a particular task while you look at it in context, in the context of a project or a containing folder, you can edit its data live and see those changes reflected in the outline right away, so if you're adding more tags to a task, you can see that crop up, or changing a date, you can see it move around in forecast.
Ken: And there's a lot less moving in and out of a, sort of, model inspector, which...
Ken: ... was the old experience on an iPad, where you would tap on a task, you would see it's stuff, and you would have to dismiss it in order to go to another task. Now you can just tap directly on that other task. So it saved some taps.
Tim: Mm-hmm (affirmative). Things are a lot smoother that way.
Brent: Yeah, so we have batch editing now, which means we can select multiple things and edit them, as you just mentioned. It's not something I've seen on iOS very much. How did we— without a lot of prior art on that platform, how did we design and implement that feature?
Tim: Well it's true that there's not a ton of prior art on iOS, but there's a tiny bit, right? Some apps have an edit mode that you can kind of go into and out of, and maybe select multiple things or move them around. But in fact, a lot of our prior art came from what happens on the Mac. People have years and decades of solidified expectations as to how multiple selection and a list or an outline works on the Mac, and so a lot of times we could think about, "Okay, well, how can we take the experience of selecting an item, holding down command and selecting another item, so they're both selected, and translate that to iOS with a touch screen and a lack of a cursor and maybe lack of a persistent keyboard, but still keep that notion of, I have these two things selected and I'm operating on them both." We could kind of build out from those ideas because after all, OmniFocus for the Mac has had multiple selection for some time.
Brent: Yeah, sure. So was the major effort of this release to bring Mac features over to the iPad?
Ken: That was certainly some of the early vision, from what we were trying to do as OmniFocus 3, and in fact the version 3 round of all of our iOS apps. And we decided to bring more of the power of the desktop to that transforming piece of glass, as Tim Cook calls it.
Brent: Mm-hmm (affirmative).
Ken: The iPad. So that was in the roadmap two years ago, and then I've been repeating it in the roadmap each year as we continue working on it, and now it's in all four of our apps, as of this release.
Brent: It's interesting that, at least for some little while before the Mac app ships, the iOS version is ahead, it seems to me, in a lot of ways. So the Mac's catching up.
Dave: Yeah, in a couple of key ways. I think the iOS app is the one to use, at least until we have Mac beta builds available.
Brent: So what other groundwork went into all this? I mean, two years and we had the multipane— is that P-A-N-E, not P-A-I-N?
Tim: That is spelled P-A-N-E, though...
Brent: Okay, yeah, all right.
Tim: ...at some point in its development it's been both.
Brent: So aside from that, I assume there — you know, two years. There must have been some other things that we were working on.
Tim: Yeah, the other big thing that we worked on in that time, or that we started very early- was kind of laying the groundwork for some of the database changes that we knew we wanted to make, to support newer features. And that was some work that is actually been paying off incrementally, along the way to OmniFocus 3. We've seen OmniFocus 2 releases that support some better repeat rules, and then it's also laid the groundwork for things like OmniFocus 3's more advanced perspective filtering and tags.
Brent: How do we prevent all these OmniFocuses from stomping on each other? Not understanding new features?
Tim: Part of the work in those database changes was introducing a system that we call Capabilities. And the idea is that, every copy of OmniFocus writes a little file on whatever sync server it's using, if you're syncing, that says what features it supports, what features it knows how to expose in the app and let you use. And so along the way when we introduce a new feature, we also add a new capability. And so, different copies of OmniFocus can all look at the sync server and decide whether everybody syncing with your database understands a particular new capability, and then make that available, or prompt you to migrate your database to make it available. And so this is how we've managed several different transitions along the OmniFocus 2 path, and it's how we'll support a lot of the new features in OmniFocus 3 while still maintaining a little bit of sync compatibility with the latest builds of OmniFocus 2.
Ken: Before we had that in place, you know, our sync format was basically frozen in time. For a long period of time, between OmniFocus 1 and late builds of OmniFocus 2. Because managing that migration across several different versions of the app and across different platforms, it's really a hard problem to get right.
Brent: So how has the transition been then? With people running the betas, and of course us running the betas, we're not losing data, we're...
Dave: No, we're not losing data, I'm happy to say.
Brent: That's very good news!
Dave: And I'm sure our support people are also happy to say.
Brent: Mm-hmm (affirmative), cool.
Dave: It's been relatively smooth. The Capability system itself has been in place for over a year in shipping versions of the app, so that's been shaken out pretty thoroughly. And once that's in place, you don't really have to worry about losing data so much as other unexpected things happening.
Brent: Mm-hmm (affirmative).
Tim: We were actually very gratified to see that people in the slack who were helping us test those early builds of OmniFocus 3 were trusting it their personal databases, almost right off the bat. And by and large, I think we've repaid that trust and I haven't heard of a case yet where someone on the beta has lost an entire database, right? Maybe a glitch here or there but...
Tim: I think it's been a relatively stable beta period, thanks in part to that Capability system.
Brent: Yeah, well and having a year to shake this out and everything.
Tim: For sure.
Brent: That was some smart planning. I'm suddenly full of admiration for this team. Because that is, you know, a long game and that's a lot of planning and hard work and getting stuff right.
Dave: We take it pretty seriously as well. Another thing we added along the way, that's not directly related to the capabilities, is backups. So we, our iOS apps, now take backups of your database. And one of the times they do that is before you migrate, as we call it...
Brent: Mm-hmm (affirmative).
Dave: ...to the latest capabilities, but that means even if you did have a problem while running pre-release or a release version of our software, chances are there'd be a backup on your device that you could revert to.
Brent: So other than multipane and all the syncing database stuff, was there other real technical groundwork that we had to lay down? Obviously, there's thinking about features and design and all that kind of stuff, but at the heart of engineering.
Ken: I guess, the database level, we wanted to add tags, which are a lot of like the contexts we had in OmniFocus 2. But their relationship with tasks is different, in that in the past a task could only have single context design to it at a time. So that's basically like having a single field in a task record that says which context I'm going to be using. But when we implemented tags, and you wanted to have more than one, now you're having to maintain this many-to-many relationship between your tasks and your tags. And so that ended up being a lot of fundamental work that had no visible effect at all, for the first, maybe six months or something of that process.
We also wanted to make sure that you could reorder your tasks within a tag, so when you assign two tags to a task, maybe in one of those task lists it's the very first item, but in another one it's the last item.
Ken: So that was another piece of work that was taken on at the same time.
Brent: I assume- so the only thing visible we could see was unit tests passing? At some point, for a while?
Tim: Yeah, for quite some time. We had to write a bunch of code and write a bunch of unit tests and trust that they properly exercised each other, and run them all and some would fail and some would pass, so we'd write some more code and kind of iterate that way, until that database layer got stable enough that we could start exposing it in the app and saying, "Okay, well now we trust that when you assign a tag to a task, everything doesn't fall apart. So maybe we'll show you the field that lets you assign a task.
Ken: And actually all of that underlying database work and syncing work is now shipping in OmniFocus 2, as well. And has been for some time, because otherwise OmniFocus 2 wouldn't be able to sync with OmniFocus 3.
Brent: All right, so OmniFocus 2 has, like that core engine is already in there, that's interesting.
So, WWDC — Worldwide Developers Competition? Whatever — is coming up, if today is May 30th, and it's not really, but it kind of is, then it must be days away. Are we worried that we shipped at the wrong time? Because everything's just gonna change? Dramatically?
Dave: No. No, We'd much rather ship this week than in two weeks. Because, we may not know what's happening next week, but that means we also don't have to worry abut it.
Brent: Yeah, that's true. We may find that we have a lot of work to do and may find that we don't have that much work to do. But at least we're shipping now, so.
Tim: It's been a toss up, year to year, how much what Apple announces impacts OmniFocus specifically. But, one way or the other, there're certainly plenty of people who are not tracking the iOS betas as closely as, say, the engineering team does. And we'll just get a couple months of work out of a nice and stable application.
Brent: Yeah, right, that's a thing to remember, they don't ship the new iOS the week of WWDC, thank goodness.
Ken: And there's always, I guess a balance to be... to find between implementing things ourselves and hoping that Apple will implement those things for us. We got very lucky last year that Apple implemented drag-and-drop and we hadn't just done that ourselves but in some years we had done a bunch of work on something, then Apple implemented it, and we realized, "Oh, well. Let's adapt Apple's code instead."
Brent: Why don't they just tell us sooner what they're working on? Because it's like all shipping, they don't really know, really, until closer to WWDC, what they're actually going to announce, I assume, right? Because things can slip.
Ken: But some things, it's important for us to...to not wait forever. Like, it might be nice if someday Apple implements free trials, but we didn't want to wait for that, or if they implemented upgrade discounts. Again, we didn't want to wait for that either. We went ahead and moved forward on bringing those ourselves.
Brent: Yeah. So we have some listener questions. Scotty Jackson on our Slack asks, "So much is new, improved, refined, and awesome. Which part of OmniFocus 3 are you each most proud of?" Let's start with you Dave. What are you proud of?
Dave: Thanks for letting me go first.
Brent: Oh yeah, no problem.
Dave: For me it's that "so much" part, it's the scope of the release. It's almost miraculous when I think back about the last two years of development, just how many huge features made it into this release? And how each of those features, individually, feels evolutionary rather than revolutionary. So the app is still very much OmniFocus. It's just way more powerful, and we're doing it all at once.
Ken: I'm really proud of the team. This has been, as Dave just said, of a long, big effort and we put a lot of great things together. You know there are a lot of features in this app that everyone has spent a lot of time thinking about, "How can we make this simpler and work better for our customers?" And keeping that focus on what helps our customers' lives, has been great through the process.
Tim: I think one of the things — from the technical side, one of the things I'm most proud of is that groundwork that we laid, early on. One of my major areas of responsibility was dealing with the syncing engine and the database migration layer and the Capability system, and I think that's kind of borne itself out over the last year and I'm super excited and proud to see it go one step further in OmniFocus 3 to support a lot of these new features and help people get their databases up to date and syncing in, relatively seamlessly.
Dave: Sorry Scotty, if those were boring answers. We didn't- (laughs)
Brent: Scotty, I hope you're happy. Yeah. That is a good question. Also on the Slack, Rose Orchard asks — and this is similar but different — "Which feature is your favorite?" Let's start with you again Dave. And you can't tell me the team this time, you have to pick an actual favorite feature.
Dave: I think the feature that has impacted my workflow the most is the Forecast Tag, previously referred to on this podcast as the "blessed" tag.
Brent: Right, sure.
Dave: But it's officially the Forecast Tag.
Dave: I think that has really opened up a lot, for a lot of customers.
Brent: What's your favorite, Ken?
Ken: This is like asking me to pick who- which child is my favorite. I think the thing that makes the biggest difference for me is the combination of the multipane experience and multi-selection. Being able to really start to use my iPad a lot more like I would use my Mac. It's what enables me to do some of the other workflow things. Some of the other stuff we're doing now will be coming to the Mac, like the rules and perspectives and so on. But part of the reason I can live without them on the Mac now is because it's so much easier to just live on an iPad.
Brent: Hmm. Favorite feature, Tim?
Tim: I think I'll have to say the new repeat rules.
Tim: We have a lot of new options for setting up a repeat based on a task's due date or defer date, how those intervals are calculated. We let you pick different intervals, you know, particular days of the month or what have you. And so whereas before I might have a couple of tasks where they kind of had these irregular repeat intervals, and I had to manually reschedule them. Pretty much every time I wanted to check them off, I'd fiddle the dates a little bit to make sure they landed where I wanted them to. Now I am much more likely to be able to set up the rule once, fire and forget, and then check off that task. Either on the Mac or on iOS, because these rules will sync back and forth with the latest version of Focus 2 on the Mac. And I can kind of stop carrying that extra information around in my head, or in a note on the task, I can just focus more on doing the thing rather than managing it.
Brent: The logic is there in the app.
Brent: That's pretty cool. So on Twitter, Eric Bowers asks, "What has been a surprising or invaluable find in researching where you wanted to take OmniFocus 3?"
Tim: So like what we were saying earlier, one of the really interesting things was how early people picked up OmniFocus with their real data. As engineers, we're kind of used to throwing our data into beta apps and then being ready with a backup should something go wrong. We pollute our databases with test information, or something crashes and we need to restore from an older build, or what have you.
Like I said, I was really proud and gratified to see that we could get, even during the TestFlight period, a stable-enough app out, and I was surprised to see everyone kind of threw their actual database into it, just about right away and as more people would join the TestFlight they'd ask, "Is it safe to use with my actual database? Can I sync it in?" And the answer was, pretty much every time, a resounding yes. People want to do that, people are able to do that, and it was something that was surprising but cool to see.
Dave: That's time well spent for us as well because it means that we get feedback on real workflows, people actually trying to use the app, rather than reading the release notes, taking a look at the way they think the feature looks. And then giving us feedback on how it worked with their three test items. And that's not to say that feedback isn't also helpful but that's the feedback that we can do in-house with our testers pretty well.
Brent: Oh sure.
Dave: So it's that real workflow feedback that we get much more insight from.
Ken: It was also really interesting for me to see the differences in the feedback we would get from different rounds of our test period. Like when we invited our first hundred people versus inviting a thousand people and then two thousand people and then four thousand people all in one day, and seeing how that traffic was sort of characterized as people were focused on— I mean, it helped us judge where the app was and how close it was to being ready to...to reach today. To ship.
Dave: Yeah, essentially how quickly our intrepid support team could catch up, was great indicator as to the state of the app.
Brent: And they were very intrepid, it seems, from what I hear.
Dave: And they caught up very quickly every time we added.
Brent: That's cool. One surprising thing to me, I was editing the default database that appears for new users. And as I was going through, in the one for OmniFocus 2, there was a lot of language about, "Oh to access this feature you have to, whatever, pull down the secret bar and do like strange things to get to it." And there was just all this stuff like, that's no longer true. Or, "Do it this way on iPhone, do it this way on iPad." No, these things are like more obvious, and the same on the two different types of devices. I'm like, "Wow, lot of real design work went into this."
Tim: I'll be honest, I'd completely forgotten about the secret bar.
Brent: The secret bar.
Tim: We did a lot of work to make a lot of those functions less secret, or at least tuck them away but not make them hard to find or undiscoverable.
Dave: I have fond memories of the secret bar, because I thought it was a "sweet solution." But it had real discoverability problems.
Tim: It did.
Brent: Well, it's called the secret bar.
Dave: (laughs) Yes, perhaps that should have been a clue.
Brent: So on Twitter, Trenchantly asks, "Why keep flagged?" I like the directness of his question. Why keep it?
Tim: Well, the most straightforward answer is for OmniFocus 2 compatibility, right? OmniFocus 3 with tags, and particularly the forecast tag, is not available on every platform yet. We want to absolutely continue to support those databases that are using flags in OmniFocus 2 as an indicator of urgency or relative importance, or in custom perspectives that can't be upgraded yet. So I think that's one of the primary reasons it sticks around.
Brent: I'll say personally that I liked flagged as another dimension of organization, like this is something I have to come back to pretty soon.
Ken: And while multiple tags can replace some features of the way flags worked in OmniFocus 2, flags were inherited in OmniFocus 2 and tags are not. So in that sense the flags really do behave differently than tags. Maybe at some point in the future we'll have some special types of different tags that could be inherited or something.
Brent: Oh sure, right. That makes sense.
Ken: But we're not there, right now.
Brent: So now that we're shipping, what's next? What's the next thing we're gonna ship?
Tim: More OmniFocus. (laughs)
Brent: More OmniFocus. What's the next OmniFocus thing we're gonna ship?
Ken: Well, I kind of want to hear what Apple has to share with us next week, (laughs) to find out what comes next, but what we're already hard at work on is OmniFocus for the Mac. Because, as we've alluded to several times, there are things now on OmniFocus for iOS that are ahead of where the Mac is, and as people want to adopt those throughout their workflow, it's hard when now their Mac can't do some things that their iPad and iPhone can. We'll be working on that soon, and of course we're also working on OmniFocus for the web. That project is continuing on in the background. And fortunately they don't have to worry at all about what happens WWDC because they're working on platforms that aren't affected.
Brent: That's a good point. They can just. Yeah.
Ken: Apple's [inaudible 00:23:23]
Brent: How nice. Never thought about that as a plus side to web development but I suppose it is.
Dave: Well the minus is that they don't get to spend WWDC week watching videos.
Brent: Oh that's true, they actually have to work that week. (laughs) So we've also got automation, coming along, getting there. It's shipping in some of our apps. What's it look like for OmniFocus and automation?
Ken: After we get OmniFocus for the Mac out, I think, is when we'll be turning our attention to adding the other things that are on this year's roadmap for OmniFocus. So that includes automation and collaboration, both of which I think are pretty important to our long term roadmap, but they weren't things that needed to be done before we could feel like 3.0 was worth shipping. 3.0 is already a pretty huge release.
Brent: Automation's another thing where the groundwork has been laid for quite some time, right?
Brent: Yeah, and it's shipping now in Graffle and Outliner?
Ken: Yes, it's in Graffle and Outliner, and soon to be in Plan, I believe. And then of course we are planning to bring it to OmniFocus. OmniFocus also has some automation support today, of course. On Mac it supports AppleScript, and on iOS it has these URL schemes, the
x-callback-url stuff that lets it work with other apps that do automation like Apple's Workflow app. But we look forward to supporting richer automations than just being able to create projects from templates and things which are how most people use that automation today.
Brent: So, we're shipping. Yay. We have a lot of work still to do. But we've got momentum and we've got a great app. I want to thank everybody who downloads OmniFocus 3 today, and checks it out. Of course, let us know how it's going.
Ken: And leave your honest opinion of the app in the app review. You can download it for free, check it out and give it a rating.
Brent: Yeah there's a trial version and then you can buy Standard or Pro. If you buy Standard you can upgrade to Pro at any time later. Please check it out. Anyway, thanks Ken.
Ken: Thank you.
Brent: Thanks Dave.
Dave: Thanks Brent.
Brent: Thanks Tim.
Brent: I'd also like to thank our intrepid producer, Mark Boszko. Say hello Mark.
Mark: Hello Mark!
Brent: And especially I want to thank you for listening. Thank you. Music!