Thursday, February 16, 2012

"Change Bars"...Not Just for an Editing Workflow Anymore!

BarredText is reminiscent of FrameMaker's "Change Bars," which, when turned on, placed a thin line in the margin of the text flow whenever text has been changed. They have a very basic, but extremely useful functionality. They allow a proofreader to ignore all the text that hasn't changed since the last time they looked at the document. While InDesign and its third party developers have other solutions like Track ChangesParagraph Borders, and Ctrl Changes, none of these offered quite same simple, stripped-down version of FrameMaker's change bars, which simply puts printable bars next to any line of text that has changed.

While InDesign does have change bars, they are only available in the story editor, and there is no option to print them.

While these change bars are definitely handy, there are certain situations where I need to have change bars on the printed page, or on the PDF proof. For example, when the workflow involves sending a PDF proof to a client for review, InDesign's change bars in the Story Editor do me no good. But by having change bars appear on the PDF proof, the client can see exactly what has changed since the last time he saw the document. 

First, let's have a look at what BarredText looks like in its default form. The text bars are anchored objects based on a Object Style. The default is a thin, black-filled frame. Rorohiko did a really great write-up about how it works and how to use it, so I won't duplicate their efforts here. InDesign Secrets also did a nice write-up about BarredText.

This is the serious, functional side of BarredText. But BarredText can also make change bars visually interesting. Normally, a nice, simple little change bar is just what you want. But did you know that BarredText can also be used for creative design? If we change the way we think about using BarredText, its "change bars" and suddenly become dynamic, vertically-expanding design elements.

While we could create our own vertical design elements and anchor them in the text, but with BarredText, the design elements expand dynamically. We're going to explore how to change visual appearance of the BarredText TextBars, while still leaving them anchored within the text frame. This is important, because if the Text Bars are cut from the text flow, they lose their magical dynamic behavior.

If you're using InDesign CS4 and below, you can use drag-and-drop editing to reposition either one of the anchored objects that make up a BarredText textbar. Dragging and dropping a zero-width anchor maker is pretty much impossible in Layout View. If you use drag-and-drop for this purpose, be sure to switch over to the Story Editor.

Anchor selected in the Story Editor

Drag and Drop Text Editing preferences

If you've upgraded to CS5, you can use the handy Anchor Object Control (View > Extras > Anchored Object Control), also commonly referred to as the "little black square near the top right corner of the frame."

So why using BarredText be useful? Perhaps you need a repeating design element that sits in the margins of your page, and you need to to automatically expand whenever new content is added. I'll use a timeline as my example, and add some text bars to each series of events.

However, when I make the text frame 2-columns, the Text bars for both columns are stuck on the left hand side of the frame.

By editing the TextBar Object Style definition, we can get the Text Bars to sit relative to the column, rather than relative to the text frame. (Click on images to enlarge.)

So now that the Text Bar is set up for multiple columns, we can start tweaking the object style. But see how to there is a little square beneath the Text Bar? That's what Rorohiko calls the BarTender.

Initially, both the TextBar and the BarTender are set to the "TextBar" object Style. But if we change the appearance of the "TextBar" object style, and then redefine the style, the Bar Tender also gets changed. 

But we want to BarTender to stay transparent. So by creating a separate object style, just for the BarTender object, we can safely redefine the TextBar object style without having an extra object show up at the bottom of the TextBar. Change the fill and stroke to "None," and base the object style on None. Then apply the BarTender style to your little Bartender squares at the base of each TextBar.

Object Style FILL Options

Object Style STROKE Options
Object Style GENERAL Options

Now that are BarTenders are independent of the TextBar object style, we can get to work on changing the TextBar object style to something more visually interesting. Here are some fun ways to make your change bars work overtime. While some of these ideas involve things that can't be defined in an object style (such as changing the object rotation or filling the object with a graphic), for all the other object attributes, you can define them in an object style, or simply stylize your TextBar and then redefine the object style. 

To get a better idea of some ways to transform the TextBar into the design element of your choice, we'll explore a few ways of changing the shape and orientation of the TextBar.
  1. Object > Convert Shape: Line (makes a line with the first point at the top loft of the TextBar, and the second point at the bottom right of the textbar).

Now that the TextBar object is a Line, you style it in ways that you can't do with a rectangle (such as displaying a stroke start and end). For this example, I chose a wavy stroke, 4pt thickness, a square end, and a pink-to-yellow gradient.

2. Here is a second way to manipulate the TextBar. Object > Convert Shape > Triangle (Makes a upward-pointing triangle)

3. And here is a variation on that: Flip Vertical > Object > Convert Shape > Triangle (makes a downward pointing triangle)

Here is one of the triangles after I used the wavy pink and yellow line to redefine the TextBar style.

I decided to experiment with stroke alignment on my triangle. Here are three examples. Once you find a design that suits your fancy, be sure to redefine the TextBar object style.

But what if the visual effect you're after requires more than just a stroke and fill? Well, because the TextBars start out as thin rectangular frames, you can place an image inside the TextBar.
By changing the default frame fitting options of the TextBar, the TextBar will automatically expose more of less of a particular image.
  • If you set the frame fitting options to "Autofit," the image inside the frame will dynamically resize according to the size of the frame
  • If you set uncheck "Autofit," you can have the frame automatically reveal more of the graphic, as the text expands.
  • This combines InDesign built-in graphic resizing with BarredText's graphic frame resizing. So as the text grows, so does the accompanying graphic. 

Out of curiosity, I tried to see how much I could manipulate the shape of the text frame in order to get unusual shapes. After placing an image into my TextBar frame, I applied a Photoshop clipping path, and then converted the clipping path to a frame. But it was no longer magically dynamic after I did that. Apparently, the dynamic behavior applies to the original BarredText frame, and not the content of the frame. But you can still apply a Photoshop clipping path is you're so inclined. Just don't convert the clipping path to a frame.

I also tried converting to orthogonal line, just for fun, but that also ruined the dynamic behavior.