More on rich web UIs

Some links and the search for a backwards compatible XmlHttpRequest…

John Wilger has some interesting thoughts in A Better Web Application Interface and A Better Web Application Interface.

Kevin takes a step back from the detail and summarizes the PHP / Javascript thing that’s been going on here in Exploring client-side interface options and Crossing the Great Divide.

Stephan talks about a web app he built for fun which uses DOM manipulation. You can see the result here.

Amazon’s search engine A9 is open – more client side tricks.

Started working on an adapter for XmlHttpRequest here, that uses document manipulation hacks, the mission being to provide at least something for browsers without an XmlHttpRequest implementation. The basic idea is to have two hidden iframes. The first gets a generated form inserted into it (representing the request) and the submit target being the second iframe, from which the result is collected. The server response is collected by “polling” the second frame a change in string length (avoiding having the remote server generate Javascript to trigger a client callback function). Unfortunately it’s deeply broken right now, I’m not master of Javascript compatibility tricks and time is too short. Could be it needs different versions for different browsers – if there’s anyone insane enough to try…

Free book: Jump Start HTML5 Basics

Grab a free copy of one our latest ebooks! Packed with hints and tips on HTML5's most powerful new features.

  • texdc

    Eh, different versions for different browsers? Sounds like 1995 all over again. I’m no Javascript guru either, but I do know that writing convoluted code just to support the multiplicity of browsers is not necessary and not good practice.

  • john

    Maybe you should get onto Mihai Bazon (http://www.dynarch.com/mishoo). He was doing some js iframe rpc stuff (http://www.dynarch.com/mishoo/rpc.epl) and he REALLY seems to know his js. Couldnt hurt to email him and see if he’d be willing to help.

  • kyberfabrikken

    i suppose you know, but you may find inspiration here :
    http://timmorgan.info/experiments/domrs

  • http://www.php-tools.de schst

    The GalCiv GameManger has been done by Sebastian, not by me.
    I get a lot of credits for work that I have’t done :)

    Stephan

  • Louis-Philippe Huberdeau

    I had worked on something like that around a year ago. Sadly, it’s very hard to reach compatibility on browsers that do not support XMLHttpRequest (IE < 5, Mozilla < 1).

    The best solution is probably to make sure that the parts of your applications that use the ‘high-tech’ functionalities won’t break it and that the data will still be reachable, even if it takes more time or it’s not as easy. It has to be done anyway because you won’t ever be able to reach clients who disable JavaScript and those using browsers that don’t even support it. Yes, I still know a few people still using lynx/links frequently.

    I guess the only way you can really have an application that requires XMLHttpRequest is if the environment is controlled or if the amount of users is restrained.

    Of course, you can simply ignore the 1% of the users that have something not supporting XMLHttpRequest.

  • Derek Martin

    Check out JavaScript Remote Scripting (JSRS), which even appears to have a bit of a community, AND a simple API. I’ve used it a couple of times and it works a treat!

  • http://sproutworks.com sproutworks

    I added a message ‘peek’ option to my message board. You just put the mouse over the peek link and it loads that message without having to redraw the whole page. I will probably change the peek link into something like the triangle MacOS uses to show an expanded folder, and make it work by clicking instead of using a mouseOver. Then I will make it able to open and close a message, and when re-opening a message, it will be smart enough to not request the message again.

    And my link: (the message peek doesn’t work in Opera)
    SproutWorks Development Journal

    It would be interesting to see a tree structure that makes live requests to the server, that could hold any tree-like data (such as threaded forums). Maybe that will be my next project.

    Brandon

  • http://www.primacognos.com bigduke

    Brandon, I’m looking for something like that for my “web explorer” project.
    Derek, that JSRS seems cool but then again it has browser issues too, it doesnt work on Opera 7.53.
    I believe its time the various browser manufacturers started agreeing on some standards, its such a pain in the …. trying to get the app UI to work across all browsers.
    I had a message at the bottom of the page (when i was a n00bie) “This site viewed best under Internet Explorer 5.5 with 800×600 resolution”, well this seems very un-professional now, but with the way things are I’ll have to start doing this again.
    Making sure that the app works on all browsers using rpc’s or other hacks really is too much for a one-man-army. :(