Releases: shannonturner/metro-map-maker
v7.0
New features
- You can now mix and match line widths within the same map. Use the Line Size option (Keyboard shortcut: W) in the Draw menu to choose your current line's width.
- Note: Changing the line width in the style menu will still change the width for ALL lines, so now that you can mix and match, you may want to use that option with caution (though you can always undo).
- New line styles have been added. In addition to the solid lines you've been using, you can now also use a dashed line, two variations of dotted lines, and two variations of densely dashed lines. These can also be mixed and matched within the same map. These are also found in the Draw menu, or you can use keyboard shortcut Q to cycle through your options.
- Note: When using the Flood Fill feature, flood fill will only match on lines of the same color, width, and style.
- The Hide/Show Grid button (Keyboard shortcut: H) has been reworked. Now it will cycle through showing slightly darker gridlines every 3, 5, or 7 lines to help you more evenly space out lines and stations on your map. You can still hide the grid by clicking the Show Grid button; once hidden, clicking the Show Grid button again will cycle back to showing darker gridlines every 3. Numbers have also been added to the edges of the grid to help guide you.
- Note: The grid lines are only slightly darker -- it's meant to be subtle, and useful without distracting from your actual map.
- Added the Ruler feature (Keyboard shortcut: R), which lets you measure how many squares are between two chosen points. The ruler is available on its own, or while drawing or erasing. The Ruler button also shows the x,y coordinates of your cursor. This can help you more evenly space out your lines and stations on your map.
- You now have two additional options for station label orientations: Above and Below.
- Added a Redo feature (Keyboard shortcut: Control + Y; Command + Y on a Mac), which allows you to redo a change that you previously undid.
- Added buttons for Undo and Redo. Previously, Undo was usable only by keyboard shortcut (Control + Z; Command + Z on a Mac).
- Made the collapsed menu easier to read when adding/editing stations.
Bug fixes
- The grid no longer looks blurry at large map sizes:
- Searching by city no longer fails if you search for a location with a slash in it, like "New York / New Jersey"
- Fixed a problem where some edits (like changing all station orientations) wouldn't get correctly placed in the Undo buffer
- Fixed a problem where alphabetical keyboard shortcuts wouldn't work if you had CAPS LOCK turned on.
- Fixed a problem on Safari where using the undo keyboard shortcut (Command+Z) would re-open a recently closed browser tab.
- If you hold down the mouse while drawing or erasing and press G to turn on/off the guide, the guide would continue to show when it started on (even though it's now off). Now, the guide will stop showing. The reverse is also true: if you turn the guide on while clicking and dragging, it will show again, at its original position where you first clicked.
Style changes
- When editing or erasing a line, the "eraser marks" won't appear any more. (These were always temporary and would go away when adding/editing a station, downloading, saving, and other similar non-drawing actions, and wouldn't show up in the final map). These are gone now because of the changes in how the colors are drawn.
Miscellaneous
- Swiping with two fingers on a Mac to scroll the page left or right will no longer accidentally navigate forward or back in the history if you reached the edge of the map and kept going.
v6.1
Summary
Increases the maximum map size from 240x240 to 360x360 and adds a new way to browse maps: by city.
New features
- Maximum map size has been increased from 240x240 to 360x360
- Added Browse by City, so you can see all the maps of Washington DC (or your favorite city). If you don't see your city listed, you can search for it. Only about 20% of maps have been categorized as of this writing, and you can help by using the Identify Map feature released in 6.0
- On the Browse Maps screen, the number of stations a map has and the map's size are shown next to the thumbnail, so you can easily see which maps are large and have a lot of stations
Bug fixes
- Fixed a problem on Safari for Mobile where the "My Favorite Maps" and "Browse Maps by Date" buttons were disabled until you clicked either the "Edit this map anyway" or "I'm on desktop" buttons. Now you can browse maps right away.
Miscellaneous
- Each screen now has its own unique title, to better distinguish it from others in your bookmarks (previously, most pages just had the title "Metro Map Maker")
v6.0
Summary
For a video explainer of what's new, see https://youtu.be/OErGHMzAekw
If you're new to Metro Map Maker, watch this video on how to make maps with Metro Map Maker: https://youtu.be/-oJ_9-msD7g
There's lots of new features, bug fixes, and improvements -- and I've got more planned! If there's features you'd like to see, if you find a bug, or if you make a cool map, please let me know!
New features
- The "Draw" button now shows the color you've chosen, to make it easier to see which color you will draw with.
- When "Flood Fill" is enabled, the "Draw" icon will change from a pencil to a paint bucket, and the "Eraser" icon will also change to a paint bucket.
- Added a style menu (keyboard shortcut Y), which allows you to change a map's look in just a click.
- Increased the number of possible line widths from 1 to 5. Some station styles may change their appearance at different line widths.
- Increased the number of possible station styles from 2 to 28. These styles can be mixed and matched, though a few are only available when using a thick or thin line width.
- Added an option to change all of the station label orientations at once.
- The "Collapse" button (keyboard shortcut C) collapses the menu, making it take up less space. Click the "Expand" button (keyboard shortcut C) to expand the menu again.
- The Move Controls (left) button now has the keyboard shortcut [.
- The Move Controls (right) button now has the keyboard shortcut ].
- Move Map won't let you move your map out of bounds anymore, so you don't have to worry about losing your work (as long as you're not in backwards-compatible mode).
- Move Map won't move the map if you're placing or editing a station. (See "Bug fixes" below for more)
- Increased the number of colors available via keyboard shortcuts from 10 to 30.
- Maps are now easier to share -- every map will have a preview image so you can display it on social media. Thanks to lololy100 on GitHub for the request!
- Map URLs are a bit nicer now; you can access them at https://metromapmaker.com/map/BMvJTcaJ (for example) instead of the old-style https://metromapmaker.com?map=BMvJTcaJ Old-style URLs still work for backwards compatibility -- your bookmarks are safe!
- You can browse all maps ever made -- about 189,000 as of this release -- and remix them, like them, and download them
- You can download maps as an SVG (print-quality vector) image
- PNG (shareable) images can be downloaded with white or transparent backgrounds
Bug fixes
- Fixed some major problems with undo that were difficult to reproduce: when undoing, each change to your map is stored, and using undo loads the most recent change. If there was only 1 change left in the undo buffer and you made new changes to the map then later undid those, you might end up undoing a lot more than you intended, because undo would take you back to the same map state when there was only 1 change left in the undo buffer.
- If it sounds complicated, it is! It was also very difficult to figure out the precise circumstances when it would happen. I'm really sorry about this bug -- losing your work is always frustrating, and am appreciative that a few people let me know about the trouble.
- Another issue that made undo less useful than it could have been is that previously, not every action would result in a change being added to the undo buffer. This was because I thought some actions (like moving the map) wouldn't be very valuable to undo, but upon further reflection, I think this was a mistake. Now, every way you can change the map will result in that change being added to the undo buffer, allowing you to undo any change made to the map. Just note that only the 100 most recent changes are stored.
- Note: If you click and drag a line, that will store one change for each changed x,y pair on the map, but flood fill counts as a single change.
- When placing a station, using Move Map and then naming the station could cause the station not to be placed, or to be placed at the originally-selected position. Now, if you try to Move Map while the station tool is open, you won't be able to Move Map until it's closed.
- Fixed a very rare bug where a map that had the same URL hash as another identical map wouldn't load. This wasn't obvious that the map didn't load, because it would fall back to your locally-saved map, which looks identical, and the problem would resolve itself if you made any other changes and saved again. The handful of maps affected by this were recovered and now load correctly.
Miscellaneous User Interface Changes
- Generally, the user interface should now be more intuitive and easier to use. I think the design looks a lot better now too, with related features grouped together. For example, the "Add New Line" and "Edit Line" options previously blended into the rest of the buttons, but now they are separate and easier to distinguish.
- Buttons have been renamed to be shorter, and icons have been changed. For examples, "Draw Rail Line" has been renamed to "Draw", and "Snap Controls to Left" has been renamed to "Move Controls" with an arrow icon pointing left.
- Buttons now have colors that tell you what they do. Red buttons (Draw, Station, Erase, Style, etc) are used to change the map. Blue buttons (Download, Save and Share) let you save a map. Green buttons (Show/Hide Grid, Zoom, etc) make a change to the interface. Gray buttons (Delete Unused Rail Lines, Clear Map) delete parts of the map. Some buttons (like Move Map and Resize) have been moved to be with similar button types.
- Draw Color buttons are now smaller and take up much less space, but you might not be able to read very long Rail Line names. That is a tradeoff.
- The "Move Controls" button is always available now, not just after you've zoomed in enough to make it necessary to edit the rightmost part of a map.
- Much better support for editing on smaller screens, to make it easier to make maps with a split screen.
- The "Show Guide" and "Flood Fill" checkboxes have been moved to the top of the "Draw" menu to make it easier to see which is selected.
Optimizations
- Maps now draw ~8-32x faster. This is especially noticeable on larger, more detailed maps like http://metromapmaker.com/map/aUjgHqzt which previously could take between 1-4 seconds to load and now consistently draws in 150-250ms.
- Maps now use a much smaller data format, storing the same amount of data in about 3X fewer bytes, on average.
- Both of these optimizations are important, because they make it possible to increase the maximum map size in a near-future version.
Version 5.0
Improvements
- Main page and gallery now load much more quickly
- Fixed problem where extremely large, detailed maps would sometimes not load on mobile, or would only load partially
- New feature: added a guide to assist in drawing straight lines. When the guide is enabled, straight lines can be drawn from the point of origin. Disable the guide to draw freehand. This should help reduce mistakes.
- New feature: keyboard shortcuts are now available for the most commonly used tools, including the first 10 rail line colors, enabling/disabling the guide, adding/editing a station, eraser, zoom in/out, and moving the map. See the tooltips for all keyboard shortcuts.
- New feature: undo a recent mistake by pressing Control+Z
- New feature: you can now stretch a smaller map to make it into a larger map by adding more space between stations, allowing you to add more stations. Stretch map is in the Resize Map menu, and only works on maps that are 80x80 or 120x120.
- Several minor bugfixes, like ensuring tooltips were always oriented in the correct direction when resizing the window
- Maps will save more quickly now when clicking Save and Share map
Behind-the-scenes improvements
- Added caching to speed up every page load on the server side
- Improve page speed by removing unused CSS and JS assets from main page and gallery
- Added new pages to the admin to help me review maps more quickly to determine what should be included in the gallery
Version 4.0
User-facing improvements
- Major speed improvements across the board:
- Maps now load an average of 1.7x faster. This will especially be noticeable on large, detailed maps.
- Zooming in/out is now between 250-937x faster depending on map size, consistently less than 1ms.
- Resizing the map to a larger or smaller grid size is now 11-15x faster, consistently less than 75ms.
- Recentering the map is now 5-6x faster, consistently less than 75ms.
- Speed is now roughly consistent for most map operations regardless of map size.
- Some improvements to how rail line names are sanitized
- Fixed display bug where zooming in or resizing a map would sometimes lead to the rail lines incorrectly being painted black (though they would save as their correct color)
- New feature: You can now edit the color and display name of rail lines
- New feature: When you name a map, Metro Map Maker will no longer make you type that map's name in every time as long as you keep the window open. (It will assume you're working on the same map). If that is no longer true, there will be an option for you to correct the name of the map. This is cleared when you close the window, load a different map, or clear the map.
- New feature: When you remix a map, Metro Map Maker will remember that map's name so you don't have to type it in when you name the map after clicking Save & Share.
- New feature: When a map is zoomed in to a certain level, you have the option to snap the toolbox (controls) to the left or right hand side as per your preference.
- New feature: Save and Share explanation can now be hidden after you get the URL, to reduce the amount of scrolling you need to do once you've saved a map
- Design improvements, especially aimed at overall consistency between map control buttons and notices
- You can now hide the "Add new line" options without collapsing all of the existing colors too.
- If MetroMapMaker.com can't be reached due to maintenance (this is extremely rare), saving the map will now tell you rather than failing silently
- When window begins loading while sized very small and is resized, the grid now scales nicely on its own rather than forcing you to zoom in
- If you have multiple stations with the same name, you can now set their label orientations and transfer status separately
Behind-the-scenes improvements
- Completely removed the HTML grid of nested divs. Previously, an 80x80 map would require 6400 divs -- one corresponding to each square in the map. As the squares were clicked, map data would be saved as classes on the divs, which would then be converted to the map object. This was slow, and was especially slow at larger grid sizes. A 240x240 grid required 57,600 divs to work.
- Now, instead of using a grid of thousands of divs, the canvas will calculate the position of the map based on the relative x,y position of the mouse and save the information directly to the map object.
- In addition to the new features, this version attempts to re-create the functionality of the div-based grid -- and in so doing requires a large number of internal breaking changes from 3.0. This is a major refactoring.
Version 3.0 Release
User-facing improvements
- Faster map loads: Map data is now stored in a better format, so maps (especially large maps) will load faster than before. Specifically, replacements are no longer required at the javascript level on every map load.
- Faster station editing: Adding and editing stations is now much faster especially on larger maps. Previously, large maps with many features like https://metromapmaker.com/?map=rUXGqSNs would have a noticeable delay when adding/editing a station.
- Viewing home page without a specific map on mobile now displays three random maps from my favorites rather than always the same three maps.
- New feature: map creators can now name their maps
- Bugfix: fixed problem where intersecting rail lines would sometimes become unwriteable at the intersection point until that point was erased
- Bugfix: resolved rare bug where a map that somehow got saved with invalid (empty) lines would pass once as a valid map but none of the maps made from that saved map could
- Numerous miscellaneous speed improvements
Behind-the-scenes improvements
- The home page and the gallery are now Django views rather than static pages; this will facilitate a faster turnaround in development, testing, bugfixing, and new features.
- Upgraded to Python 3.7
- Upgrade to Django 2.1
- Admin: Fixed problem where map similarity view would sometimes match itself, causing multiple DOM objects with the same ID, breaking the arrow key functionality
- Admin: Headline on map similarity view no longer starts counting at 1, so a map with zero similars now shows zero.
- Admin: Admin gallery now shows number of stations every map has even if it doesn't have suggested cities
- Admin: login is now required for all admin pages
- Admin: Added individual permissions to admin action functionality
Version 2.0
What's new in Metro Map Maker v2.0
Major feature: No more switching between the grid and "Download as image" in order to see what your finished map will look like! As you make edits to your map, you'll see your finished map update in realtime. This should result in a LOT fewer clicks to create your map just the way you want it. (You'll still have to click "Download as image" in order to save your map, though.)
Better zoom: Zooming in and out is now 35 times faster, and actually works on Firefox and Edge now too.
Compatibility improvements: "Download as image" now works as intended for Safari and Edge and on mobile browsers; tooltips are now visible on Safari and Edge
Grid squares now highlight so it's easier to tell which square you're hovering over.
Cool: Major performance improvements, minor bugfixes, and stability improvements.
RIP: Station tooltips are now gone, but you shouldn't miss them too much since you'll be able to see your finished map as you make it.
It's the little things: Improved styling overall; now also uses Helvetica for its font, the same font used by DC's WMATA, NYC's MTA, and many other transit authorities.