← Previous → Next Contents

Bridge Street

Available ports (and non-ports) for other platforms

Increasingly, the first option on non-Unix platforms is to build XTide in a Linux virtual machine (VM) or a Linux environment that runs as an emulation layer, but native apps are often preferred.

If a program is derived from XTide source code, I call it a port, even if there are significant changes, code added and code deleted.  If a program contains no XTide source code but can use the same harmonics files that some version of XTide did, I call it a non-port.  These are only listed if there is no good port to a given platform.  This is not an attempt to track all tide-predicting software, only that with some commonality with XTide.  Better software having nothing to do with XTide may be available, but is not listed here.

These programs are all maintained by different people.  They may be significantly different from XTide 2 as documented here.  If you have problems with a port or non-port, please contact the correct maintainer.  I cannot help with anything but the canonical Unix distribution.


Android screenshot  

2015-01:  Will Kamp produced a GPL port of XTide 2.14 to Android.  The libxtide bit is separate from the user interface, and although it is close to stock it was rearranged somehow to work with the Android NDK build system.  Source code is available at the preceding links; the MX Tides app is available from Google Play.

Linux environments for Android now include Termux, UserLAnd and GNURoot.  In 2018-10, Paul Poffenberger reported that XTide built "almost" out of the box using the tools available from Termux.  (Linux software is expected to need patching when it is built for Termux.)

An example script for cross-compiling tide and xttpd for Android on x86 or x86_64 Linux is in the separate FunkyBuilds package available from https://flaterco.com/xtide/files.html#FunkyBuilds.

iOS / watchOS

iPhone screenshot  

2017-01:  Lee Ann Rucker did a nativized port to iOS, watchOS, and OS X using Cocoa and Objective-C++.  The free app for iPhone, iPad, and Apple Watch is available at https://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=1191127595 with sources at https://github.com/lrucker1/XTideMac.

Apple Watch

Older iOS ports:


Mac screenshot  

2017-01:  The free Mac app for Lee Ann Rucker's nativized port is available at https://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=1170393977 with sources at https://github.com/lrucker1/XTideMac.

2016-01:  Scripts to build XTide from source on a Mac are available from MacPorts.


The Linux subsystem for Windows that is known as the Windows Subsystem for Linux (WSL) is a supported Linux VM that may be easier to set up and use than a general-purpose VM.

For a compromise between a VM and a native port, there's Cygwin, an emulated Unix environment that is free for typical non-commercial users.  Notes for building under Cygwin are included in the separate FunkyBuilds package available from https://flaterco.com/xtide/files.html#FunkyBuilds.

A native Windows binary for the command-line client tide is available under contrib files and the build scripts are included in FunkyBuilds.

The following native ports of the graphical client were done:


A 32-bit DJGPP binary for the command-line client tide is available under contrib files and the build scripts are included in FunkyBuilds.



2016-07:  R is not an OS platform but a software environment for statistical computing and graphics.  Joe Thorley and Luke Miller have produced rtide based on XTide's sources and harmonics data and made it available under GPL3.  It is hosted at https://github.com/poissonconsulting/rtide.

Maemo (GTK)

From http://maemo.org/intro/:  "Maemo is a software platform that is mostly based on open source code and powers mobile devices such as the Nokia N810 Internet Tablet.  Maemo platform has been developed by Nokia in collaboration with many open source projects such as the Linux kernel, Debian, GNOME, and many more."

GTKTide by Mike Morrison is a fork of XTide 2.10 and libtcd with a GTK-based user interface, intended for use with Maemo.  As of 2009-03-04, the last revision was in 2008-11 (source revision trunk-r7).  GTKTide is available from http://maemo.org/downloads/product/OS2008/gtktide/.

GTKTide can be compiled and run under desktop Linux, though not necessarily with ease.  Under Slackware 12.2, the build scripts did not configure dependencies correctly, and it took a long line of CPPFLAGS and LDFLAGS to make it go.

The GTK interface performs well for the common use case of viewing the tide graph for a specified location, but the controls needed to engage other modes of operation and to tweak XTide settings are absent.



Walt Bilofsky implemented Tide Tool for the Palm Pilot or any other compatible device running PalmOS.  Bilofsky wrote: "Tide Tool used to qualify as a port, and still has a modest amount of code from XTide 1.5.  But since Jeff Dairiki redid the algorithm to use integer math, I'm not sure how much of it is XTide any more.  I guess I'd call it the descendant of a port."

Pocket PC / Windows CE


Dave Buchholz implemented cTide for the PocketPC 2000 or PocketPC 2002.  It's a port of a port (WXTide32), but the screenshots still look a lot like XTide.  You can find it at http://airtaxi.net/ctide/.

J2ME (cell phone)

Nokia phone with muTide  

Jörn Eichler implemented an XTide-derivative called µTide for the J2ME platform.  It is designed for modern smart phones like the Nokia N series, which have decent performance at floating-point math.  It used to be at http://www.tj-eichler.de/muTide/; as of 2016-01 this URL has been redirected to advertising.

Regis Cosnier did a port of WXTide32 to J2ME MIDP 2.0 called Free Tide Mini.

Timex Datalink USB

Timex Datalink with DTide

Paulo Marques implemented DTide for the Timex Datalink USB wristwatch.  It uses a patched version of WXTide32 on the PC to allow the user to select locations and prepare simplified harmonics data to feed the application on the watch.  It can store more than 200 (simplified) locations in the watch's memory.  The application on the watch is an assembly language non-port using only integer math.

To get the application, download TreeBrowser_vX.zip and Tree Browser Feeders/DTide.zip from the Files > WristApps archive of Yahoo Group timexdatalinkusb.

To get the source (TreeBrowser asm and patch against WXTide32), download TreeBrowser_src.zip and DTide_src.zip from the Files > WristApps archive of Yahoo Group timexdatalinkusbdevelop.

HP Calculator

HP Calculator  

David MacCuish and Dennis Straley did a similar-in-spirit non-port for HP48G and HP49G series calculators.  As of 2011-08-28, the original HpTide site at http://heygus.2y.net/hptide is gone, but version 0.3.2 (2001-11-11) is archived at http://www.hpcalc.org/details.php?id=3943.

← Previous → Next Contents