As bulliver pointed out, the only information you need to access a public
hot-spot are: the name of the network (ESSID) and the frequency/channel. They use no encryption (otherwise you would not be able to access it).
A GUI doing the scan, showing the values, and configure the card accordingly, if you click on the appropriate entry, should not be too difficult to write.
If you frequently switch between the same networks, you can use schemes
to switch between these profiles.
I found this example in a german how-to
(extract from /etc/pcmcia/wireless.opts)
case "$ADDRESS" in
INFO="Wireless LAN @ Work Setup"
INFO="Wireless LAN @ Home Setup"
INFO="Generic Wireless LAN without Encryption"
You can switch between profiles using e.g.
cardctl scheme work
As you can see, you can provide WEP keys as well.
The next thing I have to find out is how to integrate an external program (wpa_supplicant) here, as my set-up uses WPA encryption.