Yes, these statements are correct for the most part. Although, in testing there has not been a timeout issue that I've come across. Essentially what is handle with users is a forward only processing of addresses. The failure to get the correct points for those users is normally dependant on the format of the address coming in. Google can at times be a bit annoying with the processing of the points that are requested, but it also occasionally responds with messages that were not anticipated. I've found in tests that is appears to be about 80% effective.
There are two items noted here that I am working through, which were caused due to some specific requirements on the system.
1. In GoMap, we used a service to keep the points up to date for the users. This service ran on a schedule to keep everything synced. I could not use a service for the core map.
2. In GoMap, the user updates triggered flags in the DB for resetting the coordinates. I could not use a trigger in the database for the core map.
So, due to these constraints, the handling of Geocoding, and sourcing the users is handled in a single forward pass and possible callback geocoding request triggered by user requests (The rule here is simple, every 5 minutes - if a single user request, is left to run for more than 30 minutes, a ClientAPI callback is raised to Geocode the points.
The points are geocoded in blocks of 300 (i think off hand here), and those are attempted until the request times out or the locations are obtained, whichever comes first. Clicking the link to import the users does the same thing.
I am working on some additional ties into the system to make it a bit more intelligent, but without the triggers and events that Gomap utilized, it is a bit more difficult.
Please feel free provide any future items you would like to see in the map - I love the feedback!
Thanks!