- From: Ric Hardacre <ric.hardacre@cyclomedia.co.uk>
- Date: Tue, 9 Jun 2009 17:33:59 +0100
This is a proposal that I posted to w3.org a year ago, and it didn't really get any debate there so I'm hoping to provoke some here, i wont go into too much detail instead linking to the original posts but i'll give a bit of an overview here... Essentially the proposal is for a static DOM object which has read only settings exposed to javascript (ultimately one day sendable via HTTP to the web server to superceed UserAgent sniffing), the browser would be left with the task of presenting the various options to the user (global, per domain, etc.). Javascript has allowed web sites and applications increased levels of functionality but at the same time allowed for more possibilities of special effects and multimedia, these are two seperate sides of the javascript coin and it would be useful to have the former without being required to witness the latter. One example I frequently use is google maps, which runs fine with javascript on my low powered "surfing" laptop - until you change zoom levels - then it takes over a minute to interpolate to the next zoom level, whilst this probably down to bad coding (a simple setTimeout for 2 seconds hence could force the interpolation effect to stop) it's a shame that this one effect brings the entire web-application of google maps into an unusable state and personally i don't think that the fact that my laptop doesnt have a GPU should mean i'm relegated to use the NOSCRIPT version of a site. For the sake of one flashy, un-needed effect. AFAIK there is a "light" version of google maps that uses little or no javascript but apart from the transition effect it runs fine. Which brings me back to the proposal, if there were an "AllowTransitions" boolean that developers could check then they would know what experience to present the user with: function Zoom_In() { if( window.UserPreferences.AllowTransitions ) Interpolate_To_Zoom( ++zoom ); else Jump_To_Zoom( ++zoom ); } this would still allow me to use the Javacsript map application on my low powered machine without resorting to a no-script-at-all version. Another aspect is rich content, if i'm surfing whilst listening to mp3s i might not want to be interrupted by sounds or videos playing and might want to turn web-sounds off, or maybe i'm watching a movie on the train but dont want my web mail to audibly alert me to a new mail message. Instead i could have a global volume control (or per tab...) in my browser rather than the curernt situation where you have to set it for each and every flash applet on each and every web site. Also I might need roaming profiles, if I'm connected via WiFi i might be happy to have videos playing, but if I'm out in the countryside, and i have a limited/expensive GPRS data plan i dont want videos to suck up all my bandwidth and money - if the browser could itself switch between high and low bandwidth profiles then this would be a smoother user experience than again having to bookmark a site's full and lite pages seperately, or have the site try to second guess my desires through the capabilities my user agent string suggests. Example properties might be: MaxStreamRate (in Kb per seconds - with a popup warning the user if they attempt to play something wider) AutoPlayVideo (if false then video content should never start playing without a direct click on a "play" button) AutoPlayAudio (as above) AudioVolume (0 = mute, 99 = full) Note that the last two do not crosstalk - AutoPlayAudio may still be true if AudioVolume is 0. At the moment the user is at the whim of site builders about how to turn features on and of, stop and start audio, control volume or switch between lite and full versions of sites. These sometimes need the user to be logged and/or cookies to be remembered between sessions or instead the web host will simply attempt to dictate the version of a site you get depending on your user agent string. Currently most browsers allow images to be turned on and off very easily (albeit usually buried deep in a menu tree). By centralising what it is the user wants to happen we can make the web a much more pleasant and consistent experience and one that is ready for users who may literally walk from a high bandwidth high availability connection to a low bandwidth one whilst surfing - if their PDA or laptop could hook into their connection settings and "see" that the connection has switched wouldn't it be great if it could automatically tone the richness of the web experience down with the user not having to lift a finger... Revised Proposal http://lists.w3.org/Archives/Public/public-html-comments/2008Jul/0000.html Original Proposal http://lists.w3.org/Archives/Public/public-html-comments/2008Apr/0003.html Ric Hardacre (MCAD, MCP, HTML,CSS & JS hacker since '95) cyclomedia.co.uk
Received on Tuesday, 9 June 2009 09:33:59 UTC