May 26, 2012

Using Twitter feeds in Adobe DPS

Recently Twitter changed its widgets so that they will no longer run outside of a web site. This presents a problem for folks who have relied on embedded Twitter widgets in their DPS publications. There is a workaround which should present no problem to readers, since they need to be online in order to read Twitter content in the first place.

First, post your widget to a web site, then either refer to it directly from your web overlay or embed an HTML file in your folio that contains an iframe that displays your widget. Here’s a more concrete example.

I have a widget called dpstweets.html, which displays all of the tweets that reference @adobedigitalpub. It resides at http://www.jameslockman.com/dps/jamestweets/dpstweets.html, and it consists of the following code:


<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8">
<title>DPS Twitter Feed</title>
<style>
 .body
 {background-color:transparent}
</style>
</head>
<body>
<div>
 <script charset="utf-8" src="http://widgets.twimg.com/j/2/widget.js"></script>
 <script>
 new TWTR.Widget({
 version: 2,
 type: 'search',
 search: '@adobedigitalpub',
 interval: 30000,
 title: 'Adobe DPS',
 subject: 'See what\'s trending',
 width: 180,
 height: 187,
 theme: {
 shell: {
 background: '#8ec1da',
 color: '#ffffff'
 },
 tweets: {
 background: '#ffffff',
 color: '#444444',
 links: '#1985b5'
 }
 },
 features: {
 scrollbar: false,
 loop: true,
 live: true,
 behavior: 'default'
 }
 }).render().start();
 </script>
</div></body>
</html>

That in itself is pretty plain vanilla. However, if I were to embed this file into my DPS app as a web overlay, I would get a blank white rectangle. The easiest solution is to make my web overlay point to http://www.jameslockman.com/dps/jamestweets/dpstweets.html. I set it to auto play, allowed interactions, and made it transparent. Of course, that’s hard to see unless you preview the folio on your desktop or on your tablet.

The other solution is the iFrame, and it’s easy to implement.

I made a second HTML file that I called dpsiframe.html, and in the body tag, I put this:

<iframe src="http://jameslockman.com/dps/jamestweets/dpstweets.html">Your browser doesn't support iFrames</iframe>

You can look up how to stylize iFrames with CSS and with their own tags, but once I put this new html file into my web overlay in my folio, it worked like a charm.

CS6 users have an additional bonus feature, though. In InDesign CS6, you can just copy and  paste the <iframe src-” … /iframe> line of code into InDesign, and InDesign will make a nice poster frame of the page for you when you paste. It makes it much easier to figure out how the widget will fit into your layout. Give it a try with my iframe code above, and tell me that’s not awesome. You can’t, can you? Unless, of course, Twitter changes its widgets again and makes them unusable in iFrames.

Share on Facebook

5:16 PM Comments (0) Permalink
April 2, 2012

Using content from InDesign documents in CQ5.5

When Adobe acquired Day Software, it got not only a revolutionary Web Content Management system, but also a revolutionary Digital Asset Management platform based on CRX, Day’s implementation of the Java Content Repository. Quick to recognize its potential as a binding agent for an end to end Adobe workflow that included asset creation and management, campaign deployment, measurement and targeting, and campaign refinement, CQ quickly jumped to the forefront of many of our minds here at Adobe.

Adobe Drive 3 can connect to a CQ DAM and provide version control for Creative Suite assets. While this functionality existed with CQ5.4, in CQ5.5, there are some built-in examples of how CQ can extend an InDesign workflow to the Web. CQ5.5 ships with a couple of workflow scripts designed specifically for InDesign Server, which is required for them to function. Without InDesign Server available to CQ, what follows won’t happen. If you are a CQ customer and would like to try this for yourself, download the InDesign Server trial and install it on the same server where you keep CQ5.5. Otherwise, read on and you’ll get a sense of what’s possible with CQ DAM and InDesign Server.

InDesign server must be running and servicing requests on port 8080. On my Mac, I issue the following terminal command to fire up ID Server prior to starting CQ. I assume that it’s similar on Windows:

/Applications/Adobe\ InDesign\ CS5.5\ Server/InDesignServer.app/Contents/MacOS/InDesignServer -port 8080

Once it’s running, it’s safe to start CQ in author mode. We’re looking at an author instance, not a publish instance, from this point forward. Once it’s running, you can mount the repository with Drive 3. Open Drive 3 and connect to your DAM. In my example, I’m running CQ on my local machine, hence the localhost connection.

Once connected, I can browse content in the DAM as if the DAM were a filesystem. CS apps such as Photoshop, Illustrator, InDesign, InCopy and Bridge understand that when CQ DAM is mounted via Drive, they can check files into and out of the DAM and access versions of those files in the DAM. This article isn’t about version control, though, it’s about repurposing content from InDesign in CQ5.5.

When I drop an InDesign file into the DAM via Bridge, Bridge creates a version and checks the file into CQ. In CQ, the appearance of that InDesign file fires off a series of workflow steps that, with the help of InDesign Server, create previews of that file, extract an IDML rendition of that file, extract text and images from that file, and assemble those items into a Page node in CQ. It’s this page node that’s the really, really cool product of ingestion.

Page nodes are reference-able in CQ using a reference component. Normally, when you place a reference component onto a page in CQ, you double click it and browse to the page you want to reference. Unfortunately, when CQ and InDesign Server make the page node of your InDesign file, it places that page into the “renditions” folder, which is a reasonable place to store it. Unfortunately, the Reference component doesn’t know how to look into the Renditions folder for this Page note. Fortunately, a colleague on the Chinese Solutions Consulting team, Joseph Lee, figured out a simple solution that allows us to use this page node as a source of content for other pages on our CQ site.

In the diagram above, the selected page node needs to move up two levels in the hierarchy so that it is at the same level as the jar:content node, just below the InDesign file’s primary node. We can drag it up there in CRXDE Lite, but that’s pretty “dirty,” as Joseph was quick to point out. Looking at the workflow, however, he identified a single modification that puts the page node into a place where it can indeed be found by a reference component. Note that it will no longer appear in the Renditions tab when you browse to the InDesign file in DAM, however. I think that the trade-off is worth it, though.

The change we need to make is in the DAM Update Asset workflow. Browse to your workflows console and double click DAM Update Asset. At the bottom of the workflow, there’s a step called Page Extraction. This is one of the new steps that’s included in CQ5.5. You need to change the Page Root Path to “/.” (do not include the quotes) just like below. This will instruct the workflow to create the page node directly below the InDesign file’s primary node. Once you’ve made the change, click OK and then Save in the upper left hand corner of the window. Now, you’re ready to reuse content from your InDesign files in your CQ pages.

To see this in action, let’s look at what the reference component will see after this workflow change, and after we either ingest a new InDesign file or make a change to it and check it back into the DAM, either of which will trigger the InDesign Page Extraction workflow and fix the page node location. Once you do this, you can now browse to it from a reference component.

In the figure above, I have selected a story that’s present in my InDesign document. Here it is in InDesign:

Now, here it is on my CQ page.

Now, here’s the really, really cool part. Nowhere in this process was I required to send my InDesign document overseas for XML extraction in order to get its content back into my Web Content Management system. Ingestion took literally seconds and allowed my authors to use the text and images from my InDesign documents immediately. In addition, when a user makes a change in InDesign and checks the document back into the DAM, the text will update in my CQ Author instance so that I can gracefully publish it to the Publish instance when I am ready.

Thanks again to Joseph Lee for his elegant but powerful suggestion to expose the page rendition to reference components.

I know that this workflow is a demonstration of capabilities, but what an amazing demonstration it is. A capable developer could develop components and workflows which would allow a CQ user to edit that same referenced copy, and then would fire off a workflow to re-inject that content back into the InDesign document. How about the situation where a CQ user mocks up a page layout and then pushes a button to tell InDesign Server to build an InDesign document using a specific template and the text and images from the repository. The possibilities are endless.

I firmly believe that CQ5.5 and its ability to drive InDesign Server heralds the beginning of a new era in multi-channel communications. Already the lines between print and web and apps are blurred. With InDesign Server and CQ5.5, those lines disappear entirely. Now, content truly becomes independent of presentation, which frees the marketer or publisher to extend their reach in existing channels and expand their businesses into emerging channels.

Share on Facebook

4:12 PM Comments (1) Permalink
February 8, 2012

Nested Overlay conundrum and solution for DPS

One of my customers’ favorite aspects of Adobe’s Digital Publishing Suite is how new features appear every 6 weeks or so. This rapid pace of development means that the DPS team can respond to customer requests for new functions in the Overlay Creator and the Folio Producer parts of the solution. One of the recent changes was the addition of what are known as Nested Overlays.

Nested Overlays allow you to combine multiple overlays into one object. For instance, you can now include a buttons, videos or a Pan and Zoom Overlay in your slide show. This is very handy when trying to create an interactive slide show like you see on popular news sites: there’s a photo with some text under it and six dots along the bottom, and when you touch a dot or swipe across the image, it takes you to the image or video that’s in the slide show.

I have heard from customers that while this seems to work on the desktop Content Viewer, it often fails on the iPad. I was surprised, so I did some investigating and here’s what I learned.

When you build a slide show, you need to create a Multi-State Object, or MSO. This MSO is a container for all of the different slides you want to present, with each state in the MSO representing a slide. Inside of each state, you can include DPS overlays. In my example, I have three slides in my slide show, so I have three states in my MSO. On the second slide, I have a Pan and Zoom Overlay, because the text is too big to fit in the space I’ve allowed. When I preview on the desktop, this works as expected. When I preview on the iPad, however, it doesn’t work.

The solution is easy, and I came upon it after following some of my own advice. When I first began teaching about interactive features in InDesign CS5, I exhorted my students to “think like a developer!” This meant that they needed to start naming their design elements if they wanted to have a productive relationship with the Flash developer who would take their comps/projects and turn them into full-fledged apps. This reduced guesswork and established a workflow that fostered collaboration between the two. Until InDesign CS5, designers all worked in Photoshop and sent layered PSDs with layer comps and written instructions to the developers, who chopped them up and added interactivity. This Photoshop-centric is still prevalent today, and it is fraught with errors in communication. I promote the idea of using InDesign as an interactive comping tool, however, and make judicious use of the layers panel to name my design elements. The key here is how InDesign names objects when you don’t.

By default, InDesign names all of its objects with the name of the primitive surrounded by brackets, like <rectangle> or <graphic frame>. If you place a graphic, the name becomes <nameofthisgraphic.psd> or whatever the graphic’s file name is. If you type some text, the first few words of the text frame become the name of the object, plus those surrounding brackets. It turns out that these names look suspiciously like HTML tags, but as tags, they have no meaning. I think (and I expect to get either some dope slaps or back slaps for this) that the webkit part of the iPad Content Viewer gets confused when it sees these names in the nested overlays. If you change the name of the overlay from InDesign’s default to something without brackets, your overlay will work as you expect.

In my example, I drew a box and pasted my text into it in order to make the Pan and Zoom overlay. InDesign named the box <graphic frame>. We can see this in the Layers panel. One of the great features of the Layers Panel is that we can use it not only to reorder the objects within a layer, but we can also use it to change the names of the objects. When I change the name to More Than Professors and update my folio, my overlay works as expected. It is not necessary to adhere to a strict Action Script naming convention, which would have a name like moreThanProfessors. The Content Viewer doesn’t seem to be bothered by spaces in the name, but if you’re going to be working with a Flash developer, then you should consider talking with them about how they want objects to be named.

On the left, the result with InDesign's default name. On the right, the result with my custom name.

Changing times require changing workflows. For interactive design and DPS specifically, it is time for designers and developers to share best practices. While naming conventions have never been a concern of a print designer, they are critical for a developer. In InDesign, these two worlds collide, and the collaborative workflow I have been preaching for the last two years is now paying off.

Share on Facebook

11:34 PM Comments (14) Permalink
November 28, 2011

Using Adobe CQ5 as a repository for Acrobat Shared Reviews

Acrobat has a great feature called Shared Reviews, which allows an Acrobat Pro user to send a PDF to one or more people for their comments while allowing each of the reviewers to see all of the comments that had been made by all of the other reviewers. While the default method in Acrobat 9 and X is to use Acrobat.com as the repository, it is possible to use another server, such as Adobe CQ5, as the repository.

In a shared review, Acrobat needs two things: a PDF that has been prepared to receive comments and share them with other reviewers, and a network location that all of the reviewers can access for storing the comments. In a Shared Review, the comments are stored in a comment repository that is disconnected from the PDF itself. Acrobat uses this methodology so that it can always check with the repository to determine whether there are new comments that have been added to the PDF while you were away from it. It is very important that the repository be in a network location that is accessible to everyone, and that means using a WebDAV server. Why WebDAV? WebDAV shares use a path that looks the same on all operating systems, which is not the case for a SMB, AFP, or other operating system specific file system protocols. In addition, it is not necessary to mount the remote volume in order to communicate with it, since WebDAV has a number of file system access features that can be used through standard web calls. Acrobat knows this, so it does not need to mount the repository in order to use it for shared reviews.

To begin, we need to create a folder in CQ5 that will act as the repository for reviews. It is important that this repository be somewhat obfuscated to the casual user, so it is good to put it inside of a universal access folder that sits inside of an admin access folder. For instance, if I made a top level folder in the DAM called acrobat_reviews and inside of that another folder called repository, I would set the permissions on acrobat_reviews so that only the administrators can see it, and I would set the permissions on the repository folder so that everyone can read and write. You can also create a folder elsewhere in the repository that’s not in /var/dam. This is handy because it prevents Adobe Drive users from seeing the repository at all when they mount CQ DAM through Adobe Drive. Of course, you will want to consult your CQ system administrator to ensure that your repository location and permissions abide by your corporate policies.

Create a new folder in CRXDE LiteLet’s create a folder outside of CQ DAM and use it as our repository for Acrobat shared reviews. You will need a CQ5 Author instance to which you have administrative access and Acrobat X or a version of Acrobat that supports shared reviews. First, open up CRXDE Lite. You can create a folder other ways, but using CRXDE Lite is quick and only requires a web browser.

Navigate to the root of your CQ system, right-click on the root, and choose Create>Create Folder.

Name that folder acrobat_reviews. Right click on “acrobat_reviews” and choose Create>Create Folder again, and then name this new folder “repository”. The path bar should now show /acrobat_reviews/repository.

You’re not done yet, though, because the changes to the repository haven’t been written. You must click the “Save All” button to save the repository changes.

Now, let’s set permissions for the folders. Recall that we want to forbid access to the acrobat_reviews folder but allow access to the repository folder. In this example, we will use the user known as anonymous. You might want to use your LDAP or Active Directory groups to govern access, for instance, assuming that you have connected your LDAP or Active Directory system to your CQ instance. To set permissions, we need to use the CQ User Manager, otherwise known as CQ Security. Return to your CQ author instance landing page and click the User Manger. Double click the Anonymous user and click the Permissions tab.

Click the plus sign to the left of acrobat_reviews to show its subfolders. Leave the permissions on the acrobat reviews alone, and set the permissions on the repository to Read, Modify, Create and Delete as shown.

Click the Save link above the Path column heading to save the permission changes.

Now, we’re ready to use CQ as a repository for our Acrobat X Shared reviews.

In Acrobat X, open a PDF you want to send for Shared Review and click the Comment button to open the Comment Pane. Click the Send for Shared Review button, and then choose “Automatically collect comments on my own internal server” and click Next.

Choose the Web Server folder option. Enter the full URL to your repository. In my example, my repository is operating on my laptop and is running on port 4502. The URL to the repository is therefore http://localhost:4502/acrobat_reviews/repository. You will need to know your server URL and active port to the author instance in order to enter your own information, though. Click Next and Acrobat will prompt you for your credentials to access the repository. I used the Anonymous user, so I enter anonymous (lower case “a”) for the user and leave the password blank. If you click Save this Information, then the userid and password will be saved in Acrobat’s keychain. Each user who accesses the review will have to enter their own credentials. For groups, therefore, it makes sense to use groups to control access to the folder and therefore provide at least userid and password access to the reviews. Acrobat will create and delete a test file on the server, after which it will prompt you to choose how to send the review notification to reviewers.

You can choose to send the file with your default email application or send it later. If you are on a Mac, Acrobat looks for Microsoft Entourage, so if you aren’t using Entourage, then you might have trouble sending email from Acrobat on your Mac. In that case, save the file to attach to email later. On Windows, Acrobat supports more email clients. In any case, test to ensure that Acrobat supports your email client. If you decide to allow Acrobat to create the email, there are two options. You can choose to send the PDF as an attachment or as a link in the email message. Pick one, click Next, and then enter a name for your Server Profile. This will allow you to reuse these settings when you start Shared Reviews later.

Once you send the file to someone for review, they will need to be able to access the server, so be sure that the server URL is accessible to all of the reviewers. When a reviewer opens the PDF, they will login to the server, add comments, and then post them to the repository for other reviewers to see.

Because of its built-in WebDAV and easy to configure security, CQ5 is a great technology for Shared Review and Forms Data Collection workflows.

Share on Facebook

11:03 PM Comments (0) Permalink
October 8, 2011

Form Field Flattening in Acrobat X

While at Adobe MAX last week, I was asked how a user could flatten form fields with Acrobat X. Flattening form fields means removing the form fields themselves and placing the data onto the PDF as regular items. This is a common request for folks who want to “lock down” a form without using password protection.

A person who overheard the request chimed in with “just print it to a new PDF!” While correct, printing to PDF to flatten form fields is not optimal. If there are any transparent art elements in the PDF, for instance, they will be replaced with non-transparent “flattened” artwork. Any interactive content will also be removed and replaced with poster frames, if available. What, then, are we to do if we want to keep or PDF just like it was, but without any form fields?

Acrobat Pro can automatically preflight PDF documents using a robust and configurable preflighting engine. In addition, since Acrobat 8, it can also apply what are known as fixups to PDFs in addition to preflighting. Preflight profiles in Acrobat often contain only fixups, and we’ll use one of these fixups now.

With a PDF open, open the Tools pane and open the Action Wizard panel. Next, we need to create a new Action. Click the Create New Action button to open the Create New Action dialog.

 

The Action Wizard allows you to schedule a series of steps from a pre-determined pool of steps on one or more PDFs. All of these steps get bundled into an Action, which you can start by clicking the Action’s name in the Action Wizard panel. We’ll name our new Action later. First, we need to determine on what the Action will act. By default, Acrobat will start with A File Open in Acrobat. This will use the currently open file as the target for the Actions that are about to take place. You can also choose other sources, such as a file or folder to which you would browse, a scanner, or even let the user decide at the start. I’ll keep the default setting, since I want to be able to flatten form fields in a PDF that I am completing.

The Action Wizard allows you to provide instructions to users as well, and it’s a good idea to let the user know what’s going to happen. Click Add Instruction Step to add an instruction step. Enter a title for this step and also the text that will show in the dialog. I included the following: “This Action will flatten form fields in the PDf that’s open in Acrobat. It will not flatten form fields in an XFA (LiveCycle) PDF. When complete, it will save a new PDF with the word flattened inserted before the .pdf extension” Click Save to close the dialog.

Having given our user instructions, we can now choose the sequence of events. For this Action, we want to execute a Preflight profile. Acrobat X comes with a wide assortment of Preflight profiles, some of which contain only fixups. The one we want is called Flatten Form Data. To choose a Preflight Profile, open the More Tools panel and then click Preflight, which is at the top of the list. A Preflight step will now appear in the list under Action Start. To configure which Preflight Profile will be executed, click the Options button in the Preflight step. Having chosen the Flatten Form Data Preflight Profile, click Safe to save the step.

The last thing we need to do is to configure how the flattened PDF will be saved. I want the flattened PDF to go in the same folder as the original PDF, but with a new name to indicate that it has been flattened. To the right of Save To:, click the menu and choose Same Folder Selected at Start. Then, click the Options button to open the Output Options dialog. Choose Add to original file names: and enter “_flattened” into the Insert After field. Ensure that the output format is set to Save File(s) As Adobe PDF, and then click OK to close the dialog. You can choose to Overwrite existing files if you wish; it will not affect the original form.

Having configured the Action, it’s time to save so that we can use it. Click Save, and enter a name for the Action. I called mine “Flatten Form Fields” and entered the text from our alert dialog as the description. Click Save to save the Action, which will make it available in your Action Wizard panel.

To use the Action, open a PDF with Acrobat form fields that contain data. In the Action Wizard panel, click the name of your new Action. You will be reminded of what’s about to happen, and then you can click Next to proceed. You can choose not to show this Actions dialog again. Next, Acrobat will pop up our custom alert, and when you click Next, Acrobat will flatten the form data and save the new PDF. This new PDF will have all form data flattened onto page content and all fields will be removed. This is a great example of how Actions in Acrobat X can help get complex or obscure jobs done quickly and easily.

Share on Facebook

9:12 PM Comments (2) Permalink
July 27, 2011

Adobe DPS course available at Lynda.com

There is a new course available at lynda.com to help users get started with Adobe’s Digital Publishing Suite.
with: James Lockman
Course Description:
Up and Running with Adobe Digital Publishing Suite shows designers how to create interactive publications for tablet devices using Adobe InDesign and the Adobe Digital Publishing Suite. Introducing this emerging publishing platform, author James Lockman discusses the DPS workflow, comparing it with existing EPUB and print workflows, and highlights key layout and design considerations when designing for DPS. The course explains how to incorporate hyperlinks, slideshows, panoramas, audio and video, and pan and zoom capabilities as a means of adding value to a publication. Lastly, the course sheds light on compiling interactive folios and testing and publishing finished projects. Exercise files accompany the course.
Topics Include:
  • Determining your digital publishing market
  • Designing for an interactive publication
  • Creating buttons
  • Setting up image sequences
  • Building the panorama viewer
  • Configuring audio and setting video playback options
  • Creating a web viewer portal
  • Structuring articles into folios using the Folio Builder
  • Testing a folio locally
  • Publishing folios
  • Building viewers for iPad and Android
Duration:
2.68 Hours
Here’s a sample:
Share on Facebook

10:52 AM Comments (0) Permalink
June 17, 2011

Video encoding for Adobe Connect with Mobile in mind

Recently, I was asked to present to a group of people via Adobe Connect, but I was not available to present live. I thought I would do a screen recording and then post it to my Connect room. While I could have done it all in one shot by using Adobe Captivate Full Motion Recording (FMR) mode and then letting Captivate upload the recording directly to my Connect room, I wanted to learn how to use a pre-recorded video in Connect.

I used ScreenFlow to record my presentation. I did this because it let me capture my screen and my built-in web cam at the same time, and then edit the recording very quickly without encoding. Encoding happens after I edit the recording, which can be a time saver when I want the job done really fast. If I want more robust editing, I of course send the unedited encoded recording over to Premiere and edit it there. For most of what I do, though, ScreenFlow does a great job when I don’t want to use Captivate. Regardless, from here on out, I assume that there is some video that I want to use in Connect.

Connect can only display two video file formats: FLV and F4V. These are the two Flash video formats, and they use the On2 VP6 and H.264 encodings, respectively. Since our objective here is to get the video to play on Adobe Connect Mobile (browse for it in iTunes, Android Marketplace and BlackBerry AppWorld), let’s focus on FLV, since I know it works.

When encoding for mobile, you need to think of how your client will connect to the Connect server. It might be through a 3G connection, which isn’t lightning fast, and often will be less than 1.4 megabits per second, depending on where you are. Here in NY City, for instance, the connections are often as slow as 500 mbits per second. You must therefore encode your video with the slowest connection in mind. We’ll get to this when we look at bandwidth.

Remember that I already have a recording that I saved from my screen capture software. In my case, I exported it from ScreenFlow using their lossless setting. I did not use their Export to Flash option, as it makes an F4V file using the H.264 encoding method.

Export Settings from ScreenFlow

Export Settings from ScreenFlow

However you capture your video, you want the highest quality file you can get, since we’re going to compress hit pretty hard in the Media Encoder.

Now that we have our file, let’s send it to the Adobe Media Encoder (AME). Adobe Media Encoder comes with Acrobat Pro and with the Creative Suites. It also ships with other point products such as Flash and Flash Builder. You will need Media Encoder in order to encode the video for Connect. I am using Media Encoder CS5.5, which is different from Media Encoder CS5. If you would like a deeper dive into how to use AME, visit this page on the Adobe Developer Connection.

To use AME, launch it and then drag your video into the queue at the top of the screen. Once there, you can adjust the encoding settings by clicking the hyperlink under Format and choose FLV.

You will see many options here including H.264 and F4V. This may seem confusing, since codec is not the same as file format. An F4V and MOV file may both be encoded using H.264 codec, for instance. Remember, we need On2 VP6 for our video, so choose FLV and that will automatically choose the On2 VP6 codec.

Adobe Media Encoder settings for Adobe Connect

Adobe Media Encoder settings for Adobe Connect

Here are some tips to help make the video successful.

  • Choose CBR, which means Constant Bit Rate.
  • Set the bit rate to anticipate your slowest connections. I set mine at 800 kbps, but you can adjust for your bandwidth expectations. To be safe, assume slower connections and you won’t have stuttering due to latency issues.
  • Two pass encoding will take longer but the result will be better.
  • Reduce the frame rate to an even factor of your initial frame rate. My original video had a frame rate of 30 fps. I reduced it to 10. If you have 24 fps, you might want to reduce it to 12 or 8.
  • Reduce the frame size to match your clients. In a perfect world, I would have reduced my screen resolution to something like 1280 x 800 for the recording, but I can’t count on that all the time. Connect will scale the video to fit your client’s frame, but it’s best to be close to the size of the player window.

I have attached a copy of my Media Encoder Preset file. To load it, download the file from my Acrobat.com workspace by clicking the link. Then, when you have opened the encoding settings dialog, click the little folder icon next to the  settings drop down menu and browse to Connect.epr, which is the file you downloaded from Acrobat.com.

Import AME Settings for Connect

Import AME Settings for Connect

Once you have loaded the setting, you can adjust the settings if needed. Once you’ve finished your tweaking, you can save the preset for use later by clicking the little floppy disk icon to the right of the Preset drop down menu. If you want to share your preset with others, then Option-click (Mac) or Alt-click (Windows) the floppy disk icon and you will be able to save the preset to wherever you choose.

Once you have applied your settings, then you can close the dialog and click the “Play” button in the upper right hand corner of the AME window. This will force the encoder to begin encoding your video for Connect. Depending on length, your encoding time will vary. Mine was 20 minutes of HD video and it took about a half hour to encode on my laptop with the settings in this post.

Once encoded, you can share it from any share pod in the connect room by either uploading it into your Content area of your Connect account or by browsing for the video from a Share pod in the Connect room. Click the triangle next to Share My Screen in any Share pod and choose Share Document from the dropdown menu. If you have put it into the Content area of your Connect account, it will be available in My Content. If you want to share it from your computer, then choose Browse My Computer… and browse for the video. After it uploads, you will be able to play it when you need it in your presentation. More importantly, both your desktop and your mobile viewers will be able to enjoy your video.

Share on Facebook

3:15 PM Comments (4) Permalink
June 6, 2011

Fonts and Where Can I Use Them?

I came across a question recently in a developer forum, and I felt it warranted broader exposure.

“What is the legality of embedding fonts in an app for distribution?”

This is a thorny issue. Not all fonts are licensed for use in all places. Arial specifically has a checkered past, as outlined in its Wikipedia page. Nevertheless, it is instructive to look at paragraph 12 of Monotype’s current End User License Agreement (EULA):

12.  You may electronically distribute Font Software embedded in a “Personal or Internal Business Use” document (that is, a document other than a “Commercial Product” as defined herein) only when the Font Software embedded in such document (i) is in a static graphic image (for example, a “gif”) or an embedded electronic document, and (ii) is distributed in a secure format that permits only the viewing and printing (and not the editing, altering, enhancing, or modifying) of such static graphic image or embedded document. You may not embed Font Software in a Commercial Product without a separate written license from MI, and you may not embed Font Software in an electronic document or data file for any reason other than your own Personal or Internal Business Use.

The emphasis in the above paragraph is mine. With that kind of license, how should a developer proceed?

It turns out that Adobe sells a package called the Font Folio, which includes fonts both wholly owned by Adobe and also licensed from other foundries, including Monotype, who owns Arial. The licensing for those non-Adobe fonts in the Font Folio varies from typeface to typeface, and often includes different terms for print vs web vs video vs app inclusion. Those terms may also forbid alteration of the font in any way. These EULAs are written by the foundry and not by Adobe, and Adobe has no control over what the terms of a specific EULA will be for a licensed font. Arial has one of those licenses, by the way. You can read Adobe’s font EULAs here.

Adobe has a subset of the Font Folio called the Font Folio Select (FFS). It consists of the fonts that are wholly owned by Adobe and have the broadest license terms of any fonts in terms of how they can be used. Any font in the FFS can be used in print, in an app, in a SWF online, in video and more. They can also be modified, but there are some specific licensing considerations around modifications that you’ll want to investigate. The short of it is that if you modify a glyph in a font and then deploy that modified font in your company, you are no longer permitted to use the ORIGINAL font. If you want the original version AND the modified version at the same time, then you need to purchase another license for the original.

FFS is available to customers who purchase through licensing programs. It is not available as a boxed product through traditional retail outlets. Customers should contact their preferred reseller to learn more.

So, can you use Arial in your app? That depends on how you acquired Arial and the license that was in force when you got it. It is best in this case to NOT embed Arial in your app, but to allow the operating system to supply the resource. Every modern computer on the planet started life with Arial installed, so it’s a pretty safe bet that it resides on your customer’s computer. For other fonts, look closely at the EULA that came with that font. You may find that there is no limitation and you may find that there are explicit limitations. If you have some old fonts lying around, those EULAs tended to be pretty lenient until recently, because there was no idea of Rich Internet App or mobile app when they were struck. Those EULAs remain in force, so you might have some hidden gold in those old floppies out in your barn.

Share on Facebook

11:09 AM Comments (0) Permalink
March 11, 2011

Establishing Trust in an ad hoc Electronic Signature Workflow with Acrobat

I had a customer ask me about why signatures in their PDFs that they had signed with Acrobat would not verify. Doing a little digging, it became apparent that while the group had created and begun using signatures in Acrobat, they had not established trust within the group.

An electronic signature, like a pen-and-ink signature, is only as good as your belief that the signature is genuine. In a paper workflow, we can witness someone applying their mark to the paper. We use ink because it is hard to remove from the paper. How, then, do we trust an electronic signature when we can’t witness the signature being applied to the PDF?

There are several mechanisms to establish and maintain trust in the context of Adobe PDF workflows. In this article, we’ll look at the ad hoc signature workflow. In order to for a signature workflow to work, we need two elements: signatures and Identities. In this workflow, all of the parties create electronic signatures and Identities with Acrobat, and all of the parties must exchange Identities in advance of using the signatures.

Digital Identities

In Acrobat X, signatures depend on digital identities, so we must start with creating an identity. When you have a document open, you can click on the Tools panel and then choose Sign & Certify>More Sign & Certify>Security Settings… At any time, you can find these controls under Edit>Protection>Security Settings…

Note: Click on these or any of the following images to view them full size.

You create a Digital Identity in the Security Settings Panel. A Digital Identity is a file that contains information specific to you, such as your name, email address, and company contact information. In addition, it contains half of a key that can be used to decrypt content that you have encrypted. This is important, because the person with whom you are sharing a signed PDF needs this key in order to be able to decrypt your signature and verify that you are who you say you are. Without this key, we don’t have trust in the workflow, so the key is how we establish this trust.

Let’s make a Digital Signature. In the Digital Signatures panel, click the Add ID button and then choose A new digital ID I want to create now and then click Next.

Now, you need to enter your personal information, select an encryption strength, and also make a choice about how you’ll be using this ID. In this example, I have entered my personal information, chosen my region, and have chosen 2048-bit RSA encryption. The default is 1024-bit RSA for backwards compatibility, but in this age of WikiLeaks and other data security compromises, I’ll opt for more modern protection. I’ve also chosen to use this digital ID for Digital Signatures and for Data Encryption. This is the default setting, but you can choose to use this ID exclusively for either Digital Signatures or Data Encryption.

 

A note about Unicode Support: if you need to use this signature in a region that uses Unicode characters, such as many parts of the Middle East and Asia, then you will want to enable Unicode support here as well. Enabling Unicode Support will expose another set of fields that allow you to enter Unicode data in addition to the Western characters.

Having made your choices, click Next.

Now, choose your password. This is a tricky business, since once you create the signature, you will need to know this password in order to use it. Ah, yes, in order to use it, you need to know its key to entry. This protects you from anyone else using the signature to impersonate you. To this end, choose a strong password. Acrobat X provides a thermometer that lets you know how strong your password is, or how hard it would be to guess. It bases this strength on a number of factors, including use of upper and lower case, use of special characters, apparent randomness of the string, and length of the string.

 

When you’re done, click Finish to complete the ID creation process, then close the Security Settings panel.

Establishing trust

Now that we have an ID, we can share it with people with whom we want to exchange signed documents. In a paper workflow, we can compare an ink signature against a government-issued ID, such as a passport or a driver’s license. In an electronic signature workflow, we exchange Digital IDs in advance of exchanging signed documents. This establishes the trust between the participants and allows Acrobat to verify the signatures on documents as having come from trusted sources.

There are several ways to exchange Digital IDs in Acrobat X, and I’ll focus on the two easiest ways to do it.

Let’s pause a moment to consider what’s being shared when you export an ID. An ID is an encrypted token that contains your personal information. The encryption scheme depends on two very large prime numbers. When you encrypt a signature (or any electronic content), the encryption routines use the key in your ID to do the encryption. Under this scheme, if someone has one of your two prime numbers, known as a public key, they can use it to decode your encrypted content. Sharing the public part of your ID is critical to establishing trust, because it enables the person with whom you are exchanging signatures to read the encrypted information in your signature.

Having that out of the way, let’s go back to the workflow. From the Security Settings panel, choose the ID you want to share and then click the Export button.

Here you’ll have to decide whether you want to email the ID to someone or save it somewhere on your computer. If you choose to email, then Acrobat will compose an email containing instructions as to how to import the ID. It will also include the ID as an attachment to the email. If you choose to save to a file, then Acrobat will save the ID as a file to the location of your choice. You will then be able to send it to whomever needs it without having to return to Acrobat. Make a choice, and click Next.

Acrobat creates an email message that explains what to do with the attached ID

In either case, Acrobat exports the ID as an FDF file. The recipient just needs to double click on the FDF file to install in either Reader or Acrobat.

You can also request that someone send you their ID. In Acrobat X, click on Sign & Certify>More Sign & Certify>Manage Trusted Identities and then choose Request Contact…

Enter your name, email address and phone number. Enable the Include my Certificates option, and choose Email request. Then, click Next…

In the following screen, select the ID you want to send and click Next. Then, enter the email address of the person with whom you want to exchange IDs. Click Send for Acrobat to compose the email and send it with your computer’s email program.

Making your digital mark

Now that we have created an ID and established trust, it is time to sign a document.

Open the PDF you want to sign. This PDF could be a PDF with a special form field for signatures or it could be a document with no signature field. If you have permission to sign the document, then you will be able to apply an electronic signature. The Sign & Certify panel has several options in it, including Sign Document and Place Signature. There is a subtle difference between these options: if the document is an electronic form and there is an existing signature field, then Sign Document will put the signature into the signature field. If there is no signature field on the document, then it behaves the same as Place Signature. Place Signature asks you to draw a box on the PDF where you’d like the signature to be.

Note: There is also an option called Apply Ink Signature, but that makes an annotation that looks like you signed the document with a pen. It is not an electronic signature like we’ve been discussing up to now and should not be used in an electronic signature workflow unless both parties agree that the annotation-type signature is acceptable as a signature. I want to take advantage of the work we’ve put in up to now, so we’ll be talking about Signing and Placing a Signatures.

I’ll assume that you are signing a document that does not have a signature field. Choose Sign & Certify>Place Signature. Acrobat will ask you to draw a box where you want the signature to go. Once you release the mouse from drawing the box, you’ll be able to determine which ID to use and also how the signature looks.

Choose the ID you want to use from the Sign As drop-down menu. Choose the ID that you used when you established trust earlier and enter the password for that ID.

You have options as to how the signature will appear on the document. By default, Acrobat includes your name and some of your personal information from the certificate. It is common to add a photo or scan of an ink signature to an electronic signature. To change the appearance, click on the Appearance menu and choose Create New Appearance…

Enter a name for the new appearance and configure the graphic option. You can have no name, choose to show your name, or choose the Imported graphic option and then browse to an image file. You can select just about any image file type that Acrobat can convert to PDF and have it appear in the signature. In this example, I chose a jpeg. You can also enable or disable different fields from the certificate. Make your choices and click OK.

When you have set all of your options, then you can click the Sign button to sign the document. You must save the signed PDF immediately. You may want to establish a naming convention for your signed documents, such as original_filename_SIGNED.pdf for signed PDFs. Having saved the PDF, you are done.

Final appearance of the digital signature with image

Final appearance of the digital signature with image

Note: If you are the last person in the workflow who needs to sign a document, then you may want to lock the document after you sign it. You can enable that option before you apply the signature.

Once signed, you can validate signatures in the Signature panel. This panel appears in any PDF that has a signature applied. You can also hover your mouse over a signature, and the tooltip will tell you whether the signature is valid. You can also click on a signature to check its validity.

There are times when you would want to remove a signature from a document. If you are the signer, then you can right-click on the signature and choose Clear Signature from the contextual menu.

Extending signature workflows to Reader users

You can include Reader users in your signature workflow by saving your PDF as a Reader Extended PDF. From the File menu, choose Save As>Reader Extended PDF>Enable Additional Features… A notice will appear letting you know what features will be enabled for Reader. Click Save Now to save the Reader Extended PDF. Give the Reader Extended PDF a name like original_name_Reader_Extended.pdf.

Conclusion

Once you create a Digital ID, then you can establish trust with someone else and exchange signed documents with them. Remember that you’ll need to establish trust by exchanging IDs with the other person in order to validate signatures.

Share on Facebook

2:22 AM Comments (10) Permalink
February 14, 2011

Version Cue and Adobe Creative Suite 5

From time to time, customers ask me how to use Version Cue with Adobe Creative Suite 5. Version Cue is not a platform that Adobe will support going forward, but for now, there is at least a means of using Version Cue CS4 with Creative Suite 5. Drive 2 is available now and is out of beta. Get it here.

Most recently, I had a customer ask about how to migrate their Version Cue CS2 workflow to a Version Cue CS4 and Creative Suite 5 workflow.

To migrate, you’ll need to go from VC CS2 to VC CS3 and finally to VC CS4. There isn’t a direct migration path from CS2 to CS4. You can migrate from CS2 to CS3 from the server administration panel’s Advanced section, and this is best done on the machine where the new server is running.

Once you’ve done that, install Drive 2 on your CS5 machines. Browse to your VC CS4 server and log in to your projects. You will be able to check content in and out from the desktop and from within CS5 apps. In addition, if you would like to use Bridge with VersionCue CS54 then you will need to enable VersionCue support in Bridge. After you install Drive2, you’ll see the following message when you start Bridge:

You can enable or disable Drive2 in Bridge later if you want to. Go to Bridge’s preferences, and disable the Drive 2 Startup Script. Once installed, you will have access to the inspector Panel. The metadata explorer is off by default, but you can enable it in the preferences as well.

Having done that, you will now have a new panel in Bridge that lets you access projects through Drive 2. Click on Drive 2, then click the Connect To.. icon in the Content panel.

Then, enter the URL and credentials for your server.

Once you’re connected, then you can then browse your Version Cue CS4 projects in Bridge CS5. In addition, you can show versions, examine metadata, check out files and check in new versions. You’ll be able to use Version Cue directly from within InDesign, InCopy, Photoshop, and Illustrator. You’ll also be able to view versions and check files in and out from Bridge and the desktop.

To open/check out project files from within CS5 applications, simply browse to them in the Drive 2 folder that will appear on your desktop when you log in to your server.

It is interesting to note that Drive 2 allows you to check any file type into and out of a project, not just Design application files. You can manage versions of Flash Builder files, for instance, or even your Office documents. It’s a very versatile solution for small workgroups.

Share on Facebook

10:15 PM Comments (4) Permalink