Uploaded image for project: 'Fluid Engage'
  1. Fluid Engage
  2. ENGAGE-434

Implement "All in one page" portalised solution to remedy performance issues in Engage on mobile devices



    • Improvement
    • Status: Closed
    • Critical
    • Resolution: Fixed
    • 0.3b
    • 0.3b
    • Kettle, Screen Navigator
    • None


      Initial performance measurements on the iphone suggest that even jquery.js, a dependency generally held benign, can take around 1.9s to be fully processed by the client runtime, even ignoring any transmission costs. (Interestingly this time is split up as 0.7s of raw execution time, with 1.2s presumably being spent while tokenising and parsing the file). Since this is an entirely unacceptable per-page overhead, we must implement a new delivery system that avoids whole-page transitions on navigation, and instead packages all shared dependencies into a single bundle which is delivered to a stationary "mobileHome" page, with transitions performed by AJAX and injection. This will require some reworking of the underlying framework and libraries (in particular, reliance on inspection of URL state on the clientside, as well as native facilities such as history.back() etc.) but is intended to be "unobtrusive" - that is, the "base application" will continue to be available using traditional HTTP semantics, for desktop machines among others.

      Colin has a trial implementation of some of these concepts in the scratchpad at https://source.fluidproject.org/svn/incubator/engage/client/trunk/screenNavigator/js/ScreenNavigatorLite.js


        1. ENGAGE-434-core.patch
          3 kB
          Antranig Basman
        2. ENGAGE-434-kettle.patch
          6 kB
          Antranig Basman

        Issue Links



              antranig Antranig Basman
              antranig Antranig Basman
              0 Vote for this issue
              0 Start watching this issue