Firefox's Connection Settings dialog [screenshot] dates at least as far back as April 1, 1996 (NCSA Mosaic v2.1.1). Here are some screenshots of that original GUI:
To give you an idea of how old this GUI interface is, consider that, in 1996:
The old FoxyProxy proxy settings screen [screenshot] was based on and nearly identical to Firefox's Connection Settings dialog, which in turn was nearly identical to Mosaic 2.1.1's Proxy Settings. The problem with all of these screens is their limited ability to route traffic by protocol or URI scheme. 21st century browsers like Firefox handle many more protocols than HTTP, SSL, FTP, GOPHER, and SOCKS. For example, news:// and the feed:// scheme can be handled and displayed by Firefox natively (with some Firefox addons)--without launching an external application as is often done with mailto://. Moreover, Firefox is extensible so it can support any number of custom schemes and protocols. Clearly, these old screens would be unwieldy if they attempted to include every possible protocol.
As of version 2.5, FoxyProxy has a revamped Proxy Settings GUI built for the 21st century [screenshot]. The primary change to the screen is the elimination of proxy selection by protocol--HTTP, SSL, FTP, GOPHER, SOCKS. Since FoxyProxy already enables easy routing of traffic based on wildcard and regular expression patterns, it's a simple matter to route traffic by protocol/URI scheme using these patterns.
the whitelist wildcard pattern ftp://*.google.com/* matches any FTP communications to google.com and can be used to route the FTP traffic through a specific proxy. All FoxyProxy needs to know about your proxies is their host names, ports, and whether or not they are SOCKS proxies.