What's new, recently fixed, and under development.
That which is live.
2 day(s) ago
Re‑assign which spreadsheet columns map to which fields — on a map you’ve already
published. On Manage Maps, use the edit (pencil) next to a map’s columns —
or Edit field assignments in the columns pop‑up — to open the new editor, change any
field (address, title, group‑by, …), and save. Previously you had to recreate the map just
to fix a field assignment.
You can also point the map at a different Google Sheet or worksheet right from that page —
choose the new source, re‑assign the fields from its columns, and save.
Saving reprocesses the map in the background with the new mapping; pin counts and the last‑sync
time update when it finishes, and you get the usual sync‑result email. Cancel leaves the map
untouched.
10 day(s) ago
Group‑by maps now handle high‑variety columns. Maps that give each distinct value
in a column its own color (group by city, category, rep, …) used to cap at roughly a hundred
groups. You can now group by columns with up to 5,000 distinct values, so large, varied data
sets map without trimming your groups first.
When a grouping column still exceeds the limit, the map editor preview and the sync‑status
email now tell you the exact reason and count, instead of a generic error.
10 day(s) ago
Your custom pin now shows on big maps. Maps with more than 20,000 points used to fall back
to plain dots — they now render your actual custom pin image, and just as fast.
A clearer map editor. Settings that don’t apply to your chosen map type or size now
explain themselves and switch off automatically — custom styles only on the normal/terrain
tiles, and the pin‑types / map‑points keys only where they have something to show.
13 day(s) ago
A dedicated app workspace. Once you’re signed in, Mapalist now has a side menu
so your maps, account, help and admin tools are always a click away — and your home page is
a dashboard showing your map count, views, and which maps need a sync.
A reimagined Maps page. Your maps now live in a fast, sortable table you can tailor:
show or hide any column (map, icon, visibility, pins, lifetime & this‑cycle views,
data columns, Google Sheet, worksheet, last sync, created), with a one‑click “Show all”.
Edit in place. Rename a map, or flip it public/private, right from the table — no need
to open it.
Everything a click away. Open the source Google Sheet, view a map’s field/column
assignments, jump to its usage, or see its full sync history — straight from each row.
More per‑map actions. View, edit, clone, print, download (KMZ/GeoJSON), a full
share menu (copy link, embed, email, social), queue a sync, and delete.
A fresh look. We refreshed the public site — home, how it works, pricing, FAQ, press
and contact — with a cleaner, more modern design.
Fixed: the LinkedIn share button works again — it had been pointing at a
sharing endpoint LinkedIn retired.
14 day(s) ago
We rebuilt Mapalist on a modern, high‑performance platform. Across the board
this means faster page loads, faster map creation and syncing from your Google
Sheets, and a more reliable, responsive site. This upgrade is the foundation that made
everything below possible.
Far bigger maps, drawn faster. A new viewport‑based rendering engine draws only
the pins and clusters currently in view, so very large maps — tens of thousands of
points and well beyond — load and pan smoothly instead of freezing.
Higher pin limits. On the back of the faster engine we raised plan limits:
Basic to 100,000 pins (was 5,000) and Volume to 250,000 pins (was 20,000).
Heat maps are back — and faster. Google removed the old heat‑map layer
from Google Maps; we rebuilt heat (concentration) maps on a GPU‑accelerated engine, so
they render again and stay smooth even with tens of thousands of points.
Show‑every‑point view for very large maps. Big maps that aren’t set
to cluster now plot every point at once with a fast GPU scatter. On “distinct pin by
column” maps each group gets its own color, so you can still read the grouping at a glance.
Draggable pins (new per‑map option). Turn it on to nudge a pin aside and see
what’s stacked underneath — visual only, it doesn’t move your underlying data.
Overlapping pins fan out. On normal‑sized maps, clicking a spot where several
pins sit on top of each other now spreads them apart so you can pick the one you want.
Cleaner huge maps. Above ~20,000 points we automatically cluster (unless it’s a
heat map) and tuck away the per‑point side list, keeping the map responsive.
Fixed: a stray “map not found” message that could briefly appear after
creating or viewing a map.
7.7 month(s) ago
Added openstreetmap as a geocoder.
Updating base tier from 19 to 25 - hosting cost increases.
Free tier thresholds adjusted.
Current users grandfathered.
1.9 year(s) ago
We are now using revision lists to track last changes to a google sheet as the file last modified date often does not include all data changes. tldr: maps should sync better.
3.7 year(s) ago
We'll give some direction and insights when creating a map if a user has Excel files in their Google Drive, and not Google Sheets.
4.9 year(s) ago
Added option to hide the yellow-ish orange street view control on the map (from edit and manage map pages).
5.1 year(s) ago
New optional assignment field for IP Address. If populated, we will geolocate the IP address to closest city, state, and country.
5.1 year(s) ago
New optional assignment field for pin label if you want text overlayed above icon.
5.1 year(s) ago
Added option to hide busienss points of interest icons, which google started showing by default.
5.4 year(s) ago
Added alarms to alert us when geocoding services have issues.
Added landscape and portrait print layout options to dashboard, view and manage map pages.
5.5 year(s) ago
Added "starts with" and "ends with" as operators for advanced criteria maps.
Speed hacked/optimized geocoding on wizard steps - that step should be faster.
Fixed adding new SVG icons to advanced criterian maps.
Added new neon green icon to complete a set.
5.6 year(s) ago
In a Google sheet where there were more columns than row headers, a user was not able to get past the first map wizard step.
The work around was to ensure your sheet had the same number of headers as columns, for all rows.
However, now the code accounts for this, as it should.
5.6 year(s) ago
Advanced type maps and group by column maps were returning no pins due to a bug.
5.6 year(s) ago
Map sync had a race condition where by a sync that was started, but not completed, before a new Google sheet update was applied, would register to us as not requiring a sync.
We now track the last updated Google sheet timstamp for the last succesful sync.
Hopefuly we have addressed this issue.
5.6 year(s) ago
New set of SVG Icons.
Default map icon is now SVG Green and 200% pin size.
Why? Because the old PNG set did not scale well in weighted maps and looked/was grainy.
5.7 year(s) ago
Beta support anonymizing a map.
Preliminarily we remove the directions link and set a wider zoom on click.
Later on we will use the postal code from the address to generalize the location.
5.9 year(s) ago
Beta support for adding pin search from your map URL query string.
To get the map to load w/ a default pin search, add "?search=tom and jerry" to your map url.
5.9 year(s) ago
Fixed bug where user w/o a payment method (on file) could not explicitly downgrade to free - it would have otherwise just failed to renew.
5.9 year(s) ago
Fixed change plan bug not replacing old subscription plan.
5.9 year(s) ago
Fixed auto-sync bug not pulling all candidtae new maps.
5 year(s) ago
Added geocoding service heartbeat and health check.
6 year(s) ago
Upgraded and migrated DB to more performant system.
Added support for unicode UTF8MB4 while we were at it.
Transaltion: you can now use emojis as ... map names, map pin info, etc.
Fix to geocoding when weights were populated.
6.1 year(s) ago
We were allowing a user to skip ahead pbefore geocoding was complete, which lead to pins not appearing on the next step, pending a fresh sync.
Now addressed.
6.1 year(s) ago
Turns out subscriptions to mapalist are considered taxable digital goods per D.C. Code ยง 47-2001(d-1).
As a result, weโve implemented a 6% sales tax as part of the checkout/invoicing process.
6.1 year(s) ago
One can now create heat maps based on pin weight, as well as set icon size based on pin weight.
Unabridged:
Previously a heat map was only a pin count heat map.
But what if you wanted to have disticnt weights for each pin?
We added the ability to capture a column that has a relative weight (on assign field step).
Thus, on heat maps and pin maps we look for that weight, if you have "apply weights" set on your map (defualt is on).
If applied and populated, you will see pin sizes and heat map concentration driven off this.
Video Tutorial here.
Spring cleaning.
6.1 year(s) ago
First pass at a dashboard.
Now you can sync, print, click to view, and see when your map was last viewed not by you, on the dashboard.
6.2 year(s) ago
Removed username and password signup in lieu of long delayed 'sign up via Google'.
Having different email and google docs accounts is still an option, if desired, and can be managed on the accounts page.
Added "sign in via Google". Users can now sign in with one click (w/o password) if their username is their Gmail or Gsuite address.
In the future we may extend this to handle username or email, as long as there is one match, or by google docs account, again, if there is only one match.
6.2 year(s) ago
Upgraded infrastruture to enable us to send updates to the browser.
You will now see status of map sync attempts on the manage maps and respective map page.
Map Page: If you are logged in, are viewing a map, and if map sync resulted in an update (i.e. more pins, or changes to pins), your map will auto-reload.
Manage Map Page: If you are on the manage maps page, and a sync was attempt was executed for a map row you can see, that row will be updated to show the status - an updated search or page refresh is no longer required.
6.2 year(s) ago
We were not showing the status of those addresses in the map creation process that geocoded to 0,0, or not plottable.
6.3 year(s) ago
List of Google Sheets on map creation was also including other files from one's drive. Fixed the filter.
Previous issue where if you had more than 100 sheets, not all were showing has been addressed.
Fixed 'open selected sheet' link on choose source page.
6.3 year(s) ago
Email on manual sync attempt from manage maps page now shows a more useful message when there was a column name change, and we are not able to sync map.
6.3 year(s) ago
Updated the pin and group key styling as well as the footer styling to be more... pleasing and consistent.
6.3 year(s) ago
Addressed issue where a single quote in the worksheet title prevented us from getting worksheet data.
Removed the restriction where if there are data columns on the far right w/o headers, allow such.
Patch for worksheet having a space preventing getting sample data.
6.3 year(s) ago
Patch for map sync when a worksheet had some, but not all, empty columns.
The old version of the Google API would auto-generate column names.
We now also autogenerate column names in this case.
We will explore replicating the legacy Google auto-generation logic so as to provide a backward compatibility.
6.3 year(s) ago
Google updated their APIs to access Sheets and docs, and is soon turning off the old APIs we previously consumed.
Thus, we had to update how we accessed docs and sheets on your behalf, before they turned off the old means of accessing such.
Therefore, we refactored, from the bottom up, our connection layer to your Google sheets and worksheets.
We now ask for less invasive permissions (we now only ask for read only access).
An outcome from this is that users will be prompted to re-link you google account when creating new maps.
However, all old maps should still sync as they did before.
While under the hood, we removed a previous limitation where by sheets w/ empty rows were an issue. Now empty rows are simply disregarded, but maps are still sync-able and able to be created from a sheet w/ empty data rows.
On account page we now show the number of deleted maps, as such are counted against total map count for free accounts.
Patch for add payment method (when user had "incomplete expired" subscription).
6.5 year(s) ago
Patch for users with multiple billing accounts
6.5 year(s) ago
Added 504 gateway timeout protection for processing large worksheets.
6.6 year(s) ago
We now show the addresses that we were unable to geocode on the manage maps page when "view sync history" is clicked. Will be none if all succeeded, otherwise will be shown below sync attempts.
6.6 year(s) ago
Added November and December themed icon sets.
6.6 year(s) ago
Map default center is now weighted center mass (geographic midpoint), not just one of the pins at random.
6.6 year(s) ago
On failure to geocode, keep going!
6.6 year(s) ago
Pin search was failing when icon key was not visible.
6.6 year(s) ago
Pin filter was ignoring icon filter but not vice versa.
6.6 year(s) ago
There was an issue rendering maps with >25k points. KML was not rendering tiles properly, and JS was too resource intensive and sunk the browser.
Thus, we swapped out KMZ loading for GeoJSON.
6.6 year(s) ago
Added pin counts to icon group key for advanced maps (applied on edit map page and on map sync).
Added pin counts to map point key (on load and on filter).
6.6 year(s) ago
Added Waldo and Halloween icons.
6.7 year(s) ago
At max zoom, show pins, not cluster number.
Removed the legacy map creation wizard.
Added filter clear icon.
Now even when pin is not available on cluster it will pan to location.
6.7 year(s) ago
Icon Key now is toggable, and updates pins on map as well as icons in map pins key if visible.
Map points key is now visible by default on new maps.
6.7 year(s) ago
Cluster map types now also support filtering.
Map pin key now supports tabbing and use of space bar and enter to pan and zoom.
6.7 year(s) ago
Pins on map now also show/hide based on filtered list.
Refactored map viewer to use MVC instead of WebForms.
Made old viewer URLs redirect to new page instead of using server transfers.
New welcome email
Hot fix for google refresh token length.
6.7 year(s) ago
Users can now set pin size (50, 75, 100, 125, 150, 200, 300%).
Upon save of a map, changes are immediately applied to production map.
(In addition, a sync job is queued for good measure in case sheet was updated during configuration.)
6.7 year(s) ago
Map Pins: Cut new versions of legacy pins and upgraded spiderify plugin. To improve how this feature looks/works.
GDPR: More thorough processing on map deletion.
Map Creation Wizard: Progress spinner on queuing geocode jobs. Added back link to sample google sheet.
Printing: hide some map footers on printing of map
6.7 year(s) ago
Build from the ground up map creation workflow.
Features include: use of dynamic controls like google sheet and worksheet search, better error messages and error handling, back button now enabled, full sheet previews, better showing of status, offloaded geocoding, less steps, less error prone, less memory intensive.... we changed a lot on the back-end so that the front end experience should be more smooth.
Now showing badge and tooltip on manage maps page for maps over lifetime view limit, and maps over points per map limit.
Now including deleted maps in free plan total map count.
6.8 year(s) ago
Candidate fix for previous issue when Google Sheets API ListFeed would not return a cell when it was empty, and we treated such as an error as opposed to setting to empty string.
6.8 year(s) ago
Upped the premium renewal allowance from 2 hours to 4 hours.
6.8 year(s) ago
Added 3 new icon sets (kittens, new colored google map markers, a new GIS special set of SVGs in lieu of fontawesome, which was used prior, but didn't display right on maps, bc black w/o stroke).
6.8 year(s) ago
Security: New maps will be referenced by map guid. Legacy maps still have map id support. Old links to map ids should still work on share, and view pages. KMZ no longer supports map ids.
Security: Enforcement of TLS 1.2
Rebuilt maps view page in newer tech.
Added share map button to manage page
6.8 year(s) ago
Users can now view recent sync history on the manage maps page
Privacy: New maps are private by default.
6.8 year(s) ago
Cleaned up/lightly refactored save map step to be consistent w/ configure map controls.
6.8 year(s) ago
On manage maps now have the crude ability to see field asignments - will assist with debugging.
6.8 year(s) ago
Added all the options short of re-assigning fields. For the moment, map center can only be set on manage maps page.
6.8 year(s) ago
Added new sets of icons for use in edit map and wizard.
Added support for custom user uploaded GIFs and JPEGs
6.9 year(s) ago
Added Ability to clone/duplicate maps (settings, data, et all).
6.9 year(s) ago
Change configuration including type, and icons, and filters for maps.
One is now able to do everything short of re-assigning fields.
Daily sync now includes all premium account maps (previously was restricted to users having logged in in prior 2 months.)
Tweaked the previous map sync statuses that would prevent trying next day (ie if we had lost access to google sheet due to google auth permission changes). Will now try again more often, might/will tweak this again moving forward.
6.9 year(s) ago
Download map KMZ from manage map page.
Cleaned up acquire geocode page layout.
Reverted heat map change per request from user.
Added support for multiple billing accounts tied to one mapalist account.
6.9 year(s) ago
Map creation geocode step made more layman and also finally added auto-refresh during process.
Heat map fixes to load via JS by default if < 40k points. Also changed stlye to make better at higher zoom levels.
6.9 year(s) ago
Manage maps page refactored from the ground up.
Now has filters.
Access/see source google sheet and work sheet.
Edit with less clicks.
Basic and advanced config visible.
Responsive desgin.
Infinite scrolling.
Custom maps styles (currenty available on the manage maps page): pink, retro, night, aubergine, silver, dark
Prorated credit on change of paid plans in effect. (see pricing page for details)
Added billing cycle dates, days left in cycle, if cancellation scheduled to account page.
7 year(s) ago
Map View Counts: For free accounts map view counts are calculated on a calendar month (ie Feb 2019).
For paid plans, map view counts are according to billing cycle (ie 2/13/19-3/12/19).
Updated account page w/ more plan and usage details.
Launched support for higher volume plans and updated pricing. (Ability to downgrade and upgrade on one's own in active development still.)
7 year(s) ago
We'll now email you the status of your async map sync request
7 year(s) ago
Map pin limit for paid plans is now 5000 from 2501 previously. Free limit is now 500.
7 year(s) ago
Most of the site made responsive UX (map creation, account, about, pricing, terms, FAQ, press)
Added premium plans to cover increased costs (see blog)
Data sync between maps and sheets now queued as asynchronous task from the manage maps page - previously there was an issue with update action timing out.
Unicode/UTF8 support: now/finally foreign characters supported! Emoji characters (UTF8MB4) on the roadmap, but requires coordination to prevent site outage.
Too many things refactored to list - that is what happened when you have a code base a decade old and you finally get back into it.
Upgrade lot of site from ASP.NET Web Forms to MVC 5.
Bootstrap 3 -> Bootstrap 4. FontAwesome added.
Removed aged nabble help forum.
Zendesk domain from innovationgeo.com -> blarghlabs.com
Help email from help@mapalist.com -> ping@blarghlabs.com
Gave blog a little face lift.
Restyled and added content on usage to the account page
Sharing release notes #metamoment
Ambitions and priorities on the horizon
creating map from multiple google sheets
updates to maps as you update your sheet, and/or more frequent updates