Online Ajax Pages The New Web Desktop?
SphereOfInfluence writes "With our existing models for operating environments aging badly, how do we manage our information and software as we get increasingly mobile and short on attention? In a ZDNet piece, Dion Hinchcliffe discusses the rise of the new dynamic, online, roaming Ajax desktops like Netvibes, Live.com, Protopage, and Pageflakes. Will concerns about privacy and reliability kill these or is this the wave of the future?"
Netvibes, Protopage, Pageflakes, Live.com, and a bonus Google Personalized
Ah hypertext links. What wonders have Tim Burners Lee wrought. And look, I'm anonymous so no karma whoring.
I don't want "REALLY COOL" "dude". I'm not 12. I just want
information. Google manages to present relevant information from
a couple of billion web pages with a simple HTML front end.
I hate to break it to you, but Gmail and Google Maps are totally AJAX, and even a basic web search on Google makes use of JavaScript. Google integrates it all so seamlessly, you don't even realize that they're using fancy "Web 2.0" tricks to give you what looks like a simple HTML page.
But please make your ajax scripts available through https or half of the corporate users won't ever stand half a chance of seeing your 'loading please wait' splash screen...
Hint: https://mail.google.com/mail (thanks google)
XUL is a language for writing GUI looks with room for hooks. It's not all that much better than HTML for it. Both for XUL and for HTML you need the same Javascript backend, and if given JS backend to HTML includes xmlhttprequest() for dynamically changing the HTML content (through DOM tree), it's called AJAX.
The kludginess of the solution lies in less-than-perfect reliablity of xmlhttprequest and hideous access to the DOM tree in JS. (e1=document.getElementById('e1'); e2=document.createNode('H1'); e2.value=reqResult; e1.parentNode.replaceChild(e1,e2); e2.id='e1';)
With XUL it would look just the same, very similar DOM tree with the same hideous access methods, same unreliable xmlhttprequest and only different tag names. It could look differently, it could be more sleek as a GUI because it was meant to be a GUI in the first place, but it would be just as kludgy inside.
Anagram("United States of America") == "Dine out, taste a Mac, fries"
-Dom
document.e1.modeType='H1'; document.e1.value=reqResult;
e sult);
S oundsLike('x');
or
e1=document.createElement('h1',id='e1',value=reqR
document.e1.replaceWith(e1);
or generally anything that would make it less verbose. Every smallest operation requires kilometers of DOM methods. Why the hell call parentNode.replaceChild() if you know the element you want replaced and you're really not interested in the parent? Why fun, pleasant methods like innerHTML are essentially made useless in the specs? ('adds a new page in history stack' or something). Why not push around some plaintext HTML strings and then call something like document.rerender(); to apply changes? Why no easy aggregation methods of changing multiple things at a time? Why no new data types that support new kinds of values? (document.class('header').style.fontSize+='1px'; document.form2.replyarea.style.{height:"5em + 8px",padding:"4px"} ?
Sure it IS powerful. But
- you need to spell out the least detail of everything you want. No 'default actions', want an element? First specify type, then create attributes, one a time, then find the location of the parent in the tree, then use not-too-fun methods to put it at desired location between the children.
- Awkward traversing of the element tree. this.parentNode.nextSibling.firstChild ? or document.forms[1].radio2[4].checked ?
- Extreme verbosity. e=document.pleaseVeryMuchGiveMeAnElementWhoseName
- Specs asking to shoot yourself in the foot. (are newlines between tags 'textNodes'? How to find first non-textnode child of an element easily then? When ".value" is equal to innerHTML and when it's something different?)
Anagram("United States of America") == "Dine out, taste a Mac, fries"