<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">Hi Johan,<br>
      <br>
      what you describe fits well into my observations (or vice
      versa).... <br>
      <br>
      Am 20.11.15 um 08:56 schrieb Johan Brichau:<br>
    </div>
    <blockquote
      cite="mid:CAB59807-25DC-4982-94C3-328051AE73E0@inceptive.be"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=windows-1252">
      <meta http-equiv="Content-Type" content="text/html;
        charset=windows-1252">
      Joachim,
      <div class=""><br class="">
      </div>
      <div class="">Are you inspecting execution of the callbacks on the
        server-side only?</div>
      <div class="">It seems that when you say that “the browser is
        blocking” you are actually saying that the request for the
        callback is not *processed* while the ajax load is executing?</div>
    </blockquote>
    Of course the use of "blocking" was wrong. The browser is not
    blocking, I just see no reaction to my click on the "normal" link
    before all the all Ajax requests are finished - and it seems you
    just described why that is.<br>
    <br>
    <br>
    <blockquote
      cite="mid:CAB59807-25DC-4982-94C3-328051AE73E0@inceptive.be"
      type="cite">
      <div class="">To verify: do you see the browser performing a
        request in the browser developer tools when you click the link?</div>
      <div class=""><br class="">
      </div>
    </blockquote>
    The link does a show:, so the browser navigates away from the page
    the very instant the longest running ajax request is done. The dev
    toos in Firefox are cleared in that moment, so I cannot see anything
    of that "normal" request. While the two Ajax requests are being
    processed, I cannot see that "normal" request being sent to the
    server (but I should, even if the server doesn't react).<br>
    <br>
    <blockquote
      cite="mid:CAB59807-25DC-4982-94C3-328051AE73E0@inceptive.be"
      type="cite">
      <div class="">Seaside requires all requests for the same session
        to be processed sequentially.</div>
      <div class="">So, callbacks will not execute as long as the server
        is processing any other callback for the same session.</div>
      <div class=""><br class="">
      </div>
    </blockquote>
    So this explains a lot. This means we can cheat a little by showing
    the page earlier, but it won't be reacting to menu selections any
    sooner. Unless we do some "use another session (or even server) to
    collect the data" magic.<br>
    <br>
    <blockquote
      cite="mid:CAB59807-25DC-4982-94C3-328051AE73E0@inceptive.be"
      type="cite">
      <div class="">It seems to me that this is what you are
        experiencing.</div>
      <div class=""><br class="">
      </div>
    </blockquote>
    Yes, I was hoping to not only make page load times shorter, but also
    let the user click sooner... Especially since our dashboard will
    grow and allow more data-intensive reporting over time.<br>
    <blockquote
      cite="mid:CAB59807-25DC-4982-94C3-328051AE73E0@inceptive.be"
      type="cite">
      <div class="">This has to do with how Seaside manages session
        state for you.</div>
      <div class=""><br class="">
      </div>
      <div class="">Thinking about it: I’m not sure if it would be
        possible to have an exception for some ajax callbacks. </div>
      <div class="">At the very least, it would put a responsibility of
        managing the session state concurrency conflicts in the hands of
        the application developer.</div>
      <div class=""><br class="">
      </div>
    </blockquote>
    So far I seem to have learned that this power wouldn't be put in
    good hands in my case ;-)<br>
    <br>
    One stupid question that wants to be asked: AFAIK there is no way of
    stopping the server side from processind Ajax requests? I know you
    can cancel the ajax request on the client side, but this is just
    keeping the browser from waiting, right?<br>
    Thinking about this a little further, I could possibly implement
    some crude special ajax call that stops the ajax processing on the
    server side and kills those background-processes on the server side
    (currently, they are not forked processes, but they could be)
    whenever the user clicks one of the links in the menu.... Not sure I
    really like the idea, but maybe it would work...<br>
    <br>
    <blockquote
      cite="mid:CAB59807-25DC-4982-94C3-328051AE73E0@inceptive.be"
      type="cite">
      <div class="">However, this does not solve your problem. Do you
        have a bit more information on why these components are
        rendering slowly? Is it the rendering phase or is the retrieval
        of the data for these components slow?</div>
    </blockquote>
    It is a lot of data that has to be processed on the smalltalk side.
    So no Seaside problem here. Glorp is probably the busiest component
    in this processing. <br>
    <br>
    Oh my, so I have to put on my Architect's hat again and see how we
    can speed up the data collection before we add more widgets to the
    dashboard.<br>
    <br>
    <br>
    <blockquote
      cite="mid:CAB59807-25DC-4982-94C3-328051AE73E0@inceptive.be"
      type="cite">
      <div class=""><br class="">
      </div>
      <div class="">Johan</div>
      <div class=""><br class="">
        <div class="">
          <blockquote type="cite" class="">
            <div class="">On 20 Nov 2015, at 08:08, jtuchel &lt;<a
                moz-do-not-send="true"
                href="mailto:jtuchel@objektfabrik.de" class=""><a class="moz-txt-link-abbreviated" href="mailto:jtuchel@objektfabrik.de">jtuchel@objektfabrik.de</a></a>&gt;
              wrote:</div>
            <br class="Apple-interchange-newline">
            <div class="">
              <div class="moz-cite-prefix" style="font-family:
                Helvetica; font-size: 12px; font-style: normal;
                font-variant: normal; font-weight: normal;
                letter-spacing: normal; orphans: auto; text-align:
                start; text-indent: 0px; text-transform: none;
                white-space: normal; widows: auto; word-spacing: 0px;
                -webkit-text-stroke-width: 0px;">Hi Johan,<br class="">
                <br class="">
                <br class="">
                Am 19.11.15 um 22:17 schrieb Johan Brichau-2 [via
                Smalltalk]:<br class="">
              </div>
              <blockquote
                cite="mid:127AA433-559A-478E-9E77-CCCAE71DEEB1@inceptive.be"
                type="cite" style="font-family: Helvetica; font-size:
                12px; font-style: normal; font-variant: normal;
                font-weight: normal; letter-spacing: normal; orphans:
                auto; text-align: start; text-indent: 0px;
                text-transform: none; white-space: normal; widows: auto;
                word-spacing: 0px; -webkit-text-stroke-width: 0px;
                border-left-width: 2px; border-left-style: solid;
                border-left-color: rgb(204, 204, 204); padding: 0px
                1em;" class="">Hi Joachim,<span
                  class="Apple-converted-space"> </span><br class="">
                <br class="">
                jQuery load is an ajax request and should thus not be
                blocking any browser action.<span
                  class="Apple-converted-space"> </span><br class="">
              </blockquote>
              <br style="font-family: Helvetica; font-size: 12px;
                font-style: normal; font-variant: normal; font-weight:
                normal; letter-spacing: normal; orphans: auto;
                text-align: start; text-indent: 0px; text-transform:
                none; white-space: normal; widows: auto; word-spacing:
                0px; -webkit-text-stroke-width: 0px;" class="">
              <span style="font-family: Helvetica; font-size: 12px;
                font-style: normal; font-variant: normal; font-weight:
                normal; letter-spacing: normal; orphans: auto;
                text-align: start; text-indent: 0px; text-transform:
                none; white-space: normal; widows: auto; word-spacing:
                0px; -webkit-text-stroke-width: 0px; float: none;
                display: inline !important;" class="">Yes, that's what I
                thought as well...</span><br style="font-family:
                Helvetica; font-size: 12px; font-style: normal;
                font-variant: normal; font-weight: normal;
                letter-spacing: normal; orphans: auto; text-align:
                start; text-indent: 0px; text-transform: none;
                white-space: normal; widows: auto; word-spacing: 0px;
                -webkit-text-stroke-width: 0px;" class="">
              <br style="font-family: Helvetica; font-size: 12px;
                font-style: normal; font-variant: normal; font-weight:
                normal; letter-spacing: normal; orphans: auto;
                text-align: start; text-indent: 0px; text-transform:
                none; white-space: normal; widows: auto; word-spacing:
                0px; -webkit-text-stroke-width: 0px;" class="">
              <blockquote
                cite="mid:127AA433-559A-478E-9E77-CCCAE71DEEB1@inceptive.be"
                type="cite" style="font-family: Helvetica; font-size:
                12px; font-style: normal; font-variant: normal;
                font-weight: normal; letter-spacing: normal; orphans:
                auto; text-align: start; text-indent: 0px;
                text-transform: none; white-space: normal; widows: auto;
                word-spacing: 0px; -webkit-text-stroke-width: 0px;
                border-left-width: 2px; border-left-style: solid;
                border-left-color: rgb(204, 204, 204); padding: 0px
                1em;" class=""><br class="">
                What kind of interaction are you expecting from the
                ‘click’ to which the browser is not responder?<span
                  class="Apple-converted-space"> </span><br class="">
                A page request, an ajax request, the execution of a
                javascript program, ... ?<span
                  class="Apple-converted-space"> </span><br class="">
              </blockquote>
              <span style="font-family: Helvetica; font-size: 12px;
                font-style: normal; font-variant: normal; font-weight:
                normal; letter-spacing: normal; orphans: auto;
                text-align: start; text-indent: 0px; text-transform:
                none; white-space: normal; widows: auto; word-spacing:
                0px; -webkit-text-stroke-width: 0px; float: none;
                display: inline !important;" class="">On our Dashboard
                we have the main navigation menu which consists of
                anchors with normal callback blocks.</span><br
                style="font-family: Helvetica; font-size: 12px;
                font-style: normal; font-variant: normal; font-weight:
                normal; letter-spacing: normal; orphans: auto;
                text-align: start; text-indent: 0px; text-transform:
                none; white-space: normal; widows: auto; word-spacing:
                0px; -webkit-text-stroke-width: 0px;" class="">
              <br style="font-family: Helvetica; font-size: 12px;
                font-style: normal; font-variant: normal; font-weight:
                normal; letter-spacing: normal; orphans: auto;
                text-align: start; text-indent: 0px; text-transform:
                none; white-space: normal; widows: auto; word-spacing:
                0px; -webkit-text-stroke-width: 0px;" class="">
              <span style="font-family: Helvetica; font-size: 12px;
                font-style: normal; font-variant: normal; font-weight:
                normal; letter-spacing: normal; orphans: auto;
                text-align: start; text-indent: 0px; text-transform:
                none; white-space: normal; widows: auto; word-spacing:
                0px; -webkit-text-stroke-width: 0px; float: none;
                display: inline !important;" class="">After I had sent
                my last mail, I saw that both ajax requests take about
                the same time to finish (4022 and 4096 ms on a slow
                development machine), so I thought maybe this all is
                just a coincidence.</span><br style="font-family:
                Helvetica; font-size: 12px; font-style: normal;
                font-variant: normal; font-weight: normal;
                letter-spacing: normal; orphans: auto; text-align:
                start; text-indent: 0px; text-transform: none;
                white-space: normal; widows: auto; word-spacing: 0px;
                -webkit-text-stroke-width: 0px;" class="">
              <br style="font-family: Helvetica; font-size: 12px;
                font-style: normal; font-variant: normal; font-weight:
                normal; letter-spacing: normal; orphans: auto;
                text-align: start; text-indent: 0px; text-transform:
                none; white-space: normal; widows: auto; word-spacing:
                0px; -webkit-text-stroke-width: 0px;" class="">
              <span style="font-family: Helvetica; font-size: 12px;
                font-style: normal; font-variant: normal; font-weight:
                normal; letter-spacing: normal; orphans: auto;
                text-align: start; text-indent: 0px; text-transform:
                none; white-space: normal; widows: auto; word-spacing:
                0px; -webkit-text-stroke-width: 0px; float: none;
                display: inline !important;" class="">So here is what
                I've tried then:</span><br style="font-family:
                Helvetica; font-size: 12px; font-style: normal;
                font-variant: normal; font-weight: normal;
                letter-spacing: normal; orphans: auto; text-align:
                start; text-indent: 0px; text-transform: none;
                white-space: normal; widows: auto; word-spacing: 0px;
                -webkit-text-stroke-width: 0px;" class="">
              <br style="font-family: Helvetica; font-size: 12px;
                font-style: normal; font-variant: normal; font-weight:
                normal; letter-spacing: normal; orphans: auto;
                text-align: start; text-indent: 0px; text-transform:
                none; white-space: normal; widows: auto; word-spacing:
                0px; -webkit-text-stroke-width: 0px;" class="">
              <span style="font-family: Helvetica; font-size: 12px;
                font-style: normal; font-variant: normal; font-weight:
                normal; letter-spacing: normal; orphans: auto;
                text-align: start; text-indent: 0px; text-transform:
                none; white-space: normal; widows: auto; word-spacing:
                0px; -webkit-text-stroke-width: 0px; float: none;
                display: inline !important;" class="">I added a (Delay
                forSeconds: 5) wait to one of our dashboard widget's
                business code.</span><br style="font-family: Helvetica;
                font-size: 12px; font-style: normal; font-variant:
                normal; font-weight: normal; letter-spacing: normal;
                orphans: auto; text-align: start; text-indent: 0px;
                text-transform: none; white-space: normal; widows: auto;
                word-spacing: 0px; -webkit-text-stroke-width: 0px;"
                class="">
              <br style="font-family: Helvetica; font-size: 12px;
                font-style: normal; font-variant: normal; font-weight:
                normal; letter-spacing: normal; orphans: auto;
                text-align: start; text-indent: 0px; text-transform:
                none; white-space: normal; widows: auto; word-spacing:
                0px; -webkit-text-stroke-width: 0px;" class="">
              <span style="font-family: Helvetica; font-size: 12px;
                font-style: normal; font-variant: normal; font-weight:
                normal; letter-spacing: normal; orphans: auto;
                text-align: start; text-indent: 0px; text-transform:
                none; white-space: normal; widows: auto; word-spacing:
                0px; -webkit-text-stroke-width: 0px; float: none;
                display: inline !important;" class="">What happens is
                this:</span><br style="font-family: Helvetica;
                font-size: 12px; font-style: normal; font-variant:
                normal; font-weight: normal; letter-spacing: normal;
                orphans: auto; text-align: start; text-indent: 0px;
                text-transform: none; white-space: normal; widows: auto;
                word-spacing: 0px; -webkit-text-stroke-width: 0px;"
                class="">
              <br style="font-family: Helvetica; font-size: 12px;
                font-style: normal; font-variant: normal; font-weight:
                normal; letter-spacing: normal; orphans: auto;
                text-align: start; text-indent: 0px; text-transform:
                none; white-space: normal; widows: auto; word-spacing:
                0px; -webkit-text-stroke-width: 0px;" class="">
              <span style="font-family: Helvetica; font-size: 12px;
                font-style: normal; font-variant: normal; font-weight:
                normal; letter-spacing: normal; orphans: auto;
                text-align: start; text-indent: 0px; text-transform:
                none; white-space: normal; widows: auto; word-spacing:
                0px; -webkit-text-stroke-width: 0px; float: none;
                display: inline !important;" class="">The widgets all
                immediately start an ajax request, and the one without
                the Delay gets rendered after the usual 4 seconds. The
                other one renders a bit more than 5 seconds later. So
                far, so unsurprising.</span><br style="font-family:
                Helvetica; font-size: 12px; font-style: normal;
                font-variant: normal; font-weight: normal;
                letter-spacing: normal; orphans: auto; text-align:
                start; text-indent: 0px; text-transform: none;
                white-space: normal; widows: auto; word-spacing: 0px;
                -webkit-text-stroke-width: 0px;" class="">
              <br style="font-family: Helvetica; font-size: 12px;
                font-style: normal; font-variant: normal; font-weight:
                normal; letter-spacing: normal; orphans: auto;
                text-align: start; text-indent: 0px; text-transform:
                none; white-space: normal; widows: auto; word-spacing:
                0px; -webkit-text-stroke-width: 0px;" class="">
              <span style="font-family: Helvetica; font-size: 12px;
                font-style: normal; font-variant: normal; font-weight:
                normal; letter-spacing: normal; orphans: auto;
                text-align: start; text-indent: 0px; text-transform:
                none; white-space: normal; widows: auto; word-spacing:
                0px; -webkit-text-stroke-width: 0px; float: none;
                display: inline !important;" class="">BUT: If I click on
                one of the main navigation links (which should be
                totally unrelated to the Components that issue the ajax
                call), the callback is not called before the longer
                runnin Ajax request is finished. The Re-rendering of the
                Component in the Browser is not performed, however (at
                least I can't see it).</span><br style="font-family:
                Helvetica; font-size: 12px; font-style: normal;
                font-variant: normal; font-weight: normal;
                letter-spacing: normal; orphans: auto; text-align:
                start; text-indent: 0px; text-transform: none;
                white-space: normal; widows: auto; word-spacing: 0px;
                -webkit-text-stroke-width: 0px;" class="">
              <br style="font-family: Helvetica; font-size: 12px;
                font-style: normal; font-variant: normal; font-weight:
                normal; letter-spacing: normal; orphans: auto;
                text-align: start; text-indent: 0px; text-transform:
                none; white-space: normal; widows: auto; word-spacing:
                0px; -webkit-text-stroke-width: 0px;" class="">
              <span style="font-family: Helvetica; font-size: 12px;
                font-style: normal; font-variant: normal; font-weight:
                normal; letter-spacing: normal; orphans: auto;
                text-align: start; text-indent: 0px; text-transform:
                none; white-space: normal; widows: auto; word-spacing:
                0px; -webkit-text-stroke-width: 0px; float: none;
                display: inline !important;" class="">So the first
                observation seems to tell me the "load html:" calls are
                not blocking. The second, however, seems to indicate
                that they block.</span><br style="font-family:
                Helvetica; font-size: 12px; font-style: normal;
                font-variant: normal; font-weight: normal;
                letter-spacing: normal; orphans: auto; text-align:
                start; text-indent: 0px; text-transform: none;
                white-space: normal; widows: auto; word-spacing: 0px;
                -webkit-text-stroke-width: 0px;" class="">
              <br style="font-family: Helvetica; font-size: 12px;
                font-style: normal; font-variant: normal; font-weight:
                normal; letter-spacing: normal; orphans: auto;
                text-align: start; text-indent: 0px; text-transform:
                none; white-space: normal; widows: auto; word-spacing:
                0px; -webkit-text-stroke-width: 0px;" class="">
              <span style="font-family: Helvetica; font-size: 12px;
                font-style: normal; font-variant: normal; font-weight:
                normal; letter-spacing: normal; orphans: auto;
                text-align: start; text-indent: 0px; text-transform:
                none; white-space: normal; widows: auto; word-spacing:
                0px; -webkit-text-stroke-width: 0px; float: none;
                display: inline !important;" class="">Or (shiver) there
                is something strange going on on the server side (VA
                Smalltalk) that keeps the server from handling the
                "normal" request before the ajax requests are finished.
                I need to test with a bit more logging to find out...</span><br
                style="font-family: Helvetica; font-size: 12px;
                font-style: normal; font-variant: normal; font-weight:
                normal; letter-spacing: normal; orphans: auto;
                text-align: start; text-indent: 0px; text-transform:
                none; white-space: normal; widows: auto; word-spacing:
                0px; -webkit-text-stroke-width: 0px;" class="">
              <br style="font-family: Helvetica; font-size: 12px;
                font-style: normal; font-variant: normal; font-weight:
                normal; letter-spacing: normal; orphans: auto;
                text-align: start; text-indent: 0px; text-transform:
                none; white-space: normal; widows: auto; word-spacing:
                0px; -webkit-text-stroke-width: 0px;" class="">
              <span style="font-family: Helvetica; font-size: 12px;
                font-style: normal; font-variant: normal; font-weight:
                normal; letter-spacing: normal; orphans: auto;
                text-align: start; text-indent: 0px; text-transform:
                none; white-space: normal; widows: auto; word-spacing:
                0px; -webkit-text-stroke-width: 0px; float: none;
                display: inline !important;" class="">Thanks for
                listening,</span><br style="font-family: Helvetica;
                font-size: 12px; font-style: normal; font-variant:
                normal; font-weight: normal; letter-spacing: normal;
                orphans: auto; text-align: start; text-indent: 0px;
                text-transform: none; white-space: normal; widows: auto;
                word-spacing: 0px; -webkit-text-stroke-width: 0px;"
                class="">
              <br style="font-family: Helvetica; font-size: 12px;
                font-style: normal; font-variant: normal; font-weight:
                normal; letter-spacing: normal; orphans: auto;
                text-align: start; text-indent: 0px; text-transform:
                none; white-space: normal; widows: auto; word-spacing:
                0px; -webkit-text-stroke-width: 0px;" class="">
              <span style="font-family: Helvetica; font-size: 12px;
                font-style: normal; font-variant: normal; font-weight:
                normal; letter-spacing: normal; orphans: auto;
                text-align: start; text-indent: 0px; text-transform:
                none; white-space: normal; widows: auto; word-spacing:
                0px; -webkit-text-stroke-width: 0px; float: none;
                display: inline !important;" class="">Joachim</span><br
                style="font-family: Helvetica; font-size: 12px;
                font-style: normal; font-variant: normal; font-weight:
                normal; letter-spacing: normal; orphans: auto;
                text-align: start; text-indent: 0px; text-transform:
                none; white-space: normal; widows: auto; word-spacing:
                0px; -webkit-text-stroke-width: 0px;" class="">
              <br style="font-family: Helvetica; font-size: 12px;
                font-style: normal; font-variant: normal; font-weight:
                normal; letter-spacing: normal; orphans: auto;
                text-align: start; text-indent: 0px; text-transform:
                none; white-space: normal; widows: auto; word-spacing:
                0px; -webkit-text-stroke-width: 0px;" class="">
              <br style="font-family: Helvetica; font-size: 12px;
                font-style: normal; font-variant: normal; font-weight:
                normal; letter-spacing: normal; orphans: auto;
                text-align: start; text-indent: 0px; text-transform:
                none; white-space: normal; widows: auto; word-spacing:
                0px; -webkit-text-stroke-width: 0px;" class="">
              <br style="font-family: Helvetica; font-size: 12px;
                font-style: normal; font-variant: normal; font-weight:
                normal; letter-spacing: normal; orphans: auto;
                text-align: start; text-indent: 0px; text-transform:
                none; white-space: normal; widows: auto; word-spacing:
                0px; -webkit-text-stroke-width: 0px;" class="">
              <br style="font-family: Helvetica; font-size: 12px;
                font-style: normal; font-variant: normal; font-weight:
                normal; letter-spacing: normal; orphans: auto;
                text-align: start; text-indent: 0px; text-transform:
                none; white-space: normal; widows: auto; word-spacing:
                0px; -webkit-text-stroke-width: 0px;" class="">
              <br style="font-family: Helvetica; font-size: 12px;
                font-style: normal; font-variant: normal; font-weight:
                normal; letter-spacing: normal; orphans: auto;
                text-align: start; text-indent: 0px; text-transform:
                none; white-space: normal; widows: auto; word-spacing:
                0px; -webkit-text-stroke-width: 0px;" class="">
              <blockquote
                cite="mid:127AA433-559A-478E-9E77-CCCAE71DEEB1@inceptive.be"
                type="cite" style="font-family: Helvetica; font-size:
                12px; font-style: normal; font-variant: normal;
                font-weight: normal; letter-spacing: normal; orphans:
                auto; text-align: start; text-indent: 0px;
                text-transform: none; white-space: normal; widows: auto;
                word-spacing: 0px; -webkit-text-stroke-width: 0px;
                border-left-width: 2px; border-left-style: solid;
                border-left-color: rgb(204, 204, 204); padding: 0px
                1em;" class=""><br class="">
                Johan<span class="Apple-converted-space"> </span><br
                  class="">
                <div class="shrinkable-quote"><br class="">
                  &gt; On 19 Nov 2015, at 09:59, jtuchel &lt;<a
                    moz-do-not-send="true"
                    href="x-msg://79/user/SendEmail.jtp?type=node&amp;node=4862097&amp;i=0"
                    target="_top" rel="nofollow" link="external"
                    class="">[hidden email]</a>&gt; wrote:<span
                    class="Apple-converted-space"> </span><br class="">
                  &gt;<span class="Apple-converted-space"> </span><br
                    class="">
                  &gt; Hi,<span class="Apple-converted-space"> </span><br
                    class="">
                  &gt;<span class="Apple-converted-space"> </span><br
                    class="">
                  &gt; in our application, the user sees a dashboard
                  right after logging in.<span
                    class="Apple-converted-space"> </span><br class="">
                  &gt; Depending on the configuration of this dashboard,
                  load and render times can<span
                    class="Apple-converted-space"> </span><br class="">
                  &gt; get quite long.<span
                    class="Apple-converted-space"> </span><br class="">
                  &gt;<span class="Apple-converted-space"> </span><br
                    class="">
                  &gt; So we tried to wrap slow components into a
                  Decoration that uses load() to<span
                    class="Apple-converted-space"> </span><br class="">
                  &gt; postponbe the loading of their content. The
                  render code in our decoration<span
                    class="Apple-converted-space"> </span><br class="">
                  &gt; looks like this:<span
                    class="Apple-converted-space"> </span><br class="">
                  &gt;<span class="Apple-converted-space"> </span><br
                    class="">
                  &gt; replaced<span class="Apple-converted-space"> </span><br
                    class="">
                  &gt; ifTrue: [div with: [self renderNextOn: html]]<span
                    class="Apple-converted-space"> </span><br class="">
                  &gt; ifFalse: [<span class="Apple-converted-space"> </span><br
                    class="">
                  &gt; html document addLoadScript: (<span
                    class="Apple-converted-space"> </span><br class="">
                  &gt; (html jQuery: self idSelector) load html: [:r |<span
                    class="Apple-converted-space"> </span><br class="">
                  &gt; replaced := true.<span
                    class="Apple-converted-space"> </span><br class="">
                  &gt; self renderNextOn: html]).<span
                    class="Apple-converted-space"> </span><br class="">
                  &gt; div with: [<span class="Apple-converted-space"> </span><br
                    class="">
                  &gt; html image src: someSpinnerImage<span
                    class="Apple-converted-space"> </span><br class="">
                  &gt; html space; text: self message]]<span
                    class="Apple-converted-space"> </span><br class="">
                  &gt;<span class="Apple-converted-space"> </span><br
                    class="">
                  &gt;<span class="Apple-converted-space"> </span><br
                    class="">
                  &gt;<span class="Apple-converted-space"> </span><br
                    class="">
                  &gt; Thus, we hoped, the page would display very
                  quickly, and be responsive<span
                    class="Apple-converted-space"> </span><br class="">
                  &gt; before all the widgets are loaded.<span
                    class="Apple-converted-space"> </span><br class="">
                  &gt;<span class="Apple-converted-space"> </span><br
                    class="">
                  &gt; So far, we've reached one of the two goals: the
                  page now loads quickly and<span
                    class="Apple-converted-space"> </span><br class="">
                  &gt; the widgets use ajax to load their contents
                  later. Another nice side effect<span
                    class="Apple-converted-space"> </span><br class="">
                  &gt; is that if you go back to the start page, all
                  widgets are loaded already.<span
                    class="Apple-converted-space"> </span><br class="">
                  &gt;<span class="Apple-converted-space"> </span><br
                    class="">
                  &gt; The other goal, however, is not met: If you log
                  in and immediately click on<span
                    class="Apple-converted-space"> </span><br class="">
                  &gt; one of the menu items, the browser won't react to
                  your click before all<span
                    class="Apple-converted-space"> </span><br class="">
                  &gt; widgets have finished loading. So it seems like
                  jQuery's load is blocking.<span
                    class="Apple-converted-space"> </span><br class="">
                  &gt;<span class="Apple-converted-space"> </span><br
                    class="">
                  &gt; We've tried in Chrome and Firefox, and both
                  expose this behavior.<span
                    class="Apple-converted-space"> </span><br class="">
                  &gt; Does anybody know how to not only cheat on the
                  load times of our dashboard<span
                    class="Apple-converted-space"> </span><br class="">
                  &gt; but also enable the browser to react on clicks
                  before all widgets have<span
                    class="Apple-converted-space"> </span><br class="">
                  &gt; loaded their contents?<span
                    class="Apple-converted-space"> </span><br class="">
                  &gt;<span class="Apple-converted-space"> </span><br
                    class="">
                  &gt; Any hint is appreciated,<span
                    class="Apple-converted-space"> </span><br class="">
                  &gt;<span class="Apple-converted-space"> </span><br
                    class="">
                  &gt; Joachim<span class="Apple-converted-space"> </span><br
                    class="">
                  &gt;<span class="Apple-converted-space"> </span><br
                    class="">
                  &gt;<span class="Apple-converted-space"> </span><br
                    class="">
                  &gt;<span class="Apple-converted-space"> </span><br
                    class="">
                  &gt; --<span class="Apple-converted-space"> </span><br
                    class="">
                  &gt; View this message in context:<span
                    class="Apple-converted-space"> </span><a
                    moz-do-not-send="true"
                    href="http://forum.world.st/Non-blocking-jQuery-load-tp4861881.html"
                    target="_top" rel="nofollow" link="external"
                    class=""><a class="moz-txt-link-freetext" href="http://forum.world.st/Non-blocking-jQuery-load-tp4861881.html">http://forum.world.st/Non-blocking-jQuery-load-tp4861881.html</a></a><br
                    class="">
                  &gt; Sent from the Seaside General mailing list
                  archive at<span class="Apple-converted-space"> </span><a
                    moz-do-not-send="true" href="http://nabble.com/"
                    class="">Nabble.com</a>.<span
                    class="Apple-converted-space"> </span><br class="">
                  &gt; _______________________________________________<span
                    class="Apple-converted-space"> </span><br class="">
                  &gt; seaside mailing list<span
                    class="Apple-converted-space"> </span><br class="">
                  &gt;<span class="Apple-converted-space"> </span><a
                    moz-do-not-send="true"
                    href="x-msg://79/user/SendEmail.jtp?type=node&amp;node=4862097&amp;i=1"
                    target="_top" rel="nofollow" link="external"
                    class="">[hidden email]</a><span
                    class="Apple-converted-space"> </span><br class="">
                  &gt;<span class="Apple-converted-space"> </span><a
                    moz-do-not-send="true"
href="http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside"
                    target="_top" rel="nofollow" link="external"
                    class=""><a class="moz-txt-link-freetext" href="http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside">http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside</a></a></div>
                <br class="">
                _______________________________________________<span
                  class="Apple-converted-space"> </span><br class="">
                seaside mailing list<span class="Apple-converted-space"> </span><br
                  class="">
                <a moz-do-not-send="true"
                  href="x-msg://79/user/SendEmail.jtp?type=node&amp;node=4862097&amp;i=2"
                  target="_top" rel="nofollow" link="external" class="">[hidden
                  email]</a><span class="Apple-converted-space"> </span><br
                  class="">
                <a moz-do-not-send="true"
href="http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside"
                  target="_top" rel="nofollow" link="external" class="">http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside</a><br
                  class="">
                <br class="">
                <br class="">
                <hr class="" size="1" noshade="noshade">
                <div style="color: rgb(68, 68, 68); font-style: normal;
                  font-variant: normal; font-weight: normal; font-size:
                  12px; line-height: normal; font-family: tahoma,
                  geneva, helvetica, arial, sans-serif;" class="">
                  <div style="font-weight: bold;" class="">If you reply
                    to this email, your message will be added to the
                    discussion below:</div>
                  <a moz-do-not-send="true"
href="http://forum.world.st/Non-blocking-jQuery-load-tp4861881p4862097.html"
                    target="_top" rel="nofollow" link="external"
                    class="">http://forum.world.st/Non-blocking-jQuery-load-tp4861881p4862097.html</a></div>
                <div style="color: rgb(102, 102, 102); font-style:
                  normal; font-variant: normal; font-weight: normal;
                  font-size: 11px; font-family: tahoma, geneva,
                  helvetica, arial, sans-serif; margin-top: 0.4em;
                  line-height: 1.5em;" class="">To unsubscribe from
                  Non-blocking jQuery load,<span
                    class="Apple-converted-space"> </span><a
                    moz-do-not-send="true" href="" target="_top"
                    rel="nofollow" link="external" class="">click here</a>.<br
                    class="">
                  <a moz-do-not-send="true"
href="http://forum.world.st/template/NamlServlet.jtp?macro=macro_viewer&amp;id=instant_html%21nabble%3Aemail.naml&amp;base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&amp;breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml"
                    rel="nofollow" target="_top" link="external"
                    style="font-style: normal; font-variant: normal;
                    font-weight: normal; font-size: 9px; line-height:
                    normal; font-family: serif;" class="">NAML</a></div>
              </blockquote>
              <br style="font-family: Helvetica; font-size: 12px;
                font-style: normal; font-variant: normal; font-weight:
                normal; letter-spacing: normal; orphans: auto;
                text-align: start; text-indent: 0px; text-transform:
                none; white-space: normal; widows: auto; word-spacing:
                0px; -webkit-text-stroke-width: 0px;" class="">
              <br style="font-family: Helvetica; font-size: 12px;
                font-style: normal; font-variant: normal; font-weight:
                normal; letter-spacing: normal; orphans: auto;
                text-align: start; text-indent: 0px; text-transform:
                none; white-space: normal; widows: auto; word-spacing:
                0px; -webkit-text-stroke-width: 0px;" class="">
              <pre class="moz-signature" cols="72" style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">-- 
-----------------------------------------------------------------------
Objektfabrik Joachim Tuchel          <a moz-do-not-send="true" href="x-msg://79/user/SendEmail.jtp?type=node&amp;node=4862141&amp;i=0" target="_top" rel="nofollow" link="external" class="">[hidden email]</a>
Fliederweg 1                         <a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://www.objektfabrik.de/" target="_top" rel="nofollow" link="external">http://www.objektfabrik.de</a>
D-71640 Ludwigsburg                  <a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://joachimtuchel.wordpress.com/" target="_top" rel="nofollow" link="external">http://joachimtuchel.wordpress.com</a>
Telefon: +49 7141 56 10 86 0         Fax: +49 7141 56 10 86 1

</pre>
              <br style="font-family: Helvetica; font-size: 12px;
                font-style: normal; font-variant: normal; font-weight:
                normal; letter-spacing: normal; orphans: auto;
                text-align: start; text-indent: 0px; text-transform:
                none; white-space: normal; widows: auto; word-spacing:
                0px; -webkit-text-stroke-width: 0px;" class="">
              <hr style="font-family: Helvetica; font-size: 12px;
                font-style: normal; font-variant: normal; font-weight:
                normal; letter-spacing: normal; orphans: auto;
                text-align: start; text-indent: 0px; text-transform:
                none; white-space: normal; widows: auto; word-spacing:
                0px; -webkit-text-stroke-width: 0px;" class=""
                align="left" width="300"><span style="font-family:
                Helvetica; font-size: 12px; font-style: normal;
                font-variant: normal; font-weight: normal;
                letter-spacing: normal; orphans: auto; text-align:
                start; text-indent: 0px; text-transform: none;
                white-space: normal; widows: auto; word-spacing: 0px;
                -webkit-text-stroke-width: 0px; float: none; display:
                inline !important;" class="">View this message in
                context:<span class="Apple-converted-space"> </span></span><a
                moz-do-not-send="true"
href="http://forum.world.st/Non-blocking-jQuery-load-tp4861881p4862141.html"
                style="font-family: Helvetica; font-size: 12px;
                font-style: normal; font-variant: normal; font-weight:
                normal; letter-spacing: normal; orphans: auto;
                text-align: start; text-indent: 0px; text-transform:
                none; white-space: normal; widows: auto; word-spacing:
                0px; -webkit-text-stroke-width: 0px;" class="">Re:
                Non-blocking jQuery load</a><br style="font-family:
                Helvetica; font-size: 12px; font-style: normal;
                font-variant: normal; font-weight: normal;
                letter-spacing: normal; orphans: auto; text-align:
                start; text-indent: 0px; text-transform: none;
                white-space: normal; widows: auto; word-spacing: 0px;
                -webkit-text-stroke-width: 0px;" class="">
              <span style="font-family: Helvetica; font-size: 12px;
                font-style: normal; font-variant: normal; font-weight:
                normal; letter-spacing: normal; orphans: auto;
                text-align: start; text-indent: 0px; text-transform:
                none; white-space: normal; widows: auto; word-spacing:
                0px; -webkit-text-stroke-width: 0px; float: none;
                display: inline !important;" class="">Sent from the<span
                  class="Apple-converted-space"> </span></span><a
                moz-do-not-send="true"
                href="http://forum.world.st/Seaside-General-f86180.html"
                style="font-family: Helvetica; font-size: 12px;
                font-style: normal; font-variant: normal; font-weight:
                normal; letter-spacing: normal; orphans: auto;
                text-align: start; text-indent: 0px; text-transform:
                none; white-space: normal; widows: auto; word-spacing:
                0px; -webkit-text-stroke-width: 0px;" class="">Seaside
                General mailing list archive</a><span
                style="font-family: Helvetica; font-size: 12px;
                font-style: normal; font-variant: normal; font-weight:
                normal; letter-spacing: normal; orphans: auto;
                text-align: start; text-indent: 0px; text-transform:
                none; white-space: normal; widows: auto; word-spacing:
                0px; -webkit-text-stroke-width: 0px; float: none;
                display: inline !important;" class=""><span
                  class="Apple-converted-space"> </span></span><span
                style="font-family: Helvetica; font-size: 12px;
                font-style: normal; font-variant: normal; font-weight:
                normal; letter-spacing: normal; orphans: auto;
                text-align: start; text-indent: 0px; text-transform:
                none; white-space: normal; widows: auto; word-spacing:
                0px; -webkit-text-stroke-width: 0px; float: none;
                display: inline !important;" class="">at<span
                  class="Apple-converted-space"> </span></span><a
                moz-do-not-send="true" href="http://nabble.com/"
                style="font-family: Helvetica; font-size: 12px;
                font-style: normal; font-variant: normal; font-weight:
                normal; letter-spacing: normal; orphans: auto;
                text-align: start; text-indent: 0px; text-transform:
                none; white-space: normal; widows: auto; word-spacing:
                0px; -webkit-text-stroke-width: 0px;" class="">Nabble.com</a><span
                style="font-family: Helvetica; font-size: 12px;
                font-style: normal; font-variant: normal; font-weight:
                normal; letter-spacing: normal; orphans: auto;
                text-align: start; text-indent: 0px; text-transform:
                none; white-space: normal; widows: auto; word-spacing:
                0px; -webkit-text-stroke-width: 0px; float: none;
                display: inline !important;" class="">.</span><br
                style="font-family: Helvetica; font-size: 12px;
                font-style: normal; font-variant: normal; font-weight:
                normal; letter-spacing: normal; orphans: auto;
                text-align: start; text-indent: 0px; text-transform:
                none; white-space: normal; widows: auto; word-spacing:
                0px; -webkit-text-stroke-width: 0px;" class="">
              <span style="font-family: Helvetica; font-size: 12px;
                font-style: normal; font-variant: normal; font-weight:
                normal; letter-spacing: normal; orphans: auto;
                text-align: start; text-indent: 0px; text-transform:
                none; white-space: normal; widows: auto; word-spacing:
                0px; -webkit-text-stroke-width: 0px; float: none;
                display: inline !important;" class="">_______________________________________________</span><br
                style="font-family: Helvetica; font-size: 12px;
                font-style: normal; font-variant: normal; font-weight:
                normal; letter-spacing: normal; orphans: auto;
                text-align: start; text-indent: 0px; text-transform:
                none; white-space: normal; widows: auto; word-spacing:
                0px; -webkit-text-stroke-width: 0px;" class="">
              <span style="font-family: Helvetica; font-size: 12px;
                font-style: normal; font-variant: normal; font-weight:
                normal; letter-spacing: normal; orphans: auto;
                text-align: start; text-indent: 0px; text-transform:
                none; white-space: normal; widows: auto; word-spacing:
                0px; -webkit-text-stroke-width: 0px; float: none;
                display: inline !important;" class="">seaside mailing
                list</span><br style="font-family: Helvetica; font-size:
                12px; font-style: normal; font-variant: normal;
                font-weight: normal; letter-spacing: normal; orphans:
                auto; text-align: start; text-indent: 0px;
                text-transform: none; white-space: normal; widows: auto;
                word-spacing: 0px; -webkit-text-stroke-width: 0px;"
                class="">
              <a moz-do-not-send="true"
                href="mailto:seaside@lists.squeakfoundation.org"
                style="font-family: Helvetica; font-size: 12px;
                font-style: normal; font-variant: normal; font-weight:
                normal; letter-spacing: normal; orphans: auto;
                text-align: start; text-indent: 0px; text-transform:
                none; white-space: normal; widows: auto; word-spacing:
                0px; -webkit-text-stroke-width: 0px;" class="">seaside@lists.squeakfoundation.org</a><br
                style="font-family: Helvetica; font-size: 12px;
                font-style: normal; font-variant: normal; font-weight:
                normal; letter-spacing: normal; orphans: auto;
                text-align: start; text-indent: 0px; text-transform:
                none; white-space: normal; widows: auto; word-spacing:
                0px; -webkit-text-stroke-width: 0px;" class="">
              <a moz-do-not-send="true"
href="http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside"
                style="font-family: Helvetica; font-size: 12px;
                font-style: normal; font-variant: normal; font-weight:
                normal; letter-spacing: normal; orphans: auto;
                text-align: start; text-indent: 0px; text-transform:
                none; white-space: normal; widows: auto; word-spacing:
                0px; -webkit-text-stroke-width: 0px;" class="">http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside</a></div>
          </blockquote>
        </div>
        <br class="">
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
seaside mailing list
<a class="moz-txt-link-abbreviated" href="mailto:seaside@lists.squeakfoundation.org">seaside@lists.squeakfoundation.org</a>
<a class="moz-txt-link-freetext" href="http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside">http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside</a>
</pre>
    </blockquote>
    <br>
    <br>
    <pre class="moz-signature" cols="72">-- 
-----------------------------------------------------------------------
Objektfabrik Joachim Tuchel          <a class="moz-txt-link-freetext" href="mailto:jtuchel@objektfabrik.de">mailto:jtuchel@objektfabrik.de</a>
Fliederweg 1                         <a class="moz-txt-link-freetext" href="http://www.objektfabrik.de">http://www.objektfabrik.de</a>
D-71640 Ludwigsburg                  <a class="moz-txt-link-freetext" href="http://joachimtuchel.wordpress.com">http://joachimtuchel.wordpress.com</a>
Telefon: +49 7141 56 10 86 0         Fax: +49 7141 56 10 86 1

</pre>
  </body>
</html>