Monday, January 2, 2017

2016 Q3/Q4 In Review

The CalTopo blog has been quiet since spring, but that doesn't mean a lack of progress, much less a lack of work.  Time to take a quick look back at the second half of 2016.

First, the personal front.  CalTopo has been my full-time job since May, and although it's averaged more than 40 hours per week, I did manage to mix a bit of vacation in.  Some of it traditionally enjoyable:

W Ridge of Pigeon Spire, Bugaboos

And some of it just grueling:

Leading the morning briefing on a campaign search after a full week of 18-20hr days.

However the universal theme for the summer, and the reason for the lack of blog updates, was that I was simply trying to stay afloat.  In between email deluges, that meant tracking down some scaling and performance issues that would always seem to trigger a crash and site outage at the most inconvenient times.

By fall, I had the performance issues sorted out, and decreasing seasonal usage lessened my customer support workload.  So it was time to get cranking on improvements.

Two lines simultaneously open for editing.
The largest of those was a major UI overhaul, moving most editing from modal, bottom-of-screen dialogs to modeless ones that stack up on the side of the screen.  This brought with it a number of improvements, including massive performance increases for large datasets, per-object visibility toggling, simultaneous editing of multiple objects (such as neighboring polygons), instant syncing of line/marker style to the map, and single-step drawing (the old UI required you to choose a style, hit OK, and then start drawing).

Per-object visibility makes it easier to clean up a cluttered map.

The other changes were much smaller but still much-needed.  Auto-drawing now has the option for larger lines (I need to make this the default), which helps prevent the oft-recurring problem of accidentally clicking next to the stream or trail rather than on it.

Auto-drawing with larger line widths.

DEM (digital elevation model) shading allowed the creation of custom shaded layers based on slope angle, elevation and aspect, but required understanding a cryptic syntax (such as s30-60e4000-6000f FF0000).  This has been replaced with a friendlier dialog that allows you to select values from dropdowns and colors from a color picker:

Preferences, such as a user's preferred datum and coordinate system, used to be stored as a browser cookie.  By storing just an ID cookie and tracking preferences in a server-side database, I can store more information without risking exceeding the cookie size limit.  This allowed me to expand to the print page, remembering a user's last selected page size, scale, and other features.

WMS and WMTS layers have been supported for a while, but reverse engineering the WMS request syntax was tricky for casual users.  The Add Custom Layer dialog now has an auto-probe option that will talk to a WMS or WMTS endpoint and try to configure the URL template automatically, making it easier to pull more third-party sources into CalTopo, particularly government run servers with a wealth of public domain (but limited geographic coverage) data.

As well as lots of smaller changes not worth listing.  That brings us to about November, when I switched gears and began working on map data instead of features.  Those are for a subsequent post, but suffice to say some exciting changes have recently gone live.


  1. Thank you for all your hard work. We all appreciate it!

  2. Sometimes, we're too busy doing it, to blog about it. Matt, you are an inspiration to me personally, and 2016 was a tough year. Glad to hear you're making a living from your vocation!

  3. Matt, I truly appreciate all your hard work. CalTopo is fantastic.