the_impact_of_javascript_and_x.html 15 KB
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <style type="text/css" media="all">
    @import "/QA/2006/01/blogstyle.css";
    </style>
    <meta name="keywords" content='javascript, tag, w3c, web architecture, xmlhttprequest' />
    <meta name="description" content="This issue was raised briefly on the TAG telcon of 11 October 2007, but I think we dismissed it too quickly.The basic WebArch story about URIs, resources and representations makes sense to people because they can see the relationship between..." />
    <meta name="revision" content="$Id: the_impact_of_javascript_and_x.html,v 1.50 2011/12/16 02:58:36 gerald Exp $" />    
   <link rel="alternate" type="application/atom+xml" title="Atom" href="http://www.w3.org/QA/atom.xml" />
   <link rel="alternate" type="application/rss+xml" title="RSS 1.0" href="http://www.w3.org/QA/news.rss" />   
   <title>The impact of Javascript and XMLHttpRequest on web architecture - W3C Blog</title>

   <link rel="start" href="http://www.w3.org/QA/" title="Home" />
   <link rel="prev" href="http://www.w3.org/QA/2007/10/validator-roadmap.html" title="Validator 0.8 getting stable - what next?" />
   <link rel="next" href="http://www.w3.org/QA/2007/10/paris-web-2007-french-conference.html" title="Paris Web 2007 - The French Web Connection" />

   <!--
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"
         xmlns:dc="http://purl.org/dc/elements/1.1/">
<rdf:Description
    rdf:about="http://www.w3.org/QA/2007/10/the_impact_of_javascript_and_x.html"
    trackback:ping="http://www.w3.org/QA/sununga/mt-tb.cgi/79"
    dc:title="The impact of Javascript and XMLHttpRequest on web architecture"
    dc:identifier="http://www.w3.org/QA/2007/10/the_impact_of_javascript_and_x.html"
    dc:subject="Web Architecture"
    dc:description="This issue was raised briefly on the TAG telcon of 11 October 2007, but I think we dismissed it too quickly.The basic WebArch story about URIs, resources and representations makes sense to people because they can see the relationship between..."
    dc:creator="Henry S. Thompson"
    dc:date="2007-10-18T11:26:47+00:00" />
</rdf:RDF>
-->

    <!-- <script type="text/javascript" src="http://www.w3.org/QA/mt.js"></script>-->

</head>
<body class="layout-one-column">
      <div id="banner">
      <h1 id="title">
	<a href="http://www.w3.org/"><img height="48" alt="W3C" id="logo" src="http://www.w3.org/Icons/WWW/w3c_home_nb" /></a>
W3C Blog
</h1>
    </div>
    
    <ul class="navbar" id="menu">
        <li><strong><a href="/QA/" title="W3C Blog Home">[ W3C Blog ]</a></strong></li>
        <li><a href="/QA/Library/" title="Documents and Publications on Web and Quality">Documents</a></li>
        <li><a href="/QA/Tools/" accesskey="3" title="Validators and other Tools">Tools</a></li>
        <li><a href="/2007/12/qa-blog-help/index#feedback">Feedback</a></li>
    </ul>
<div id="searchbox">
<form method="get" action="http://www.google.com/custom" enctype="application/x-www-form-urlencoded">
<p id="formbox"><input type="text" size="15" class="textfield" name="q" accesskey="E" maxlength="255" /> <input type="submit" class="submitfield" value="Search" id="goButton" name="sa" accesskey="G" /> <input type="hidden" name="cof" value="T:black;LW:72;ALC:#ff3300;L:http://www.w3.org/Icons/w3c_home;LC:#000099;LH:48;BGC:white;AH:left;VLC:#660066;GL:0;AWFID:0b9847e42caf283e;" /><input type="hidden" id="searchW3C" name="sitesearch" checked="checked" value="www.w3.org/QA" /><input type="hidden" name="domains" value="www.w3.org/QA" /></p>
</form>
</div>


    <div id="main"><!-- This DIV encapsulates everything in this page - necessary for the positioning -->

                     <p class="content-nav">
                        <a href="http://www.w3.org/QA/2007/10/validator-roadmap.html">&laquo; Validator 0.8 getting stable - what next?</a> |
                        <a href="http://www.w3.org/QA/">Main</a>
                        | <a href="http://www.w3.org/QA/2007/10/paris-web-2007-french-conference.html">Paris Web 2007 - The French Web Connection &raquo;</a>
                     </p>

                        <h2 class="entry-header">The impact of Javascript and XMLHttpRequest on web architecture</h2>
                           <div class="entry-body">
                              <p>This issue was raised briefly on the <a href="http://www.w3.org/2001/tag/doc/leastPower.html">TAG telcon of 11 October 2007</a>, but I think we dismissed it too quickly.</p><p>The basic WebArch story about URIs, resources and representations makes sense to people because they can see the relationship between information resource ('the Oaxaca weather report') and representation (&lt;html&gt;&lt;title&gt;Today's weather for Oaxaca&lt;/title&gt;. . . ).&nbsp; When many web pages make extensive use of Javascript to compute the html that determines what you see on the screen, this relationship is weakened.&nbsp; It's not just human beings doing 'view source' who lose out---search engines do too.</p><p>Although it's true that some proportion of Javascript-heavy pages are just badly designed, ignoring the <a href="http://www.w3.org/2001/tag/doc/leastPower.html">Least Power finding</a> through ignorance or laziness, it's certainly the case that <i>some</i> such pages, for instance those which make innovative use of XMLHttpRequest to synthesise information 'on the fly', could not be done any other way, and so don't violate the Least Power rule.</p>
<p>My conclusion: as we try to tell a more carefully articulated story about URIs and resources and their relationship, we need to pay more attention to the User Agent and the user experience.  The thing <i>most</i> closely related to the Oacaxa weather report is the words I see on the screen, not the HTML which gets interpreted to produce them.</p>
                           </div>
                           <div id="more" class="entry-more">
                              
                           </div>
                       <p class="postinfo">Filed by <a href="">Henry S. Thompson</a> on October 18, 2007 11:26 AM in <a href="http://www.w3.org/QA/archive/web_architecture/">Web Architecture</a><br />
<span class="separator">|</span> <a class="permalink" href="http://www.w3.org/QA/2007/10/the_impact_of_javascript_and_x.html">Permalink</a>
                                 | <a href="http://www.w3.org/QA/2007/10/the_impact_of_javascript_and_x.html#comments">Comments (6)</a>
                                 | <a href="http://www.w3.org/QA/2007/10/the_impact_of_javascript_and_x.html#trackback">TrackBacks (0)</a>
</p>



<h3 class="comments-header" id="comments">Comments</h3>
<div class="comment" id="comment-74687">
<p class="comment-meta" id="c074687">
<span class="comment-meta-author"><strong>BillyG </strong></span>
<span class="comment-meta-date"><a href="#c074687">#</a> 2007-10-22</span>
</p>
<div class="comment-bulk">
<p>Your Least Power link is hosed.</p>

</div>
</div>


<div class="comment" id="comment-74788">
<p class="comment-meta" id="c074788">
<span class="comment-meta-author"><strong>karl dubost, w3c </strong></span>
<span class="comment-meta-date"><a href="#c074788">#</a> 2007-10-22</span>
</p>
<div class="comment-bulk">
<p>@billyg: thanks. I have fixed it.</p>

</div>
</div>


<div class="comment" id="comment-113291">
<p class="comment-meta" id="c113291">
<span class="comment-meta-author"><strong>CalArch </strong></span>
<span class="comment-meta-date"><a href="#c113291">#</a> 2008-02-13</span>
</p>
<div class="comment-bulk">
<p>Love the blog, if i may ask, what software are you using? how much does it cost? where do you get it? If it's not a secret email me some details wouldya?</p>

<p>thanks in advance!</p>

</div>
</div>


<div class="comment" id="comment-113552">
<p class="comment-meta" id="c113552">
<span class="comment-meta-author"><strong>Karl Dubost <a class="commenter-profile" href="http://www.w3.org/People/karl/"><img alt="Author Profile Page" src="http://www.w3.org/QA/sununga/mt-static/images/comment/mt_logo.png" width="16" height="16" /></a></strong></span>
<span class="comment-meta-date"><a href="#c113552">#</a> 2008-02-14</span>
</p>
<div class="comment-bulk">
<p>We are using Movable Type version Open Source.</p>

</div>
</div>


<div class="comment" id="comment-166311">
<p class="comment-meta" id="c166311">
<span class="comment-meta-author"><strong>http://newgamester.com </strong></span>
<span class="comment-meta-date"><a href="#c166311">#</a> 2008-10-03</span>
</p>
<div class="comment-bulk">
<blockquote>
  <p>When many web pages make extensive use of Javascript to compute the html that determines what you see on the screen, this relationship is weakened.  It's not just human beings doing 'view source' who lose out---search engines do too.</p>
</blockquote>

<p>When developing the information architecture of a website, I always try make the web page hierarchy, i.e. specifying the URI schemes for every type of content (news, articles, products etc).</p>

<p>For ex, let's take a blog with around 20 posts per month. In this case I prefer to have a browsable archive per month: www.mysite.com/blog/2008/09/ for ex. Or more generaly: www.mysite.com/blog/$year/ and www.mysite.com/blog/$year/$month/</p>

<p>A blog post will have a uri like this one: www.mysite.com/blog/$year/$month/blog-post-filename/. Seeing such an uri, a visitor automatically find out when this post was written. </p>

<p>Only the blog post is the web page that contains the actual content, the browsing activity is an intermediary step and thus, can be "upgraded" into a XMLHttpRequest way. I means that we can have only one page: www.mysite.com/archive/ that provides an AJAX list of blog post excerpts, but clicking on a post will open the post uri: www.mysite.com/blog/$year/$month/blog-post-filename/. </p>

<p>Generally speaking: it's ok to convert the intermediary browsing/searching steps into a single AJAX webpage(webapp) but having real URLs for content items.</p>

<p>Google Sitemaps is a simple way to instruct the bot where and how to crawl, thus excluding the need for /$year/$month/ webpages.</p>

<p>I think that by mixing both methods: URLs and AJAX, we can get good results.</p>

</div>
</div>


<div class="comment" id="comment-172885">
<p class="comment-meta" id="c172885">
<span class="comment-meta-author"><strong>Jonathan </strong></span>
<span class="comment-meta-date"><a href="#c172885">#</a> 2009-02-02</span>
</p>
<div class="comment-bulk">
<p>Right. Jax'ing up my web browser again, A?</p>

<p>Use noscript in firefox and you may notice:
1) good websites have no-javascript counterparts (gmail, ebay)
2) bad sites don't display without javascript</p>

<p>It's rare a site really needs javascript to improve the user's experience.  Those I've found provide an application I want to use (google chat).  I don't want to use JS for browsing.</p>

<p>Generally, JS provides a disservice to the user:
* back buttons break
* unintended bookmarks
* broken printing
* proxy &amp; other caching servers
* content filtering
* local browser caching
* local browser speed
* page loading time
* browser resource usage
* browser compatibility
* mobile browser (iphone)
* search engines besides google after using webmaster tools</p>

<p>Think about how many times you've hovered over a NAV link that pops open another list of links which disappears the second you move your mouse it.</p>

<p>Most have solutions - many unimplemented.</p>

<p>If you have static links, use the static links. Make the AJax optional.</p>

</div>
</div>



  <div class="comments-open" id="comments-open">
<h3 class="comments-open-header">Leave a comment</h3>

<div class="comments-open-moderated">
   <p>
   Note: this blog is intended to foster <strong>polite
   on-topic discussions</strong>. Comments failing these
   requirements and spam will not get published. Please,
   enter your real name and email address. Every
   individual comment is reviewed by the W3C staff.
   This may take some time, thank you for your patience.
   </p>
   <p>
   You can use the following HTML markup (a href, b, i, 
   br/, p, strong, em, ul, ol, li, blockquote, pre) 
   and/or <a href="http://daringfireball.net/projects/markdown/syntax">Markdown syntax</a>.</p>
</div>

<div id="comments-open-data">
<form method="post" action="http://www.w3.org/QA/sununga/beach.pl" id="comments-form">
<h4>Your comment</h4>
<div id="comments-open-text">
  <textarea id="comment-text" name="text" rows="20" cols="100"></textarea><br />
<label for="comment-text">Write your comment text here. Remember, keep the discussion on topic and courteous.</label>
</div>

<h4>About you</h4>
<div id="comment-form-name">
  <input type="hidden" name="static" value="1" />
<input type="hidden" name="entry_id" value="87" />
<input type="hidden" name="__lang" value="en" /> 
<label for="comment-author">Your Name</label>
<input id="comment-author" name="author" size="30" value="" />
</div>
<div id="comment-form-email">
<label for="comment-email">Your Email Address</label>
<input id="comment-email" name="email" size="30" value="" />
</div>

<div id="comments-open-footer">
<input type="submit" accesskey="s" name="post" id="comment-submit" value="Submit" />

</div>
</form>
</div>
</div>



<p id="gentime">This page was last generated on $Date: 2011/12/16 02:58:36 $</p> 

      </div><!-- End of "main" DIV. -->

<address>

This blog is written by W3C staff and working group participants,<br />
&nbsp;and maintained by <a href="/People/CMercier/">Coralie Mercier</a>.<br />
Authorized parties may <a href="/QA/new">log in</a> to create a new entry.<br/>
<span id="poweredby">Powered by Movable Type, magpierss and a lot of Web Technology</span>
    </address>


    
    <p class="copyright">
      <a rel="Copyright" href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> &copy; 1994-2011
      <a href="http://www.w3.org/"><acronym title="World Wide Web Consortium">W3C</acronym></a>&reg;
      (<a href="http://www.csail.mit.edu/"><acronym title="Massachusetts Institute of Technology">MIT</acronym></a>,
      <a href="http://www.ercim.eu/"><acronym title="European Research Consortium for Informatics and Mathematics">ERCIM</acronym></a>,
      <a href="http://www.keio.ac.jp/">Keio</a>),
      All Rights Reserved.
      W3C <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>,
      <a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a>,
      <a rel="Copyright" href="http://www.w3.org/Consortium/Legal/copyright-documents">document use</a>
      and <a rel="Copyright" href="http://www.w3.org/Consortium/Legal/copyright-software">software licensing</a>
      rules apply. Your interactions with this site are in accordance
      with our <a href="http://www.w3.org/Consortium/Legal/privacy-statement#Public">public</a> and
      <a href="http://www.w3.org/Consortium/Legal/privacy-statement#Members">Member</a> privacy
      statements.
    </p>

  </body>
</html>