[Sakai Jira] Commented: (SAKIII-1445) Create an environment that allows assessing the UI performance

Nicolaas Matthijs (JIRA) sakai3-ux-jira at sakaiproject.org
Thu Oct 28 16:43:31 PDT 2010


    [ http://jira.sakaiproject.org/browse/SAKIII-1445?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=112309#action_112309 ] 

Nicolaas Matthijs commented on SAKIII-1445:
-------------------------------------------

It probably makes sense to do it for sakai-magic and i18n as well for completeness. This becomes interesting when for example loading the environment in IE7, when evaluating a file can take up to 100ms.

A last point is that the summary view is not showing up in IE7 (haven't tested in another version). Once that is fixed, this JIRA can be resolved.

> Create an environment that allows assessing the UI performance
> --------------------------------------------------------------
>
>                 Key: SAKIII-1445
>                 URL: http://jira.sakaiproject.org/browse/SAKIII-1445
>             Project: Sakai 3 UI Dev
>          Issue Type: Sub-task
>          Components: Core UI development
>    Affects Versions: Q1 - Sprint 5 (Ends 30/09/10)
>            Reporter: Nicolaas Matthijs
>            Assignee: Stuart Freeman
>            Priority: Critical
>             Fix For: Q2 - Sprint 1 (Ends 31/10/10)
>
>
> In order to do performance evaluation, we should create an environment in which we can assess the performance of a current UI.
> This environment should consist of a parent page, that loads the page to be assessed in an iframe (or a frameset) and collects and displays the timing information that is sent from the tested page. It should load the page to be tested multiple times so we get a average values for the values and it should also be timed with different server latencies.
> Initially, we should evaluate the dashboard page (/dev/my_sakai.html) with 4 widgets enabled in the dashboard: My Groups, My Recent Contacts, My Profile, My Recent Content. Technically, this should happen by 2 javascript files that are included at the top of the dashboard page. One of these files (FileA) just holds a list of events it should expect, the other one (FileB) is a general purpose JS file that listens to all of those events, collects timing info and sends the final results to the parent page.
> Events in JavaScript work in the following way (Note that you might want to load jQuery before the 2 performance JS files):
> * Listen to an event (http://api.jquery.com/bind/):
> $(window).bind("customeventname", function(){
> ...
> }
> * Send out an event (http://api.jquery.com/trigger/):
> $(window).trigger("customeventname")
> All timing information should be handled by making a global variable inside of FileB like this:
> var start = new Date().getTime();
> Inside of an event listener you can do
> var now = new Date().getTime();
> var elapsedTime = now - start;
> For the dashboard page, the following things should be timed and reported:
> * Total page load time
> * How long it takes to get me feed
> * Time it takes to evaluate all JS files
> * Internationalization time 
> - until language files are received
> - finished translating
> * Time to fully render each widget (from moment request is done to get the widget files (WidgetLoader) to moment it is fully rendered). List of widgets on the page:
> - topnavigation
> - chat
> - footer
> - entity
> - dashboard
> - mygroups
> - mycontacts
> - myprofile
> - mycontent
> - changepic
> - uploadfiles
> - creategroup
> The moment at which a widget is fully loaded will have be determined on a widget per widget basis and you will have to look at the code to find that point.
> Expected output: 
> - Evaluation Environment
> - Excel spreadsheet with a summary of the timing results

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.sakaiproject.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the sakai-ui-dev mailing list