Monday, March 11, 2013

Disable swiping in a DPS app

I was helping a client with their first iPhone app created with Adobe Digital Publishing Suite. They wanted to completely disable vertical and horizontal screen-to-screen swiping within the app. Instead, they provided comprehensive navigation throughout the app with buttons they created on each screen.

DPS doesn't have a feature for disabling swiping. But we came up with a workable solution. Here's how:

In each InDesign file you create for the app,

1. Create a layer above all your other layers, and name it "swipe prevention"

2. On the master page, draw a frame that covers the entire page. This frame should be "invisible" with no fill and no stroke.

3. With this frame selected, choose "New State" from the Object States panel menu. This will create a 2-state multi-state object, with the frame you just drew on one state, and a duplicate of the frame on the second state.

4. Name the multi-state object "swipe prevention mso". Check to make sure the multi-state object ended up on the "swipe prevention" layer.


5. With "swipe prevention mso" selected, go to the Folio Overlays panel and fill in the panel as shown below.


6. That's it. The way that this works is that whenever the user tries to swipe to move from screen to screen, instead they will be swiping to change the image on this "invisible" slideshow that fills each screen, preventing the swipe from moving the user from screen to screen.

You can still include slideshows that swipe, scrollable frames, buttons, etc. in the app. Just make sure that all of these interactive elements are on a layer above the "swipe prevention" layer.

If the user swipes on a "hot zone" created by a button, instead of tapping on the button, they will still be able to swipe to an adjacent screen. For this reason, you may wish to check the "Horizontal Swipe Only" option when creating the article. This will arrange all the screens of the article horizontally, preventing vertical swiping entirely. Then, the "swipe prevention mso" only needs to prevent horizontal swiping. In this case, the only way someone can swipe from screen to screen is if they accidentally horizontally swipe on a button, instead of tapping the button.



This method can really "quiet" an app and make navigation easier for certain types of apps.


Anonymous said...

You're description is what I have been looking for for a week. Thank you. I think it's presumptuous of Adobe to think that we may not want to swipe up or down. I hope they include this feature in a future upgrade to the CS. Thanks again.

Jaime Trigo said...

Great, it works!!!! BUT you can swipe with 2 fingers!!!! How can you disable that?