Home | Android |     Share This Page

An Android worldwide tide/current prediction program

Copyright © 2017, Paul LutusMessage Page

Current TidePredictor Version:  date 

Most recent update to this page:

Introduction | Acquire and use | Problems | Install, Source Code, Version History


TidePredictor is an Android application that represents the most recent in a series of tide prediction programs I've written over the years — a C++ program simply named Tides dating back to 2000, and a more recent Java program named JTides come to mind. I've always thought tidal forecasts would be more useful if they were more ... well ... portable, like the printed tide tables of the pre-Internet days. Because TidePredictor can be run on a cell phone, it meets that need.

As with all my Android apps, TidePredictor is free, there are no ads or come-ons and it's a GPL open-source project. Also, unlike most available tide programs, it doesn't require a Web connection to function.

(What, payment? Be nice to somebody. Appreciate your life and those of the people around you. Pet a dog. Done, finished, you're all paid up — enjoy TidePredictor.)

Acquire and use


Download TidePredictor from the Google Play Store. You can also download it here, but the Google Play Store install is a better choice because you get automatic updates for as long as you have the app.


I've done all in my power to make TidePredictor easy to use. When you first run TidePredictor, you see this display:

Using the search entry, you can search for a place name you may find useful. TidePredictor contains a database of over 3300 worldwide tide and current reporting stations, so you will likely find a suitable source of tidal data.

Choosing a Tidal Reporting Site

Press the "Enter Search" field at the top of the display and a soft keyboard will appear. Either type a name or (if your Android device is set up properly) you can speak the name you want. On my Android device, equipped with the now-standard voice-translation keyboard feature, I just said "Port Townsend" and got this result:

At this point you can scroll through the locations whose names wholly or partly match your entered search string — press the Search button to move forward through the choices, or the Back button to move back. When you find what you're looking for, press it. Let's say I press the line marked in red in the above image. Now I see:

Daily Tidal Chart

To change the date for the displayed chart, press the arrow buttons to move by days, for months, and for years. Press the Home button to return to the present date. (Also see below for a description of a calendar dialog approach to changing the date.)

Monthly Calendar

Now switch to the calendar display, either by swiping to the left on the main display or by pressing the "Calendar" tab at the top of the display. You should see something like this:

The calendar display's control buttons work much the same as for the chart display, except no day buttons. And to look at a detailed chart for a particular day, simply press one of the day squares on the calendar display — this will put that day on display in the chart tab.

Date Picker Dialog

For both the daily graph and calendar displays, a long press will launch a date picker dialog, which may simplify the process of choosing a date. Here's how it looks:

Configuration/Extras Page

The last page in TidePredictor manages a list of favorite sites (sites you've visited in the past), a list of sites near the presently displayed location, and program configuration options. Swipe the calendar display to the left or press the "Tools" tab to see this:

The "Favorites" list at the bottom of this page contains sites that you've visited in the past and that TidePredictor remembered for you (and will remember between uses). To go to a site in the list, press to open the list, then press one of the entries. Your choice will be put on display.

The CLEAR button will erase the list of favorites, but not before asking you for confirmation.

The GENERATE button will create a list of 100 tide/current reporting stations that are closest to the currently displayed location, sorted by nearest site first.

After asking for confirmation the DEFAULTS button will reset all program options to their default settings (without losing your list of favorite sites).

The options are reasonably self-explanatory, with some exceptions. The "Time Zone" drop-down list addresses a complicated and not very well-resolved issue — suppose you're in location A but displaying a chart from location B. Do you use time based on A's time zone, or B or some third possibility? What about the problem of looking at a chart for July, but it's December when you display the chart? Do you show the target date's daylight time on the chart, or the standard time of the date you view the chart (all reversed, of course, south of the equator)? These issues have no easy solutions or explanations, so I have limited the time/calendar manipulation options, fully aware that calendar issues are a can of worms, particularly daylight time (which IMHO should never have been allowed to come into existence).

One way to find out what an option does is to select an option, then switch to the chart display to see the result (in some cases this may require multiple page switches to see the effect of an option change).

Long Press Options

If the user activates the "Enable data file creation" option, TidePredictor lets you save files containing tidal charts (as graphic files) and calendar displays (as Web pages). With this option enabled, when you long-press the chart and calendar displays, instead of showing a date picker dialog TidePredictor creates a date-stamped file of the display, saved on your Android device in the Pictures directory (for the tidal chart, saved as a graphic image) or the Documents directory (for the calendar, saved as an HTML page). For this feature to work, the user must grant TidePredictor file storage permission, and a dialog is provided for this purpose.

Once the file has been saved, a sharing dialog appears which the user may use to send the file to the cloud, or to a friend, or to another destination as a document. The sharing dialogue looks more or less like this:

Full Screen Mode

Because TidePredictor packs a lot of information into its display, it has the option of filling the Android display screen completely. To enable this feature, simply press the blue bar at the bottom of any of the display pages. To return to normal display (with a tab bar at the top), press the blue bar again.


Small Displays

To do its job TidePredictor prefers to generate rather large and detailed displays, so it doesn't look very good on a device with a small display. Example from a small cell phone:

This is readable and usable, but it's just harder to use than with a large display. The calendar display is better —

— but only because one can scroll both vertically and horizontally to see predictions for a particular day.

Remember about these displays that they can be greatly improved by pressing the blue bar to access full-screen mode as explained above.

Database Accuracy Limits

The tidal database used by TidePredictor is reasonably accurate for dates between January 1, 1970 and some date in 2038 — and by "accurate" I mean its predictions agree with published tide tables within the intended date range. It's likely that some tidal predictions will become increasingly inaccurate before the higher of the two dates, because of global warming (There! I said it, Mr. Trump!) and human activities like dam building, logging, mining and similar things, activities that change patterns of water flow and tidal forecasts in areas near land and inland waterways.

Predictions (or post-dictions) can be gotten for dates outside the design range, but with the understanding that the forecasts will become increasingly inaccurate for dates outside the expected range.

Install, Source Code, Version History


The best and most reliable way to install TidePredictor is to pick it up at the Google Play store. Some may prefer to acquire the APK file here, but the Google Play store is the best choice for a number of reasons like automatic version updates and better security.

Source Code

Click this link to acquire the TidePredictor source code archive, organized as an Android Studio project. The code is licensed uder the GPL.

Version History

(Reverse chronological order)

  • 08.25.2020 Version 2.5. Mandatory retargeting to Android 10 (API 29).
  • 10.10.2019 Version 2.4. Changed target Android version to Android 9 (API 28) to meet a Google requirement.
  • 09.08.2018 Version 2.3. Rebuilt program icon set to meet current standards.
  • 08.05.2018 Version 2.2. Fixed a bug that sometimes lost user-entered preferences.
  • 08.02.2018 Version 2.1. Changed target SDK to 26, a recent Google requirement.
  • 10.18.2017 Version 2.0. Added the ability to find nearest sites based on a GPS position as well as the currently displayed chart's position.
  • 10.15.2017 Version 1.9. Changed the application interface for a better user experience.
  • 10.03.2017 Version 1.8. Improved the application's layout and added a full-screen feature for small displays.
  • 10.01.2017 Version 1.7. Fixed a user-reported bug that would create a runtime exit.
  • 09.30.2017 Version 1.6. Fixed a bug that prevented reliably changing the display calendar by increments of a year.
  • 09.30.2017 Version 1.5. Added compass bearing alongside distance in nearest-sites list.
  • 09.29.2017 Version 1.4. Recoded the activity creation method to speed things up and avoid some reliability and portability issues.
  • 09.26.2017 Version 1.3. Changed the layout and recoded some sections for a better user experience on different display sizes.
  • 09.24.2017 Version 1.2. Recoded the display capture routines to allow saving user data files in the normal Android Pictures and Documents directories.
  • 09.24.2017 Version 1.1. Added a date picker method for changing forecast dates.
  • 09.23.2017 Version 1.0. Initial public release.

Home | Android |     Share This Page