PocketTimer XC™ for iPhone
from Stevens Creek Software
Go to the iTunes store to purchase a copy of this software
PocketTimer XC from Stevens Creek Software is a compete race timing software solution designed for timing high school and college cross country races and posting results directly to the web. It features:
The software consists of four main screens - Timer, Divisions, Teams, Runners, and Results, which are selected by the five "tabs" along the bottom of the screen:
You'll be interacting primarily with the Timer screen, but we'll start by looking at the Divisions, Teams, and Runners screens because those are the things you'll set up in advance of the race.
The Divisions Screen
The Divisions screen displays a list of the divisions which you have created, like this:
On this screen you see all the divisions you have created, including those who are not active in the current race you are timing. Active divisions are shown in black, while inactive divisions (which you have created but will be timing in other races) are shown in gray.
The Edit button in the upper left puts the screen into an edit mode, which allows you to delete divisions or reorder them. The + button takes you to the screen where you can enter new divisions:
Information you enter about each division is as follows:
After entering all information, tap the Save button to save the new division (don't tap the Done button in the upper right until you are finished entering all the division).
To modify the information about a division, simply tap the name of the division to modify on the main Divisions screen, and the information for that division will appear, ready to modify. The most common reason to do this will simply be to activate or deactivate the division, but, because different cross-country courses often have different lengths, you may also need to modify the distance as well. Don't forget to tap Save when you have made a change, or the changes will not be saved.
The Teams Screen
The Teams screen displays a list of the teams which you have created, like this:
On this screen you see all the teams you have added. The colors are something you select, in order to help with quick visual identification of the finishers (on-screen, not in real life!). It's perfectly ok to leave teams in your list even if they aren't involved in the current race; only teams who actually have runners in the race (and finishing) will be scored.
The Edit button in the upper left puts the screen into an edit mode, which allows you to delete teams or reorder them. The + button takes you to the screen where you can enter new teams:
Information you enter about each team is as follows:
After entering all information, tap the Save button to save the new division (don't tap the Done button in the upper right until you are finished entering all the division).
To modify the information about a team, simply tap the name of the team to modify on the main Teams screen, and the information for that team will appear, ready to modify. There really is little reason to do this.
Pasting Team Information
Entering teams in this way "by hand" is simple enough, but if you prefer, you can also copy them from the iPhone clipboard by tapping the Clipboard icon to the right of the Done button. This will take information from the clipboard which you have copied from any other software on the iPhone, for example, an email or the Notes application. The format for this data is simply the name, a tab, and then the abbreviation (you can't specify color using this method), one team per line, like this:
Cupertino->CUP
Palo Alto->PALY
Los Gatos->LGA
The "->" in the example above represents the Tab character. When you tell the software to paste team information from the clipboard, it will display the first part of what is on the clipboard on screen so you can check that you have what you think you have; when it does so, it will actually use the "->" characters in place of the tabs so you can more easily see that you have done things correctly (or not). See the section "Emailing Data to Your iPhone" at the end of the manual for tips about the best way to email information including tabs to your iPhone.
The Runners Screen
The Runners screen displays a list of the runners which you have entered, like this:
The list of runners can be displayed in a number of ways. In the image above, the names are displayed in alphabetical (by last name) order. In this mode, an alphabet down the right side of the screen, which contains only the letters corresponding to names actually in the list, can be used to quickly scroll to that section of the list. You can also display runners in Bib# order, or sorted by Team. To change the displayed order, tap on the column headings - Bib#, Name, or Team/Div - in order to sort according to that method. If you tap the already-selected Runners tab at the bottom of the screen, the list of runners will scroll to the bottom; tapping on any of the column headings (e.g., Name) will scroll back to the top.
At the top of the list you'll see two more choices. Show All displays all the runners. Uncategorized displays only those runners whose team name or division doesn't correspond to one of the entries in the list of teams or divisions you established on the other screens. Typically this will be due to an error or incomplete information about the entrant, and may be something you want to correct, which is why you can quickly find those people by tapping on the Uncategorized button.
The Edit button in the upper left puts the screen into an edit mode, which allows you to delete runners. To add a new runner, tap the + button and you'll get to this screen:
Information you enter about each runner is as follows:
When you are done entering information, tap Save (if you mistakenly tap Done, thinking you are Done, you will be reminded that you haven't actually saved the information yet). After you save one entrant, the name will be erased ready for a new entry. The Team and Division will be left as is, since you will typically be entering all the runners for one team and division in order, and the Bib# will be automatically incremented by one, since it is common for runners on the same team to have sequential numbers. Of course you can change any of this information before tapping Save for the next runner.
You can also modify information later. From the main Runners screen, just tap the name of the runner whose information you wish to modify. The screen above will appear, only this time with the existing information for that runner filled in. Make the necessary corrections, tap Save, and the runner's information will be updated. In that case you won't need to tap Done, because you'll be automatically returned to the main Runners screen.
Pasting Runner Information
Entering runners in this way "by hand" is simple enough, but if you prefer, you can also copy them from the iPhone clipboard by tapping the Clipboard icon to the right of the Done button. This will take information from the clipboard which you have copied from any other software on the iPhone, for example, an email or the Notes application. The format for this data is the information from the screen above - bib#, last name, first name, team (using the case-sensitive abbreviation established above on the Teams screen), and division (using the case-sensitive abbreviation from the Divisions screen), all separated by Tabs, one runner per line, like this:
2->Pommier->Max->CUP->VM
6->Jain->Shubhankar->CUP->VM
15->Kelsey->Charlie->PALY->VM
23->Walker->Aaron->LGA->VM
25->Jorgenson->Jacob->LGA->VM
The "->" in the example above represents the Tab character. When you tell the software to paste runner information from the clipboard, it will display the first part of what is on the clipboard on screen so you can check that you have what you think you have; when it does so, it will actually use the "->" characters in place of the tabs so you can more easily see that you have done things correctly (or not). See the section "Emailing Data to Your iPhone" at the end of the manual for tips about the best way to email information including tabs to your iPhone.
Downloading Runner Information
As an alternative to pasting runner information from the clipboard (taken from, e.g., an email), you can also download it from a file via the Internet. The information described in the previous section is put into a simple text file.
You configure the download in the iPhone Settings application, under TimerXC:
The Base URL describes the website and folder in which the file containing the list of the runners are contained. For example, if your website is www.myrunningclub.org and you want to organize the results for a particular race in a folder named our5k, the Base URL might be www.myrunningclub.org/our5k. If you have a local wireless network, with a computer running a web server, you can instead download from a local URL, like the one shown in the example above. Runners contains the name of the file containing the runners (runners.txt by convention but you can name it anything).
Assuming you have already configured the information in Settings, to download the list within PocketTimer XC, tapping + from the main Runners screen to go to the Add Racer screen. If there are any runners on the list, you must first tap Clear All to clear the list. Now the button in the upper left will read Download (if there were no racers entered, it will already read Download); tap it to download the list of racers.
The Timer Screen
Once the divisions, teams, and runners are set up (and you can add to or correct these later if you realize there is a problem), you're ready for the meat of the program - timing and scoring a race. The timing screen looks like this:
On the top are displayed the running time (0:00 in this image because we haven't started the timer yet), the current place, and, in much larger numbers, the Bib# of the racer you are about to record. Below that are the buttons used for recording. Start is used to start the timer; once it starts, the label on this button will change to Record and it will be used to record times as runners cross the finish line (or pass through a checkpoint; the software works at any time check point, obviously). The numeric buttons are used to enter the Bib# of the runner as they approach (if possible) or cross the finish line; as you enter them, the number will be displayed above, and, as we see in the example below, if that number corresponds to a runner in the list, the name of that runner will be displayed as well. This not only helps as a quality control (if a man's name appears and a women is approaching the finish line, you'll know something is wrong), but can also be used to announce the approaching runner to the crowd, if you choose.
In this example, six runners have already crossed the finish line; their teams, names and other information are displayed in a scrolling list at the bottom. Runner #11 (Corso) is approaching the finish line, and we already know who he is; we can also see in the upper right that he'll be in 7th place when he finishes. When he crosses the line, we'll tap Record to capture his time.
s.t. stands for "Same Time" and is used when two racers cross the finish line in a tie. Since you can't enter two at once, enter one of the two racers' bib# and then tap Record as they cross the line. Now enter the second bib#, and tap s.t., which will record the time for the second runner using the previously recorded time. Clear erases any bib# you are entering to allow you to correct it (there is no backspace; Clear simply erases the number and lets you start over. In practice, since the numbers are usually only a few digits, that seems simpler anyway). Even though the finishers are not exactly tied for purposes of scoring (one runner is judged to be ahead of the other), you can still assign the same time to the second runner for recording purposes.
The list of finishers at the bottom (the most recent four are always shown, but the list scrolls to show all the finishers) serves a variety of purposes, but one of them is for making additions and corrections. Sometimes, a racer crosses the finish line without their number showing. Just tap Record to record the time. Now, when you have a moment, tap that entry on the list at the bottom, and the Modify Entry screen will appear:
Enter (or correct) the Bib# as you wish, or, if relevant, change the time (perhaps you realize you were 5 seconds late on this finisher for some reason). When entering times, ignore the colons, just enter a number, e.g, "72441"; the colons will be filled in later by the software. Tap Save and the correction will be made. You can also use this technique if you completely missed a finisher and are entering them "post-facto", perhaps from a written list that someone else was compiling. Just tap Record on the main screen to record whatever time it reads, then tap the entry and use the Modify Entry screen to enter the desired Bib# and Time.
Offsetting the Time
There are a few things about the main Timer screen which aren't obvious on first glance. First is the ability to offset the time. Perhaps somehow the time displayed on screen doesn't match the "official" time. Put your finger down on the main Timer screen in the upper left on the word Time and hold it there for three seconds or more, then let go. You will be asked if you want to offset the time. If you answer "Yes," the Offset Times screen will appear:
You can enter in a value of hours, minutes, and/or seconds that you want to add to or subtract from the displayed time. So if you notice a 5-second discrepancy between the iPhone time and the "official" time, you would enter "5" in the Seconds field and make sure the selector reads Add or Subtract as appropriate, and then tap Offset in the upper-right. When you do that, if you have recorded any times already, they will also have five seconds added to or subtracted from the recorded values, reflecting the new, correct starting time.
Other "tricks" on the Timer screen: scrolling, stopping the time, clearing the times, and recalling old times
As you record times, the display on the bottom of the Timer screen always scrolls to show you the more recent four times recorded. You can of course scroll in the "normal iPhone way" using a flick of the finger. You can also scroll to the top of the list by tapping just above the recorded times on the word Place (not the "Place" in the upper-right), and you can scroll to the bottom by tapping on the already selected Timer tab at the very bottom of the screen.
When you start the timing, a message will pop up telling you how to stop the timer, which is accomplished by pressing your finger down on the Record button (a time will be recorded when you do so; don't worry about it) and holding it down for three or more seconds. When you let your finger up, you'll be asked to confirm that you really want to stop the timer. Assuming you answer "Yes," the timer will stop.
To erase the recorded times, you press your finger down on the Clear button and hold it down for three or more seconds. When you let your finger up, you'll be asked to confirm that you really want to erase the recorded times.
To erase one recorded time, presumably a time you recorded erroneously, just swipe your finger to the right across the entry (on the bottom of the screen). A Delete button will appear on the right end of the line. Tap it to delete the entry, or swipe your finger left (or just tap elsewhere) to change your mind.
It is possible to recall previously recorded times that you have uploaded to a file. Perhaps you want to re-score a race you had previously scored, but need to make a correction or something. To do this, you must first clear any existing times as described in the previous paragraph. Now, press your finger down on the word Time above the table on the bottom (not the word "Time" in the upper-left of the screen) and hold it down for three or more seconds. When you let your finger up, you'll be asked to confirm that you want to download times. If you do, the software will use the same "base URL" that it used to download runners (described earlier), adding to it the file name for the times, also from the Settings application (times.txt by default, but you can of course change the name). The format of that file is again a simple text file, one entry per line, with a bib# or a "?" if the bib# is unknown, a tab, and the time in the "colon" format (e.g., 2:23:15).
The Results Screen
The Results screen can display results by team, or by individual finisher, depending on the selection at the top of the screen:
Results are automatically calculated when you switch to the Results screen, so you can do so at any time during the recording of the finishing times - the displayed results will always be up-to-date. Team results won't be meaningful until the required number of scorers have finished for that team, although they are displayed (in an appropriate order), along with the number of finishers.
In Overall mode only, tapping on the word Place on the table header will scroll to the top. Tapping on the already-selected Results tab will scroll to the bottom of the list.
The one perhaps non-self-explanatory element of the results display occurs when a team has more actual finishers in a division than the number of "allowed finishers" specified for that particular division. Such runners will appear on the Results screen, in the proper order, but under "Place" you'll see a dash (-) indicating that their place is ignored for purposes of scoring.
Uploading the results to the web
At any time during or after the race, you can upload the results directly to the web (assuming you have a phone or Wi-Fi connection to the web!). Some key parameters for doing so are found by tapping Configure on the upper right of the Results screen.
The Race Name can contain anything you want. Tapping on Race Date will display a "date picker" allowing you to select the date. These two pieces of information will be used in the header of the web page that is created. Set the Pace in minutes per mile (mpm) or minutes per kilometer (mpk) (pace is not displayed on the iPhone itself, only on the uploaded results).
Uploading files also requires some configuration in the iPhone Settings application.
The Base URL for the upload can be a little tricky. In most web hosting sites, the "base" location for ftp (ftp="File Transfer Protocol" which is what must be used to upload files to a website) is not the same as the base location for the http files (the "web content"). A typical (but not universal) setup is found on the stevenscreek.com website. If there is a "raceresults" subdirectory at www.stevenscreek.com, the "Base URL" for http access (for downloading or web browsing) to that folder is www.stevenscreek.com/results. To get to that same directory via ftp (for uploading), the Base URL is ftp.stevenscreek.com/www/htdocs/results. (www.stevenscreek.com/www/htdocs/results may be equivalent on some systems). Again, this is not universal, but it is common, and you must know the proper "path" for this feature to work.
Downloading files from a website via http requires no special access (although if you download from your own computer, rather than from a web site, you do need to know that the computer is running a "web server"). Uploading files requires a User Name and a Password, which you must enter, as well as the actual name of the files to upload for the results and the times.
Exactly what files are uploaded is specified by the three "on/off switches" at the bottom of the Configure Results screen. You'll presumably want to upload the results themselves, setting the first switch to On. The second switch will also upload a separate file of just the Bib#'s and times. You can use this file to import into some desktop race scoring software, perhaps, and you can also use it later if you want to download those same times back into PocketTimer XC. The final switch, Names, uploads the file of names. This would be relevant if you entered new names at the race site (rather than simply downloading the complete file of names from the web), and you want to upload those new names (along with the old ones) back to the web so you'll have a permanent record of those. If you are uploading results multiple times for a race (for example, after every few finishers), you might want to set the Names to On for the first upload, and then turn it off to save uploading time. Likewise, you might want to leave Times Off, and only turn it On for the final upload.
Once you have the upload settings configured, you can initiate the upload at any time by tapping the Upload button on the upper-left of the Results screen. All uploading is done "in the background," so you can immediately get back to recording finishers if you initiate an upload while the race is in progress. The software won't let you start another upload until the first one is finished, and when an upload finishes, you'll hear a "whoosh" sound to let you know it's done.
The format for the upload of the results is fixed, and includes both the team results and the individual results. An example of the output from a sample race can be seen at http://www.stevenscreek.com/iPhone/xcresults.htm. The output is perfectly standard HTML, which means that after the race, from a computer running, for example, Dreamweaver, you can edit the file and modify the header or footer, split it into multiple pages, etc., as you wish.
Emailing the files
For those who have trouble setting up an ftp capability, or who simply seek an alternative, it is possible to email the output files (results, times, and/or runners) as attachments in lieu of using ftp. To do this, set the Base URL to the email address to which the files should be mailed (e.g., "fred@aol.com"). Each file will be attached to a separate email, with the subject line indicating the name of the file. The files will be emailed from "pockettimer@stevenscreek.com", so be sure that email address is on your "approved" list so the email doesn't end up in your spam or junk folder. PocketTimer XC uses the presence of the "at" symbol (@) to decide how to upload the results. If an "@" is present in the Base URL, the Base URL is taken as an email address and the files are emailed (and, in that case, the User Name and Password entries in the Settings are ignored). If no "@" is present in the Base URL, PocketTimer XC assumes the Base URL is indeed a URL, and attempts to ftp results to that folder.
Downloading or uploading files to a local webserver
If you don't have the ability (or desire) to put your runners.txt files on an actual website, or if you don't want to upload the results to an actual website, you can also do these things using a computer, as long as it can be accessed from the iPhone, and as long as the computer is running web server software. Here, we present the technique for doing so from a Macintosh computer; more information for both Mac and Windows users is found in the final section of this manual.
On a Mac running OS X 10.5, go to System Preferences and select Sharing. Activate Web Sharing. The computer displays two pieces of information, like this:
Your computer's website: http://192.168.1.101/
Your personal website: http://192.168.1.101/~username
Typically, you'll want to use the second format. If you use Safari on your iPhone, and enter http://192.168.1.101/~username, you'll be looking at the file Macintosh HD:Users:username:Sites:index.html (where "username" is, obviously, not literal but rather your user name on the computer). Create a folder in your Sites folder named, for example, raceresults, and then you can put the runners.txt into that folder to download, setting the Download Base URL in the Settings application for PocketTimer XC to http://192.168.1.101/~username/raceresults
Activating FTP for uploading to a local webserver: With a Macintosh, if you bought a new computer with OS 10.5 or 10.6 installed, you only need to go the Sharing portion of System Preferences, turn on File Sharing, click the Options button after selected File Sharing, and make sure Share Files and Folders Using FTP is checked. On Windows, there are various free and paid FTP servers you can install; FileZilla is one such program.
As with "regular" web sites, when you want to upload results (and/or times and/or names) back to the local computer, the base URL for upload is different than the one for download. In the example above, to upload race results back to the same folder, you would set the Upload Base URL to 192.168.1.101/Sites/raceresults. Note that you do not need the "~username" part in the name, because the User Name (and Password) are entered separately, but you do need to specify the "Sites" folder in addition to the "raceresults" sub-folder.
If you upgraded to OS X 10.5 from an earlier OS, there can be problems with permissions. This page describes what you need to do to make your system work. Even after you do that, you may still have problems with files uploaded by ftp from PocketTimer XC. The default settings in Mac OS will allow you to view those files on that same computer, but if you attempt to view them from another computer via a web server, their permissions will be wrong. This probably won't affect you (since mostly you'll be uploading results to "real" web sites which don't have that problem), but if it does, you can solve the problem like this:
Some of this (particularly when your computer isn't correctly configured to begin with) is a bit tricky, and unfortunately we cannot offer any help in this area. But if you already have a website for your race or club or company or team, the person who deals with the website shouldn't have any problems setting things up there.
Tips and Tricks
Some obvious things:
Some less obvious things:
Setting up a Web Server on Your Computer:
On Macintosh OS X: a web server is active if you go to the Sharing portion of the System Preferences, and check the box next to Web Sharing. If you have a Mac on which OS 10.5 came installed, this is all you need to do. If you have a system which was upgraded from an earlier OS (e.g., 10.4), there may be a problem. Here's how to test whether you're ready to go and how to proceed: when you go to Sharing under System Preferences and click on Web Sharing, you'll see something like this: "Your computer's website: http://192.168.1.109/", and underneath that, "Your personal website: http://192.168.1.109/~yourname/". Click on the first one and your web browser should open a default web page, which is Macintosh HD:Library:Web Server:Documents:index.html. Go back to the System Preferences screen and this time click on the "your personal website" URL. If you see another default web page (this one is Macintosh HD:Users:yourname:Sites:index.html), you're good to go. If instead you see a "Forbidden 403" message, you have a known "permission problem," for which Apple describes the solution here. The solution is fairly straightforward, involving just following some simple instructions, but no doubt some of you will find them intimidating. You have two options. If you either didn't encounter the "403" problem in the first place, or if you choose to fix your system by following Apple's instructions, then your "web home" directory will be Macintosh HD:Users:~yourname:Sites, and you'll be placing your log into that directory (folder) for downloading into the iPhone version. If you did encounter the "403" problem, and choose not to fix it, you can still download data, but in this case, your "web home" directory will be a "system" folder, Macintosh HD:Library:Web Server:Documents. This is perfectly fine, even if it's not the "approved" location.
On Windows Vista: The IIS (Internet Information Services) server is a standard part of Vista (and XP Professional), but not installed. Instructions for installing it can be found in a number of places on the Internet, such as this one. Use the web browser on your desktop computer to verify that your web server is functioning.
On Windows XP: A web server is not included with XP. However, the Apache web server, the most widely used server on the web, is freely downloadable and easily installed and configured. These instructions for doing so are quite easy to follow; the only "trick" we found is that, when using Notepad to edit the httpd.conf file, you need to make sure you tell Notepad to show all files, not just ".txt" files, or you won't see the file you're looking for. Once the web server is installed, use the web browser on your desktop computer to verify that your web server is functioning.
To verify you've got a web server running properly and that you can access it from your iPhone, just use Safari on the iPhone and enter the URL of a file you will be downloading, e.g, http://192.168.1.109/~yourname/MyLog.tad (on a Mac) or http://192.168.1.109/MyLog.dat (on Windows, or on a Mac in which you are using the system level folder). Because PocketTimer XC files are simple text files, Safari will display them as simple text, and you'll have confirmation that your server is working and you'll be able to download the data properly. If you are going to place your log in a subdirectory, you either want that subdirectory to have a name not including a space, or, if you do so, you need to use "%20" in place of the space, because Safari (or any web browser) doesn't accept spaces. So if the subdirectory is named My Logs, the URL you would need to enter in Safari (which doesn't accept spaces) would be http://192.168.1.109/My%20Logs/MyLog.dat (using the Windows example).
Emailing Data to Your iPhone:
The iPhone has a standard Mail application that can receive mail, and you can also use Safari to access various webmail sites such as Hotmail, Yahoo, etc. There are two complications when using email to send information from your desktop to the iPhone to be used within PocketTimer XC. First, many email applications convert tabs into spaces. This can be a problem at either end, that is, either the sending email software you are using, or the software you are using to receive email on the iPhone. Second, some email programs will "line-wrap" lines after, say, 72 characters. This isn't likely to be a major problem, unless your teams or runners have very long names!
PocketTimer XCdeals with the tab problem as best it can. It is programmed to recognize the common ways in which different software replaces the tab character, and it can reconstruct the proper tabs in most situations. However, in order to allow you to verify this is being done properly, when you go to paste data into your log, the software will show you the first 2000 characters of what is on the clipboard, and ask you if it "looks ok" before it proceeds to use that data. In doing so, it shows tabs as "->", so you'll be able to judge if it has recognized the tabs properly.
In general, both the tab and the line-wrap problem are best dealt with by emailing the information as an attachment to the iPhone. At the moment this only seems to work with the Mail application; using Safari to view Hotmail (and possibly other webmail) doesn't allow you to view attachments. The Mail application has its own minor problem, which is that the file must have a ".txt" ending in order to be opened as a simple text file, but that's easily dealt with. If you don't have Mail set up to receive on your iPhone, but do use Safari to view, e.g., Hotmail, send the log from Hotmail as well, in the body of the email; that seems to work.
Once you have the email in question, in the Mail app, you hold your finger down on the text, tap on Select All when it appears, and then Copy, then go to PocketTimer XC, go to the appropriate screen (as described above in the relevant sections of the manual) and tap the Clipboard (paste) icon. Safari seems to be implemented differently, in that Select All does not appear when you hold your finger down on the text. Instead, just one word is selected, and the word Copy appears. You then have to drag the left selection bar to the "top" of the file, and, sometimes, a "right" selection dot to the right, which seems to then select all the way to the bottom. This may seem confusing, but once you've figured it out, it should become routine.
Using the "Notes" application to sync data into your iPhone: As we understand it, if and only if you have a Mac desktop (i.e., not Windows), you can sync data into the Notes application on the iPhone. There is no separate Notes application on the desktop, rather, it is a part of the desktop Mail application which, incidentally, you do not have to be actually using to use its notes feature. So open the Mail application, open your desktop file of teams or runners with a text editor like TextEdit, and copy and paste the file into a new note. Now, assuming you have checked the correct box in iTunes so that Notes will sync, do a sync of the iPhone. We have noticed that sometimes it seems to take two such syncs before the new note shows up on the iPhone, so if you don't see the note appear on the iPhone, try syncing again. Now on the iPhone you'll be able to go to the Notes app, do a Select All and then Copy on the information, and then go paste them into PocketTimer XC using the clipboard button. As with email, we think you'll find this easier in practice than it is to say.
Testing the Software:
There are some files set up on the Stevens Creek Software website which you can use to try out the software. To use these files, follow these steps:
Visit the Stevens Creek Software Home Page
Visit the Stevens Creek Software iPhone Software Support Page
© 2009-2010 Stevens Creek Software LLC