Some information that might be of use to someone, at discount prices.

June 4, 2005

Netflix Queue Manager for Greasemonkey

Category: Movies,Netflix,Software — badsegue @ 1:50 am

background

Greasemonkey is a Firefox extension that runs javascript code on the current browser page. It is used to change the behavior of a web page usually by adding functionality, or altering the appearance. It is quite analogous to the bookmarklet model. The difference is that a Greasemonky script can be invoked automatically whenever a certain page is visited, while a bookmarklet must be invoked by the user.

With Greasemonky any site-specific bookmarklet can be adapted to run automatically when that site is visited. Here we provide an adapted version of the Netflix Queue Manager.

It is not necessary to have Greasemonkey to run the Netflix Queue Manager. Using the Greasemonkey version won’t save you any time–either way it is one click away. The only advantage is being able to remove a bookmark from your toolbar or favorites list.

installation

If you have Greasemonky installed just use this link:

Netflix Queue Manager for Greasemonkey

Right-click and select “Install User Script” or click the link to view the file then select “Tools->Install User Script”.

implementation

This is relatively simple. Minimally the bookmarklet link just needs to be encapsulated into a file so that Greasemonky can install it. This works, but the Manager will be invoked automatically on the Queue page. This is undesirable because it will always appear after the page is updated.

To defer the Manager launch, the new script adds an highly visible link near the top of the page. The link appears whenever you visit your Netflix queue. Just click the link to start the Manager.

The original script in netflix-manager.js is unchanged. The original bookmarklet code is just wrapped in a function that is called when the new link is clicked.

(function(){

  window.launch_manager = function() {
	  var script=document.createElement('script');
	  script.src='http://badsegue.org/samples/toolman.js';
	  document.getElementsByTagName('body')[0].appendChild(script);
		
	  var script=document.createElement('script');
	  script.src='http://badsegue.org/samples/netflix-manager.js';
	  document.getElementsByTagName('body')[0].appendChild(script);
  }

  var h = document.getElementById("header");
  var d = document.createElement("div");  
  d.style.border = "2px dashed cyan";
  d.style.backgroundColor = "orange";
  d.innerHTML = "<a href='javascript:launch_manager()'>Launch Netflix Queue Manager</a>";
  h.appendChild(d);
}
)()
• • •

May 26, 2005

Netflix Queue Manager Bookmarklet

Category: Netflix,Software — badsegue @ 9:32 am

background

Managing your Netflix queue can become unwieldy once you add more than a few dozen items. We previously provided bookmarklets to shuffle and reverse the queue, which is more of a novelty than a useful feature for most. There are a few desktop clients that are available now that provide an alternate interface with most of the functionality of the web interface, as well as some enhancements not available on the web side. I’m primarily concerned with improving the queue management features, which is the most tedious aspect of the web interface. Some of the features that are needed:

  • Move to top – this is provided but requires a full page refresh. Not effective for large queues.
  • Move to bottom – not provided at all.
  • Drag and drop – there is a limited capability to do this when a movie is added, but only within the top 10 items.
  • Sort – by star rating.
  • Shuffle, Reverse – for people who like suprises.

approach

Instead of creating a separate application, I’ve taken the approach of augmenting the standard web interface with a bookmarklet. A bookmarklet is a just some javascript that can be “bookmarked”. Clicking on the bookmark allows the javascript to run in the context of the current page, to do something useful to the page.
The shuffle and reverse functions had already been addressed, but need to be adapted to the new tool. The drag and drop, top, and bottom functions are more complicated and require the ability to target specific items on the page. I searched around and found a few DHTML libraries that can be used to provide the drag and drop capability. There are some very nice packages out there, such as the ones from walterzorn.com and tool-man.org. I found the one from walterzorn.com to have more features, but due to the way it is invoked is unsuitable for use in bookmarklet applications that occur after the page is loaded. The ToolMan library doesn’t have that issue, and provides all the features I needed so it is the choice here.

installation

The script needs to be installed first. This is simple, just drag or right-click the link below to add it to your toolbar or favorites. Then it becomes a bookmarklet.

Netflix Queue Manager

The link is just this code:

javascript:
(function(){
  var script=document.createElement('script');
  script.src='http://badsegue.org/samples/toolman.js';
  document.getElementsByTagName('body')[0].appendChild(script);

  var script=document.createElement('script');
  script.src='http://badsegue.org/samples/netflix-manager.js';
  document.getElementsByTagName('body')[0].appendChild(script);
}
)()

When activated the bookmarklet will load the ToolMan library and the Netflix Manager scripts and act on the currently displayed page.

usage

Visit your Netflix queue page. Just click the Netflix Queue Manager bookmark that you just installed. The Manager will be overlayed onto the Netflix page.

Netflix Queue Manager

From here you can drag and drop any row, and use the menu buttons at the top and bottom of the overlay. When you are finished use the CLOSE button to close the Manager. The position numbers on the Netflix page will be updated to reflect the positions selected in the Manager. Just use the Update Your Queue button to commit the changes.

Netflix Queue Update

conclusion

This tool should provide just about all the features you need to manage the queue. Some final notes:

  • There is no delete button, but that can be done easily enough from the standard page.
  • Sorting puts any personally rated movies at the top, followed by reccomendation ratings, followed by series discs. The series discs only have ratings on the first in the series so it’s difficult to place those discs in the proper context.
  • You may encounter a script error when activating the Manager. Try the bookmark again. There may be timing issues when fetching and loading the two scripts. After the first load the browser should have cached the files. I only encountered this problem once, when using IE.
  • There may be some untested conditions. I had to tweak the script after encountering various queue conditions, like Friend icons, series discs, top 100 icons, etc. You may have some combination of things in your queue that I couldn’t test.
• • •

April 27, 2005

Movie Review Finder Bookmarklet

Category: Movies,Netflix,Software — badsegue @ 8:59 am

background

If you’re a movie fan you probably belong to Netflix or some other online movie rental outfit, or browse Amazon.com for movies to buy. These sites typically have their own reviews, usually from other members. This bookmarklet provides a quick way to find relevant reviews from other online sources.

implementation

This bookmarklet uses the ‘script injection’ technique to load a javascript file into the current browser page. When the script file is loaded it gets the selected text on the page and creates an IFRAME inside a DIV block. By creating these elements on the current page, rather than in a new window, we can circumvent some of the annoying security related browser limitations. The scripts available from slayeroffice.com were very helpful in demonstrating this technique, as well as how to inject a style sheet.

Here is the bookmarklet: Movie Review Finder. Simply drag it to your toolbar or right-click to add to your favorites. Then select some text (a movie title) on a page and click the bookmark. It will prompt you with the selected text. This gives you an opportunity to edit, in case something was missed.

javascript:
(function(){
  var script=document.createElement('script');
  script.src='http://badsegue.org/samples/reviewfinder.js';
  document.getElementsByTagName('head')[0].appendChild(script);
}
)()

You can try it out on this page without adding it to your favorites. Just select this text:
O Brother Where Art Thou?
Then click the bookmarklet link.

You will see a pop-up with the selected text. Here you can edit the text, in case the selection was a little off:

When you click OK you will get an overlay on the current page:

You can get reviews from Google, IMDB, and Rotten Tomatoes. Google comes up by default. Click on the buttons to switch to a different site. Click Close to get rid of the review box.

• • •

April 21, 2005

Improved MSN and Google GPS GPX Waypoint Extraction

Category: GPS,Software — badsegue @ 9:35 am

background


Previously we showed how to pull GPS waypoints from MSN Yellow Pages and Google Maps results using bookmarklets. One solution was Firefox-only, and the other was more reliable in IE. Here we present a solution that is a little more elegant and should work in either browser.

For those using Google Maps, they have now added UK maps. The scripts had to be updated to accomodate the -d.dddddd longitudes.

approach

To support IE the bookmarklets must be implemented using the ‘script injection’ technique. This involves rewriting the head of the HTML page to add a reference to an external script. Firefox has additional security restrictions that prevent injected scripts from doing certain actions, like opening new windows. This version avoids this restriction by writing the GPX file to a DIV block in the current page.

implementation

The new bookmarklets simply contain the code necessary to inject the external script into the page. Just right-click or drag them to add to your favorites/bookmarks. To use them visit the appropriate page and select the bookmark.

Here is the new MSN GPX RIP bookmarklet, and the code:

javascript:
(function(){
var script=document.createElement('script');
script.src='http://badsegue.org/samples/msngpxripdiv.js';
document.getElementsByTagName('head')[0].appendChild(script);
}
)()

Here is the new Google GPX RIP bookmarklet, and the code:

javascript:
(function(){
var script=document.createElement('script');
script.src='http://badsegue.org/samples/googgpxripdiv.js';
document.getElementsByTagName('head')[0].appendChild(script);
}
)()
• • •
« Previous PageNext Page »