Monday, October 31, 2011

Rich Web Conferencing with Adobe Connect

Now I know why Peter Ryce gets paid the big bucks.. congrats to the Adobe Connect team on this compelling video:

I hear more videos are forthcoming. Stay tuned!

Tuesday, October 25, 2011

Integrating Flash Media Server and Adobe Connect

A couple of weeks ago, I posted an article on sharing YouTube content within an Adobe Connect meeting through a custom pod. Since then, I've received a number of e-mails/questions about sharing an external Flash Media Server (FMS) stream within a Connect meeting, so I thought I would address it here.

If you're looking to display an FMS stream (live or on-demand) in an Adobe Connect meetin groom, the good news is that there are already a number of custom pods that can help you with this requirement. I'll highlight the two that I'm most familiar with:

  • Talking Stick from Refined Data: This is the most robust video-centric custom application available for Adobe Connect. In addition to subscribing to an FMS stream and displaying it in a meeting room, Talking Stick has an almost-ridiculous number of features (multi bit-rate streaming, HTTP/RTMP streams, watermarking, remote pan/zoom support for some cameras, etc. etc.). The downside for most people is that this is a commercial offering. Refined Data is pretty upfront about their pricing though, so if you decide to go this route, you'll know what you're getting into. 
     
  • Flash Media Server to Adobe Connect custom pod from my colleague Nick Hippe. On his blog, Nick has posted a detailed article on how to use the pod, as well as setting up Flash Media Live Encoder to broadcast a live FMS stream. This custom pod will work for live and on-demand video streams, and is offered for free.
Note that in both instances, there may be issues with playback of custom pod content in recordings, meaning that instead of seeing your shiny, beautiful video, you may only see a blank pod. So, if you are planning to utilize either solution for higher quality video in Adobe Connect, and you need to record the meeting, I would suggest using a screen capture software like iShowU (Mac) or Camstudio (PC) to capture the playback of the live session. You can take the resulting MP4/AVI file, encode it into FLV and post it to your Adobe Connect content library for streaming playback. 


Have another solution to offer? If so, drop me a line!

Sunday, October 23, 2011

Lighten your bandwidth footprint in Adobe Connect

Dilbert.com 
One of the most common questions I get from companies evaluating Adobe Connect is how much bandwidth it uses. This is a tricky question, because the amount of bandwidth consumed by a meeting is entirely dependent on what is actually being done in the meeting at any given time. Now, Connect is pretty darn good at efficiently managing bandwidth, but if you're inviting people into a meeting room and you have no idea what their bandwidth might be like (think a public webinar/class where attendees could have different levels of Internet connectivity), following some best practices is always a good idea.

Before we get into some tips, keep in mind that streaming activities (screen sharing, webcam video, on-demand video, etc.) generally incur higher bandwidth.

So without further ado, my top 8 tips on optimizing bandwidth usage in a meeting:
  1. Don't screen share your PowerPoint (or PDFs).
    I know that it's not always practical or feasible to upload your PowerPoint slides into the Share pod (or to your Content Library), but you can gain some significant bandwidth savings by sharing PowerPoint content this way. Each slide from your uploaded PowerPoint deck gets compressed/converted to a Flash SWF. The meeting client pre-fetches the slides via progressive download as you're going through the slides. This means that if a participant has a temporary blip in their network, they're unlikely to see an adverse effect on their meeting experience. BONUS: with a converted PowerPoint, you get access to the Sidebar, which lets you jump to specific slides, access your speaker notes, and more.
     
  2. Lower your screen resolution
    If you need to share your desktop, try to lower your screen resolution - I try to stick to 1024x768 whenever possible. This simple step can greatly reduce the amount of bandwidth consumed by screen sharing. When you initiate screen sharing, Adobe Connect continuously takes a snapshot of your desktop, multiple times a second, and pushes it out to your meeting participants as a constant stream. While this simplistic description of screen sharing may not be entirely accurate in the technical details, I think it's easy to see how a larger shared image would be larger in size, and hence require more bandwidth to upload/download. For example, a display set to 1280x1024 contains 67% more pixels than a display set to 1024x768, which ultimately means higher bandwidth. Note that the increased bandwidth requirement may also mean higher latency, both in terms of the shared images being sent to the Connect server, and in terms of these images being pushed out to participants. BONUS: in most cases, sharing your desktop at a lower resolution will also translate into a cleaner, higher quality image for your participants.
     
  3. Clean up your desktop
    We all know your kids (or pets) are super cute (mine are!), and that picture you took on your last vacation looks just like a postcard, but if you're planning to do some screen sharing, things will go much better if you go replace your desktop wallpaper with a standard colour background. While you're at it, you may as well go ahead and clean up any documents/shortcuts on your desktop. If you're the 'sweep under the rug' type of person like me, you can either create a folder on your desktop and drag everything else into that folder, or use an app like Desktopple (Mac - donationware) or Fences (PC- free). BONUS: You'll impress your colleagues and friends with your sparkling clean desktop.
     
  4. Adjust your screen sharing quality
    Under the Meeting menu > Preferences > Screen Share in the Preferences panel, you have the option of selecting the quality and frame rate for screen sharing (low, medium, high). High quality and high frame rate = higher bandwidth. Low quality and low frame rate = lower bandwidth. The default is 'Medium' for both variables and should work for most people. Note that the actual values used for these settings will depend on the room bandwidth preference. Also, this is a sticky/persistent setting in a meeting room (meaning you only have to set it once) and is even inherited via a template.
     
  5. Adjust your room bandwidth preferences
    Under the Meeting menu > Preferences > Room Bandwidth in the Preferences panel, you have the option of selecting LAN, DSL/Cable or Modem. The setting you choose impacts the server-side settings used for screen sharing and video sharing. DSL/Cable is a good option if you're not sure what type of connectivity your attendees will have. Also, this is a sticky setting in a meeting room and is even inherited via a template.
     
  6. Adjust your camera video quality settings
    Adobe Connect's new Preferences panel (Meeting menu > Preferences > Video) lets you set your video quality preference. There are four settings (Low, Medium, Standard, High), and your preference can be changed at any time. So if you are planning on having lots of people sharing their cameras at once, you can set the quality to low, since you'll likely see smaller video tiles anyway. If you decide to just have one large video stream, you can increase the quality to standard or high. Note that these quality settings correspond to server-side settings for frame size, frame rate, and image quality. These settings are easily customized by on-premise customers. Also, this is a sticky setting in a meeting room and is even inherited via a template.

    Another quick note on live video quality - good lighting is probably the most critical factor when it comes to webcam video quality. In most cases, webcams do not have high-end lenses or sensors required to perform well in low light conditions. With poor lighting, this basically translates to higher pixelation in the video image. For cameras, I've had great experience with the Logitech Orbit AF and the Logitech Quickcam C910 models.
     
  7. Pause your camera
    Sharing your video is great. I encourage everyone that I meet with to turn on their webcam. For virtual classrooms or one-to-many sessions, seeing a live video of the presenter adds tremendously to participant engagement. However, I'd say that most of the time, you'd be OK to pause your camera (mouse over your camera stream and click the pause icon on the bottom-right corner of the image). If you're planning on screen sharing or streaming an on-demand video, I always recommend pausing your video for the duration. Again, this reduces the overall bandwidth/connectivity requirements and should result in a better experience for lower bandwidth users. BONUS: If you're an attendee on a low bandwidth connection, you can choose to pause other people's cameras too (for yourself only, not for everyone else). Especially handy if you're connected to the Internet using a data card or mi-fi and you don't have an unlimited data plan.
     
  8. Encode your videos properly
    Admittedly, video encoding is more art than science, but there are quite a few guiding principles to help you ensure the best experience possible when sharing an on-demand video clip. You can read my tips on encoding video here. In most cases, you should be able to get acceptable quality video for under 500kbps. One common mistake I often see is people encoding their video with a large frame size (e.g. 640x480), but when they play back the video in Connect, the Share pod is way smaller than the actual frame size of the video. In this case, you're basically wasting bandwidth. With the Camera & Voice pod, Connect performs some dynamic downscaling of smaller, tiled video streams to minimize bandwidth consumption, but this is not the case with on-demand video. If you encode a video at 1280x720, 3mbps, you'll use the same bandwidth  regardless of whether you've actually sized the Share pod to 1280x720 or 320x240.
Have any other tips to share? Drop me a comment and let me know!


Thursday, October 20, 2011

Using an HD Video Camera to share live video

Sharing your webcam with Adobe Connect is super simple. You plug in your camera, hit the 'Start my webcam' button, confirm the preview and you're good to go.

However, things aren't necessarily as plug-and-play with some HD cameras. I've had some people report that they've run into issues trying to use an HD camera as a video source. There have been two type of issues reported:


Issue Cause Resolution
Black screen when sharing video Your camera's frame size and frame rate is too high for Adobe Connect (black screen). Use a program like Xsplit, which will let you create a virtual camera based on the HD input and expose it to Connect at a more appropriate quality/frame rate (e.g. 640x480, 20fps). Adobe Connect can then use this virtual camera and display it in the meeting.. You can download Xsplit here: http://www.xsplit.com/download


Part of the video is clipped Your camera is capturing video at 16x9 aspect ratio. Our camera & voice pod only supports 4x3 aspect ratio. Change your camera settings to 4:3 vs 16:9.

Thanks to my colleague Heyward for the Xsplit tip.

Sunday, October 16, 2011

Tips on encoding video for Adobe Connect (plus some presets!)

Note: Adobe Connect supports FLV, F4V and MP4 video formats. Not sure which file format to use? Read this blog entry first. This article primarily applies to Flash Video (FLV).

If you're completely new to video, or Flash Video, a good place to start is this Learning Guide on Adobe Developer Connection, which includes a lot of great information.

If you're only interested in playing back video in Adobe Connect, the learning guide might actually be too comprehensive, so I thought it would be valuable to share some Connect-relevant tips.

There are three main factors that determine the overall size and quality of your video:
  1. Frame size - width & height of your video. 
  2. Bitrate (or data rate) - how many kilobits per second are needed to display video. 
  3. Frame rate (or frames per second).
The trick is to figure out the right combination of these three factors that gives you the best video quality at an acceptable target bandwidth (or datarate/bitrate). Here are some general tips:
  • Use uncompressed video: Remember the old 'garbage in, garbage out' principle. For best results, start with the highest quality video source that you have. Also, if you are actually capturing the video, be sure to check the tips on this page
  • Frame size - In most cases, when sharing a video in an Adobe Connect meeting, the Share pod will likely share the available screen real estate with other pods, so keep that in mind when you're deciding how large (or small) of a video frame you want. Also, remember that Connect will automatically rescale the video up or down to fill your Share pod. Having a larger frame size than the size of the Share pod in your layout will just incur additional bandwidth, without any real quality benefit. 
  • Bitrate: Unless you know that all of your participants will have a robust Internet connection, I wouldn't go much higher than 600kbps for a 360p frame. Because video in Connect is streamed to meeting participants (rather than progressive download), only a small part of the video is being buffered for each participant at any given time. If there is a drop in connectivity and the participant's buffer runs out, the video playback will stop until the buffer fills up again. 
  • Frame rate: In most cases, you're likely going to leave the frame rate as-is. However, if you do need to reduce the frame rate, use a number that divides evenly into the original fps. For example, if your original video is 30fps, then your options would be 15, 10, 6, 5, etc. 
  • 2-pass: If you have a choice between 1-pass and 2-pass encoding, go for 2-pass. It takes longer for the conversion process, but you'll get better results. 
  • CBR: The other common option you will see is a choice between constant bit rate (CBR) and variable bit rate (VBR). Since video playback in Adobe Connect is streaming (vs progressive download), CBR is your best bet. 


There are a lot of options for actually converting your video files (future blog topic?) to Flash Video, but if you're using Adobe Media Encoder, feel free to download and use the attached presets:


Tuesday, October 11, 2011

Room persistence, templates and sticky settings.

#Idonthavefactstobackthisup but I think that persistent meeting rooms and templates are two of the top features that customers really like about Adobe Connect.

In Connect-speak, persistence means that the rooms you create with Adobe Connect are always available to you (the meeting host), AND almost anything you do inside the meeting room is automatically saved and retained for use in future sessions. That includes layouts, content, polling, branding, etc. A persistent meeting room is fantastic for any number of use-cases, from having a personal meeting room that's always available for ad-hoc collaboration to structured events like virtual classrooms sessions and/or webinars.

With templates, you can really start to leverage persistence, because you can create the 'perfect' room for any use-case you've identified (e.g. webinar, virtual classroom, e-detailing, product rollout, virtual baby shower, etc.) and you can then turn your masterpiece into a re-usable template that can be shared with all of your colleagues. Not only can this facilitate overall rollout and adoption of Adobe Connect, templates represent a potentially huge productivity gain. Imagine all the time your trainers can save by not wasting it on 'administrivia' related to scheduling sessions and uploading content.

While there is already some pretty good documentation and resources on the topic of persistence and templates, I thought it would be helpful to compile a list of what items/settings persist across sessions in a meeting room, and which items/settings are inherited from a template. I probably missed a couple of items here and there, but I think the list below is pretty exhaustive. FYI, the items in bold came as a bit of a surprise to me. Enjoy!


Persist across sessions Inherited from template
Room Properties
Custom URL Yes No
Audio conference settings Yes No
Language Yes No
Access Yes No
Participants Yes No
Uploaded Content Yes No
Recordings Yes No
Reports Yes No
 
Room Layouts & Pods
Layouts Yes Yes
Layout bar visibility No No
Custom pod titles Yes Yes
Presenter only area Yes Yes
Prepare mode No No
Move and resize pods toggle Yes Yes
 
Attendee List View No No
Number of breakouts Yes No
Breakout setup Yes No
Distribution of breakout participants No No
 
Chat - text size No No
Chat - text color No No
Chat content Yes Yes
 
Notes pod - content
Notes pod - formatting
 
Content in Share pod Yes Yes
Share History Yes Yes
Video playback Yes Yes
PowerPoint - bookmarking Yes No
PowerPoint - annotations Yes Yes
 
Web Links Yes Yes
 
Polls Yes Yes
Poll titles Yes Yes
Poll states Yes Yes
Poll results Yes No
Poll results format Yes No
Poll broadcast results Yes Yes
 
Breakout Rooms
Number of breakouts Yes No
Breakout setup Yes No
Distribution of breakout participants No No
Preferences
Room background Yes Yes
Host Cursors Yes Yes
Room bandwidth Yes Yes
Display name settings Yes Yes
Audio - Enhanced Audio Yes Yes
Audio - Speex Codec Yes Yes
Video quality setting Yes Yes
Screen share settings Yes Yes
Raise hand settings Yes Yes
Attendees display settings Yes No
Private chat setting Yes Yes
Q&A pod setting Yes Yes
Enable webcam for participants No No
Microphone rights No No
Single speaker mode Yes No
Meeting Access etc.
Block guest access Yes No
Block incoming attendees Yes Yes
Block incoming attendees - message Yes Yes
Place attendees on hold Yes Yes
Place attendees on hold - message Yes Yes
Auto-promote participants to presenters Yes Yes
End meeting - message Yes Yes
End meeting - URL Yes Yes
End meeting - Open URL for everyone checkbox No No

Friday, October 7, 2011

Windows 8 Metro and Adobe Connect - my thoughts.

I keep getting questions from customers around Microsoft's recent announcement that Windows 8 "Metro" will not support any plug-ins, including Adobe Flash. The concern here is that since Adobe Connect  (primarily) leverages the Flash platform to deliver the meeting experience to participants, does this mean that Connect will not run on Windows 8?

Before I provide my thoughts on the topic, I think it's important to get some context around what Microsoft has actually announced with respect to Windows 8. The best source for this information is probably the official Building Windows 8 blog, but here's a quick summary: Microsoft is going to offer Windows 8 users a choice between the new, app-centric, Windows Phone 7-like Metro interface and the traditional desktop experience we're all familiar with. Users will be able to switch between the two modes as needed, so it's not entirely a one-or-the-other type of choice. I think cnet does a better job of describing this:
With touch-screen capabilities and an overall theme borrowed from Windows Phone 7, the Metro UI has been designed with smartphones and tablets in mind but can run on traditional computers as well. However, for people who want better control over their PCs, Microsoft will also offer the more traditional desktop interface as an alternative. By default, Metro will actually hide and not even load the Windows desktop. But people who prefer the more familiar environment can easily flip a switch to display the desktop, which Sinofsky referred to as "just another app" in Windows 8. (read cnet article here).
Bottom line: Windows 8 users will still be able to get the desktop experience (including support for plug-ins) by 'flipping a switch'.

Ok, so hopefully that provides enough context around Windows 8 Metro. Now, I feel like I should point out one other thing - Windows 8 Metro will not support any plugins, including Java, ActiveX, or even Microsoft Silverlight. Keep in mind that all web conferencing platforms (or at least all the ones I'm aware of) utilize some plugin technology, so the whole Metro issue affects everyone, not just Adobe Connect.

So how will Adobe address this problem? I really don't know, but again, regardless of the vendor, there are (almost) two viable options. HTML5 or a Windows 8 Metro app. I say almost, because despite all the HTML5 hype, the reality is that it isn't far enough along to support a full web conferencing experience, especially when you consider that screen sharing is the number one use-case for web conferencing.. so, in the short term at least, we're back to relying on some sort of plugin to solve the screen sharing problem. At the same time, I do think that you could deliver a participant experience using HTML5, so I'm sure that is an approach that many web conferencing vendors will consider.

The other option is, of course, building out an app specifically for Windows 8 Metro. In the Adobe ecosystem, developers will be able to build W8 Metro apps in Flash (delivered via Adobe AIR), which is how Adobe Connect Mobile is currently delivered to iOS, Android and BlackBerry Tablet OS. This means that in the very least, you'd see an experience similar to Adobe Connect Mobile on W8 Metro devices and desktops. Of course, keep in mind that Windows 8 isn't likely to be released until mid-late 2012, so Adobe (and others) have quite a bit of time to crack this nut.

In the end, I can't say that I'm terribly worried about Adobe Connect and its support for Windows 8. The Adobe Connect team includes a lot of smart people who work very hard to ensure that our customers have the best web conferencing and collaboration experience in the industry - and I'm sure that will hold true for everyone using Windows 8, Metro or otherwise. :)

Thursday, October 6, 2011

A look into the future of Adobe Connect?

Ok, so the title might be a tad misleading, but I think you'll find this information fairly relevant anyway.

I got an interesting e-mail in my Inbox today about a new unified communications tool, UniCom, that the Adobe@Adobe team has been working on. Adobe@Adobe is a development team within Adobe IT that's chartered with creating innovative enterprise solutions that showcase Adobe technology. While this team has always done excellent work, I was floored by UniCom, particularly because a tool like this could have a substantial impact on how Adobe Connect is positioned in the enterprise as a collaboration platform. Of course, this is only my opinion, and shouldn't be construed as anything remotely approaching corporate strategy.

Anyway, check out the video below, or the original post on the A&A blog, and let me know what you think! Personally, I'm looking forward to getting my hands on UniCom - if we're allowed to share anything more publicly, I'll be sure to post it here.


By the way, you can learn more about our Adobe@Adobe team here.

Wednesday, October 5, 2011

Sharing a YouTube video in Adobe Connect


"Do I really have to upload my videos directly to the content library? Can't I just share my YouTube videos?"

I used to get that question a lot from customers, and for a long time, my answer was to download the videos from YouTube and upload them to the Share pod in a meeting. Then late last year, as part of our annual training event at Adobe, we decided to run a friendly 'custom pod development' contest, and with a little help from Flex.org, the YouTube chromeless player, and (borrowing) a little code from Alistair Lee's awesome Twitter pod, I came up with an app that lets you search and display YouTube videos within a meeting. For the lack of a better name, I called it ConnectTube (very original, right?). You can find it on the official Adobe Connect extensions page.

A few weeks after ConnectTube was posted on Adobe.com, I received a request from a customer for an 'HD' version of the pod, to allow for 720p video within Connect (the original version of ConnectTube had the video player size hard coded to 480x360). I was really hoping to change the code so that the frame size scales automatically, but unfortunately, I didn't have a ton of time so ended up hard coding the larger frame size. I'll get around to it someday. In any case, here are the two pods - download 'em and try uploading them into your meeting room.

The pods are pretty easy to use (I think), but here's a quick rundown of how it works:
  • Once the pod loads into your meeting, the meeting host can enter keywords to search YouTube. Results are displayed in a datagrid on the right (not visible to participants). The host selects the video and hits the play button. That should play the video for everyone.
  • To play the video for everyone, make sure to use the Play button along the bottom of the pod, rather than clicking on the video to play.
  • If the pod is in 'Unsync' mode, each participant can search YouTube on their own.
A few caveats:
  • ConnectTube does not work in recordings - any searches conducted in a live session do not repeat in a recording
  • Make sure that you STOP the video playback before switching to another document or switching to another layout. Otherwise, you may continue to hear the audio playback from the video. 
  • Participants can control the play/pause of a video by clicking on it (feature of the chromeless player that I couldn't disable).
  • There's also YouTube branding on the bottom-right. Clicking on it will take you to YouTube.
  • YouTube sometimes changes the search results based on your location - so if you really want to be sure that everyone is seeing the same video, search for the video's ID (e.g. in this URL, the video's ID is in red: http://www.youtube.com/watch?v=zfRnnGuhhr0)
  • 720p playback of videos isn't a great experience on older machines. My 6 year old T42p has issues playing back 720p videos, whether I try to watch them directly on YouTube or through ConnectTube.
  • Also, you really have to put the HD pod in fullscreen to see the interface and video.
Ok, I think that covers it. If you run into other issues, let me know. Or if you have ideas on improving the UI or functionality, let me know that too.

Monday, October 3, 2011

Penny for your thoughts?

Have you ever wondered how the Adobe Connect team decides on new features?

Do you have a great idea to improve Connect?

If your answer to either question is 'yes', then you may want to check out the Adobe Connect page on Adobe Labs Ideas.

Sign in with (or register for) your free Adobe ID, and you'll be able to post your own ideas or vote other ideas up or down.

Saturday, October 1, 2011

Batch importing users and telephony profiles


Adobe Connect offers multiple options for account administrators to add users and groups to the system, including adding users manually, importing a CSV list (the subject of this post), programatically through API calls, or setting up LDAP/Active Directory integration.

While the process of importing users via CSV is relatively straightforward, I've seen customers run into a few common issues:
  • Start with a sample file: The format for the CSV is quite specific. Use this sample CSV file as a starting point.
  • Watch your commas: If any of your imported values contain a comma, you will need to add quotes around the entire cell being imported.
  • Watch the 'extra' commas: Even though the help files shows tables with commas in each cell, you likely don't have to do this if you're exporting out of Excel. Double-check by opening the file in a pure text editor.
  • Delete empty cells: If you're working in a program like Microsoft Excel to create your CSV, and you're getting an error message while trying to upload the CSV file, try to open up the CSV file in a pure text editor. This will let you see if there are any additional columns (noted by sequential commas) or empty rows. Either issue will cause the CSV import to fail, so be sure to delete any extra empty columns/rows.
  • Remember your password policy: If you customize your password policy to be more restrictive than the default, make sure the passwords you're trying to import into the system comply with your policy.
Two resources that you will want to check out:

Adding Telephony Profiles

Once you've imported your users, you may also need to add a telephony profile for each of your users. Greg Clausen, a member of the Adobe Connect support team (and all around nice guy), created a super handy utility for doing this. Greg's article on Connectusers.com covers this topic. The great thing about the utility is that it lets you handle both advanced audio integration profiles as well as Universal Voice profiles.

One quick note on the above: Greg's utility does not allow for custom fields to be added, so I typically use the option in Connect Central to upload users (with custom fields), and then add telephony profiles and even create meeting rooms for users.

Hope the above helps. Drop me a comment if you have any questions on the topic.

FLV, F4V or MP4

Connect 8 Service Pack 1 added support for playback of H.264-encoded video content (MP4 and F4V). Of course, Connect has supported the FLV video format since its inception (On2VP6 and Sorenson Squeeze codecs). So which video format should you choose? Here are two key considerations:
  • If you're targeting mobile/tablet participants, your only choice (for the moment) is FLV. Adobe Connect Mobile does not support MP4/F4V on any platform (iOS, Android or BlackBerry Tablet OS). 
  • If you want to maximize video quality versus bitrate (or datarate), then using the H.264 codec is a better bet over On2VP6 and Sorenson.
In either case, keep in mind that the higher quality the video, the higher the bitrate, which means that your participants will require a comparatively more robust Internet connection to experience smooth playback of video.