OmniGraphSketcher Goes Logarithmic

by Robin on August 29, 2011

“Wow, your customers are nerdy!”

That was a friend’s response recently when I mentioned that logarithmic axes are the number-one feature request for OmniGraphSketcher.

The way I see it, our customers understand that logarithmic scales are the best way to present many types of data and ideas. Stock prices, advances in technology, and many other phenomena tend to change by multiples rather than additions. Logarithmic scales show each doubling as a constant distance, so you can compare percent changes without large differences in absolute size getting in the way.

So I’m very excited to announce that OmniGraphSketcher 1.2 for Mac and OmniGraphSketcher 1.5 for iPad are now available, with full support for logarithmic axes!

Logarithmic axes example

You don’t even need to know anything about logarithms to use this feature. You just turn it on via the axis inspector, for either or both axes. (The resulting charts are sometimes called lin-log and log-log.) There is no step two!

These logarithmic axes are designed to follow best practices in information visualization, and they work seamlessly with all the other features of the app, such as dragging, nudging, snapping, sketch recognition, axis manipulation, and scale-to-fit. And because logarithmic scales are more likely to span many orders of magnitude, we now support much larger and smaller numbers (up to 10300 and down to 10-300), more decimal precision (up to 13 digits), and scientific notation (so you can use numbers like 3 x 10200 without typing 200 zeroes).

Given that the known sizes of physics only range from about 10-35 meters (the Planck distance in quantum theory) up to 1026 meters (the size of the observable universe), we figure that +/- 300 orders of magnitude should be plenty.

At least for now.

As part of these updates, we’ve also refined the algorithms that draw axis tick marks and tick labels. When there is not enough room to label every tick mark, we now consistently label every other tick mark, or every 5th, or every 10th, etc. If we skip a lot, we’ll automatically use major/minor tick marks to make it easier to see which tick marks are getting labeled.

Automatic major/minor tick marks

On logarithmic axes, we show just the first five numbers between each power of ten when possible, then only the powers of ten themselves, and then evenly-spaced powers of ten. OmniGraphSketcher makes all of these decisions for you, so you never have to think about it.

Tick labels from 1 to 50 Tick labels from 1 to 1000 Tick labels from 1 to 10^25

And did I mention that your axis ranges don’t have to end on powers of ten? Suppose your data values fall between 8 and 200. In many charting programs, the best you can do is this:

Axis range limited to powers of ten

But we think logarithmic axes should be just as flexible as linear ones, and we want you to be able to switch between linear and logarithmic scales seamlessly. Again, we’ve done the work so you can get what you’d expect:

Fully customizable logarithmic axis range

Last but not least, we’ve added a really nifty new feature called line interpolation. As you know, OmniGraphSketcher lets you draw lines freehand even if you don’t have exact data to back them up. This is great if you have a rough idea of a trend or want to visualize several possible scenarios. But wouldn’t it be cool if you could also turn your sketched lines into sampled data points for analysis or re-plotting in another program? That’s exactly what line interpolation does. It samples at each horizontal tick mark (x-value) to convert your line into a data series.

The reason we’re introducing this at the same time as logarithmic axes is because it lets you see how the shape of a line differs in linear vs. logarithmic space. Regular lines in OmniGraphSketcher simply connect two or more data points as smoothly as possible, so intermediate values do not necessarily stay the same when you convert between linear and logarithmic scales. Line interpolation solves this by letting you anchor some of the intermediate points. Now you can easily demonstrate, for example, how a straight line in logarithmic space becomes an exponential curve in linear space:

A straight line in logarithmic space becomes an exponential curve in linear space.

Download the latest versions of OmniGraphSketcher from the App Store (Mac, iPad) or from our online store (Mac); or use the built-in software update to download automatically.

And let us know what you think!

(If you want all the details, check out the release notes for the Mac and iPad versions.)

OmniPlan 2.0.1 beta released!

by Skwirl on August 24, 2011

Hello OmniPlan planners!

Hot on the heels of OmniPlan v2.0, we give you OmniPlan v2.0.1 beta! For this beta we improved stability, fixed a few publish & subscribe issues involving calendars, and updated the default project template so the UI is not as large. We also addressed some issues with scheduling, opening/importing of files, as well as various bugs that were reported by users over the last couple of weeks. If you'd like to check out the full release notes, click here and scroll down to the bottom of the page. 

As always, please keep in mind that this version is still in development so feedback is encouraged and we apologize if it breaks your computer, corrupts your files, or ruins your weekend. We're looking forward to hearing your thoughts about OmniPlan v2.0.1 beta: You can contact us directly by our support page or by using the Send Feedback feature in your copy of OmniPlan.

You can download the beta from our website here.

Design Report: OmniOutliner for iPad Styles

by Bill Van Hecke on August 16, 2011

Hallo. The styles system in OmniOutliner for Mac is a good example of an interface that, if you take the time to master it, provides pretty bewildering amounts of power. If you don’t take the time to master it, well, it mostly does its job whilst hovering somewhere between nifty and wacky. When creating OmniOutliner for iPad, we wanted to take a fresh stab at styles, and see if we could give the same underlying system a more sensible interface.

Respecting Row Boundaries

OmniOutliner for Mac behaves like a word processor: once you turn on a style attribute, that style is in effect until you decide to turn it off:

But part of what makes an outline an outline is that rows are distinct, discrete objects. You can select them individually, shuffle them around, and keep them more organized than a simple stream of text. So on iPad, we stopped propagating styles across row boundaries:

This one small change made a big difference in how the app feels. Rather than trying to be smart and guessing what you might want for each row, we erred on the side of containment and predictability.

Emphasizing Named Styles

OmniOutliner for Mac makes it easy to set up one-time custom styles on text. Just select something and start messing with the inspectors. That’s great, except that it can pretty quickly lead to myriad slightly-different one-off styles. Maybe some of your headings are 16-point size, while others are 15. Some highlights are one shade of yellow, while others are a slightly different one. And if you ever want to change any of those styles, you’ll need to go back and edit them one by one.

The better way, of course, is named styles. Set up a style once, and then use it over and over. If you edit the style, all instances of it change too. To encourage the use of named styles on iPad, we did two things.

First, we included several document templates, each with its own suite of carefully-constructed named styles. This is in line with our observance of sensible defaults — offering good initial settings with an app is even more important than, and can often preclude the need for, customization. In other words, it’s not good enough to let people make cool stuff as long as they are willing to do the setup — they should be able to make cool stuff without any setup at all.

Second, we put the ad-hoc styling controls one panel deeper than the named styles. You need to go past the existing named styles before you can get at the fiddly stuff. Hopefully, if there is a named style that does what you want, you’ll notice it before going and doing the work yourself.

Replacing the Styles Palette, the Style Attributes Inspector, and the Style Matrix

The Mac version makes it easy to set up complex automatic style hierarchies; in fact, it’s too easy. If you want to make good use of that power, you have to get comfortable with the Styles Palette, the Style Attributes Inspector, and the Styles View matrix. Each of these appears in a different place and is used for a slightly different purpose.

For iPad, we wanted to offer 90% of the functionality people want, with about 10% of the effort. Most importantly, we wanted to stop compromising the experience of casual users in order to offer esoteric functionality to power users. As the Alan Kay quotation goes, “simple things should be simple; complex things should be possible.”

Simple things should be simple

In reality, your relationship with styles is that you almost always just want to select a row and choose a style. On the Mac, this simple action is not as simple as it could be to perform. You open the Style Palette to see which styles are available (assuming you made some). Then you drag a style from the palette to the row in your outline. Then you can select the row and open the Style Attributes inspector to see which styles are applied.

On the iPad, we made it super simple: tap a row, tap the Inspector button, and tap a style; the style gets a checkmark to show that it’s applied. This uses the select-then-modify interaction people are familiar with, and combines the list of available styles with the indication of which styles are applied.

Complex things should be possible

In OmniOutliner for Mac, you can set up very precise automatic style hierarchies (like great-great-grandchildren of this particular row should be italic and blue and get the Citation style). But this means as you grow your document, you have a geometrically-increasing number of little style chits to keep under control. The Styles palette is constantly showing you all the level styles, encouraging you to customize them. Every row in your document has a style slot for every level of descendants! But, since you don’t actually often need to use such stuff, we wanted to stop putting it in front of you all the time.

Instead, on the iPad we’ve replaced that entire system with a single “children’s style” attribute on each named style. (For instance, you can say that children of Heading 1 rows get the Heading 2 style.) You can use it to chain together styles and get the same effects as before, but the interface for it is tucked away instead of in your face, and it takes quite a few taps to set up long chains.

Yep, we actually intentionally made automatic level-based styles a bit harder to do, because it let us drastically simplify the way we represent styles. And the difficulty is not that big of a deal because we could provide sensible default documents where the chain was already set up. That way, you can customize our chain when you need one, and forget about the feature altogether when you don’t.

The complexity-to-difficulty curve

Lots of desktop software starts out hard, and gets a little harder when you want to do something really demanding. But you can do pretty much everything you could realistically want to do. iPad software, though, starts out really easy, and then more steeply increases in difficulty as you try to do more complicated stuff. Eventually you hit a point where you can’t do certain elaborate tasks at all.

Why? Because it’s actually quite rare that you want to do something that complicated! Almost everything you want to do in your day-to-day life is way to the left of the intersection of these difficulty curves. Accommodating the elaborate cases would almost certainly compromise simplicity for the normal stuff. The whole iPad experience is more than happy to sacrifice the super power-user workflow in favor of the commonest cases.

So much of software design is deciding what you want your complexity-to-difficulty curve to look like: where it begins, how it ramps up, and where it cuts off entirely. In fact, while I was composing this post, Lukas Mathis made an excellent post exploring various apps’ graphs of experience versus depth: The Growing User and the Perennial Beginner.

However you visualize it, consider: “Who is this product for? What should their first-run experience be like? What about their one-hundredth-run experience? And can we stay useful enough for them to have a one-thousandth-run experience?”

Lion Adoption

by Kris on August 5, 2011

At Omni we've noticed a trend that would make Sigfried and Roy jealous: it seems everyone is rushing to get their very own king-of-the-jungle. Y'see, Apple made it so easy to adopt their brand new Lion operating system—by offering it as an upgrade through the Mac App Store—that folks are clamoring to get a Simba to call their own. 

Alright, pop culture references aside, it's really cool to see so many of our customers taking up a new operating system so quickly. As you can see from the following OmniGraphSketcher file, the percentage of Omni customers using Lion within the first 10 days of its release is nearly the same as those who began using Leopard within the first 100 days of its release. That's quite a curve, if you ask us. 

But some of you might want to ask how we're getting these magical metrics. Well, when you update an Omni app, we get some anonymous system data (if you allow it). This helps us to see the adoption rate of new OS or hardware. It also helps us to see when there are so few users on a particular OS or hardware platform (the PPC architecture, for example) that it might be reasonable for us to stop supporting it. From this type of data we get to confirm our instincts to quickly add Lion features to our apps before the OS ships, and our customers get their favorite apps chock-full of cool Lion features faster than they might if we were just guessing at this stuff. 

Though it may not be as thrilling as a Vegas show with giant ferocious cats, we think this trend is quite encouraging and hopefully you do too. 

OmniPlan 2 is now available!

by Skwirl on July 18, 2011

We're thrilled to announce that OmniPlan v2.0 ships today! Since releasing OmniPlan v1.0, we've learned a lot about how people are using OmniPlan to manage their projects and we think that OmniPlan v1.0 grew into an excellent resource for project planning workflow for a single person. However in undertaking OmniPlan v2.0, we knew that people wanted to bring this workflow and user experience to their teams — and so that's what we focused on: collaboration.

Collaboration in OmniPlan v2.0 allows a manager to create and share a project with their team. By syncing over MobileMe, Omni Sync Server or a WebDAV server, teams are able to synchronize their work and stay up to date on the latest changes.

While collaboration is the most exciting new feature, OmniPlan v2.0 also adds scheduling and printing options and improves performance with large projects to add speed and versatility to your workflow.

We know a lot of you have been anxiously waiting for this, so let's jump right into some of the new features we've added in OmniPlan v2.0:

Collaboration: Sync, Publish, Edit, and Track Changes 

Use a WebDAV server to sync your projects between resources. Then, publish your tasks automatically upon saving. Grab new changes automatically via Bonjour or at a specified interval. (You can also publish and update manually, of course.) Publish tasks and pull in updates from a server-based calendar. Export your plan automatically in any supported format. Execute custom AppleScripts from within the app during export.

Use Apple's Calendar Server to pull in free times and busy times for your resources. Import vacation and holiday schedules from a web-hosted calendar.

Keep track of the changes to the project with visual change tracking. See your own edits on a personal project or see the synced changes on a team project. Accept and reject changes on a task-by-task basis or all at once. 


Fiscal years are now supported in addition to calendar years so you can choose whether your tasks are due in Q2 or Spring. Schedule projects backwards from a fixed end date. Create, save, and compare your projects against multiple baselines. Highlight the critical path to individual milestones in the new ‘‘Project: Milestones’’ inspector. Resource schedules now have optional start and end dates.

Tasks and Resources

Split your tasks to schedule around interruptions. Create hammock tasks that have start and end dates based on prerequisites that you define. Effort and Duration can now be unlinked. Default task and resource attributes can be configured per project or in a template for faster task creation. Color-code tasks based on their resource. Choose independent display formats for duration and effort values.


Save multiple, commonly-used filters for quick re-use later. Configure publishing actions to use filters.

Printing Options

Headers and footers are now more flexible. Expand or collapse all notes and task and resource groups. Page margins support mirroring on facing pages. Customize the margin above and below the header and footer.

OmniPlan v2.0 is available from our store and from the Mac App Store for $199.99. Folks who purchased OmniPlan v1.0 from the Mac App Store and our online store between January 6, 2011 and July 17th, 2011 will receive a free upgrade to OmniPlan v2.0. For folks who purchased OmniPlan v1.0 before that date, an OmniPlan v2.0 upgrade is available from our online store for $99.99.

We hope that you'll enjoy the new features, improvements, and updated user interface in OmniPlan v2.0. We've been working very hard on this new version and we're looking forward to hearing your thoughts about OmniPlan v2.0:  please send any feedback, questions or comments to us at and someone from our team will get back to you as soon as possible.