Browse Prior Art Database

a new methodology in code performance tuning for web application

IP.com Disclosure Number: IPCOM000236711D
Publication Date: 2014-May-12

Publishing Venue

The IP.com Prior Art Database

Abstract

More and more web2.0 application is single page application, and so there will be a lot of front-end code(html/css/js) for the single page, as the front-end code is running in client side, so the performance will be a critical thing for web dev, the code performance tuning is inevitably one of the most important thing in web2.0 application. and considering more for this, let's bring in user experience, to achieve the goal of both performance and experience, it is always a really complex work, and hard to get expected result. This article describes a new way to do performance tuning for our web application, especially for mobile web applications. It divided into two parts: 1> to do performance analysis in runtime and optimize the code by integrating html/js/css together 2> to do performance tuning based on user experience standard, split the web page and re-construct them.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 48% of the total text.

Page 01 of 13

a new methodology in code performance tuning for web application

Nowadays, the web application performance tuning is mainly based on separate tuning on javascript, html, css. And after code optimization, the user experience is always not very good for end user. We did a lot of work on performance tuning stuff, but always hard to get expected result.

Below are some well known issues:
1. hard to locate and optimize the code in big code set. it's almost impossible to do the code performance tuning for all the related code manually for big code set.

2. can not handle the code performance tuning for related js, css, html together.

3. Hard to clean/re-organize our code to catch up with the expected performance requirement, and the tuned application always not go with good user experience.

Currently there are several commonly used ways:
1. to do code review in pair or group. using code analysis tool to check the code.

2. optimize code separately(js/html/css separately), and do performance tuning stuff work for related code manually.

3. clean the code manually, build them into one or several compressed file. then refine the code manually, adjust the code loading/rendering sequence for better user experience.

However, all of them have obvious shortages and doesn't well address the challenge:
1. Hard to optimize the code manually, as it cost too much time. and it's almost impossible to do deep code performance tuning, or browser oriented performance tuning.

2. The html/css/js code are always optimized separately. It can not handle the code performance tuning for related js, css, html together as an integrated stuff.


3. For complex app system, it is always impossible to do full code re-organize for making better user experience manually.

This invention provide a new way to do the code performance tuning, which optimize the code also using js/css.. engine, and have a self Self-improvement optimize mechanism. And this invention also describes a new performance tuning methodology for web2.0 RIA application based on user experience, referring to the principle of "Psycholgy_of_Waiting_Lines" written by David H. Maister. Considering some content of "Eight Design Principles for Waiting Lines": 1. Emotions Dominate. 3. The Wait Must Be Appropriate 4. Set Expectations, Then Meet or Exceed Them 5. Keep People Occupied: Filled Time Passes More Quickly Than Unfilled Time

This new methodology have following advantages:

1


Page 02 of 13


1. load and optimize the code dynamically in engine environment, and do deep code optimization using engine.

2. bring the code relationship(html/css/js) into consideration. do performance tuning for all of the code in different type(html/js/css/..) together at one time.


3. performance tuning for user experience -- Load the page and analysis performance related factor together with experience factor(e.g. html/css/js request, sequence, loading time, rendering time...)

-- Categorize the html/css/js into different render sequenc...