Work Location: Moab, UT and Mancos, CO (see my wife's travel log).
June marks the one calendar year anniversary of my work with Ruby on Rails and this application. Although it has been one calendar year, I took two months off during that time, and averaged about one third to one half time the remaining ten months.
As of the end of June, the database contains over one thousand RV Parks. All were hand entered from our own travels or from web searches. I entered most of them; my nephew Phillip Olsen entered a bunch also.
As a result of all of this "eating my own cooking", entering RV parks into the database is fairly easy, as is getting GPS coordinates of known and specified quality; as is finding additional information; and as is finding nearby RV parks that are not in the database.
I completed a major revision of the page layout so that the pages can be effectively resized, support larger maps, etc.
This functionality was added to the maps:
Got rid of space wasting margins.
Moved menus from buttons to tabs.
Added buttons to control size of maps.
Map width now controlled by width of window for medium and large maps, and resize with the window.
When editing the GPS coordinates of a Location via its map, the Location can now be moved by double-clicking on the spot on the map where the Location is to be placed.
Double-clicking no longer zooms the map. Trying to both position the Location and zoom at the same time zoomed when zooming was not desirable.
If you have changed the GPS coordinates of the location by moving the marker on the map, you can reset it to its original position by clicking a new "Reset" button on the map. Note that this only resets it to the position of the marker at the time the map/page was originally loaded.
Can now find locations by distance from another location.
The location browse and details pages have buttons to set "Distance Origin". This also populates new fields in the on-page Find menu that shows the Distance Origin, and provides an entry field for specifying the distance in miles along with the usual logical operators.
The first two weeks of this period were mostly down time from the point of view of the project. We lost our favorite cat, Harry. Our truck broke down. We had no Internet connection. Etc.
Several "internal" releases to modify and test the release process.
Displays markers for any other Locations in view in the detail map for a Location.
To reduce the number of markers, Locations that are close together relative to the size of the map are represented by a single Cluster marker.
Clicking on a marker displays an info window containing the name of the Location, its city, and its state/province. If the Location is other than the one detailed in the page, then the name is a link to the Location's detail page.
In browse and detail pages if a "Distance Origin" is set, the distance from the origin is given along with the heading from the origin to the Location.
On the browse page, when a distance origin is specified the result list can be sorted by distance from the origin.
Location detail maps pan and zoom faster. Markers for individual Locations are only removed if they have gone out of view; they are retained if they are still in view. This gets rid of the "all markers go away then get redrawn" blink.
Cluster markers still always get removed on each pan or zoom. The reason is that their clustering boundaries change with each pan or zoom. The boundaries change each time because they are computed with respect to the map boundaries which are changed by each pan and zoom.
Fixed bug that left "dead" copies of the marker for the Location being edited when the marker was moved.
"Disabled" items in the submenu of the tabbled application menu now display correctly. They had been showing up in odd places and in the wrong font.
Unfortunately, the solution I came up with required supplying some kind of link. So, although the disabled items look like they are not live links, they are. But all they do is return to the page on which they were clicked.
Not perfect, but better than what they did before.
Converted the main home page and the About page to use the look and feel of the main dynamic pages.
A little more cleanup of the static home pages.
Now using a group of trees instead of a red spot with an 'X' in it.
Strip whitespace of front/back of login and registration related items. Activation codes and temporary passwords were a particular problem if users followed emailed instructions to copy and paste the codes in the email message: whitespace was often inadvertently picked up.
Zooming the map took nearly twice as long as it should have because two update events were being generated for each zoom (both zoom and pan events). Put in a check to ignore redundant update events.
Map markers are now updated when the map is resized (i.e., when the window is resized). There is a delay of a quarter second between when the user ends the resizing and when an update is initiated to avoid a continuing stream of updates during the resizing (which would be very very bad).
Fixed bug that caused change of destination to not be saved if the old road miles was shorter than the new geographic miles.
Fixed bug that caused road mileage values to be zeroed-out when any destination in a trip was changed.
On Locations edit page changed address field names from "Address 1" to "Street Address" and from "Address 2" to "PO Box, Suite, etc.". This more closely reflects the way these fields are used.