December 15th 2008 | Jens C Brynildsen
Ever since Macromedia started developing Central back in 2003, there's been a "hook" in the Flash Player to install software. This feature is used by AIR, Acrobat Connect as well as other Adobe products. Recently it's also been used to install a third party software called Octoshape and this had us a little puzzled, so we though we'd look closer at Octoshape and their deal with Adobe.
The Flash Player has several features that are little known to the average user such as the Shared Objects. However, even seasoned Flash/Flex developers may not know about the Octoshape extension that allows for Peer to Peer distribution of Live Flash video streams. This software is installed using the Flash Player's Express Install feature and this article explain how this works.
Back in September 2003, Flash Player 7 was released and Macromedia introduced a product called Macromedia Central. This was the precursor to Adobe AIR and was the first attempt on a Desktop/Flash integration. Central was put on ice, but something remained - a little "hook" that could cause the Flash Player to prompt the user to install software that Macromedia (and now Adobe) wanted to push to the user. This feature is called Flash Player Express Install.
This is how the process looked to the end user back in the time of Macromedia Central. The user arrived at a webpage that had a special "badge" - a SWF that triggered the Central installer:
After this, the usual install would begin, just as if you downloaded the software from a server. The really clever part of this is that since the download was requested by the Flash Player and the Player was already running with reasonable privileges, installing software was really easy. You'd get through firewalls and other basic security solutions.
This installation of software can be turned off by IT departments that run a tight ship and handle all updates on their users computers. The average server admin however won't know about this and he/she probably won't care since it saves them work. The primarily reason is that this feature is used for auto-updating the Flash Player, something added in Flash Player 7.
The next use Macromedia found for this feature was installing the Breeze plugin (now called Adobe Acrobat Connect) This was required to add screen capture (and other) support to the flash Player that was required for the screen sharing solution in Breeze. Later, the Digital Editions plugin followed, adding DRM features to protect books bought online. Adobe Media Player (AMP) also use the install "hook" and if remember this correctly, AMP is built on a modified version of AIR that also provides some extra DRM features.
As with Central, this is also used for installing AIR and AIR applications. The AIR install experience is just as seamless as the Central install experience and it is one of the reasons we know AIR is going to succeed. In other words, this is not plugins as they exist in the browser, but it's something close.
The most recent Flash Player extension in is however not from Adobe. It's from a company called Octoshape and it's an "add-in" or plugin to the Flash Player and it is distributed via the Express Install mechanism. If you go to sites such as this page on CNN (note:streams are not always active) you'll get a request from the Flash Player to download the "Octoshape Grid Delivery enhancement". A lot of community members have asked what Octoplayer is and here's the breakdown.
Octoshape is developed maintained by a Danish company, located in Copenhagen. The software allows anyone viewing a video stream re-distribute it as well, as part of a Peer to Peer (P2P) network. Everyone that views the stream also offers the stream to other viewers and this offloads the central streaming server allowing for more users as well as huge savings in bandwidth costs. This is not a opt-in solution. If you have the plugin, you are part of the "grid" that broadcasts the stream. The Octoshape add-in for Flash Player will terminate itself about 5 seconds after the flash player has been closed/stopped, so it won't be a node other than when you use it.
It was initially a Java based solution and later a Windows client was developed. The latest addition is now distributed via the Flash Players Express Install mechanism and since so many trust Adobe and the Flash Player, few will think much about installing it. Why should they want think about this? Well, if you live in a country such as Australia where the former monopolist Telstra pretty much maintains a stranglehold on all bandwidth, anyone connecting to your stream will spend your precious megabytes.
We asked Adobe for a comment about the Octoshape plugin and we got this response from Laurel Reitman, Sr. Product Manager, Flash Media Server Services.
"As the market leader in web video, Adobe is always exploring ways to enable our customers to deliver the best user experiences possible, and one of the experiences that is important to our customers is live video events. As part of the effort to improve the experience of live events, we have started a technology trial to test grid delivery technology. The goal for this video trial is to test out the new technology with a few select sites and events to see how it performs and measure its effect on video delivery efficiency and the end-user video experience. We decided to deliver the Octoshape technology as an add-in during the pilot to ensure that there are large enough samples to gather relevant data, and that users receive the best user experience possible in accessing the grid delivery enhanced video. The Octoshape Add-In communicates with Flash Player using standard APIs".
Ok, so this is just a "trial" from Adobe's side. We were curious if this was an option Adobe offered to other companies that wanted to distribute their software? Laurel replies "Flash Player Express Install functionality is not a general purpose installation mechanism. It is used to distribute Adobe software, such as the developer-initiated player update, Acrobat Connect, and the AIR badge installer, and for security reasons all packages must be digitally signed and delivered from Adobe servers. The Octoshape add-in is delivered during the trial as part of a strategic partnership to test the technology as a way to enhance the live video experience. We have no plans for any further distribution of third party software through the Flash Player."
During this trial, the only thing Adobe does in provide the distribution, "Octoshape owns the development and maintenance of the Octoshape Add-In. Adobe is delivering the add-in through Express Install functionality during the technology trial."
In other words - don't expect this message to pop up to install annoying software such as the Yahoo Toolbar. This is only a temporary trial to test out a technology that Adobe is interested in knowing more about.
The plugin has a lot of good things going for it. Live streaming is much more expensive than progressive streaming (such as Youtube.com). Octoshape spreads the load among all the viewers and their clients, so more people can view a live stream on the same servers. In theory, this should also prevent interruptions to the video stream. Public Service broadcasters are already experimenting with it to make live broadcasts available for free, recently for the Eurovision Song Contest. Since most machines have more than enough bandwidth and processing power, this is a win-win for all participants.
We initially intended to write a bit about how the Octoshape plugin does it's work, but the Terms in the license agreement forbids us to "collect information about communication in the network of computers that are operating the Software or about the other users of the Software by monitoring, interdicting or intercepting any process of the Software". We can however tell a little about what happens before this agreement is displayed.
When the install is initiated, the Flash Player first contacts http://www.macromedia.com:433 and then https://fpdownload.macromedia.com:443. From there on, the process is passed on to an anonymous server with the IP http://22.214.171.124/ that jokingly claims that "This URL does not exist". The server is owned by http://www.voxel.net a CDN provider. Multiple calls are made to the Voxel server on ports 80, 443 and 8247 and then the stream starts. To explain more than this would violate the agreement, but as you can see - macromedia.com will be around for many years to come.
There are a couple negative things about the plugin as well.
According to the License Agreement you have to accept, the Octoshape software will auto-update itself. This is probably cool, but how do you remove it? On a PC, you can simply uninstall it using the control panel's add/remove programs feature. On a Mac, the average user won't be able to locate the software, so it is impossible to uninstall it. This is a serious problem and should be solved right away by Octoshape or it could backfire. Simply putting the uninstall instructions in the FAQ would be an improvement. According to Octoshape's support department, "You unfortunately have to do it manually at the moment, by deleting the folder called 'octoshape' which can be located in '<hard drive>\Users\<user>\Library\Preferences\Macromedia\Flash Player \www.macromedia.com\bin\"
The license agreement also clearly states that "the Software may also be used to deliver parts of the video and audio stream to other end users of the Software". As mentioned earlier - some countries and/or Internet Service Providers's impose a monthly bandwidth cap. By installing the Octoshape plugin, you're effectively giving them the right to spend your bandwidth. This is not stated explicitly in the Octoshape FAQ or on any participating sites - only in the terms that most people dismiss quickly.
All in all this probably a brilliant deal for a small Danish company. They get to get their software onto millions of machines, Adobe gets some stats, you get better quality video, so this is probably a good deal for us all. We still think it's a little scary that Adobe is redistributing other peoples software through the Express Install, but we trust Adobe with so many things that we'll probably trust them when they say that this is nothing but a temporary experiment.