WHAT IS VERCHECK FOR?
*********************

I used to check over a dozen websites each night to see if
new versions of the software I use had been released.  This
was time consuming and error prone.  VerCheck automates this
process by checking the websites of the programs you use to
see if the version numbers have changed. It comes from the
factory with 64 applications pre-configured. Vercheck could
be described as a version watcher, version monitor, page
watcher, change detecter or a web page monitor.

HOW IT WORKS
************

For each application, you give the URL of a page to check.
You also specify some string that is on the page, usually
containing the version number.  If this string is not
present, presumably something has changed. You have to then
manually figure out what, and install the new software, then
adjust VerCheck to look for the new version number.

GOTCHAS
*******

You have to be careful designing your string to search for.
If you searched for "1.0", and the version chanced to "1.0a"
VerCheck would not notice. Similarly if the string "1.0"
appeared on the page in some other context, e.g. the version
of some other program, or part of a price, again Vercheck
would not notice, since the string it is mindlessly looking
for would still be on the page.

You have to use your browser's View Source to get the exact
string, including HTML tags, to look for. So you might for
example have to look for "version <b>10.2</b>" not "version
10.2" which is how it would appear on screen.  Sometimes
something you see on the screen is bafflingly not in the
HTML.  If you can't see it in view source, you can't use it
in VerCheck.

You have to be careful to pick a string that will be
guaranteed to disappear when the new version comes out.
Sometimes the author (Apple often does this) leaves links to
old versions or mentions the old version. This usually means
including sufficient context around the version number. In
general you want to include a bit of text both before and
after the version number.

Sometimes the version number won't appear on the page at
all, but you can put the current version number in the URL
and get different messages if the version has
changed/unchanged.

Some webmasters get silly and and needlessly bury the text
in layer upon layer of JavaScript.  Sometimes you can
download some JavaScript and scan it to look for the version
number. Sometimes you can find the version number displayed
plainly on some other page. Use Google to help you find one.
Search for [someprogram released 99.99] to find the release dates.

Sometimes a program has a special new version check in the
help menu. You can watch what it does and whe response with
a sniffer like WireShark. See
http://mindprod.com/jgloss/wireshark.html. Then you can work
out a URL and expected string to simulate what the program
does.

Abobe Flash and Adobe Shockwave run some code on your
machine to determine your platform, what you have installed
etc., then it sends that information to the server bundled
up in a cookie which then returns the version for your
particular platform. Vercheck is not bright enough to
compose cookies, so it is not capable of simulating this
process.

TopStyle does not post the latest version anywhere on the
web, but the program itself does an HTTP POST to ask if
there is a new version. VerCheck does not have the ability
to simulate this.

Sometimes you will get a false "new version". This happens
if a webmaster modifies a page to remove your marker, but
does not issue a new release of the software. You have to
find a new marker, perhaps on a different web page, that
will be more stable.  Often the names of download files are
a good bet.

Sometimes you need to look for two separate pieces on the
page with variable text in between.  Use a regex, e.g. begin
the string with regex: then compose a Java regex Pattern to
match the version.

SIGNED APPLET
*************

VerCheck is a signed Applet. You don't have to install it on
your computer.  It stores your list of application in your
registry using the Java Preferences mechanism.

You must grant permission to let it poll the various
websites.

Alternatively you can download and run the program locally
as an application with:

java.exe -jar VerCheck.jar

However, if you do that, you won't hear any of the verbal
error messages. They require the browser AudioClip support.

USE
***

To add a new application hit (+), then enter an application
name, an URL and the "marker" -- an expected response string
that will be embedded in the web page returned if the
version has not changed.

Click "Check for New Versions" to check the entire list of
applications to see if any have changed.

Click "Restore Defaults" to restore the factory setting
URLs, and markers. Your own app settings won't be affected,
but any of the factory apps will be updated. This happens
automatically every time you run VerRheck. You would use
this is if you screwed up the factory settings.

You can adjust the widths of the columns by dragging the
separator lines between the column headers.

This utility is an implementation of the Version Checker
student project described at
http://mindprod.com/project/versionchecker.html

If you are happy to just monitor the factory set of 63
applications, you don't need to run the Applet at all.  Just
use your browser to have a look at the results of daily
running this utility with the factory settings are posted
at: http://mindprod.com/jgloss/utilities.html

ADVANCED USE
************

You can use Java regular expressions in the marker field for
matching. Just prefix them with the string "regex:" without
the quotes. e.g. "regex:version[- ]+9\.9"

See http://mindprod.com/jgloss/regex.html for more
information on regex pattern finding.

When run as an application, it will export the data in HTML
format in a file called vercheckexport.html in the current
directory. You can embed that in an html page to display
current status of all your apps.

----

Version History:
***************

Versions change frequently, because any change to any of the
apps requires issuing a new version of the progam. Applet
users will automatically get the latest version.

1.0 2008-01-25 initial release

1.1 2008-01-25 new Opera beta, add VerCheck itself

1.2 2008-01-26 automatically restore default apps on every use, to automatically keep them up to date.

1.3 2008-01-29 4NT incremented build number 8.02:102 to 8.02:103

1.4 2008-01-30 4NT now repackaged as Take Command. Better thread isolation. Goldwave 5.23

1.5 2008-02-01 new Take Command, new Opera Beta

1.6 2008-02-01 remove obsolete entries. better check for Corel and Safari

1.7 2008-02-03 new version Take Command

1.8 2008-02-06 new version Take Command

1.9 2008-02-07 Firefox 12.0.0.12 and Sea Monkey 1.1.8

2.0 2008-02-09 Adobe Acrobat 1.1.2, requires regex and new Take Command

2.1 2008-02-11 Bittorrent 6.0.2 and new Take Command

2.2 2008-02-14 new version FastStone 6.0

2.3 2008-02-16 new version Take Command.  New icon for apps released in last week.

2.4 2008-02-27 new Take Command, Boot-It, iTunes, Copernic, Opera

2.5 2008-03-03 correct bug that erased user-defined apps. many small improvements.

2.6 2008-03-09 remove restore defaults button, many version change marker changes.

2.7 2008-03-26 new Firefox, Sea Monkey, Intellij

2.8 2008-04-17 many version detection changes.

2.9 2008-05-06 reorder columns so date last updated more visible.

3.0 2008-08-20 new look under Vista with native fonts, and easier to read background.

3.1 2008-08-31 all user to add a description field to each
               app. Export all data to HTML.

3.2 2008-09-02 make sound work on Vista/JDK 1.6.0_10 and in application mode.

3.3 2008-11-17 retry probes of apps that could not connect.

3.4 2008-12-17 add DONE sound (kettle switch clicking off) when all apps checked

3.5 2009-01-11 arrange that two copies of VerCheck running at once do not interfere with each other.

3.6 2009-02-20 use new HTTP library

3.7 2009-03-20 define default sand obsolutes in files rather than hard wired into the program.

3.8 2009-03-31 change layout of defaults.csv file to make it
               easier to update the parts that change most often.

3.9 2009-05-18 - now check in three passes so see interesting results sooner.

4.0 2009-06-03 - extra status information about how the check went.

4.1 2010-02-01 - now displays date AND time of last probe.

4.2 2010-03-24 - user selectable Look and Feel. Detects future dates on changes.

-30-
