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 112 applications pre-configured. Vercheck could be described as a version watcher, version monitor, page watcher, change detecter or a web page monitor. USE IT 3 WAYS ************* 1. You can simply look at http://mindprod.com/jgloss/utilities.html to see its results posted fresh each day. This won't let you add your own applications though. 2. Run it at as applet at http://mindprod.com/applet/vercheck.html without installing it. 3. Download and install it and run it as a Java utility. 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 10.2" 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. You can add utilities to the defaults.csv, run prepare and rebuild, or you can enter them on the screen. Utilities you add on the screen will not be reflected in the defaults.csv. They will be written only to the registry. 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.