[ . . . . . . . . . . . . . . . . . . . ] [ T u r b o . L o a d i n g . T a b l e ] [ . . . . . . . . . . . . . . . . . . . ]
|
The first features which drew line between academically-hacked Mosaic and commercially-hacked Navigator was progressive display. Which is an ability to show received piece of document in the process of reception. So if anybody receiving 100K FAQ over the 300 baud modem, it will be able to finish reading the FAQ using Navigator right at the moment when it finish downloading, instead of waiting long hours until it appear on Mosaic display. While details of the very progressive display itself makes an iteresting topic for investigation, we decided to verify that progressive display works on tables. To our dismay it didn't. Which is a pity, because we have found that usage of tables to set up text margins increased dramatically, making whole document to be enclosed in table. Unfortunately, until whole table is received, document will not be visible, instantly setting us back to prehistoric Web times of Mosaic. What's even more, if transfer is interrupted in the middle of the download, already received part of table/document will not be shown anyway! |
|
To confirm our hypothesis, we have created two simple pages, which emulate fetching the document under severe server load (as if we don't have this problem naturally). This test document contains two-column table with 10 rows, each row contains is loaded with two paragraphs containing 144 words "boom " each, and delays 2 seconds after table row is sent to the browser, thus giving browser the opportunity to display part of the table. Which oppotunity said browser safely ignores (this includes both Netscape Navigator and Microsoft Internet Explorer). We have server-side included the following PERL script to fill each table row:
#!/usr/local/bin/perl
for( $para = 0; $para < 2; $para++ )
{
print "<p><b>$para</b> <br>\n";
for( $i =0; $i < 12; $i++ )
{
for( $j = 0; $j < 12; $j++ )
{
print "boom ";
}
print "<br>\n";
}
sleep(1);
}
Total size of the final table is around 17K and it takes at least 20 sec to download. Also, table contained enough hints to allow even the dumbest browser start displaying as soon as table header received. Here's the header of our test table:
<table border cellspacing = 0 cellpadding=10 cols=2 width="100%">
<colgroup span =2>
<col span=1 width="50%">
<col span=1 width="50%">
<tr><td width="50%">a cell<td width="50%">a cell</td></tr>
...
|
|
Until Cascading Style Sheets will replace tables on the layout front, we created second test page in which initial table chopped on separate tables on row boundaries, thus giving instead of one table with 10 rows 10 one-row tables. |
. . . . . . . . . . . .