When we decided to bring all our apps to iPad, we immediately started hearing from our customers that it wasn’t enough to just bring desktop-class productivity apps to the best mobile platform: all of the documents in those apps needed to be mobile as well, so you’d always have the latest copies of your documents available on all of your devices.
As I shared in my January blog post, we’ve been hard at work on this problem for quite a while now and our solution to this is called “OmniPresence”: your documents, synced everywhere you want them to be.
What is OmniPresence?
OmniPresence is a way to sync folders between your devices using a web server.
On Mac, a separate OmniPresence app churns away silently in the background, syncing any documents placed in its folders—without requiring any special support from other apps. On iOS, the sandboxing environment requires that each app add its own support for OmniPresence—so we’ll be providing free updates for all our apps (and publishing code so other developers can add support if they wish).
OmniPresence separates document syncing from any particular back end service provider. You can use it with your own compatible web server, or with the Omni Sync Server for documents created with your Omni apps.
Here is what OmniPresence looks like in action:
… and we’re finally at the point where it’s time to enlist your help in testing this code before we ship it!
The good news is that we’ve already heard from over a thousand of you who would be happy to help us test OmniPresence. The bad news is that we can’t open this up to all of you, because we have a very limited number of slots available for testing development versions of our iOS apps.
If you’re interested in helping us test OmniPresence, here are some questions we’ll need you to answer:
Do you have a good strategy for backing up your documents in case something goes awry? You’re helping us test unreleased software, and one of the risks is that it might have bugs which delete or silently corrupt your data.
Will you be able to use OmniPresence frequently over the next few weeks? If you don’t have time to help us this month, it would be better to give this slot to someone else.
Are you willing to store your documents on the Omni Sync Server—or, alternatively, to patch, build, install, configure, and deploy your own copy of the Apache web server? We’ve submitted several updates to Apache which haven’t been integrated by their team yet, so if you’re uncomfortable storing data on our server you’ll need to set up your own server with those updates in place. (If you plan to use the Omni Sync Server, please tell us your account name so we can enable OmniPresence testing for it.)
And two bonus questions:
Which of our apps do you use? We’re adding OmniPresence support to OmniGraffle, OmniOutliner, and OmniGraphSketcher, and an ideal tester would be someone who uses all three. (Note: OmniPresence provides no benefit to OmniFocus and OmniPlan, since they already have built-in support for syncing individual changes.)
Are you a developer who is interested in adding OmniPresence support to your own app? We’re not quite ready to publish our source code yet, but we do plan to and it would be great to get feedback from other developers before we unleash this into the wild.
With “iPad or Bust!” out of the way, we’ve been able to move some of our projects off the back burner and here are some highlights of what’s coming: OmniFocus 2. OmniOutliner 4. Automatic document syncing. Sandboxing. Accessibility. Visio and Microsoft Project compatibility in our iPad apps. Upgrade pricing from Mac App Store apps.
Let’s start with OmniFocus 2! For OmniFocus 2, we’re bringing back to the Mac all of the design and innovation that went into our iPad edition of OmniFocus: dedicated Forecast and Review modes, clearer navigation, and a fresh look and feel. I’m looking forward to sharing it with you! At 6pm on January 31, you’re invited to join Merlin Mann, David Sparks, and me for the first public debut of OmniFocus 2. This will be a free event, hosted at the Cartoon Art Museum (a short walk from Macworld/iWorld), and anyone who attends will get early access to the OmniFocus 2 private beta. Space is limited, so if you plan to attend please let us know.
Next up: OmniOutliner 4! I know many of you have been waiting for this upgrade for a long time—I know I have been waiting for this for a long time! For those of you who might not know the history, OmniOutliner 3 shipped in January, 2005—one year before Macs transitioned to Intel processors. And OmniOutliner 3 certainly hasn’t sat still over the last eight years: we’ve ported to Intel processors and added support for Spotlight, dictionary lookups, LinkBack, Automator workflows, Quick Look, custom toolbars, Word 2008 export, Auto Save, and Versions. But other than a few tweaks to the inspectors and toolbars, its design has mostly stayed the same: it’s starting to feel a bit long in the tooth. So… it’s due.
What’s coming in OmniOutliner 4? We’ve completely rebuilt the outlining engine to support zooming text, showing and hiding columns, and we’ve improved link handling and attachments. We’ve designed a new style system which emphasizes named styles and simplifies the styles interface. And it’s built on a modern 64-bit architecture, with a fresh new look and feel. OmniOutliner 4 isn’t finished yet, but it’s getting close: it’s now at the point where I’m using it to edit all my outlines rather than OmniOutliner 3, so I anticipate we’ll be ready for public beta sometime in the first quarter.
Automatic document syncing is almost here! We call it “OmniPresence”: your documents, synced everywhere you want them to be.
We’ve designed OmniPresence around open web protocols, so you’re welcome to use our free Omni Sync Server or to host your own cloud server. We think that the option to host your own cloud is important—not just because of concerns with respect to privacy and security (though that’s key for many businesses), but because it means you can keep that cloud running as long as you want to keep using it. As we saw with MobileMe shutting down earlier this year, individual cloud services can easily disappear as business models change. Building a solution around open standards means that our customers have a choice of hosting providers rather than being tied to a single ephemeral cloud solution.
OmniPresence is not limited to syncing with a single cloud, either: you can choose which folders to sync with which clouds. This means that teams can set up separate folders in separate clouds, and you can access files from any of them on each of your devices.
Because it’s open and you can host your own cloud, OmniPresence is designed to sync any documents you want: it’s not limited to syncing documents created by our apps. In fact, on the desktop OmniPresence is completely independent of our other apps: if you wish, you can use it to sync TextEdit documents! (But when using OmniPresence with non-Omni apps, we’ll ask that you limit the amount of space you use on our Omni Sync Server since we can’t provide infinite storage to everyone for free. On your own cloud server, though, do whatever you want!)
On iOS, OmniPresence isn’t quite that independent: the sandboxing environment requires that each app embed the OmniPresence logic within its own codebase. We will be publishing our source code for free so other developers can add it to their apps.
OmniFocus 2, OmniOutliner 4, and OmniPresence. Three major upgrades, all coming your way in Q1, 2013.
But as I noted at the top, that’s not all! We’re also working on sandboxing to help keep your Mac safe; and accessibility (currently in private beta for OmniOutliner for iPad) to make our apps easier to use by those who are visually impaired. And we’ve been working on adding Visio and Microsoft Project compatibility to our iPad apps, so it will be easier than ever to go completely mobile with your work.
Finally, with OmniFocus 2 coming we’ve been thinking a lot about how to implement upgrade pricing from Mac App Store apps. As always, we plan to offer discounted upgrade pricing on our own online store, but unfortunately we don’t have the flexibility to offer selective discounts in the Mac App Store. We’ve decided to treat the Mac App Store the same way as we treat retail stores: it’s a great way to discover our software, and can give you confidence that it’s been vetted by a third party. And, just as you wouldn’t get a discount from a retail store if you purchase OmniGraffle 5 while owning OmniGraffle 4, you won’t get a discount if you purchase OmniFocus 2 from the Mac App Store. But we’re in the process of updating our store so that you’ll be able to register your Mac App Store apps to get a discounted upgrade price when you buy an update directly from us.
OmniFocus 2. OmniOutliner 4. OmniPresence. Sandboxing. Accessibility. Visio and Microsoft Project compatibility in our iPad apps. Upgrade pricing from Mac App Store apps. I hope you’re looking forward to 2013 as much as we are! (And don’t forget to let us know if you’re planning to come to the OmniFocus 2 debut!)
As we approach the end of 2012 (or the world, according to some), I’ve been reflecting on just how much we’ve accomplished this year here at Omni.
We celebrated 20 years of omnigroup.com, of course, and we moved to new offices. But, more importantly, we finished our two-and-a-half-year “iPad or Bust!” initiative by shipping the last of those five apps, OmniPlan for iPad! Version 1.0 doesn’t mark the end of all our work, of course—but it’s a great milestone and I’m incredibly proud of all our team has accomplished.
Finishing up our “iPad or Bust!” initiative has given us the opportunity to start working through a number of other projects on our “to do” lists, so there’s been a lot of news in 2012…
We rolled out our own Omni Sync Server, so you don’t have to become a sysadmin and run your own web server just to sync your devices. (But you can still run your own server if you like: our syncing engine is based on open web protocols.)
OmniFocus has been on speaking terms with Siri since late 2011, of course, but in 2012 we’ve made it more robust and brought support for Siri to the iPad app as well. We also added support for flexible weekly repeats and TextExpander—and just this month we’ve started beta testing our new Mail Drop which lets you email tasks directly to your OmniFocus database.
This year Apple introduced iPads with Retina displays, and we immediately shipped Retina updates for all of our iPad apps. Apple also introduced Retina displays to the Mac with the new MacBook Pro, and we’ve already shipped Retina updates for OmniGraffle and OmniPlan (and are busy working on Retina updates for the rest of our Mac apps).
Behind the scenes, we’ve also been updating all our Mac apps to leverage the latest fundamental advances in OS X: this year we shipped Developer ID-signed updates for all our apps, 64-bit updates for OmniGraffle, OmniDiskSweeper, and OmniDazzle—and we expect to ship 64-bit updates for the rest of our apps soon. We’ve also been hard at work adopting OS X’s new App Sandbox.
Even before we finished “iPad or Bust!” one of our top priorities has been to build automatic document syncing into OmniGraffle, OmniOutliner, and OmniGraphSketcher—we want it to be as easy to sync all our apps as it is to sync OmniFocus and OmniPlan. We’ve been working on this for over a year and a half now, and at the start we had very promising results: it felt like magic when it worked, and we thought we’d be ready to ship last year. But though our code was finished, we found the back end service we were trying to use wasn’t working reliably, and we felt it would be irresponsible to ship something so critical until we knew the full solution was solid. After a year of trying to help get that solution working, we went back to the drawing board and designed a new syncing solution based on open web protocols. Nobody was more disappointed about the delay this caused than we were—but we knew we needed to find some way to move forward, and I’m pleased to report that the redesign has gone very well (and our new syncing solution is now in internal testing).
Which, of course, leads right into the subject of my next blog post: what’s coming next from Omni? (Stay tuned!)
Accessibility is important to us here at Omni, and we have a long history of supporting accessibility in our apps. (In 2002, we added speech recognition to OmniWeb so you could surf the web using voice commands and ask it to read pages back to you using text-to-speech—even before the operating system itself was accessible.)
Unfortunately, we’ve fallen behind in our support for accessibility over the last few years—on both Mac and iOS, but particularly on iOS. Until our apps are fully accessible, we won’t consider them complete.
To that end, we’ve been working on making OmniOutliner for iPad accessible. As anyone who has used an accessible app knows, good accessibility design goes deeper than just slapping on some accessibility tags. Once we’re sure we’re on the right track with OmniOutliner, we’ll move on to making OmniFocus accessible.
Our internal QA team has reviewed the work we’ve done so far, and we think it’s ready for some external beta testing. We can’t post public beta builds of our iOS apps, but if you’re interested in joining our private beta-testing pool please contact us at omnioutliner-ipad@omnigroup.com.
It’s with great excitement we’re able to introduce OmniPlan for iPad — a great new way to manage and create projects on the go. You can get it right now on the App Store for $49.99.
OmniPlan is the last of our core applications to hit the iPad, and we’re delighted with the app you’re now able to use. The first bits were checked in over a year ago—we even showed off a fairly functional app at Macworld this year—but the last few months have brought an absolute flurry of changes.
It’s been almost one year since we shipped OmniOutliner for iPad. Every day since we shipped we’ve received feedback along the lines of “This looks great! But when will it automatically sync with OmniOutliner for Mac?”—and each time we reply back “We’re working on it!” But it’s been almost a year now, and I know you all must be wondering: Why is it taking so long to add automatic syncing to OmniOutliner?
To make documents with large embedded attachments more efficient, OmniOutliner 3 stores its documents as “file wrappers”, which behind the scenes are simply directories holding separate files which represent different parts of the document. (The outline itself is one file, and each attachment is its own separate file.) Unfortunately, most sync services don’t support syncing a directory as an atomic operation.
Wait, hold on, what does “atomic operation” mean? Well, in computer speak, an atomic operation is something that gets done all at once. In this case, we want all of the parts of the document to get synchronized to or from the cloud at the same time, otherwise different parts of the document might not be in sync with itself: it might be missing some attachments, or perhaps some of them will be out of date, or maybe there will be some extra attachments that shouldn’t be there.
In other words, when syncing OmniOutliner, it’s not just important to have all the parts eventually arrive on the other end; we want all of the parts of the document to show up on the other end at the very same time (and we want to know when they’ve all finished arriving) so that we know it’s safe to open and you won’t end up with a corrupt document.
One way to solve this syncing challenge is to change our document format—to stop storing OmniOutliner documents as directories behind the scenes. This change would make it much less efficient for attachments, but would also make it much more compatible with many file servers, email, web forms, source control systems, and so on. We can do that—but such a big change to the OmniOutliner file format won’t work with the currently shipping apps, and doesn’t really make sense to do before shipping OmniOutliner 4. So taking this route to solving the problem means for us to try to ship OmniOutliner 4 as soon as possible (which we’re certainly working very hard to do).
Another way to solve this problem is to help syncing solution providers (such as DropBox and iCloud) improve their support for atomic directory operations so we can sync using their solutions. The most promising option here by far is iCloud, since iCloud’s engineers explicitly do want to support syncing of file wrappers. We’ve had some of our most experienced developers spend much of the past year working on this approach—but much of that time was spent blazing new territory, and most issues we encountered weren’t within our control to fix because we don’t control the technology and servers. Fortunately, we think we’ve pushed through most of the critical issues and we’re hoping this approach will bear fruit soon.
Of course, if it takes too long to change our document format or to get atomic directory syncing working with other people’s cloud servers, another approach would be for us to add syncing support for our own cloud servers. We recently brought our Omni Sync Server out of beta, and we’re using it now to automatically sync OmniFocus and OmniPlan.
One way or another, we’re working very hard to bring automatic syncing to OmniOutliner as soon as possible: we know it’s absolutely critical for anyone who wants to use OmniOutliner on more than one device. We’re very sorry it’s taking so long!
As always, we welcome your feedback! Please feel free to leave a comment here or on our forums, or by sending me a message on twitter (where you’ll find me at @kcase).
Late last week we released updates to OmniFocus for Mac and iPad — OmniFocus for iPhone came a bit later.
All three updates include the extremely useful and oft-requested feature of flexible weekly repeats. Set up an action to repeat every week on certain days: every weekday, every weekend, just Mondays, etc.
Previously, the best way to create a weekday-only or weekend-only repeating action was to create one action for each day, and set to repeat every 1 week. That method worked, but admittedly required a bit too much initial effort.
Set up a configuration with a few clicks or taps: on the Mac, open up the Inspector; on the iPhone and iPad, bring up the Action Details editor and tap the Dates column like usual. Choose the “every” repeat type, pick a few days, and done.
This makes things easier for many customers, and we’re very happy to have it available. We’d like to add more functionality for repeating actions in the future, too.
Finally, OmniFocus for Mac has a new icon, OmniFocus for iPad has been retina-ized, and we’ve fixed a few more bugs! For full release notes: Mac, iPad, and iPhone.
Now we can schedule around them.
Update: OmniFocus for iPhone 1.14 was just released! Update when you see it and don’t forget to turn iCloud Reminders back on.
Thanks to all who came out to our booth at Macworld | iWorld 2012, tried out our apps, participated in the workshops, and picked up some classy embossed iPad sleeves. We always love getting to meet people face-to-face and talk about software!
Each of the workshops this year was designed to be a quick, interactive run-through of just a few of the things you can do with one of our iPad apps. We’ve just posted videos of the workshops for anyone who didn’t get to see them on the show floor. If you want a five-minute intro to what a particular Omni product is all about, these are a pretty excellent way to get it.
Howdy, everybody! With a new release of iOS and new iPhone hardware, there’s been a ton of excitement and news this week; fun times!
In addition to all the cool new stuff Apple’s released, we’ve been able to build a few things using their toys that we hope will also be pretty exciting; I wanted to take a few moments and tell you about one of them. Specifically, the new location-based notifications we’ve added to OmniFocus for iPhone 1.12 and OmniFocus for iPad 1.4!
One of the first things we added to OmniFocus was time-based reminders; it wasn’t too long after that that folks asked for location-based ones as well. In fact, the first request we got for location-based reminders was back in May of 2007, before we’d even shipped version 1.0 of the Mac app! Over the years, we got more requests, especially once OmniFocus for iPhone and iPad appeared - wouldn’t it be great if the device you were carrying around in your pocket could tell where you were and remind you of the things you needed to do?
The first couple versions of iOS mostly made use of location data on maps. It was useful - you could create a context for a pharmacy you used, add the address, and see a dot on the map if any actions needed doing. You had to remember to look at the map screen, though. With iOS 4, it started to look like the pieces we needed to add the feature were coming together - that version of the OS had the ability to monitor location information and notify an application when the device was in a certain area. We did some preliminary work towards implementing location reminders; the feature worked and didn’t use much battery charge, but it became apparent it wasn’t as fast or as accurate as we hoped. We decided to pause work on the feature.
We were pretty excited by some of the changes Apple made in their recent hardware, though; they found a way to improve the accuracy of location monitoring without using more power. Specifically, the iPhone 4 (and 4S) include a feature called “region monitoring”, which lets them track the devices’ location via GPS without running down the battery. iPad 2 models with 3G also have this capability. Unfortunately, devices released before then don’t have a low-power way to monitor their location as accurately, so they won’t be able to use this type of reminder in OmniFocus. (The Reminders app included in iOS 5 has the same limitation.)
Still, if you have a device that supports it, the location reminders can give you an extra nudge, helping you to complete actions you might otherwise forget. Because battery life is a top priority, though, it’s important to remember that the location is only being checked from time to time. If you pass through an area quickly (by driving past it on the highway, for example) you may not get an alert. It’s also important to note that the regions being monitored are fairly broad - the smallest “distance” setting still corresponds to about one city block, and things get more broad from there. Hopefully in the future we’ll have never-fail pinpoint-accuracy location monitoring, but we’re not quite there yet.
Since we shipped this feature, we’ve gotten questions from some customers that are seeing the “your location is being monitored” indicator more often than they used to, and it’s true that it’ll show up more often. As long as you have an available action in a context with a location attached, OmniFocus will stay subscribed to location information, activating that indicator.
The folks that are concerned by this are usually worried that their battery will be drained more quickly, and in previous versions of iOS, that would have been the case. In iOS 5, though, you shouldn’t have to worry as much. Behind the scenes, iOS 5 is handling things. We can’t know the exact details of how it works, but Apple’s stated goal was to be reasonably accurate while minimizing battery drain. The location monitoring indicator is mainly to help you manage your privacy; avoiding battery drain was a useful side-effect. But in iOS 5, the device is better able to conserve the battery.
It may also be helpful to know that OmniFocus’ map view also shows the indicator: that view determines your location more precisely than the location reminders do - you will see some battery impact there. In fact, shortly after shipping the iPhone update, we discovered that the Map view doesn’t remember to stop monitoring your location after you close the view; that actually can cause battery drain! Thanks to the folks that reported this problem - we’ll get an update out that fixes that as soon as possible.
For more details on location reminders, check the new help pages; they’re accessible from the Settings screen in each app. In the meantime, I hope this post helps you decide if location reminders will work for your purposes. Have ideas, suggestions, or concerns? We’d love to know what you think! Drop some comments here, or email our support ninjas; you’re also welcome to ask questions in our forums or on Twitter. Thanks, everyone!