whoops, my bad... I did mean to write Javascript.
However I am Java developer working at a Java IT solutions shop (which is possibly how I made this error - other work on the mind).
But it is worth pointing out that an API for this could be constructed in Java.. which would make it more compatible with Opera. However, our target is IE.. I just make everything Mozilla compatible because I prefer the Venkman debugger to the windows script debugger (which often can't even work out what file you've loaded).
Thanks for pointing out my error
And you are pretty accurate in the use of IFRAME elements. Where content is required to be displayed IFRAME offer a pretty good alternative to many 'AJAX' solutions. Especially in IE, where ActiveX components, Select boxes and IFRAME elements share the same tier of the UI - this means pushing content into lesser DOM elements can create ugly results.
But an IFRAME objects tend to be rather heavy on the client machine. And this one place where the ability to connect to the server and get data can be really usefull... Consider the google suggest tool - it would be really simple to create an IFRAME, submit a query loading the results into the IFRAME and parse the contents of the IFRAME for your data... but say you only want to return the best 5 results based on the text the user has entered.. and you want to update the results each time the user adds a new character (or removes it).. then it would be simpler to just get the request and populate your result set.... and using XSL transform, you could simplify the info that you get sent from the server (recieving XML) and transform it to whatever you wanted. The beauty of doing it this way is that you are using native functions to parse your data (which is likely to be 10x faster than your own javascript functions).
But using IFRAME based solutions have many benefits, firstly - It is likely to be useable in more browsers. Secondly, you can not access data from another URL using Javascript HTTP Request objects... which seems silly to me, since anyone who knows anything about Javascript could just use the very methods you have explained and the user would be none the wiser... but as it is, this causes a security exception in Mozilla... so if you want to access data from other websites, then you have no choice.
Now using AJAX similar technologies is going to make the solution more complicated. But these technologies lift the web application game dramatically.... web applications can be as responsive as PC applications... its just a matter of being intelligent about what data you need to communicate with the user.