Connect with the amazing community surrounding the Omni Group’s award-winning products.

Aug. 22, 2018, 6 a.m.
OmniFocus 3 for Mac: New Features

Ken Case, CEO of The Omni Group, and Dave Messent, OmniFocus product manager, join the show for a special episode to talk about OmniFocus 3 for Mac and how it’s gaining new features that first appeared in OmniFocus 3 for iOS.

Show Notes:

Some of these new features include tags, fancy repeating tasks, the Forecast tag, and enhanced custom perspectives.

We also talk about features that were not brought over to the Mac — since they were already there. But then some of those things were improved. :)

You can find Ken Case at The Omni Group and @kcase on Twitter. You can find Dave Messent @dmessent on Twitter.

For more about OmniFocus 3 for Mac, read the Omni Roadmap 2018 — particularly the second half, which concentrates on OmniFocus — and listen to a previous episode of the show where Ken Case talks about the roadmap.


Brent Simmons: 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. This is a special episode. We’re talking about OmniFocus 3 for Mac, which will ship in September. We’re talking about how it’s getting parity with the iOS version. The same features that went into OmniFocus 3 for iOS are going into OmniFocus 3 for Mac.

Brent: In the studio with me today is Ken Case, CEO of The Omni Group and Dave Messent, OmniFocus Prime Minister. Say, “Hello,” Ken.

Ken Case: Hello, Ken.

Brent: Hello, Dave.

Dave Messent: Hello, Dave.

Brent: Alright, so I mentioned that the Mac is getting iOS parity, which isn’t maybe quite the exact right word for this, since it’s almost arbitrary that iOS came first and a lot of the code is common code between the two apps. Tell me more about how that works, what that means.

Ken: I guess I would say that a lot of this release is about iOS getting parity with the Mac app. So a lot of what happened in OmniFocus 3 for iOS had us bringing features to iOS for the first time that we’ve had for 10 years on the Mac, like being able to have multiple selections or column things, and so on.

Brent: Like batch editing?

Ken: Batch editing, exactly. But we ended up shipping the iOS app first, partially because it needed those features more, and because it was playing that catch-up, and now it’s time to bring some of those things back to Mac. When we say back to Mac, as you alluded to, we already had written a lot of this code in some shared frameworks that both Mac and iOS use, so the Mac already had some of the groundwork in place. You know, what have we been doing for the last three months then? Well, we hadn’t brought that groundwork actually out to the interface where the user could work with it.

Brent: OK. So much of the last two years has really been that groundwork and then it’s only later there was the interface for iOS and then the interface for Mac. Is that roughly true?

Ken: Yeah, I would say so. In fact, OmniFocus 2, the latest releases can sync with the current version of OmniFocus 3, and the only reason that’s true is because we laid that groundwork ahead of time, so that OmniFocus 2 could understand what happens when I see a tag show up in a database? What happens when I see repeating tasks with rules that OmniFocus 2 didn’t understand, and so on.

Brent: It is interesting that batch editing was one. Three-pane view was another thing that the Mac already had and iOS didn’t so iOS is getting parity with the Mac. That really seems to be a lot of the case. Was that three-pane view a lot of work, Dave?

Dave: Yeah, I mean, write a lot of code as you know...

Brent: Yeah, I know.

Dave: And I found it very difficult.

Brent: You notice when people write code.

Dave: I do notice when people write code, but it’s good for everyone that I’m not responsible for any shipping code.

Brent: I’d like to say the same thing about myself at this point.

Dave: Yes, I was going to leave that out, but we’re all happy that you’re doing your new job.

Brent: Yes.

Dave: It’s interesting, I realized as we were talking about the three-pane view, we did actually change the view controller for the Mac app. It’s actually going to work better in split-view, in the sidebar, and the inspectors are going to play better with split-view and full screen.

Brent: Full screen split view? Oh I see. Okay. Does it also do that cool animation thing in full screen?

Dave: It does do that cool animation thing.

Brent: Any developer listening is thinking to themselves “Hey they must be using NSSplitViewController now.” Is that true? You don’t know.

Dave: I don’t know.

Ken: Yes that’s true.

Brent: That’s cool. Even things that the Mac already did have, like three-pane view, have been improved. But there are still some features that appeared first on iOS, that are coming to the Mac in OmniFocus 3. One of them isn’t really a day-to-day use feature, but I find very interesting, and that’s probably a question for Ken. It’s about doing free downloads on the Mac App Store. So the Mac version, you’ll be able to download it and use for free from the Mac App Store, not just from our site.

Ken: Yeah, and this is actually sort of rounding off an initiative that we started a while ago to try to get all of our Mac store apps to have free downloads.

Ken: We already has as you just noted, we had free downloads in our own store, so it’s not exactly new to our apps on the Mac. But the reason it was important to us was it helped us overcome some of the limitations that we had in the Mac App Store around being able to sell people discounted upgrades, for example. So this will be the first version of OmniFocus that we sell in the Mac App Store that people can get a 50% discount on the Standard edition, not just the Pro edition, when they upgrade. It also lets us, of course, do free trials. Again, slightly less important on the Mac because you could go to our site to get a free trial, but there’s a lot of convenience to just being able to do that right in the Mac App Store, and people appreciate that.

Ken: And it let’s us do price protection so people who bought OmniFocus earlier this year, for example, if they bought OmniFocus 2, they’ll get a free upgrade to 3, and we don’t have to charge them again, which was sort of forced on us by the model we were using for downloading Mac App Stores apps in the past.

Brent: Oh cool. It’s better for users in general. Better for us, too. That’s really cool. Were there changes to the apps store rules, or technical changes that made this kind of thing possible? I’ve often been confused by everything about IAPs — in-app purchases and so on, but ...

Ken: Sure. Well this whole area has evolved a lot, of course, since the start of the Mac App Store. When the Mac App Store first appeared, we didn’t have in-app purchases at all. If you made the app a free download, there was no way to get paid. That was clearly not a workable model for us. So our first apps started out just being completely purchased up-front, and that’s all there was to it. If you wanted to buy the Standard edition, we had one SKU in the Mac App Store, and if you wanted the Pro edition, you buy a totally different SKU at a different price.

Ken: When the in-app purchases showed up, then that gave us the flexibility to let you do one download and upgrade it to Pro, and we realized we could use that to give people discounts, at least if they were buying Pro. If they owned a previous version of say, OmniGraffle, and they upgraded to the new one, they could get the Pro upgrade for free, and effectively, we would give them a discount. At least our Pro customers.

Brent: Right.

Ken: Which fortunately turned out to be 80% of our customers.

Brent: I always find that so fascinating. But the Pro features are cool. I can see why. But I would never have guessed that it would be such a high percentage.

Ken: Well that’s who are customers are, I guess, in general. They’re people who are using —

Brent: They’re pros.

Ken: — these to get their work done.

Brent: So another big feature, maybe the biggest feature of this app, is that we have tags on the Mac now. How does that change using Mac OmniFocus, Dave?

Dave: I think the biggest thing is the folks that have been enjoying using tags on iOS for the last few months finally get to see those tags in their database on their Macs.

Brent: This deserves a “Finally.”

Dave: Yes. It is really a “finally.” We would have loved to have shipped them both at once, but we thought it was most important to get the people that were just ... anyone who was using iOS could use tags once we shipped them on iOS.

Brent: Sure, right. Not everybody has both, after all.

Dave: That’s right.

Brent: They should. I’m just saying.

Dave: Sure, I understand not everyone uses a Mac.

Brent: Oh yeah. I always forget that.

Brent: So along with tags comes enhanced custom perspectives.

Dave: Yes.

Brent: So we have a new Rules Editor, I suppose, which is similar to the iOS one.

Dave: Yeah. We’re using a controller that’s actually built in to macOS, that you might have seen when you set-up a Mail rule, or a smart playlist in iTunes.

Ken: Looking at some of those, I’m not sure if they use the standard control because they seem to have slightly different limitations. But certainly if you’ve seen OmniOutliner’s filtering rules...

Brent: I know a guy who worked on that.

Ken: ... which somebody here at this table worked on.

Brent: What was that NSPredicateEditor or something? I forget. [crosstalk 00:08:08]

Dave: It’s a familial control, and it lets you choose a type of rule, then choose a value that is important to that rule, like the estimated duration or the tags you want to filter on. It lets you create a perspective and it syncs around between your Mac and iOS devices, and lets you slice and dice your OmniFocus database into that focused —

Brent: Super focused.

Dave: Super focused.

Brent: Hyper focused.

Dave: I saw a cool thing actually, one of our beta testers posted. He was experimenting with toolbar-less and sidebar-less windows, showing custom perspectives with different purposes, and tiling them on his screen, so he had kind of a —

Brent: Dashboard-y

Dave: Dashboard view.

Brent: That’s pretty cool.

Ken: Like a Kanban.

Dave: You could see that going a lot of interesting places, but obviously that’s not something you could do on iOS.

Brent: Right.

Dave: Multiple copies of the same app is not a —

Brent: You could have multiple phones, I guess. [crosstalk 00:09:00]

Dave: Literally tile your devices.

Brent: Since I’ve kept every iPhone that I’ve ever had. I could. It would be crazy. Then all my iPads. Well, except it wouldn’t run maybe on those old devices, but in theory.

Brent: So the testers caught something to do with the sidebars and custom perspectives. It’s only at this, at the time we’re recording this, August 8th, it’s only been out to a very few testers so far. But what’s the story with that, Ken?

Ken: When we brought custom perspectives to iOS in the first place, we didn’t give iOS a sidebar for those custom perspectives. The whole model on iOS for how we put together our perspectives is sort of backwards from how we do it on the Mac. We gather up our tasks first, and then we group them. The model that we were using to present that information on the Mac didn’t really apply on the iOS in the same way. And, of course, we were also designing for phones where you wouldn’t have room for a sidebar. The long and short of it is we don’t have a sidebar on the iOS and when we designed the new custom perspective system with rules, your tasks were no longer just derived from a set of projects or contexts that you were living in, and then sort of filtering down until you had these more complicated rules that were coming into play. So we didn’t use a sidebar on iOS and we didn’t sort of worry what the sidebar might look like.

Ken: But when we brought it to Mac, of course, we had to start thinking about that, realize that the model that Mac was using for how it would build the sidebar first and then build the main content area from that sidebar wasn’t going to work out. And so, we decided “well, let’s just try it without the sidebar at all and we’ll just make it work like it does on iOS.” And very quickly the feedback came in that “We really do want to see that sidebar there and we don’t want it to just be based on the groupings we have in the content area,” which is one way we thought we might design the sidebar, because people were using it to say, look at a project list, and things are groups by project. But then they would use the sidebar looking at tags — or context in OmniFocus 2 — to select “Well here are the projects related to this person or this location” and filter their lists down that way.

Ken: Fortunately, Jim was able to take that feedback and pretty quickly build that functionality back into the app.

Dave: Obviously, it crossed our mind that people might want the sidebar.

Brent: Oh sure.

Dave: What they were used to.

Brent: But not obliviously making software.

Dave: But oftentimes our approach, when these things come up, has been to not say anything, give something to some people, and see what they say. Because you have the potential to save yourself a lot of work. You also have the potential to get an idea that you had either previously ruled out or not considered. And that makes customers happier.

Brent: That’s the approach I’ve taken throughout my career too, is provide less and then see what people say, and then figure out where to go.

Ken: And if we had taken the first idea that we had in mind for how to rebuild that sidebar we would have taken it in a different direction than once we got the concrete feedback from the customers about what they wanted to see and how they were going to use it.

Brent: It is though one small place where there isn’t common code. The tree building system appears different between the two.

Ken: Yeah, it’s very different. Underneath the lowest level is still the common code, but the architecture on iOS, because it was assigned as a ... the point of interaction is always the same thing. That is, doing the drawing. You don’t have multiple windows on iOS basically, and so you’re not going to have some information come in from interactions in one window that need to be displaced in another window. All of the interactions are sort of designed differently for optimizing for that platform vs the Mac.

Ken: On iOS that led us to everything sort of bottom up where we collect the tasks and group them up to higher and higher groupings, and then display that in a perspective. Whereas on Mac, we start top-down and we’re sitting there watching for changes in each one of these top-level objects and then they’re filtered and so on.

Brent: I see.

Ken: Going back to tags for a second, I should note one of the parity features that we get from tagging is not actually just strictly being able to put tags, and multiple tags — or the old way, multiple contexts — on a task, but being able to put tasks into a tag and reorder them with manual sorting into whatever order you want, which is something people have been asking for many years and have wanted to see on the Mac. This’ll be the first time you can do that as well.

Brent: We also get the Forecast tag, just in the Pro version, I think, right?

Dave: That’s correct.

Brent: That is one of my just all-time favorite features. ’Cause I just mark stuff, I call my tag “Today” which a lot of people do. I get to it today, great. Well, tomorrow it’ll be “today” again and there they are again.

Dave: I’m really happy with the way that feature came out. I think that it’s really helped people get away from abusing dates, which was always one of my problems that I wished we could solve in OmniFocus, was that people definitely do think about their tasks centered around dates. But what happens when something is overdue? It’s different for everyone. So letting something just be drug along for “today” without having to assign a date for it is great.

Ken: That used to lead to workflows where people would constantly be pushing things forward to the next day or whatever —

Brent: I’ve done that a ton, yeah.

Ken: ... and they’d be worried about things slipping through the cracks because they weren’t showing up.

Dave: Ideally, that’s time regained that can be spent on doing a review or something that’s —

Brent: Or actually doing the task.

Dave: Oh wait, you guys do tasks?

Brent: This is one. This is a task. “Record this episode.” Actually it’s not. It’s a calendar entry. But it still appears in Forecast.

Dave: What a segue!

Brent: Yeah, I know. The Forecast is now inter-leaved, as it is on iOS, where it shows calendars and tasks mixed together, which I think is brilliant, because you know when I actually have meetings or things like this during the day is so helpful to be able to see that time blocked out. Super happy to see that.

Dave: It works well for me too. I would say that has been one of the places we have gotten the most feedback, after shipping it for iOS. And we have some ideas on how we can improve it for customers and make it a little more flexible. I think that folks use calendars in different ways. And in some of those ways, the old kind of Gantt style block of calendar events was better for them, and we’d like to get something working as well for them, soon.

Brent: Okay, so you heard that here people. Bringing you the scoops. Question about the forecast tag. Does the actual tag that I’ve decided on, does that piece of information sync between iOS and Mac? Or could I have say a different one, if I wanted to, on the Mac and iOS?

Ken: You can have a different tag on every device.

Brent: That’s interesting.

Ken: The idea was that you could call different things to your attention on different devices, because you may be working on different problems on your Mac than you are on iOS.

Brent: Absolutely.

Dave: So like when our friend, Jim Correia, pulls out his night phone, he’s got a different tag for “today” than his day phone, or in the Forecast.

Brent: Of course he has a night phone. How else are you going to work on syncing if you don’t have a day and a night phone?

Dave: Totally.

Brent: You’ve also got fancy repeating tasks, have come to the Mac. You pull off that progressive disclosure thing like it did in iOS where it kind of steps you through it a little bit? Doesn’t present all the options all at once?

Dave: It definitely doesn’t present all the options all at once. It’s a little bit different working in an inspector than it is working in the table view sub-inspector that we have on iOS, but I think we did a good job of translating that experience. The most important thing is not showing those controls that don’t make sense.

Dave: So even if we’re showing more at once, we’re still leaving out stuff that would be disabled, or that wouldn’t make sense.

Brent: So testing is going well, I take it. Testers have found a few big things that we missed maybe.

Dave: Yeah.

Brent: Getting the crashing bugs fixed.

Dave: The first —

Brent: The sidebar issues.

Dave: The first few days we had a bunch of crashers that we cleaned up very quickly and we have got the sidebar in place, and now we’re working on the more fine interaction things. Working on getting scripts working that might have broken between 2 and 3. AppleScripts. That’s one thing that come up this week, is people trying to use Curt Clifton’s scripts for deferring, and that sort of thing, and they don’t quite translate. So we’re going to figure out if we can make them work, or rewrite them for him, or ...

Ken: There’s sort of two areas where scripting had to change to accommodate our new model. One was around the way repeating worked and completion, because it used to be when a task would repeat you would set its completion date and then OmniFocus would generate a whole new task based on the old one. And we decided because we wanted to be better future-compatible citizens ... like if there’s some new repeat rules that get introduced in the future that we don’t understand today, it’s okay if the completed task loses track of some of the repeating details, because it’s not going to be repeating anymore, but you want the current task to keep these exact same details around.

Ken: So we changed it so that when you complete a repeating task, the current task actually stays the same and what gets generated is a new, archived copy of that, that says it’s completed. Rather than the other way around where we were creating a new repetition of the task that you would be doing later that had the new dates in it.

Ken: All that is to say that we ended up changing the scripting around — and this happened actually in the latest 2.x releases — to say “I want to complete this task” rather than “I want to set the task completion date to something.” Because you would set the completion date to something, and then it would immediately clear that task completion date to sort of make logical scripting sense. So that became a verb rather than a property, effectively.

Ken: The other big changes, of course, are new relationships with tags on tasks. We wanted to have some compatibility for old scripts that were using Contexts. There is some compatibility that we managed to preserve there, but there’s some interesting questions, like when “I add a tag to a task or I assign a tag to a task, should that replace the old tag or should it just add a new one, this one?” We turned those into verbs so that could be more explicit, and say “I want to add a tag to a task.” But that means now, of course, some scripts have to change.

Dave: When I saw those go by, I just wanted to make sure the legacy fallback stuff that we had was working at least as intended, even if didn’t save the scripts that were in the wild.

Ken: Right.

Brent: We’re on track for September still?

Ken: Yeah.

Dave: Definitely.

Brent: Right on. I think that just about covers it, unless you can think of something I’m missing here.

Brent: We will have another new special episode where we talk more about the design changes, which we think will come out on Launch Day. Once again we’ll pretend to celebrate a couple of weeks early.

Ken: The one other little bit of consistency I guess that we brought back, or parity from iOS is, we did a little work on URL scheme consistency, I think. Maybe we did that when we were doing iOS? In any case, we tried to make sure the perspective URLs actually match between the platforms.

Dave: I think that was a change on the iOS side. Who knows? It was so long ago now.

Ken: It’s consistent now. That’s what we know.

Brent: Consistent is good. Cool.

Brent: Alright well thank you Ken. Thank you Dave.

Ken: Thank you.

Brent: Dave, where can people find you on the web?

Dave: While we’re taping this, I’m on Twitter at @dmessent.

Brent: But who knows by the time this is published?

Dave: Yes.

Brent: Twitter! Pfft. Alright, Ken, where can people find you on the web?

Ken: Well you can look on our website of course, We have a People page there, where you’ll find me, and other people here who are willing to let their presence be advertised. And on Twitter, you’ll find me @kcase.

Brent: I’d also like to thank our intrepid producer, Mark Boszko. Say “hello” Mark.

Mark Boszko: Hello Mark.

Brent: And especially, I want to thank you for listening. Thank you. Music!