Red Swoosh Nano Download Manager (NanoDLM)

Overview

The Nano Download Manager (NanoDLM) is a minimal download manager designed to provide basic Red Swoosh client functionality and user feedback in the least intrusive way possible.

Users who do not have the Red Swoosh client installed are instructed to install it while users who have completed download of a file are given the option to delete their local copy. The NanoDLM is ideal for website owners/developers looking for a compact download manager to enhance the user experience with "Swooshed" file delivery.

Incorporating the NanoDLM into your Website transforms it into a content-rich P2P interface: users are able to start/pause/open downloads without interrupting established browsing patterns.

See it in action

Hover over the "Swooshed" links below.

Have the NanoDLM deployed on your Website and want to be listed here? Let us know.

Requirements and Compatibility

The NanoDLM is written in JavaScript and is supported by most major browsers.* Please report compatibility issues or bliss with browsers not currently listed.

Browser Version OS Compatible? Notes
Internet Explorer 6+ WinXP, Win2K Yes
Firefox 1.5+ WinXP, Win2K Yes
Opera 8.5+ WinXP, Win2K Yes

*The Red Swoosh client is currently available only on Windows systems.

How to incorporate the NanoDLM in your site

Here is a quick and dirty guide to setting up the NanoDLM on your website. Once you have an idea of the basics, see customizing the NanoDLM and NanoDLM JavaScript API.

1. Include the following scripts and CSS in your Web pages.

<!-- stylesheet, can be customized; see customization section -->
<link rel="stylesheet" type="text/css" href="http://www.redswoosh.net/sdk/usr/nanodlm/css/rsnano.css" media="screen" />   

<!-- core Red Swoosh JavaScript API, required to access client -->
<script type="text/javascript" src="http://www.redswoosh.net/sdk/inc/jsapi.js"></script>

<!-- Javascript code for the NanoDLM -->
<script type="text/javascript" 
 src="http://www.redswoosh.net/sdk/usr/nanodlm/scripts/rsnano.js"></script>

2. Create a NanoDLM object in your HTML document. In order to create a NanoDLM on your page, you need to specify a URL, URL description, and an element in the page that will contain or serve as a DOM "attachment point" for the NanoDLM, usually a <div>. All NanoDLMs are created by a Factory.

You can use a custom or existing anchor link to provide the necessary information to the NanoDLM. The "href" attribute will be used to supply the URL. Text within the anchor tag will be used to supply the URL description, with HTML tags automagically stripped. The code below uses an anchor link to provide a URL and URL description for the NanoDLM.

<!--  
an anchor element can be used to pass information to the 
Red Swoosh NanoDLM:  could be a link just for the component
or a link that already exists, here we have a link that is used
just to pass in information, hence style setting of "display:none" 
-->
<!-- a redacted automatically -->
	
<!-- create a place for the NanoDLM to attach itself -->
<div id="rsn1"></div> 

<!--  get instance of NanoDLM and initialize -->
<script type="text/javascript">
// <[CDATA[

// get instance using existing anchor link
var rsn1 = RSNanoFactory.getInstanceById( "mylink1", "rsn1" );

// initialize the NanoDLMs
rsn1.initialize();		
// ]]>		
</script>

Alternately, you can directly populate the NanoDLM object with a URL and description in JavaScript.

<!-- create a place for the NanoDLM to attach itself -->
<div id="myNanoDLMDivId"></div>

<!--  get instance of NanoDLM and initialize -->
<script type="text/javascript">
// <[CDATA[
// get instance directly using URL and description
var myNanoDLM= RSNanoFactory.getInstanceByURL(          
                   "http://test.redswoosh.net/video/test.wmv",
                   "Swooshed WMV Link",
                   "myNanoDLMDivId" );

// initialize the NanoDLMs
myNanoDLM.initialize();
// ]]>		
</script>

For example, the code below will create two NanoDLMs at two different places in the page. The first one will be positioned in the <div> element named "rsn1" and the second one will be positioned in the <div> named "myOtherRsn.".

Notice that each NanoDLMs is constructed differently. One uses an existing link as the source for an URL and URL description. The other is directly configured in JavaScript.

<!--  begin Red Swoosh NanoDLM code example -->

<!--
an anchor element can be used to pass information to the 
Red Swoosh NanoDLM:  could be a link just for the component
or a link that already exists, here we have a link that is used
just to pass in information; HTML tags are automagically stripped -->
<a id="mylink-1" href="http://test.redswoosh.net/video/test.wmv">
    <b>First</b> Swooshed WMV Link
</a>
	
<!--  
the nodes where the Red Swoosh NanoDLMs will attach
themselves:  allows for placement flexibility
-->
<div id="rsn1"></div>  

<!-- other page content here... -->


<div id="myOtherRsn"></div>

<!--  get instance of NanoDLM and initialize -->
<script type="text/javascript">
// <[CDATA[
// get instance using existing anchor link
var rsn1 = RSNanoFactory.getInstanceById( "rsn-a", "rsn1" );

// get instance directly using URL and description
var rsn2 = RSNanoFactory.getInstanceByURL(          
               "http://test.redswoosh.net/video/test.wmv",
               "Second Swooshed WMV Link",
               "myOtherRsn" );

// initialize the NanoDLMs
rsn1.initialize();
rsn2.initialize();
		
// ]]>		
</script>

<!--  end Red Swoosh NanoDLM code example -->


Customizing the NanoDLM

The NanoDLM can be styled/themed with CSS. Put a background image on the progress bar, create new button graphics and/or match it to your Website color scheme.
Right-click, save, and study the NanoDLM CSS template  for the gory details.


JavaScript API Summary

ClassDescription
RSNanoThe NanoDLM object. Sitting on top of Red Swoosh's JavaScriptAPI, it handles communication with the Red Swoosh client and updates status on Web page accordingly.
RSNanoFactoryA factory class for all RSNano objects. All RSNano objects must be constructed via the factory.

MethodParamsDescription
RSNanoFactory.getInstanceById(anchorDivId, docId)Get an instance of RSNano by passing in the ID of an existing anchor link and the id of an element that will contain the NanoDLM.
RSNanoFactory.getInstanceByURL(url, urlDescription, docId)Get an instance of RSNano by specifying the URL, URL description, and the id of an element that will contain the NanoDLM.
RSNano.initialize()Starts up the NanoDLM. Queries Red Swoosh client for the status of the given URL.

Upcoming Features and/or Potential Opportunities for User Contribution

  1. Configure progress bar on/off.
  2. Configure button on/off.
  3. More download details.
  4. Auto-initialize on mouseover.
  5. No need to attach Nano DLM, just have the appropriate DLM appear at mouseover location.
  6. Tapering feature set based on browser detection.

Known Issues

None... but please report any issues to support@redswoosh.net!

This page has been viewed times.








Page Information

  • 2 years ago [history]
  • View page source
  • You're not logged in
  • Spam-like content was removed from this page.
  • No tags yet learn more

Wiki Information


Update to PBwiki 2.0

An entirely new PBwiki experience, including folders and easier editing.

Convert Now for Free | Learn more