Omnifocus3的预告
只是搬砖,翻译技能暂时欠缺,将就着看哈。
这次更新又是一笔大买卖。功能强大了,不仅仅是GTD流派的同学可以玩。
上下文部分更新为标签模式
对个人而言,web和团队模块是这次的亮点。期待
期待高手们尽快翻译。嘿嘿
by Ken Case on January 26, 2018
OmniFocus is now ten years old! A lot has changed in those ten years: when we first shipped OmniFocus, our primary use case was centered on the Mac. OmniFocus didn’t have a way to sync your data between devices; there were no third-party iPhone apps. No notifications. No iPad. No Siri.
Fortunately, there were some fundamental things that we worked hard on for v1.0 which have stood the test of time. Like how to tackle large problems by breaking them down into smaller pieces. How to indicate that some tasks won’t be available until other tasks are completed, so we don’t prompt you to work on something you can’t actually work on yet. Focusing on an important folder or project or context and hiding everything else to reduce distraction. Periodically reviewing (and potentially dropping or archiving) your projects to make sure that what your system is keeping track of is relevant, not noise. The strength and stability of those fundamentals has helped OmniFocus succeed through the past decade—and, of course, it also helps that with each year we’ve continued to update OmniFocus to take advantage of new technologies that have become available. But if we were to design OmniFocus all over again, knowing everything we know now (especially from the many thousands of conversations with you, our customers), there are definitely some things we would do differently.
Well, it’s time: 2018 is the year we’re shipping OmniFocus 3—and it’s a great opportunity to revisit our original design and assumptions.
Goodbye, contexts. Hello, tags!
One of the design inspirations for OmniFocus was David Allen’s Getting Things Done (GTD) methodology, presented in his bestselling book by the same name. For people who were already practicing GTD, the idea of assigning a context to a task to help you know when and where to work on it was very familiar. When planning your work you’d break things down into small, actionable steps, and for each step you’d identify the context in which you were going to perform each of those steps, so that when you found yourself in that context later you could efficiently see the list of things you needed to get done there.
This system of contexts works well enough, but OmniFocus was never intended to be limited to a GTD audience—and as our customer base has grown over the years we’ve seen a lot of confusion over just what these “contexts” are and how people ought to make use of them. The term that makes more intuitive sense to most people is tags: you can tag an item with a tag—or multiple tags—and later you can look at that tag to see all the items assigned to it.
The ability to apply tags without replacing existing tags opens up all sorts of possibilities. You can have a set of tags representing locations (#home, #work, #grocery-store), and an orthogonal set of tags representing things you might want to tackle based on difficulty or energy level (#tough, #easy, #routine). You can track priority (#urgent, #important) or people (#tim, #molly), or even use tags to track a list of things to do #today. Tags are incredibly flexible, letting you organize things in whatever ways make the most sense to you.
In our design for OmniFocus 3, tags are also more clearly an optional feature: just because you can assign a tag to something doesn’t mean every task needs a tag. The end goal of placing tasks into OmniFocus isn’t to curate those tasks into a perfectly groomed and organized collection; the goal is to get those tasks done so you never have to worry about them again. Our hope is that making it possible to organize things in whatever way you wish will serve that goal, rather than becoming a goal in and of itself.
Speaking of organizing things as you wish, many customers have asked over the years why it’s only possible to reorder their tasks within projects and not when looking at those tasks within a context. If I’m planning my day and looking at a context’s list of tasks, I might want to place those tasks into a particular order—but right now in OmniFocus 2, tasks either appear in their original project order, or in an automatically sorted order (say, alphabetically or by due date).
OmniFocus 3 solves this issue by letting each tag track its own independent ordering of tasks. If I’m planning a run to the grocery store, I can look at my #grocerystore tag and drag those items into whatever order I prefer, without changing the order of those tasks in the project list or in other tags. And if I’ve tagged a bunch of tasks to do #today, I can reorder those tasks in whatever way makes the most sense to me.
Dates are an essential element of any task management system. OmniFocus actually tracks five dates for every task, but when it comes to scheduling there are two dates which are particularly key: when a task becomes available, and when it will become due.
Those two dates are pretty easy to manage for one-off tasks: you can just assign some dates (if you need any) and you’re done. But the interactions of those dates start to get complicated when tasks repeat: if a task is supposed to happen again after three months, does that mean three months from when it was last due (e.g. filing taxes) or three months from when it was last completed (getting a haircut)? And, beyond what was possible in OmniFocus 2: should the next repetition be scheduled for the same numeric day of the month (e.g. always on the 15th), or is its schedule based on weekday patterns (e.g. the second Tuesday of the month)?
For OmniFocus 3, we wanted to add more flexible scheduling, but we also wanted to avoid overwhelming anyone with a bunch of decisions that they might not care about. To solve this, we turned to a design principle called progressive disclosure: we ask you to make simple decisions up front (like checking the option “does this repeat or not”), and as you proceed through the interface we progressively disclose more and more options based on what we already know about the task. (For example, there’s no need to ask whether you want to repeat from your due date if you’ve never assigned a due date.) This lets us provide all of that flexibility for those times when you need it (like when you have a task due before a meeting that’s scheduled for the second Wednesday of every quarter)—but when your needs are simpler, you won’t have to worry about all that detail.
It’s great to have more flexibility around task scheduling so things become available and due at the right times. But what happens when those times are reached?
OmniFocus 2 supports two types of notifications: time-based notifications that fire when a due date is reached, and location-based notifications that fire when you approach a context that has an associated location. When OmniFocus 2 wants to notify you about multiple tasks at once, it ends up showing you a notification that says something like “… and 3 more” and you have to follow up by opening the app to see the full list. That may have been acceptable when OmniFocus 2 shipped, but devices have become much more capable in the last five years and we can do better.
OmniFocus 3 will still coalesce related notifications (so that you won’t receive lots of different alerts when an entire project’s remaining tasks become due at once), but it will show you a lot more detail and context for that notification as part of the notification itself:
In the screenshots above, the left notification is showing the details for several tasks all at once. The right notification shows a map to the nearby location that triggered it, along with listing the tasks that OmniFocus is reminding you to do there.
That looks great. But the thing that really bothers me about OmniFocus notifications is not how the notifications are presented, but how the app doesn’t remind me about a task until it’s already overdue. That’s too late!
Beyond improving the way notifications are delivered, OmniFocus 3 is adding a lot more options for what type of notifications you’d like to see. You can change the default notifications so that you’re told when a task becomes available. Or you can be notified when a task reaches its “latest time to start”, calculated from the time you said it would take to do a task and its due date.
You’ll also be able to add multiple custom notifications to individual tasks—so you could say, for example, that you’d like a reminder one week before something is due, then one at two days, with a final notification at two and a half hours.
Finally, for those cases where there is something that really absolutely must get done now, without delay (like taking your medication), we’re adding a new type of repeating notification that will keep reminding you about a task every few minutes until you tell OmniFocus that you’ve completed that task.
At the Omni Group, our mission is to make great software. We spend a lot of time thinking about design, and we think it’s one of the most important components of a really great product.
In the case of OmniFocus, we’ve created something very powerful—but that doesn’t mean it needs to be complicated. We want people to be able to open the app and start using it without any special training. We want its features to be easy to discover and use (even when the features themselves may be incredibly flexible). And we want the actual experience of using the app to be a delight.
We also think it’s very important for an app to fit in well with the design aesthetic of the platform. When we were redesigning OmniFocus for version 2 five years ago,we switched directions midstream to follow the dramatic shift in direction Apple made for iOS 7 (with its emphasis on deference, clarity, and depth). That course correction was an important one for a platform and ecosystem that had embracedskeuomorphism—but it was somewhat extreme, relying heavily on conveying a sense of place in an app by using subtle font cues and line art icons. Where we had previously been distracted from the fundamental use of an app by focusing on its choice of wood grain, we were now struggling to find visual cues in a sea of white.
Fast forward five years. Apple hasn’t reembraced skeuomorphic design by any means, but we’re starting to see a return of contrast and shading and other useful visual cues. And with OmniFocus 3, we think it’s time to do the same. We can design our icons to stand out better and be easier to scan, without making them overwhelming or distracting. We can make better use of indentation and other subtle cues in the interface to help guide your eyes to see the underlying structure we’re trying to represent. And, as noted above, we can use progressive disclosure to show you additional details about things when you’re ready for them rather than overwhelming you with everything up front.
With those goals in mind, here’s what we’ve done so far:
Note that in this screenshot, two items are selected—that’s why they’re both highlighted in blue. When multiple items are selected, you can tap the (i) button in the toolbar to open them all at once and make changes that will affect all of those items at the same time. You can also drag them all at once to add them to another project or tag (or, on an iPad, even drag them all to another app).
When you open items to look at their details, OmniFocus 3 will no longer present you with an overwhelmingly busy list of every possible bit of information for that item. Instead, we’ll show you the fields people most commonly want to see—but if you ever want more detail, you can get to the remaining details with a single tap. (You can also customize which fields are visible and hidden, if for example you always want to see completion dates but never want to see due dates.)
We haven’t finished the redesign process yet, but we hope you like where we’re headed!
From its very beginning, OmniFocus has had great support for automation. The AppleScript support in version 1.0 was powerful enough to support a Ruby on Rails web interface to the app, letting you view, create, and edit your tasks—all from a script. But AppleScript doesn’t exist on iOS, so when we brought OmniFocus to iOS those capabilities were left behind. You could still do all of those things on a Mac, of course, but as more and more of our customers primarily interact with OmniFocus through their iOS devices we realized we needed something more powerful that would work on all devices—and not just for creating new content (which you can do now using the Workflow app, by way of our URL automation).
For OmniFocus 3, we’ll be adding powerful JavaScript-based automation much like what we’ve already shipped in OmniGraffle (Mac in v7, iOS in v3) and OmniOutliner (Mac in v5, iOS coming in v3). This will enable dual-platform scripts which can be used to manipulate tasks in all sorts of ways, such as filtering, reporting, or creating content based on templates.
OmniFocus was designed as a tool to help people manage their own personal work. But for many of us, our work involves collaborating with other people: we might have tasks that we can’t do until someone else finishes something, or we might have tasks that block other people from completing their work.
We don’t think OmniFocus is the best tool for coordinating large interdependent project schedules (we make OmniPlan for that), and we think that giving multiple people access to the same database would be confusing—but we do think there’s a place for automatically relaying status updates for specific tasks between people.
For OmniFocus 3, we’re adding support for linking tasks between unrelated databases. The idea is that I can send you a task (with its notes and attachments and due date) and propose that our tasks be linked, and you can choose whether to accept the link or not. While our tasks are linked, we can each see updates to the status of that specific task. But in each of our databases, that task can live wherever we want: so I can turn my task into its own project with a number of subtasks, while you might have that task as one step in a sequential project.
This approach of sharing linked tasks will let people continue to manage their own personal work however they wish, while making it easier to communicate shared status with collaborators.
OmniFocus 3 isn’t done yet—otherwise it would be shipping—so some of the features described above haven’t been written yet. Automation and collaboration are coming, but won’t be part of the initial 3.0 release: and without knowing the future, it’s impossible to say for certain that everything will turn out as described. But this is a roadmap blog post: the time and place where I describe where we think we’re headed, so you can decide whether you’d like to join us on that journey.
That said…
Many of those features are already written, and we’re getting ready to start a TestFlight of OmniFocus 3 for iOS. Would you like to join us? If so, sign up now for the OmniFocus 3 TestFlight!
Over the last decade of customer feedback, one of the common refrains we’ve heard is that customers love OmniFocus on the Apple devices where it’s currently available, but that those aren’t the only devices they use—that they really wish they could have at least some basic access to their task list on other platforms. Sure, we do provide Mail Drop now, and that’s useful for adding new tasks. But sometimes it would be nice to just view their active task list when sitting at the big Windows desktop they’re required to use at work.
For all our customers in that situation, I have good news to share: we’re building OmniFocus for the Web. It will be greatly simplified from the OmniFocus you know: it won’t have custom perspectives or notifications or maps. It won’t have Review. It won’t let you set up new repeating tasks (though it will correctly handle repeating tasks that are already set up). Its capabilities will be a lot more like what we shipped in our very first iPhone app: you’ll be able to see the lists of tasks in your Inbox, Projects, and Tags, with their associated notes and due dates. You’ll be able to edit basic information about those tasks (checking them off, assigning a due date, changing a title or note) and of course you’ll be able to add new tasks.
OmniFocus for the Web will not be offered as a standalone service: it will only be able to sync with existing databases set up by the OmniFocus app. Since this is another version of the app that we’ll be maintaining as a constantly available online service, we’ll be charging a subscription fee for access.
But when you’re stuck using that big Windows desktop at work, you’ll be able to access your task lists using OmniFocus for the Web.
If you’d like to be notified when OmniFocus for the Web is available for testing, sign up for our newsletter.
(Feedback? I’d love to hear from you! You can find me on twitter at @kcase, or send me email at kc@omnigroup.com.)