Nanci asks: "Why is it that Safari supports some programs and Firefox does not? "
Ryan answers :
"Websites are made up of a bunch of complicated code (language) that communicates how the website looks and functions. There are a variety of languages websites are programmed with. Each language is defined by the organization that invented it.
Web browsers read and interpret these languages in order to display the website for you. In the beginning of the web it was pretty straight-forward. There was only one language, it was pretty simple, and it was easy for browsers to interpret it. As the web has grown, websites have gotten more and more complex, using more and different languages. When people like Google or Microsoft build a web browser, they have to implement not just the definition of the languages but how they all interact. Apparently, this is tricky, because different browsers are known to interpret code differently and perform better.
I suppose it's kind of like running a conversation in Chinese through three different interpreters. Their transcripts wouldn't all be the same.
Because everything has to continue to get better (for some reason), the languages websites are written with get upgrades. And, of course the browsers get upgraded (Firefox version 4 just came out). So there's a continually changing landscape of languages being interpreted differently.
For the most part, good web developers build websites using standard known-good practices that work cross-browser. Some web developers, especially those on the bleeding edge, may not be able to make their particular website's behavior work with all browsers. It's a ridiculously complicated scenario that seems to be getting better over time (eg: more complex websites working in more browsers). I imagine it'll settle out one day, but for now seems that being able to wield multiple browsers is a handy web skill."