|Java menu knowledge base|
Speed Issues: things you can do to increase speed
Have you optimized the size of your index files and used
multi-indices if necessary?
Have you checked out the speed parameters on the applet
and set these correctly?
Have you used path substitutions in your index file?
Have you used a START: command in the first index to
give the applet resources loading priority (see further below)?
Have you ensured that your whole page design is
streamlined and bandwidth-friendly?
Have you seen and tried the option to load indices via parameters?
Applet resource sizes
OK, it sounds obvious, but some people really overlook this.
File downloading time is proportional to file size.
Our applets mostly have sizes between 13 and 26 KB, which is pretty small and shouldn't hurt anyone. But you,
as the designer, may also have to choose and configure a number of
resource files for the applet.
Your menu content may be in a separate index file. And you
may have a number of graphics files to configure symbols,
scrollbars, frames and backgrounds. It's possible, if you have
configured everything neatly, to use an initial 10 KB or so
for the text file, plus graphics files of only a few kilobytes
each. You can have a really great implementation like that. But
injudicious choices and organisation may leave you with
90 KB of index file and the same again in graphics, which is going
to leave someone logging in from central Asia with a 14.400 modem
hanging around for a long time before the applet finally gets
going. You should also note that excessively large resource
files will not only slow downloading time, but may also
slow down performance at runtime.
What should you watch out for when designing to avoid
problems like this?
1. Avoid external files. Our applets now
offer the option of avoiding all these external resource files.
You can, if you wish, have the index inserted into the parameters,
which means that the index is actually downloaded before the
applet as part of the HTML file. You can also have the applet
create internal icons, buttons, scrolls, etc - these are rather
simple and may not be to your taste - but the option exists.
2. Optimize your external files. That means
using well-optimized graphics and splitting your index into
interlinked, separately downloaded index files. The website indexing
system manages such splitting for you automatically,
allowing you to have fast starting even if you
have hundreds or thousands of links.
Resource competition / Using the START: command
If your HTML pages which load the applet are rich with huge graphics
and other technological wonders, this may slow down the applet loading
time enormously (if the applet, like ours, is one which also
loads external resources from the server).
Even if the applet is at the top of the page, the applet's
own resource requests to the server (for its own graphics and menu source
files) take a low priority. That means that the HTML page's requests are
dealt with first. So if, for example, you have a large number of animations low down
on your opening page, the applet is going to remain inactive until those
animations are loaded. This applies even if the heavy graphics are
in a separate frame. Add up the total bytes of graphics, audio and
other download requests made by all your opening pages (the ones that
open at the same time as the applet), think realistically about how
fast your server is going to deliver all these bytes to your site visitor
at peak time, and as a rule, if the result is over 20 KB, think hard about
your loading priorities: do you want the applet to take priority, or your
snazzy opening graphics and welcome music? (An internet connection has
a finite speed).
If you want the applet to have priority, you should include a link
to your main welcome page in the first index file to be loaded into
the applet. When editing your index with the website indexing
system, you should check the "startpage" option for the link
to your main page. This forces the link (your welcome
page) to be loaded as soon as the applet has finished loading. You leave
the loading of your real welcome page up to the applet, programming
your HTML to initially just put up a fairly empty page
(perhaps just a background image and a minimal
amount of introductory text)in the main display frame. (If you are writing
the index manually, look for the START: command in the documentation.)
The result is a highly professional loading order on your main page.
(If you'd like
to see an example of this in action - albeit using a slightly
different coding system, but with the same effect, try out this
CCD Astronomy site. We don't check this link
all that often, though...)