Chinese web sites are slower..

If you never try it, you will never have the insights.

I finally understood why is chinese language web sites load slower than the default English one, this is because more HTML tags are required to be associated with its encoding.

Look at how messy the code is, I wouldn't want to look at it.

Try to launch the this link, a chinese blog provider.

Hidden Element:
One of the reason is due to the fact that web authoring tool like Microsoft Front Page or Macromedia Dreamweaver are great DOM(Document Object Model) analyzer. Means that it is able to unearthed to you the hidden element of DOM's object such as a string.

~Take note that after copying from MS Word to MS Frontpage, the text or string object became underlined~

Sometimes, a DOM manipulator like Microsoft Word relies on the concept of "state" for its working. Means that if you had a string called "GONG XI FA CHAI", first you had it underlined, thus a state of "underlined" would be applied. Then you had it "bold", another layer of state added to it. Then you undo-underlined, by right the same for "underlined" should be removed. But what if you underlined it 10 times and then undo it once, I am not sure, it might be corrupted. However, you won't see the defects in Microsoft Word, but if you copy it and paste it on Frontpage, you might be surprised to see that it is underlined. This is probably due to DOM comformance standard.

The Need for Optimizer:
This also helps me to understand the basis of optimizer, which is to get rid of the redundance and repetiting elements of a particular AUTOMATION-GENERATED entity; in this case would be the HTLM file. Noticed that I highlight about AUTOMATION-GENERATED... It is not automatically generated, there wouldn't be redundance but errors, because there is no way human would be able to code redudance thingy, because we are so limited. Well if you want to argue, less-experience programmers might be coding redundance-design-codes which is not directly coherent with what we are talking here, that is due to knowledge and experience lacking.

Over here, redundancy occurred due to the following reasons:

  • The automation is not wonderfully created.

  • For technical reasons, redundancy has to be there. To explain this, let me give you one example. For instance, certain web authoring tools which provide WYSWYG interface recognizes your moment as a mean of providng automatic HTML tagging. Most of the time, if you press "enter", a p-tag would be embedded instead of br-tag. This is because there is no way for it to differentiate between a paragraph and new-line. Unless you highlight a sentence and mean it to be a paragraph, however the problem is that haven't you write anything and you already meant p-tag, how can it be communicated? - Understand me? Thus, usually br-tag would only be embedded with one move the cursor up and down again. The task of writting such HTML encoder and parser is not easy one, and those who made it are currently working for big names like Google, Apple, Microsoft. You can be famous for doing this type of programming feats

  • The feature of the web-authoring tool is not fully developed. For instance, if one needs to determine which tag to apply between p-tag and br-tag, there would probably be 100 possibilities. Hoewever, due to time constraints, only 70 possibilities are being catered for, thus leaving 30% of redudancy to the output. This could be very time consuming because it also involves the study of UCI (User computer interfaction)

  • The need for greater possibilities. Sometimes, a programmer might think too much. If a scenario can be solved with 50 possibilities, the codes might be over ambitious to cater for 100 possibilities, (a preventive metaphor to avoid bug) hence inducing 50% more of redudancy into the codes.

  • To think about more facts would create redundance isn't it ?

Instead of improving the features and logics of the web authoring tool, another way to get rid of this is to create optimizer. WHY ? because the programmer who created the web authoring tool has to time to think about that (he is busy debugging and making new features), the job has to be relied to others.

The idea of optimizer works when a scenario can be analyzed in a different angle.I like to believe but don't know how that out of the 100 possibilities, an optimizer probably just need to consider 10 possibilities. Probably because optimizer will stick to industry standard while automation would like to cater the greatest possibilities ever.

Certainly like to explore more about optimizer for the lower level such as optimizing compilers. Maybe next time.

However, now I realized that the reason for optimizer is due to the presence of man-made automation.

Another reason for slowness is due to the fact that a chinese font web site would on the average having more contents than English one because the font is smaller.

However, perhaps XML-based processing can solve the problem. Yeah, it could, but you need to build web site in a work-around method. Otherwise one would have suffer when using Google Mobile Personalized Home Page for reading non-english site.