PGV is heavily loaded with javascript to produce all
its bells and whistles. This is wonderful on a cable
connection, where the download time is not noticed.
But, on dialup, it is extremely painful. My pedigree
and individual pages are coming in at 220-300KB each
for just the html. On dialup, that is taking easily
100 seconds to download the html for the page. Then
the inline elements, media and icons, also download,
stretching the time out to 3-4 minutes per page.
So, please add a per user option of "user_speed". The
minimum value set would be "dialup" and "cable".
Adding "DSL" as a middle of the road option would be
nice, but not necessary at the beginning. A
"bare_bones" option to display the smallest html
possible would also be a nice option, but again not
necessary. Another thought just occurred.
"bare_bones" could also be used if the "user" was
detected to be a search engine spider.
Then go through the verbose sections and wrap them
with:
if($user['user_speed'] == "cable") {all the goodies}
else if ($user['user_speed'] == 'dialup' {minimal
useable functions}
else {bare_bones display. As long as they have one
method/link to leave the page to another, that is
enough.}
An example:
On the pedigree.php page, actually in functions_print.
php,
if($user['user_speed'] == "cable") {normal $LINK_ICONS}
else if ($user'user_speed'] == 'dialup' {
just add an 2 icons, pedigree and hourglass
}
else /*bare_bones*/ {treat as if
$LINK_ICONS=="disabled", user can leave page by
clicking on the individual}
Each display of the $LINK_ICONS is costing a full
second in download time at dialup speeds. On a 4-tier
pedigree, that is 15 seconds.
Another thing: If details are off on the pedigree
chart, the size is within 4k of when they are on. All
the details are sent in the html, but with
visibiity=hidden. So the page is still 250K in size.
Found out why. Non-obvious. Click in box displays
those details. Well, having that on for cable, and off
for dialup would save a lot of download time.
Another area where this needs work is the headers.
They are averaging 40-60KB. That is 10-30 seconds
depending on the connection speed.
For anonymous users, it would be wonderful if the speed
could be autodetected, but you will probably have to
resort to using an admin choice of "default cable" or
"default dialup".
The people most likely to have "interesting things to
add" to the site, are grandparents. The odds today are
that they are still on dialup. They won't use the site
if it takes too long to load and do anything.
Logged In: YES
user_id=300048
I used to use PGV from a dialup connection on an old 300Mhz
machine and I didn't feel like it was much slower than any
other website.
I did have quite a bit of memory though so there wasn't a
long render time. On a slow computer without much memory,
it can take a long time for the page to render.
One thing that you can do now to improve download time is to
to turn zlib.output_compression On as described in the
readme file. On average this will reduce bandwidth by about
50% and all the common browsers automatically support it.
Work is being done by some developers to automatically
detect spiders and reduce the bandwidth for them since they
don't send the proper headers to enable compression.
I am toying with the idea of adding some ajax-like code for
some of the popups and extras so that the data is loaded on
request instead of on page load.
--John
Logged In: YES
user_id=1337066
Turning on compression helped. It took a page down from
260K to 30K. Works good as a stopgap, but I want more.
Well, if you put in a user_speed setting for the users and
an admin choice for the default for anonymous, the code can
be optimized over time to use it. The changes to use it
don't all have to happen at once. It is just a little
difficult for me to do privately, as it is a database schema
change. Once the variable is set, I an tinker and optimize.
Thinking it over, suggested data values could be:
cable: use everything
dialup: trim where you can
spider: just data with minimal links, no print, lang,
themes, reports, etc...
Doing this also allows an admin to turn his own acount down
to "spider" levels, and see what exactly the search engines
are going to see and record. The programmers will be able
to fine tune the display rather quickly this way.
Right now, there is just too much info on a page that
belongs to other individuals, and the search engines are
going to be associating facts with the wrong individuals.
To see what i mean, on a unix machine, use "lynx" to look at
your own web site. That is a quick and dirty way to see
what the search engines are going to see a site as. The
first 70 lines and 90 urls of the page are header links
which will be identical across the whole site. In spider
mode, you would strip out almost all of that.
Go to an individual.php page, and you get the birth/death/
marriage/etc of every parent, sibling, and child listed on
the page for that "individual". You also get a listing of
all the grand children. It should only have links to each
of these relatives that the spider can follow, instead of
having their full life histories. With too much unrelated
data, using a search engine to lookup an individual will
only get you within two generations. Close, but not right.
Logged In: YES
user_id=1278885
We could also create slimmed down skins / themes. My
gorgeous theme is roughly 140KB (including graphics and
JavaScript for both PGV and my forum). I will definitely
create a lite version (at least a few of my relatives are
still on dialup).
For comparison, "standard" weighs in at 75KB, and "minimal"
is a whopping 145KB. BTW, why does "minimal" have a bigger
bandwidth impact than "standard"?