The History of Portable Navigator

By Graham Collins

The Early Days

1988 was a special year for me because it was the year that I bought my first boat and started writing the program which later became Portable Navigator. I say my “first boat”, but it was in fact my second, since I had owned a large sailing dinghy, a Wayfarer, for some years before that. So having gone slightly mad at the 1988 Southampton boat show, I upgraded to a new 29ft (8.8m) French sailing boat with a “lid”. The French call this sort of boat, with a proper down below, “habitable”. A word about buying new - it took me nearly 10 years to make all the changes, install all the equipment and do the various tweaks and adjustments that I needed to make “Micawber” my boat. I think that in future I would always buy second-hand, however, in favour of buying new; it is guaranteed and there’s that evocative smell of new fibreglass!

My first real boat “Micawber” and my Wayfarer

But this is not about boats. At that time I was working for Hewlett Packard (HP), in Technical Sales. They had just introduced an early Laptop PC called the HP110, which, although advanced for it’s time, was large, heavy, with a non standard format monochrome LCD display, short battery life, (by today’s standards), and ran the MS DOS operating system; Windows had yet to appear. In the HP Sales department we had several of these 110s to play with and demonstrate to potential customers.

Before HP I had spent most of my working life writing computer programs and designing electronic interfaces for various companies including: GEC, Elliott-Automation and Vickers Medical Engineering. In fact, although qualified in Physics, I had become a bit of a software geek, writing code in both low level assembler, through higher level, FORTRAN, BASIC, ALGOL, PASCAL (and more recently object orientated languages like Borland DELPHI), so I quite enjoyed playing with the HP110 and started writing my own programs for it.

The HP 110 and the HP 150 (Courtesy of the HP Computer Museum Australia)

Portable Navigator is born

In 1988 / 89 I was experimenting with some graphics programming in Borland Turbo Pascal on an HP 150, a non IBM compatible PC. (HP always did their own thing when it came to new products), but in its favour the HP150 had one of the first touch screens! It ran the MS DOS operating system and was somewhat compatible with the HP 110 Laptop, so my little graphics programs could be transferred to the HP 110, which could be carried on a boat! These early graphics programs of mine were able to plot positions on the display in Latitude / Longitude using Mercator projection and so could display rudimentary marine charts. Now at that time GPS hadn’t really arrived, or at least wasn’t available to domestic users; however there were other electronic navigation systems on the market - notably DECCA and LORAN, based on radio beacons. Before I ventured across the English Channel for the first time, I bought a DECCA Navigator system for my boat; what’s more it had a serial output, consisting of an early version a National Maritime Electronics Association (NMEA) sentence, tagged GLL, which sent position data. The HP 110 had a serial port so I could connect the two and read and plot the boat’s position on my simple charts. My experimental program was evolving and was now named Portable Navigator, (PN).

The First Palm Top PC and the Yeoman Plotter

Around this time, 1990 / 91, HP introduced the first very small format PC, the HP 95LX Palm Top. This was really small and light, ran off 2 AA batteries or external 12v, had an RS232 COM port, used MS DOS and could run my Portable Navigator software. Also recently available at this time was another innovative navigation device, the Yeoman Plotter. This revolutionised my making of charts by enabling me to digitise printed charts. This wasn’t the use that Yeoman Marine intended, but one of its features was a Waypoint Mode, in which it sent the Lat / Long of the puck’s position on a referenced paper chart from its serial port as an NMEA WPL sentence. A series of these “waypoints” along a coastline or other chart feature could be received by Portable Navigator and converted into lines on an electronic chart. The HP 95LX was soon replaced by the 100LX and the 200LX with more memory and features, all in the same physical format; ideal for carrying on a small boat. They took up almost no space on the navigation table and used virtually no power from the boats battery. The Portable Navigator software was also evolving and had features now that included a track log, waypoints, routes, tides and course-to-steer calculations; I never sailed without it. By now GPS was replacing DECCA although it was some years before the DECCA radio beacons were switched off, so for a while I could use both systems; always useful to have a second opinion!

HP95LX (Courtesy of the HP Computer Museum Australia) and my Yeoman Plotter

A sailing boat was not the ideal place to test and debug the early versions of Portable Navigator. There was a sort of “chicken-and-egg” situation with PN and an NMEA simulator program, RECSIM (Receiver Simulator), which was actually developed in parallel with PN. The program RECSIM could simulate the output of a navigation receiver on a moving vessel, including DECCA, LORAN and GPS which was now making its appearance around 1990. RECSIM enabled me to test and debug Portable Navigator in relative comfort and safety ashore.

I now had the elements of a chart plotter and I used it from 1990 onwards for many crossings of the English Channel. Initially with a DECCA Navigator and later with my first GPS receiver, a Rockwell-Collins GPS “engine” (no display), which was a challenge from the programming point of view! It had a 9600 baud binary output frame which took a bit of decoding. Also, when you turned it on, you had to send it a binary data stream to initialise it and tell it approximately where it was. However commercially available GPS was taking off and soon other manufacturers, notably GARMIN, started to bring out GPS receivers of the type that we know today.

1990 Job Change

Around that time 1990 / 1991 I left Hewlett Packard and started my own business, Effective-Solutions (Data Products), a sort of division of Effective-Solutions Ltd., a company started by two ex-HP colleagues of mine. Effective-Solutions (Data Products) became a GARMIN reseller and, in addition, we and E-S Ltd., continued to work under contract for HP, who at that time, like so many other large companies in the industry, were “downsizing” and “outsourcing”. I found that being my own boss was the most rewarding, motivating, and exciting part of my career. I employed members of my own family including my son Lewis, (nowadays a fully qualified software engineer working for a multi-national company). At that time Lewis was writing software and designing websites. Going back to Portable Navigator development and the chicken-and-egg situation, it was Lewis who wrote the first version of RECSIM in “Borland Turbo Vision”. The DOS versions of Portable Navigator and RECSIM were now on sale.

Small is Beautiful

Portable Navigator had a way of dealing with the small memory size of the early HP Palm Tops. The track log was “skeletonised”, that is it kept all the latest fixes, but to make room for these newest fixes, it deleted each alternate old fix when the fixed length log file was full. The data was written in binary block form so reading and writing the file was very fast. The data stored was limited to time and position with the file name indicating the date, e.g. 06-09-91.log. From this limited data SOG (speed over the ground), COG (course over the ground), and distance could be calculated. This saved space on the HP Palm Top, the specification of which was typically: 1Mb RAM and 4Mb of disk, (unbelievable by today’s standards). Soon portable PC’s with more RAM and bigger hard drives began to appear, so we added a text log to PN into which you could put all sorts of other data including items from other NMEA sentences e.g. depth, temperature etc. This was when PN started to become a survey program.

Portable Navigator Evolves

The next big thing was MS Windows®, initially Windows 2 then 3.X and in 1995 Windows 95; it was about this time that PN moved to the Borland Delphi development environment becoming a proper Windows application and much more user friendly. The bonus for me, starting development in Turbo Pascal and moving to Delphi, was that all the internal code, excluding the Graphics User Interface (GUI) stuff, was directly compatible since Delphi was based on Pascal. This made porting PN to Delphi faster and easier. Also since I had maintained the file formats for charts, waypoints, routes, tides and logs the same as before, DOS version users’ previous work was protected when they upgraded. An example of this is the “John Willett Chart Portfolio” created by John on the DOS version and fully compatible with all later versions of PN. These charts are in our User Submitted Chart Library.

A word about the PN chart format – Data is stored as pairs of packed 48 bit floating point numbers, being Latitude and Longitude in decimal degrees with the line type specified by an arithmetic offset and “pen up” being indicated by [-1,-1]. The structure is block binary so reading and writing chart files is fast, but drawing the chart is very fast, this being to compensate for the slow processors in those early days (e.g. Intel 8086). Now bear in mind at that time there was no industry standard electronic chart format although the Admiralty Hydrographic Office was talking about and beginning to specify “ARCs”, (Admiralty Raster Charts) and Live Chart was in its early days, so I developed my own chart format, trying to achieve a fast chart redraw time on the slower portable CPUs of the day. Keeping to this same chart file and data format has led to blindingly fast redraw times on current PCs.

Serial Data and NMEA Pro

This was a parallel development project which removed the COM port handling of PN to a separate program, NMEA Pro, which passed the data to Portable Navigator by Dynamic Data Exchange (DDE). The main reason for NMEA Pro was the fact that there are hundreds of NMEA sentences and more are added each time the NMEA updates the specification, not to mention the many manufacturers’ proprietary sentences. They all usually have multiple fields and in most cases you are only interested in one or two of them. I wanted NMEA Pro to be as flexible as possible, so it supports up to 4 COM ports at different baud rates, with 5 different configurable NMEA sentence tag filters and the selection of up to 10 fields from anywhere in these sentences. This allows the collection of various data together with position for survey use, e.g. depth, water speed, heading, water temperature etc. In fact the entire range of NMEA data items, which includes encapsulated Automatic Ship Identification (AIS) messages - more on AIS later. NMEA Pro can also carry out position averaging, either manually controlled or automatically using the Speed Over Ground (SOG) reducing to zero. This has great uses in improving the accuracy of static position measurements, e.g. determining the position of a buoy by stemming the tide in the work boat. The combined multiple field data is sent to Portable Navigator by DDE with optional mathematical operations such as scaling, offset and unit conversions.

(That’s enough technical stuff for now!)

Portable Navigator Survey

The thing that made Portable Navigator suitable for survey work was the virtually infinite zoom capabilities of the vector chart, from displaying the entire surface of the earth down to storing and resolving chart features to centimetres. Also, quoting one of my survey users: “There are no detailed charts of this particular area, that’s why we are doing the survey!”  I now had a number of survey users, from whom I invited feedback. This led to addition of many new features including: Other grid and datum systems e.g. Ordnance Survey of Great Britain 1936, Traverse Mercator Projection etc. The OSGB requirement came from UK local government who often had their plans of infrastructure, e.g. sewer outfalls, drawn up with positions stated in OSGB. The ability to switch seamlessly between Lat / Long and OSGB Easting / Northing was essential for these PN underwater location surveys.

Raster and Vector

People still seemed to want Raster charts i.e. full colour facsimiles of paper charts, however, if you consider when they are useful, it is not in the middle of the ocean, it’s when close to the coast and entering harbours or river estuaries – so we introduced PN Raster Chartlets. You could make these by scanning a paper chart e.g. a pilotage chartlet from an almanac, referencing the NW and SE corners and saving it with other information using the tools provided in PN. You could also associate it with an information waypoint on the vector chart, which when double clicked would open the chartlet, giving you the best of both worlds, raster and vector. I had also discovered a rich source of chart coastline data, namely the US Government NOAA website http://www.ngdc.noaa.gov/mgg/coast/ . This site allows you to download coastline data derived from satellite photography for anywhere in the world. There is a PN tool to convert the downloaded data into PN chart format.

Another survey feature added was the ability to automatically lay down a grid of track lines to follow on the vector chart. This enabled you quickly to cover part of the chart with track lines for a survey job where you needed to fully explore an area, the number, length, angle, spacing and colour of the lines being configurable. (One of our American users particularly likes this Auto Grid feature). Following track lines in a work boat is usually done visually by the helmsman watching the screen; however an autopilot with waypoints at the end of each track line is an alternative. Experience showed that turning the workboat round and selecting the next waypoint could all get a bit fraught, so I developed a track line steering system which used only 2 waypoints located at infinity, well not actually infinity but at 600 Nm. If you are following track lines in an area of, say 0.5 Nm square, usually less, the bearings of these distant waypoints stay constant within < 0.1° for any of the track lines. For ease of use these Auto Steering Waypoints are automatically generated when the track lines are laid down. Switching between these waypoints is semi automatic. To understand this I need to explain another user requested feature, namely the ability to pause the Text Log while turning the workboat around. To do this a button is provided which flashes red when paused, so you won’t forget to un-pause it, and, you guessed it, releasing this button switches between the two waypoints. PN generates an HSC, (Heading Steering Command), NMEA sentence which means that, when connected to a suitable autopilot, it will steer that heading. So at the end of each track line the helmsman presses the pause button, disengages the autopilot and turns the boat round. He then visually lines up on the end of the next track line, releases the pause button and engages the autopilot. The advantage of the system is you can follow the track lines in any order you like, using the swathe plot to check that you have covered them all.

By the late 1990s Portable Navigator was becoming more and more sophisticated other features added included tow fish transducer position plotting with cross tide correction, coverage swathe plotting, video overlay data for towed underwater inspection cameras, and most recently a 3D (perspective) chart view which can make the visual following of survey track lines easier.

3D Chart View with 20 track lines 400 m long 10 m spacing alternate line types.

AIS

While all this was going on (late 1990s early 2000s), Automatic Ship Identification (AIS) had arrived and receive only systems for small vessels were starting to appear on the market. By 2002 all new ships over 300 tonnes were required to carry an AIS transponder which sends out their position, speed and other information on two dedicated VHF radio channels. A logical step was to add an “AIS RADAR” display capability to Portable Navigator which used the received AIS data to create a RADAR like display of other shipping on the PN chart. This is not so much for the survey applications but it is very useful for general navigation and safety. We had another chicken-and-egg situation; I needed an AIS Simulator for testing the AIS RADAR display code! So RECSIM evolved into AISsim which could simulate any NMEA sentence including AIS encapsulated sentences at the new High Speed NMEA rate of 38400 baud. This took me nearly a year since it involved encoding and decoding AIS data and displaying it as AIS RADAR on a chart, essentially a PN Vector chart. Anyway having done it and released AISsim around 2000, I was quickly able to incorporate the decoding and display code into Portable Navigator, so PN AIS was born and now AIS RADAR is an option on all PN versions. In PN AIS an automatic AIS target database is kept, which works like this: When an AIS target vessel’s position message is received the AIS database is searched. If the vessel is already in the database, its stored ship’s fixed data is used for the display. This avoids waiting for the ship’s fixed data message (message type 5) to arrive, before displaying it. If it is a new target, when it’s fixed data message eventually arrives, (up to 6 minutes later), it is put into the database. In use this AIS database builds into a complete list of all the vessels you have ever encountered and PN AIS provides tools to directly access it for interest and maintenance purposes. AISsim was now outselling Portable Navigator! Mostly to professional users in marine electronics companies who wanted it to test their own AIS hardware and software products.

Extreme testing of Portable Navigator

In the year 2000 my wife and I undertook a voyage in Micawber from Southampton of just less than 1000 Nm, in and around Brittany France and SW England, passing though the entire river Rance and Villaine canal systems en route, returning via South Brittany, Brest, L’Aberwrac’h, Falmouth, Dartmouth and Weymouth to Southampton. I was using Portable Navigator during the trip, logging amongst other things, Depth and Sea Temperature. This long test indicated several areas where improvements and additions could be made; these were carried out on our return to base.

Micawber’s voyage 2000

The main one of these additions was providing a separate magnified data plot window in addition to the existing small data trend plot in the main window. This coupled with the “data zoom” feature, enables you selectively plot any logged parameter of interest and locate where particular values of it occurred on the chart. This was used with the above log file to produce the English Channel depth profile shown below. Also, in the second diagram, to select a part of the log showing the depth of the canal between several locks. PN Survey has the ability to plot selected data from the Text Log, either after or during collection.

Depth profile English Channel - L’Aber to Falmouth (max depth 128 mtrs)

Depth between locks, in metres, on the Rance canal. (Micawber has a lifting keel!)

2010 / 11 What Came Next

Coming right up to date a new version of Portable Navigator, PN Logger, was developed in collaboration with another company, to add a high specification analogue-to-digital front end to Portable Navigator. This was to enable high speed magnetic surveys to be carried out in difficult and dangerous environments, e.g. minefields and intertidal areas. PN Logger can collect data at up to 30 points per sec, with position interpolation between the relatively slow GPS fixes. This enabled the use of fast survey vessels e.g. small hovercraft to skim over the area at up to 10 Knots. Magnetic transducers can be boom mounted ahead or behind the hovercraft, with the physical offset of each transducer used to determine its exact position. The magnetic effects of the vessel interacting with the earth’s magnetic field can be automatically calibrated out by the software in a process similar to swinging the compass on a ship.  By using survey grade differential GPS and sensitive magnetic transducers, sub metre position accuracy to penetration depths of 3 metres can be obtained.

PN Free

Most recently, 2011, a free simplified version of Portable Navigator was released to encourage amateur sailors to try their hand at making and updating their own electronic charts. It includes all the navigation and chart making features together with AIS RADAR, but none of the survey related things. All of the fun stuff, like the talking autopilot and AIS new target voice announcements, has been kept in. If you are interested in trying it you can download it from www.effective-solutions.co.uk .

Conclusion

I still carry my old HP Palm Top on board as a backup for the Notebook PC that I currently use. It is 20 years old and still works – that’s HP reliability for you! Newer PCs have a tendency to die in marine environments, (I am on my second!). Portable Navigator has come a long way in the last 20 years, but so have portable computers and marine electronics. However we must not use these electronic aids as an excuse for failing to carry paper charts, an almanac, and tide tables; also knowing how to use them with the depth sounder and compass for traditional methods of navigation.

Good Navigating - Graham Collins