DPS Pullout Tabs tip
Keith Gilbert February 20, 2014
A common interactive feature in Adobe Digital Publishing Suite (DPS) apps is "pullout tabs". These are created using InDesign's Edit > Paste Into command and the DPS Scrollable Frame Overlay feature. Full instructions for creating the tabs can be found here.
These pullout tabs can be used for a number of interesting and useful interactive effects. But they all have one drawback: pullout tabs always create a "dead zone" the size of the tab content. Consider the following example:
In this example, there is a "dead zone" indicated by the dotted line below. If you swipe right-to-left anywhere in this zone, the tab will pull out, not necessarily what a user would expect. One would expect to have to swipe directly on the tab to pull it out, but because of the way scrollable frame overlays work, the entire region that is occupied by the "body" of the pullout tab causes the tab to pull out when swiped.
This behavior can cause users to get "stuck" on a screen like this, as they try to swipe right-to-left to move to the next article, but instead the tab pulls out.
One way to get around this is to include a button to navigate to the next article, or to include some visual cues indicating where the user must swipe to advance to the next article.
But another way to enhance the user experience is to minimize this dead zone. Here's the trick:
Begin by creating a frame that "masks" part of the dead zone. In this example, you could create a frame like this (indicated by the blue region):
Note that I didn't mask the entire pullout tab region. I left space on both the right and left so the user can grab the tab to drag it open, and to drag it closed.
Your frame should have no fill or stroke.
In the buttons panel, click on the plus button next to Actions, and choose the Go To Page action. Specify the page that your pullout tab is on, and then click on the Click Appearance to create a Click state. Your panel should look like the one below when complete, except the page number will vary. What you're doing is creating a button that, when tapped, goes to the page that you are currently on, so it effectively does nothing.
Thats it! This button now creates a zone on top of the scrollable frame that will allow the user to swipe left, right, up, and down to navigate to different screens.
One minor drawback of this approach is that this button creates a dead zone of its own. If the user taps anywhere within the bounds of the button to try to reveal the DPS top/bottom bars, the bars will not appear.
Remember, buttons in InDesign/DPS are always rectangular regions. So if you want to get fancy and create a mask like the one below, you need to create 5 different buttons, one for each different-colored rectangle.
Shameless self-promotion: If you need to create these "super buttons" frequently, my Digital Publishing Pack 2 set of scripts includes a script called "Create Super Button" that creates these buttons with a single click.
I'll be talking about how to create these pull out tabs and other kinds of interactivity at my PePcon pre-conference session DPS Bootcamp: Building Folios for Digital Publications. Hope to see you there!
Latest posts by Keith Gilbert (see all)
- How to Add a Rule Around a Paragraph - November 23, 2015
- Undocumented Feature: Export to “Fixed-Layout HTML” - July 30, 2015
- Cool Use for InDesign’s New Graphic Table Cells Feature - July 27, 2015
Sign up for the InDesign
Tip of the Week
- Sanjay said about Set the Size of Lots of Frames at the Same Time:It is possible to set the frame width…
- CAT said about Tip of the Week: Gridify Magic:thanks
- Greg said about Data Merge Into Inline Anchored Objects So They Flow in a Story:It is working for me except that it…
Recent Forum Posts
Looking for a Batch Data Merge Script …
9 minutes ago
Indesign weird units
1 hour, 23 minutes ago
Script to convert page number marker to page number
1 hour, 35 minutes ago
InDesign CC 2015/Acrobat Pro DC duo crash
3 hours, 21 minutes ago
Alert! Recipe Design Wizard causing havoc… again
3 hours, 47 minutes ago