Thursday, October 2, 2014
Towards Better Formatting - Notes on Alignment
image/svg+xml
Abcj
Abcj
Abcj
Abcj
Abcj
Abcj
Abcj
Abcj
Abcj
Abcj
Abcj
Abcj
Abcj
Abcj
To the right is some text, such as
you might see in a Tableau viz.
OK, you might not see this exact text, but it's useful
for the following examples.
Here's "Abcj" placed
within a rectangular space.
All text in Tableau is in such
a framed space, even if the
frame.isn't visible
In this example the text is centered vertically and
horizontally in the frame.
Here are some examples of
ways the text might be
positioned within its frame.
Here are some of the text's
typographic properties that
can be useful in orienting it.
This isn't all of them, but it's
a useful subset to get started
with.
A basic frame, from above,
with the text removed to
show fundamental text
alignment guides, aka grid
lines.
The external triangles are
handles, or grippers, useful
for manipulating tthe frame
and grid lines.
In this example the text is
positioned in the upper left,
with its Cap Height positioned
along the top padding boundary.
This view also shows a grid
line aligned with the text's
baseline. The # and position
of grid lines can be flexible
enough to accommodate
any needs.
Designing and implementing effective mechanisms to create and manipulate the frame's elements is essential to
creating an effective layout management system.
Text layout examples
The left image is the presentation of the text
in the frame with the controls visible.
The right image is the unadorned presentation,
i.e. without the grippers and grid lines visible.
(and yes, this implies dual interaction modes)
Lorem ipsum dolor sit amet,
consectetuer adipiscing elit.
Suspendisse venenatis.
Praesent a eros. Proin diam
augue.
Lorem ipsum dolor sit amet,
consectetuer adipiscing elit.
Suspendisse venenatis.
Praesent a eros. Proin diam
augue.
The text's top line's Cap Height is aligned with the top grid line.
The text is left-justified.
Lorem ipsum dolor sit amet,
consectetuer adipiscing elit.
Suspendisse venenatis.
Praesent a eros. Proin diam
augue.
Lorem ipsum dolor sit amet,
consectetuer adipiscing elit.
Suspendisse venenatis.
Praesent a eros. Proin diam
augue.
The text's top line's Baseline is aligned with a new grid line, lowering the text in the frame.
The text is left-justified.
Lorem ipsum dolor sit amet,
consectetuer adipiscing elit.
Suspendisse venenatis.
Praesent a eros. Proin diam
augue.
Lorem ipsum dolor sit amet,
consectetuer adipiscing elit.
Suspendisse venenatis.
Praesent a eros. Proin diam
augue.
The text's top line's Baseline is aligned with a new grid line, lowering the text in the frame.
The text is center-justified.
Lorem ipsum dolor sit amet,
consectetuer adipiscing elit.
Suspendisse venenatis.
Praesent a eros. Proin diam
augue.
Lorem ipsum dolor sit amet,
consectetuer adipiscing elit.
Suspendisse venenatis.
Praesent a eros. Proin diam
augue.
The text's top line's Baseline is aligned with a new grid line, lowering the text in the frame.
The text is right-justified.
Frame and Text Alignment
The examples so far show how text can be aligned within its enclosing frame. The following examples illustrate the ways in
which separate textual elements can be aligned with respect to one another.
There are two basic alignment models: aligning the text elements' frames, or aligning the text across the frames.
In the examples below two different font sizes are used to highlight the effects of the different alignments.
Text is good, but in order to be useful and effectively communicative it needs to be oriented within its space so
that it can be read and interpreted easily and well. "Abcj" is just hanging about all by itself above - without a
context its meaning isn't as clear as it could be.
We humans have been working with written communication for millenia and have worked out effective ways of laying
it out so that it's accessible, meaningful, even attractive.
Cap Height
Abcj
X-height
Abcj
Middle
Abcj
Baseline
Abcj
Descenders
Abcj
Informed by http://www.fontshop.com/glossary
This is a fairly simple example of the types of elements in play when considering text composition. A real world,
robust text management system requires a well thought-out model that includes structural and operational
elements adequate for supporting the necessary text compositional characteristics.
One model for organizing rectangular space is the CSS box model, which can be found at the W3 site:
http://www.w3.org/TR/CSS2/box.html
Text Alignment
Frame Alignment
Abcj
Twqrm
Abcj
Twqrm
Abcj
Twqrm
Top
Middle
Bottom
Abcj
Twqrm
Abcj
Twqrm
Abcj
Twqrm
Abcj
Twqrm
Abcj
Twqrm
Cap Height
X-Height
Middle
Baseline
Descenders
Text Alignment
Aligning Other Tableau Objects
There are many places in Tableau where aligning objects is desitrable. In general, Improving Tableau's abilities
to provide the flexible and comprehensive alignments that matter in delivering high quality results will make it
much easier to create superior results..
In particular, the dashboard layout mechanisms are rudimentary, making it very difficult to achieve anything like the
fit and finish expected from the dashboards' consumers who are used to design-driven products. Lttle misalignments,
even those that might not seem to rise to the level of an active annoyance, have substantial cognitive effects that
actively hinder the viewer's ability to discern and assimilate the information being presented.
Tableau's aligning abilities are
fairly rudimentary and weighted
towards Top-alignment of adjacent
objects.
This is particularly vexing when
building dashboards and trying to
align elements so that the reader's
eye tracks seamlessly among them.
These examples show some of the ways
in which objects can be aligned according
to their text contents.
The most common scenario is to align
text objects to their baselines. Doing this
makes it easy to read the object's contents.
Tableau currently doesn't support aligning
text across separate objects. This makes
providing effective text presentations
much more difficult than it should be,
requiring lots of tweaking and fiddling
with pixel positioning in order to try
and get things to line up.
In many cases Tableau simply
won't let one position the elements
with adequately fine-grained resolution,
leading to many presentations that
are off by just a wee bit.
Adding improved text and frame alignment capabilities will significantly upgrade our ability to create and deliver truly
highly effective presentations.
But text and frame aligning isn't the whole story. There are many other objects that need to be aligned. The following
examples illustrate some scenarios where improving alignment abilities provides real benefits.
0
10
20
Size of Important Things
Blue
Orange
Green
Important
Things
Vertical Axis
Header
Boundary
Horizontal Axis
Border
These are some of the structural
elements of a bar graph, useful as
examples for illustrating how
alignment can be configured.
Any of them can be used to align
this and similar graphs with other
elements, e.g. on a dashboard.
All elements have analgous
elements that can be used
for alignment. Surfacing them,
and providing the alignment
mechanisms isn't a trivial
undertaking, but there are many
good models available that
can be used for design ideas.
Tableau doesn't show
the border, or allow it
to be decorated, but
it's there.
0
10
20
Size of Important Things
Blue
Orange
Green
Important
Things
Blue
Orange
Green
0
10
20
Size of Important Things
Important Things
Top Alignment
The Border tops are aligned.
0
10
20
Size of Important Things
Blue
Orange
Green
Important
Things
Blue
Orange
Green
0
10
20
Size of Important Things
Important Things
Bottom Alignment
The Border bottoms are aligned.
Horizontal Axis Alignment
0
10
20
Size of Important Things
Blue
Orange
Green
Important
Things
Blue
Orange
Green
0
10
20
Size of Important Things
Important Things
The Horizontal axes are aligned.
In many cases this is the most desirable alignment for adjacent vizzes.
0
10
20
Size of Important Things
Blue
Orange
Green
Important
Things
Blue
Orange
Green
0
10
20
Size of Important Things
Important Things
Vertical Alignments
0
10
20
Size of Important Things
Blue
Orange
Green
Important
Things
0
10
20
Size of Important Things
Blue
Orange
Green
Important
Things
Blue
Orange
Green
0
10
20
Size of Important Things
Important Things
Left Aligned
0
10
20
Size of Important Things
Blue
Orange
Green
Important
Things
0
10
20
Size of Important Things
Blue
Orange
Green
Important
Things
Blue
Orange
Green
0
10
20
Size of Important Things
Important Things
Right Aligned
0
10
20
Size of Important Things
Blue
Orange
Green
Important
Things
0
10
20
Size of Important Things
Blue
Orange
Green
Important
Things
Blue
Orange
Green
0
10
20
Size of Important Things
Important Things
Vertical Axis Aligned
In many cases this is most desirable
vertical alignment for adjacent vizzes.
As with the Horizontal Axis Aligmnment,
Tableau doesn't currently provide this
functionality, and adding it will make it
possible to create higher quality
presentations with much less effort.
This post has laid out some fairly basic ideas about and examples of alignment principles and practices, with
an eye towards how they can be incorporated into Tableau.
Tableau is in a very real sense a product with multiple personalities. At its core it's devoted to creating high
quality visualizations of quantitative data with minimal effort, and in this it's highly successful. Outside this
space it's almost as if everthing that's not a direct data visualization has been relegated to second class status,
lacking the need for the same quality of presentation. The use of the longstanding property sheet formatting
system, as complex, confusing, frustrating, and inefficient as it is speaks to this in the mere fact of its
persistence across multiple product versions.
Whether or not Tableau adopts better formatting capabilities, including improvements to the formatting user
interface, is an open question. But if they do I hope that they adopt a coherent, comprehensive design
philosophy that recognizes the importance of composition and ease of management across the entire product.
It's a start.
Abcj
vertical center line
horizontal center line
bottom padding boundary
top padding boundary
right
padding
boundary
left
padding
boundary
frame border
padding
No comments:
Post a Comment
Newer Post
Older Post
Home
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment