Posts tagged "Adobe Connect"

Launching external apps from a DPS folio

Inter-app communication is a frequent request from my DPS customers. For instance, they would like to be able to launch Mail with a message already populated, or send a tweet, or post to LinkedIn. While it could be possible to do that within a Web Content Overlay, often times it is preferable to send a request to the native application or service on the device.

iOS applications have a method to allow apps to talk to each other called a Custom URL Scheme. Not all apps make use of this feature, though; it is up to the developer to implement it properly. This method is documented at Apple’s Developer Connection, and I have an article in the Adobe Developer Connection that uses the Custom URL Scheme method to navigate within a DPS folio using JavaScript and HTML. This article will discuss communicating with external apps via the Custom URL Scheme.

Some Custom URL Schemes are well understood and have been part of the HTML consciousness for a long time.

mailto:

and

tel:

are used frequently to send emails and dial a telephone, for instance. I have an article in this blog that talks about using the mailto: Custom URL scheme. How, then, can we use similar methods to communicate with other apps? First, we need to determine the Custom URL Scheme that is registered to an app. Some apps make their Custom URL Schemes well known, like Google Maps. Others do not. You can search for apps and get some help with how to craft a URL at Magnatron’s handleOpenURL site. Searching that site for Twitter, for instance, I can see that the native Twitter app uses the “twitter:” scheme and some directives to start the Twitter app and have it so something. Here are some of the commands:

twitter://user?screen_name=jameslockman
twitter://timeline
twitter://mentions
twitter://messages
twitter://list?screen_name=jameslockman&slug=abcd
twitter://post?message=hello%20world

It’s clear that if we know how to properly phrase our request, then we can easily create integrations between DPS apps and other native apps. Armed with the Custom URL Scheme, I decided to try to use it for a specific use case.

I had a request from a customer who needs to launch a Connect meeting on their iPad from a DPS application. The customer wants to provide eLearning content in DPS for offline use, and then provide a button in the DPS folio that will launch Connect Mobile and pre-populate the meeting room information.

I asked around internally, and the Connect Mobile folks were kind enough to provide me with the following Custom URL Scheme for Connect Mobile:

connectpro://https://connect.server.address/connect.room.path

OK, I thought, I’ll just make a button in InDesign and set it to go to the URL. Unfortunately, when I tap the button, the colon (“:”) after “https” didn’t pass over to Connect Mobile, so the URL got passed as

https//connect.server.address/connect.room.path

In addition, DPS launched an empty Web Overlay so that when I returned to the folio, I had to tap the “Done” button to close the overlay. Not very elegant, and not exactly what I was looking to accomplish.

After some back and forth with a few people on the Connect side (Props to David Knight, Vincent Le Quang and Minh Huynh for taking time out of their busy days to help diagnose the issue) and a lot of trying and failing with variations on escaping the colon character, it dawned on me that the solution was easy and should have been obvious.

When we create a button or hyperlink in InDesign, that button’s or hyperlink’s URL target gets passed out of the folio and to the Content Viewer, which then passes it on to iOS. This is two steps, and the special character was getting decoded and then left behind, which makes sense. The answer is to use a Web Content Overlay, which provided only one step to iOS as it is a native iOS Webkit Overlay.

I made an HTML snippet, escaped the problematic colon character with %3A, and inserted the HTML (Object>Insert>HTML) into my folio:

<a href="connectpro://https%3A//connect.server.address/connect.room.path">tap here to go to the meeting (%3A escaped)</a>

InDesign recognized the inserted HTML as a Web Content Overlay, so all that’s left to do is to set the Web Content overlay to auto play. Now, when I tap the link in DPS, my Connect Mobile app launches, the meeting URL is filled in, and all I need to do is tap Next to log in to the room. Once the session is running, I can use the 4 fingered swipe to switch back and forth between the DPS app and Connect. Pretty neat!

In most cases, you should be able to use Custom URL Schemes on buttons and hyperlinks directly from InDesign. However, you may need to put that URL into a Web Content overlay in order to allow special characters to pass out to iOS, and ultimately to your external app. Of course, it is possible to use JavaScript to dynamically compose a Custom URL Scheme request, so expect some more interesting examples from me in the future.

Share on Facebook

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