Fastlane Greasemonkey scripts

[article index] [] [@mattmight] [rss]

The National Science Foundation's Fastlane web system is by far the most usable government-run portal for submitting grant proposals.*

Fastlane also uses best practices in web design and usability from 1993.

Fortunately, Greasemonkey scripts can round off its rough edges.

Below you'll find scripts for smoothly, correctly and automatically logging into the awards and the panelist subsystems for Fastlane.

(The panelist script forcibly checks the "please don't nuke my text" box.)

If you want another script developed for Fastlane, let me know.

If you also use Greasemonkey scripts for Fastlane, send them my way.

I'll collect them here.

(If you want to start developing your own Greasemonkey scripts, check out Greasemonkey Hacks for good, useful examples and a reference.)

* Compared with submitting a DARPA or proposal.


Greasemonkey is a free, popular Firefox add-on that allows you to specify additional JavaScript code to run after a page loads.

With Greasemonkey, you can arbitrarily modify and enhance the functionality of a web site.

Many Greasemonkey scripts work directly with Google's Chrome browser without an extension, including the ones below.

Proposals and awards login

The login system needs three things: Last Name, NSF ID and Password.

For some reason, password managers just can't handle this.

I use a Greasemonkey script to enter all three automatically:

// ==UserScript==
// @name          NSF Fastlane Login
// @namespace     nsf
// @description   Automatically puts password info in for fastlane
// @include
// ==/UserScript==

document.getElementById("ln1").value = "YOUR LAST NAME" ;

document.getElementById("ssn1").value = "YOUR NSF ID" ;

document.getElementById("pw1").value = "YOUR NSF PASSWORD" ;

Panel login

When writing panel summaries, it is critical to click the "Screen Reader" box at login.

If you don't click it, then your text will be wiped out when someone else updates their summary.

The following script checks this box automatically and correctly enters your login credentials:

// ==UserScript==
// @name           NSF Panel Login
// @namespace
// @description    Fills out NSF panel password; checks box
// @include
// ==/UserScript==

document.getElementById("Reader In Use").checked = true ;

document.getElementById("LastName").value = "YOUR LAST NAME" ;

document.getElementById("PanelID").value = "YOUR PANEL ID" ;

document.getElementById("pwd").value = "YOUR PASSWORD" ;


If you have the Greasemonkey add-on installed, clicking on the links below should install them.

Once installed, edit the script to insert your information.

More resources