Monday, September 26, 2011

2012 Letterboxing Calendars Have Arrived!


Location: Alki, Seattle, WA
Thanks to everyone who submitted photos for the 2012 calendar--you guys really did an amazing job out there!

Order yours today!

If I used one of your photos, you'll have a free calendar coming your way. And if you'd like to score a free 2013 calendar next year, start submitting your photos for the next calendar! =)

January


Location: Seward SeaLife Center, Seward, AK
Photo by: Mark and Sue Pepe

February


Location: Palm Springs Mountains, CA
Photo by: Clarinet 226

March


Location: Newport, OR
Photo by: Yiker

April


Location: El Santuario de Chimayo, NM
Photo by: Twinville Trekkers

May


Location: Burke County, NC
Photo by: The Wolf Family

June


Location: Twin Falls, ID
Photo by: FrogiNater

July


Location: Damascus, MD
Photo by: yachtygirl

August


Location: Watkins Glenn, NY
Photo by: The JaJa's

September


Location: Weiser River, ID
Photo by: Yak King blues

October


Location: Ha Ha Tonka State Park, MO
Photo by: Hart x6

November


Location: Chuckanut Mountain, WA
Photo by: Mariner Fan

December


Location: Washington, IA
Photo by: Maude

Wednesday, September 14, 2011

All Aboaaarrrddd!

Viaduct Park, while hunting down some letterboxes. =)
I'm finally doing it--posting about an event I attended. It's like this--I find the going-ons about far-flung events interesting, and I've always liked the idea of posting about the ones I attend for everyone to enjoy. Not unlike my Great Adventures, really, except these aren't quite so ambitious in nature. Not for me, at least! =)

But then I never seem to get around to posting about them. Oh, there are features on AQ I can work on instead. There's always the catching up on e-mail and posts that seems like a never-ending battle.

But today.... TODAY! I will post about All Aboaaarrrddd! The Letterboxing Express!

It started like this.... many moons ago, I saw the word "train" and I thought, "Yeah, I have to do that." You see, I love trains. =) So I immediately signed up for the event in Ohio. I signed up under an alias because, why not? What if I couldn't make it after all? What if flights were full? What if, what if, what if...? Nobody really had to know we planned to attend.

Amanda and I left Seattle Thursday night, arriving in Cleveland the next morning. We couldn't check into our motel until 3:00, so we spent the morning and early afternoon letterboxing.

Butterfly in Viaduct Park
That evening, we headed to the Spaghetti Warehouse for the Evening Before the All Aboard Event--an event I managed to overlook but fortunately Amanda caught. =) Safari Man organized this particular gathering at the last minute.

We ate, we laughed, and ate some more, then laughed a little more--not necessarily in that order. =) We got exchanges "out of the way"--saying that like it was a chore, but it really wasn't. Tomorrow there would be a lot more people, almost none of which I've ever met, and I knew I'd be plenty busy exchanging. Knocking some of that out early seemed like the prudent thing to do. Our secret arrival was no longer a secret--so I thought. The Big Event wasn't until the next morning and I figured someone would have posted about our attendance on the Ohio message board, but surprisingly, nobody did. I wasn't even trying to keep the secret anymore, but the Ohio board was suspiciously quiet. (Lesson #1: Never trust a suspiciously quiet board--especially if it already has about 25,000 posts!)

Then, the next morning, was the Big Event. Amanda and I pulled up to the train station early and was impressed with the steam engine chugging along the tracks. A steam engine! I didn't realize we'd be riding in a steam engine! Way cool! Then the train left without us and a regular train arrived. Nope, the steam engine wasn't our train. That's okay, though. From inside the train, you can't even see the engine anyhow. Really, to appreciate the beauty of a steam engine, you have to be outside of it. =)

The Spaghetti Warehouse gathering
The hosts, Anne Bonny and Paisley Pineapple, were as surprised at our sudden appearance as the other attendees. Paisley Pineapple wasn't surprised this morning since I had seen her the night before at the Spaghetti Warehouse, but apparently she kept my arrival a secret from her co-host, tormenting her with rumors about a "you'll never believe who's here!" but not elaborating further

I have to admit, I enjoyed surprising Anne Bonny. I've seen her in the AQ chat rooms countless times over a period of the months--the last time was just a few days before--and she was going on about the event and all of the time and effort she put into planning it, and how excited she was about it. And the whole time, I quietly listened, never hinting that I had signed up for the event and would be meeting her face-to-face in just a few days. And more than once, I caught her looking at me, shaking her head in wonder. Or maybe dismay. It's hard to tell sometimes. =)
This is the steam train we thought we'd be getting on.....
This is the train we actually got on....


Then it was time to board the train where the stamping frenzy continued.

The Cuyahoga Valley Scenic Railroad would run right through the heart of Cuyahoga Valley National Park, following along the Cuyahoga River which is most famous for catching on fire in 1969. It also caught fire in 1868, 1883, 1887, 1912, 1922, 1936, 1941, 1948, and 1952--but it was the fire on June 22, 1969 that grabbed the nation's attention. Time magazine wrote that August about the Cuyahoga River:

The Cuyahoga River... on fire!
Some River! Chocolate-brown, oily, bubbling with subsurface gases, it oozes rather than flows. "Anyone who falls into the Cuyahoga does not drown," Cleveland's citizens joke grimly. "He decays". . . The Federal Water Pollution Control Administration dryly notes: "The lower Cuyahoga has no visible signs of life, not even low forms such as leeches and sludge worms that usually thrive on wastes." It is also -- literally -- a fire hazard.
The river today is quite scenic and while I may not be willing to drink out of it without treating the water, at least it looks good! It's hard to imagine how bad the river had become and the transformation it's undergone over the years.

But when you see what happens when you
dip your hand into the river, it's not really all
that surprising that it can catch on fire.
The train stopped in the town of Peninsula, a cute little town bursting with letterboxes. I completely forgot to bring any rain gear at all, and it was raining enthusiastically when we first arrived, so Amanda and I wandered around a bit looking for somewhere to buy ponchos or cheap umbrellas. We found ponchos in a small store and Paisley Pineapple loaned us her umbrella, so we were set. Amanda immediately went in search of all of the bookstores in the area. =)

We ended up only finding one letterbox--mostly because we found a "suspicious pile of people" at one business and joined in on the stamping frenzy--on our way to the bookstore.

Afterwards, we stopped at the Winking Lizard for lunch, dining with 2-2 wheelers. Then it was back to the train for the rest of our ride. =)

Anne Bonny and Paisley Pineapple check in
jeeves for the event.
The cooties came out in force by now, and even the train conductor was not spared. Who got pictures of that? I know some people claimed to have photos of that, but I didn't get one. I did, however, cootie a baby, and it was so easy and fun, I did it a second time. Not long thereafter, the phrase "as easy as cootieing a baby" came into being. =)

The most fun of the whole trip, however, wasn't cootieing a baby. Nope, it was watching Amanda plant a series of virtual cooties on letterboxers passing through the train. She'd lightly tug the back of their shirts and jackets so the person would assume they had been cootied. They'd feel all over their back for the imaginary cootie, try to pull their shirt around to see it, and in one case, flip the bottom of their jacket over their head in an attempt to get rid of the imaginary cootie. They'd wonder around the train asking other letterboxers to please remove the cootie from their back, and would grow increasingly frustrated when they were told that there was none. I don't think our laughing helped--that seemed to make them certain that there was really a cootie involved (why else would we be laughing?) and the search for the elusive cootie would continue. Perhaps it's not funny if this sort of thing happens to you, but wow, it was hilarious to watch. (And as a side note, I do not ever recommend turning your backs on Mn8X either.... They seemed rather inspired by this idea.)
When I boarded the train, I turned around
and took this photo of everyone
behind me. Quite the crowd!

As all good things must come to an end, so did our train ride. Amanda and I headed off to find some more letterboxes before retiring for the evening.

The next day was for ourselves. We letterboxed, we went to visit the home of President James A. Garfield, during which a Civil War encampment was taking place, then moseyed closer to Cleveland to visit his grave. Garfield is Amanda's new favorite president because he once gave a commencement speech on the wonders of leisure and preferred to read books rather than attend meetings and other important things presidents are supposed to do. =)

Then it was back to the airport, where we took a dizzying series of flights from Cleveland to Charlotte to Philly and finally back to Seattle to take a vacation from our vacation. Well, I did. Amanda almost immediately had to fly back to Philly again to work.

Never a day's rest in this household. =)

Thanks to all of you who made us feel so welcome, and special thanks to Anne Bonny and Paisley Pineapple for creating this event!

The Cuyahoga River today looks a bit muddy, but I don't think it'll catch on fire anymore!
Scenes from a passing train....

We didn't get off at this stop, but the train did stop for some
people to get on and off the train.
It's as easy as cootieing a baby....
Union soldiers drill for battle at Garfield's home.

The home of President James A. Garfield. He ran using the "front porch campaign" by
giving his speeches from his front porch--the first president to do so.

Garfield's mausoleum is about as big as his house! Unfortunately,
it was actually closed when we arrived, so we weren't able to go in. =(

John D. Rockefeller is also buried in the same cemetery.

There are over 104,000 graves at this cemetery, and would you believe it--
someone had to go to the exact grave by which we were
looking for a letterbox. Come on--the guy died in 1905! "Quick, Amanda,
take some pictures!" (We came back later and couldn't find it--we
suspect it's probably missing.)

Friday, September 02, 2011

Calendar Photos. ASAP!

Yiker intends to put up some stiff resistance to
reclaim Miss May this year too! There are also
a few sunflower pictures already submitted, and
she's right--they DO make me smile! =)
Schools are starting. The temperature is getting a bit chillier out there. Summer is coming to an end, and that means.... yes, another letterboxing calendar is in the works!

There are a lot of great submissions so far this year--we've got starfish and snowmen, swamps and sunsets, bears and berries, fungus and flowers, ducks and daisy..... Pictures from Alaska (and lordy, there are a lot of those this year!) to Australia. Even without any new photo submissions, I think we've got the makings for a great letterboxing calendar. But if you've been procrastinating with your submissions, time is running short! Get your photos in soon!

Calendar Menu
Submit Photos
View Your Submissions

Get your submissions in by the end of day on Monday, September 5th, to make it into the 7th annual letterboxing calendar! A free calendar for everyone whose photos I use!


Tuesday, August 30, 2011

Showing Your Support

The Html Validator extension in action!
I upgraded Firefox this evening to version 6.0. Why, oh, why is there another version of Firefox? But I digress... this isn't a post about Firefox, but rather a Firefox extension that I use: Html Validator. I like my web pages to validate--I can't count the number of bugs that extension has found for me. Most of them probably aren't a big deal since browsers are designed specifically to "fix" bad HTML and CSS as best they can. Forget a closing tag? No problem--the browser will put it in for you. And most of the time, it does a pretty good job of it, which is why you might not even notice the problem.

But still, it's a problem, because the browser might not get things right. Or maybe most browsers get it right, but that one browser, in one particular version, with a certain setting could crash and burn. So I like my code to validate--both the HTML and CSS files, and the Html Validator is wonderful because it automatically validates all of the HTML and CSS for every single webpage I view. Most websites fail miserably, but AQ pages usually pass with flying colors. =) You'll find some pages that don't validate properly--often times because I'm importing code from other places like the Google AdSense ads found on the tutorial pages. My code validates, but Google's code doesn't. *shrug* Presumably, Google spends a great deal of effort making sure their pages look exactly like they want on every browser known to man, so I generally don't worry about it. I just worry about my own code. =)

With the Firefox upgrade, I also got a message that I needed to upgrade the Html Validator extension, which I did, and when Firefox started up, it loaded Html Validator for Firefox and Mozilla.

I've seen this page before--often times, when I upgrade Firefox, I'll wind up with half a dozen "this extension has been installed!" type of pages opening up, and I usually close them all without reading them.

For whatever reason, though, I read some of it this time wondering if there was anything interesting in it and saw this line: Do you like this extension?

Well, yes, I do. It's helped me find hundreds of bugs on AQ over the years. I can't imagine developing a website without it in the background, constantly validating the code I write.

Then he wrote: I wrote this extension during my very limited freetime, which conflicts with my family life. If you would like to donate to encourage my continuing maintenance and improvement of the extension, you can do it using the Paypal. If you can't, I really appreciate bug fixes, bug reports, translations and improvement suggestions and requests :-)

And I felt sympathetic. Why does he continue to develop and maintain this extension? For the joy of it? The satisfaction of making the world just a little bit better for people like me?

I have no idea who this Marc fellow is. I don't know where he lives, or how big his family is. I don't know how much time or effort he really requires to develop this extension. But I suddenly felt like I could relate to this person. Atlas Quest is largely a free product and my livelihood is dependent on people who enjoy my little creation and support my efforts to maintain and improve it. While it's true that there are some perks for being a premium member, there's absolutely nothing tangible that goes with it, and it's quite easy to have a long and fruitful letterboxing career without ever becoming one.

In a sense, though, this guy has it even harder than I do. He doesn't even pretend to offer any perks for donations. If this fellow started charging people to use his product, though, I'd buy it. I wouldn't spend a lot for it, but I'd probably be willing to spend up to $10 or $15 before I'd start looking around for other options. Which isn't much, but according to the add-on page, he has 145,672 people who've installed his extension. Several of them are me--I have it installed on my home computer, my laptop, and three separate times on my little portable drive for each version of Firefox I have installed on it. Not to mention that I've also installed it on my mom's computer for when I'm working there. =)

BUT STILL..... 145,672 is a lot of people. More than use AQ, that's for sure. If every one of them was willing to pay him $10, he'd probably be quite comfortable financially speaking. Since the product is absolutely free, I'd be surprised if more than 1% of those people actually gave him anything, though.

Anyhow, I love this extension and decided that it was time for me to donate a few bucks to perhaps make it worthwhile for him to continue developing and maintaining the extension. I followed the PayPal link with the intention of donating $10. Not much in the grand scheme of things--I won't miss $10--but I hope it helps him. =)

Wassa Jr. is Canadian. A real international community
here on Atlas Quest! =)
Before I even typed in that amount, however, I had a hunch that Marc was not from the United States. In fact, I immediately wondered if English was even his first language, because the default amount listed was "0,00". I don't know about you, but I've always used periods to separate the dollars from the cents, not a comma. I'm not sure which countries use commas, but I do know that's how they write numbers in Spanish--where we use commas, they use periods, and where we use periods, they use commas. It's kind of annoying for me. I never got used to seeing numbers like that when I lived in Central America.

So then I started wondering what denomination this currency was expected. Hmm.... If I had to make a wild guess--which I was, because I saw nothing about what currency was expected--I'd figure it was somewhere in Europe and that the euro would be a good choice. How much would $10 be in euros? Not sure... five, maybe? Well, let's try 5 and see what happens....

The confirmation page said that would send five euros (woo-who! I guessed right!), and would deduct $7.45 from my account. Yeah, sure, go for it. Maybe I can't take him out for lunch, but at least I can buy him one. =) And maybe I'll send him another 5 euros next year--after the value of the euro crashes because Greece defaults on their debt, so the cost to buy another 5 euros will be less. =)

On the "pay with a credit card" page, the default country listed is Belgium, which makes me think Marc lives in Belgium.

And how cool is that? Here I am, sitting at home in Seattle, a huge fan of a product created by a guy in Belgium in his spare time, building a website that's used by folks from around the world (hello, New Zealanders!) supporting his efforts through PayPal which can automatically convert my dollars into his euros in our interconnected global marketplace practically instantly (presumably after it was converted from New Zealand dollars or Canadian dollars or any other number of currencies before it was sent to me). It's really quite amazing, isn't it?

Anyhow, it got me thinking about a lot of the products I use without giving much thought to the people who created them. I don't know if Marc makes much money doing this, but I hope it's enough to make it worth his while. It's important to support those products you like and use--it doesn't take much to make a difference.

Thursday, July 28, 2011

Adding and Editing Locations

Exhibit A: When you first go to add a location to a box,
you'll see a page like this one.
I've been meaning to post about this ever since that Big Update, but I kept making tweaks and changes and didn't want to post a long explanation then have the information change a few days later. It seems stable enough now, however, and I don't expect any significant changes in the near future anymore. So, at long last, here's a little information about adding and editing locations.

First, I'd like to note that these instructions apply anywhere you can add or edit locations, whether it's letterbox locations, event locations, virtual locations. Whether it's a custom location for yourself that can override the owner's listed location or whether you're listing the locations that others will see--all of this revolves around the same core piece of code, so they all work identically. Since the vast majority of locations are associated with letterboxes, however, I'll refer to those. Just know that this information applies to events and virtuals as well.

Now, let's take a look at Exhibit A. That's the kind of page you'll see when you first have to enter a location. Ours is empty since we have yet to add any location information, but we'll fix that. The important thing to remember about this page is that it's the geocoder page. A geocoder, to refresh your memory, is a system that converts an address or other human-readable location into latitude and longitude coordinates. Anything you type in here will be run through one or more geocoders in an attempt to figure out precisely where your location is.
Exhibit B: Let the geocoder chew on Seattle, WA.

Also note the small question mark in the blue circle next to the word 'Location.' Whenever you see that icon, clicking on it will take you a relevant entry in the help pages of Atlas Quest. If you're not sure about something, that's always a good thing to check.

So let's type in a location. Because I live in Seattle, we'll use that, and I type in "seattle, wa" because I'm too lazy to capitalize properly. =)

When I click 'Store', the text is sent to one or more geocoders, and it returns the following results:

Exhibit C: The geocoder results.

Now this is pretty darned cool! (At least I think so!) The geocoder found one result that it believes matches your location--a town called Seattle, located in King County, in Washington state, which is located in the United States, and even plots a map marking the location so you can verify it's latitude and longitude coordinates.

This is the best case scenario. It's exactly what we wanted, and we can click the 'Next Page' button and continue adding details about our box.

Unfortunately, the results aren't always this clean. Sometimes, the geocoders might find more than one location that appears to match your location. For instance, if we try searching for the location named "Portland", we'll get these results:

Exhibit D: Wow, there certainly are a lot of Portlands out there!
The geocoder returned seven possible matches! This isn't even the complete list of Portlands--these are just the ones that the geocoder thinks are the most likely ones that you are referring to, sorted roughly in order of size from largest to smallest under the assumption that you probably are referring to one of the largest Portlands.

In this case, Portland, Oregon, gets first billing, and Portland, Maine, gets the second billing. Those two are also the two that most people can name right off the top of their heads, so it's nice to see that the geocoder gave those two the two top slots.

The numbers in the list correspond with the numbered markers on the map, so we can easily see their relative locations. Assuming we wanted to use the Portland in Maine, we can get there either by adding Maine to the text box to narrow down the result, or by clicking the second item in the list. I click the second item on the list then "Store," and wind up with this view:

Exhibit E: Portland, Maine--there you are!
This is great--we're right where we want to be and it's time to move on to the next page of listing our letterboxing.

That was mostly a contrived example--I knew that there were a lot of Portlands and could force that "error" to happen. Here's a real example that I fell into purely by accident:

Exhibit F: A real-life scenario of multiple matches when I tried entering a location for "cerro san luis, san luis obispo, ca."
When I tried this search, the geocoders came back with three possible matches, all of which are located in the city of San Luis Obispo. Looking at the map, I can clearly tell that the one I was looking for--a prominent and popular mountain in town to hike up--is the #2 option. My search was for "Cerro San Luis," but the official name of the mountain is Cerro San Luis Obispo. My bad--I typed it in wrong. We do that a lot around here--shorten San Luis Obispo to San Luis. The geocoder also found an apartment complex on the Cal Poly campus named Cerro San Luis, though, as well as a street in town named San Luis Drive. I wanted the mountain, however, so clicked on the second option and continued with the listing. All is well! =)

When Geocoders Fail
The worst situation is when the geocoders can't figure out your location at all. Take a look below at Exhibit G.

Exhibit G: The geocoder failed to find our location
In this case, I tried entering a location for "madonna mountain, san luis obispo, ca." The geocoder, however, was unable to find this. There's a good reason that the geocoder can't find this location--officially, it doesn't exist. Madonna Mountain is a name that many locals use to refer to Cerro San Luis Obispo. In fact, most people call it Madonna Mountain. There's a giant M on the mountain (which many people assume is for Madonna, but it's actually short for Mission), and the mountain has been owned by the Madonna family for decades and decades. (No relation to the pop singer.) SLO is famous for the world-famous Madonna Inn, along Madonna Road, right next to the Madonna Inn, and with a giant M on the mountain, it's understandable that people would tend to call it Madonna Mountain. BUT--officially--that's not the name. (After the owner, Alex Madonna, died a few years ago, there was talk about making that name official, but so far, nothing has come from it.)

The only time you usually see Cerro San Luis Obispo (or Cerro San Luis) used is in newspapers and other media that like to be officially correct in such matters.

But long story short, the geocoders were unable to figure out where Madonna Mountain was located because it officially doesn't exist. AQ was able to match the city where you said the mountain was located, and it gives you that as an option, but if you want to pin-point the location better than that, you have two choices:

  1. Use the official name of Cerro San Luis Obispo (assuming you knew that to begin with, though, why didn't you just use that as the location?)
  2. Create a custom location
We already reviewed how to add Cerro San Luis Obispo as a location, so let's add Madonna Mountain as a custom location this time. =)

Adding Custom Locations
To get out from under the geocoders, which clearly have no idea what Madonna Mountain is, click that "Edit Custom Location" link at the bottom of the list. That's your 'escape hatch' from the geocoders. I click it, which takes us to Exhibit H:

Exhibit H: We've escaped the geocoders into the Custom Location page
The custom location has already been pre-filled with information from Exhibit G. In this case, it's information about the city of San Luis Obispo. A lot of the information will be the same for Madonna Mountain because it's in the city, but we do have to tweak this information specifically for Madonna Mountain.

Most of this page is self-explanatory. The name of the location we want to add is "Madonna Mountain," so we enter that as the "Park Name, Business Name, Etc." section. I don't have an address for that mountain, so I'll leave that blank. (If you know the address for the trailhead, however, it might be a good thing to include.) The city, county, state, and country area already correct, so I'll leave them be.

The coordinates are pretty straight-forward. The peak of Madonna Mountain, which I can look up from Google Maps, is at 35.282741024156, -120.68038151502. (If you have a GPS, you could also have recorded this information when you planted the letterbox.)

Then there's the radius. This is entirely new since the update. AQ now tracks the relative sizes of a given location. A park is usually much smaller than a city, and a city is usually much smaller than a state, and a state is usually much smaller than a country, and now AQ knows this! Which is very useful information for providing accurate search results.

There's a lot of information about the radius if you click the 'help' link for radius, but in a nutshell, it's the distance from the center point of your location to the outer edge of your location, as the crow flies. Assuming your preferences are set to use miles, the distance is in miles. (If your preferences are set for kilometers, you'll have to enter kilometers instead.) The only way to figure this out is to pull out a map--real or online--and measure the distance. For Madonna Mountain, the radius is 0.681 miles.

Exhibit I: Adding a custom location


When I'm done, I click 'Store', and AQ takes me back to the geocoder page, displaying my custom location:

Exhibit J: Madonna Mountain, our custom location, now supported by the geocoders.

And we're on our merry way again.

Adding a custom location can be a bit of a pain--figuring out the coordinates and radius and all that--and if you can make a location work without it, it'll save you a lot of extra effort.

And that's it for now. There's a lot more I want to talk about on that custom location page, but I'll save that for another day.....

Tuesday, July 19, 2011

Newest Traditional Boxes Widget

I took a break from fixing bugs from the Big Update--the worst of the bugs seem to have been fixed, but there are still a few issues I'm working out. So anyhow, I felt like taking a break from that part of AQ and decided to work on something a bit less ambitious.

You might have noticed that the Big Update tweaked the newest traditional letterboxes widget a bit--the full address of the locations started displaying rather than just the city. This was actually accidental. The update pretty much affected everything that touched traditional boxes. Anywhere and everywhere, if you saw the name of a letterbox someone listed on Atlas Quest, that code would have broke without any modifications, and the widgets were no exception. I fixed this particular widget, after doing a global search for a key function that I used to display locations, and replaced it with the new function call. In this case, however, I thoughtlessly typed the new function as "Display" instead of "DisplayCity." The difference being that the Display() function displays the full address of a location with the DisplayCity() function only displays the city portion of the address. It's a minor bug, as far as bugs go, and I rather liked it since it let me see what people trying as locations and spotting possible bugs in the listing of boxes, so I didn't fix it.

Wassa noticed that and suggested making that an option in the preferences and I thought, "Yeah, I can do that." So I did. =)

And while I was at it, I also added the option to specify a location that the widget will return new box listings for. Would you prefer the widget only show all newly listed letterboxes in Oregon? Done! Would you prefer to see all newly listed boxes within 50 miles of Seattle? Done! What about all newly listed letterboxes along I-5 between Sacramento and Portland? Done! That last one is pretty cool, don't you think? =) Any search that works on the Advanced Search page will work here as well. I doubt most people would have a need for a list of new boxes along a particular route, but the option is there. That's part of the flexibility this update provided--in the code, I just tell AQ to display and process a "location," and it can process any type of location. That box works exact the same, whether it's on the Advanced Search page or the newest boxes widget or from an app or anywhere!

Cool stuff. *nodding*

So go ahead and update your newest traditional boxes widget to suit your preferences. =)

Happy trails!

Sunday, July 17, 2011

World Travelers!

I'm still making some tweaks and updates to the geocoders and fixing things that I broke with this big update--yes, there are still outstanding issues that need my attention!--however, the seriousness of them seems to be subsiding. Progress is progress--I'll take it! =)

So I'm still not quite ready to blog about the tip, tricks, and traps to avoid in listing locations with your letterboxes, but it seems a lot of you are figuring it out already.

This morning, I pulled up a map of the most recently listed letterboxes on Atlas Quest. I was actually testing for a certain problem that was reported to me and any search results would have worked for my purposes, but there was that handy, fat little Map Newest Letterboxes button so I made use of it--and was a little surprised to see letterboxes all over the world! Yes, I know, people plant letterboxes all over the world, but usually when I look at that map, I see a bunch of letterboxes listed in the United States and maybe--sometimes--there might be one in Europe or New Zealand or something off the beaten path.

Since the list of newest boxes is always changing, I did a screen shot of the map I saw so you can see what I mean:


Look at that--there are boxes in the United Kingdom, a few in Western Europe, one in the Carribean, one "floating" off the coast of Africa, one in Thailand, a bunch in Alaska, and G--from this point of view--appears to be the Lost City of Atlantis. =)

The Alaska ones, in hindsight, make a lot of sense. There was a letterbox cruise to Alaska recently, and it appears they've been busy listing their letterboxing! That green marker labeled "M" I knew immediately were mystery boxes located "somewhere in the world." World-wide mysteries are mapped to the coordinates at 0, 0, and "M" is at 0, 0. Being a green marker, as I discussed yesterday, floating in the middle of water was nothing unusual and most likely, those mystery boxes are really located in the United States somewhere.

But still, it seemed like an unusual number of boxes are located outside of the United States, and I started worrying if there was a problem with the geocoders putting boxes in the wrong locations, so I took a closer look at the others.

And they're totally legit! Even that blue one mysterious floating in the middle in the Indian Ocean. If you zoomed in close enough, you'd see that it marked the location of a small island that's a part of the British Indian Ocean Territory. Those in Western Europe really are located in Spain, Morocco, and Scotland. The box listed as being in Thailand really is in Vietnam--the map is actually correct, but we're zoomed out so far that Vietnam doesn't show up as a separate country in this view. If you zoomed in, though, it would accurately show the marker in Vietnam. And that marker in the Caribbean Sea--it's hard to tell which island its on from such a zoomed-out view, but when I zoomed in, I could see it was Puerto Rico.

Totally cool!

I also scrolled through the list to note all of the green markers--the green markers, if you remember from yesterday, mean that the location of the box could be "more than 30 miles away" from that specific point. Locations such as a "world-wide mystery," that's to be expected. =) So while a green marker doesn't mean something is wrong, I don't really expect there to be a lot of them either. Most boxes aren't mysteries, after all. There aren't a lot of green markers, but I figured it didn't hurt for me to scroll through the list and double-check that they really are mysteries and therefore should be green.

A mystery box in Maine--check! "The Adirondacks"--check! And oooh..... that's an interesting one, isn't it? Not a state, but the Adirondacks covers a pretty large area that's probably larger than some states. That's the kind of mystery box that the old version of AQ wouldn't have been able to handle gracefully. And a mystery box in West Virginia. Check! And a box in  Juneau, Alaska. Hmm.... Mystery boxes "somewhere in a city" usually should have a red marker, not a green one. I better check that one....

A little Google-sleuthing shows the "City and Borough" of Juneau has an area covering 3,255.0 square miles--that's huge! That fills a circle with a radius of 70 miles--considerably greater than the 30-mile threshold for a green marker. But intuitively, a 70-miles wide circle around Juneau didn't feel right. That must include the entire borough, but what about the city. I ran the location through a couple different geocoders, all of which returned something close to 70 miles as a radius, except one that returned 36 miles. Not sure where that geocoder pulled that number from, but I liked it, and changed the radius to 36 miles. =) Which is still large enough to justify the green marker, but at least it will show up in a location-based search that defaults to 50 miles while the old radius did not.


Yep, they were all supposed to be green markers.
Totally awesome! *nodding* =)

Nothing new to report today, though. Not yet....

Saturday, July 16, 2011

The Magic of Geocoders....

Wassa might start fires *cough*LbCon*cough*, but Wassa Jr likes
to help Smokey the Bear prevent forest fires. =)
I was going to spend today explaining the ins and outs of listing a location with your box, but I'm still making tweaks to that code and don't really want to put anything in writing that might change. Maybe by tomorrow I'll be ready for that ball of ear wax. =)

So today will be an easy lesson on geocoders. I've mentioned them in past posts, but I haven't really delved into detail about what they can do that they weren't able to do before this update.

A geocoder, as a reminder, is a system that can convert a human-readable address such as "Lincoln Park, Seattle, WA" into latitude and longitude coordinates that Atlas Quest can use to calculate distances and map locations.

In the "old days" (i.e. a week ago), there was one geocoder. It was the geocoder provided our friends at Google. It wasn't perfect (no geocoder is perfect), but it was leaps better than nothing at all, which is what AQ had been using before the Google geocoder came along.

When I started working on the custom location feature, I discovered the the geocoder AQ had been using was depreciated and replace with a new (and presumably better) geocoder. I needed to upgrade, and the code was not particularly well suited for upgrading the geocoder. I imagined the geocoder as something like a lego piece, and I could snap off the old geocoder and snap on a new geocoder that would fit perfectly into the newly opened space where the old geocoder used to rest.

But it wouldn't be that easy. No, it was going to get messy, but it really shouldn't have been messy had I designed it better. It should work like interchangeable lego pieces.

So, I needed  a replacement for the geocoder, and I started looking around. The replacement geocoder from Google I took a look at, and the results frightened me. It looked mean and ugly. So I took a look at the Yahoo geocoder, and with a little poking and prodding, I thought, "Wow, this is cool!" I started working on a Yahoo geocoder, which also returned the radius of a location--a new piece of data AQ never had access to before and I ended up using extensively during the rewrite of the search engine.

The Yahoo geocoder could do some things the old Google geocoder could not--for instance, airport codes. Type in SBP (the airport code for our little local airport in San Luis Obispo), and by golly, it finds that airport and returns all of the relevant entries. Not that it would be used very often, but still, it's nice when you realize there's more functionality than before.

More useful, perhaps, was that it could geocode locations in a huge list of foreign countries--here's a list I've copied from their documentation:

North and South America:
  • BAHAMAS, THE
  • BRAZIL
  • CANADA
  • CAYMAN ISLANDS
  • FRENCH GUIANA
  • GUADALOUPE
  • MARTINIQUE
  • MEXICO
  • SAINT BARTHELEMY
  • USA (including PUERTO RICO and US VIRGIN ISLANDS)
Europe:
  • ALBANIA
  • ANDORRA
  • AUSTRIA
  • BELARUS
  • BELGIUM
  • BOSNIA AND HERZEGOVINA
  • BULGARIA
  • CROATIA
  • CZECH REPUBLIC
  • DENMARK
  • ESTONIA
  • FINLAND
  • FRANCE
  • GERMANY
  • GIBRALTAR
  • GREECE
  • HUNGARY
  • ICELAND
  • IRELAND
  • ITALY
  • LATVIA
  • LIECHTENSTEIN
  • LITHUANIA
  • LUXEMBOURG
  • MACEDONIA
  • MOLDOVA
  • MONACO
  • MONTENEGRO
  • NETHERLANDS
  • NORWAY
  • POLAND
  • PORTUGAL
  • ROMANIA
  • RUSSIA
  • SAN MARINO
  • SERBIA
  • SLOVAKIA
  • SLOVENIA
  • SPAIN
  • SWEDEN
  • SWITZERLAND
  • TURKEY
  • UKRAINE
  • UNITED KINGDOM (including ISLE of MAN and CHANNEL ISLANDS)
  • VATICAN CITY
Asia:
  • HONG KONG-CHINA
  • INDIA
  • INDONESIA
  • MACAU-CHINA
  • SINGAPORE
  • TAIWAN
  • THAILAND
Middle-East and Africa:
  • BAHRAIN
  • BOTSWANA
  • EGYPT
  • JORDAN
  • KENYA
  • KUWAIT
  • LEBANON
  • LESOTHO
  • MOROCCO
  • MOZAMBIQUE
  • NAMIBIA
  • NIGERIA
  • OMAN
  • QATAR
  • REUNION
  • SAUDI ARABIA
  • SOUTH AFRICA
  • SWAZILAND
  • UNITED ARAB EMIRATES
Holy jumping junipers! That's an awfully big list! (Clearly written by a developer, I might add--a professional writer would have never used all caps in creating such a list!) Not that Liechtenstein and Mozazmbique are letterboxing hotbeds of activity, but still, it's nice to know that the geocoder can figure out such locations! 

I developed a little block of code that used the Yahoo geocoder, got it working, and all was well. I really wanted that "lego-like" snap-in kind of functionality, though, and I figured the best way to do that was to create another geocoder and try snapping it in. I went back and implemented Google's new geocoder, finally getting that to work--and with just a single line of code that was changed, I could switch between the two geocoders practically on the fly. And then I had another idea... why not chain them together into another "super" geocoder? 

In the end, this super-geocoder will attempt to pull in information from three different sources in an attempt to understand your location. Park names that never worked before suddenly were now supported. The Yahoo geocoder supported airport codes, but the Google geocoder did not. The Google geocoder could figure out street intersections, but the Yahoo geocoder didn't seem to be able to do that. Ying and yang. For best results, I needed both.


As it stands now, when you type in a location that AQ need to convert into latitude and longitude coordinates, it runs the information through up to five distinctly different geocoders:


  1. The first geocoder really isn't a "geocoder" in the traditional sense. It takes what you typed in and tries to figure out if you're typing in the coordinates directly, so you can run a search for "34.6, 121.6" and have it return boxes near that point.
  2. AQ gets the first shot at figuring out what you are trying to say. It'll search it's own database looking for information matching what you typed in, and if it finds it, that's what gets returned.
  3. If AQ doesn't find a suitable match, Yahoo gets the next crack at figuring out your request. If a suitable match is found, awesome--that's what AQ will use.
  4. When the Yahoo geocoder fails, then the Google geocoder gets a crack at the information. If you ever run a search for a street intersection, it'll almost certainly reach this geocoder. AQ knows only a tiny number of street intersections that people have used for their box locations and Yahoo doesn't seem to handle intersections at all. If a suitable match is found--awesome, AQ runs with it.
  5. And finally, if all else fails, there's another source of data I found with 1.86 million "points of interest" in the United States. I found it a little scary some of the small parks I searched for that this source of information could find. Had I bet money, I'd have lost. This data is actually hosted by AQ--the data was in an enormous file and wasn't provided as an API by another company. (I basically had to create the API to use this data--a geocoder that was able to search this file.)
Each of the geocoders has their strengths and weaknesses, but collectively, it's a pretty amazing little beast. If you had trouble listing a certain park as a location in the past, it might work just fine now. The new geocoders, I noticed, also had better support for geographical features, so you can even list boxes as being on specific mountains or by a lake. They also often support more "vague" locations such as "Pacific Northwest" and "Central Coast of California"--perhaps useful for listing mystery boxes in those locations, though admittedly less so for running a search.

I also updated the ability to process coordinates. You can type in a location such as "34.6, 121.6" to run a location-based search centered on that point on the Earth, but AQ is better about processing other formats for the coordinates. It used to be required that you used the latitude, a space, then the longitude. And heaven forbid, don't even THINK about putting the comma between the two! AQ, in the past, was a very temperamental beast.=)

The new "coordinate geocoder" will allow commas now. In fact, you can type in a wide variety of formats that will properly be understood including:

  • 50.3 -120.5
  • 50.3, -120.5
  • -120.5 50.3
  • 50.3N 120.5W
  • 120.5 W 50.3 N
  • 50 18 0 -120 30 0
  • 50 18 0N 120 30 0 W
  • 50° 18' 0" N 120° 30' 0" W

Ironically, I copied these examples from the "reverse geocoder" directions from the Yahoo geocoder which will convert coordinates into an address. I don't use Yahoo's reverse geocoder, though--I just want to figure out if a person is trying to type in coordinates and understand what they typed in--I don't need to attach an address to it. But all of these examples work with AQ now. I didn't know where these example coordinates went to, but I copied them into AQ to test they really did work, and was pleased to see that they found boxes at Manning Park, Canada! Which is a small park that most people never would have even heard of.... except that it's also the end of the Pacific Crest Trail! Makes me wonder if the person who wrote that documentation on Yahoo's website might have been a former thru-hiker? =)

Before the update went live, I had to run every single location for every single letterbox and event through the new geocoders. Old locations did have have information about the radius of the location, all US locations had no information about the county of the location, and all mystery boxes had no latitude and longitude coordinates associated with them, and for this upgrade, I needed to fill in those blanks. So every single location was run through the geocoder--a process that took the better part of a month--and which is why you might have noticed that the location you had listed for some boxes might have shifted a bit. Most of the issues I found involved the "free-flowing" nature allowed for mystery boxes, so if there's a problem with how one of your boxes got geocoded, the mystery boxes would be the first ones you should check. I tried to fix problematic "updates" manually, but with over 100,000 boxes listed on AQ, manually checking every single one wasn't possible. I wrote a bunch of code for me to help identify "possible problems"--such as a new location that ends up being 6,123 miles away from the coordinates of the old location or a location with a radius of 1000 miles (not many places span such a wide area, but they do exist!). Subtler problems, however, could have slipped through, so it wouldn't hurt to run through your plants and check that the locations are what you think they should be.

So that's the skinny on using the new geocoder. It's bigger, it's better, and badder (in a good way) than ever! =) However, I'll note, there's no such thing as a perfect geocoder--you'll still find locations that none of the geocoders can figure out. But with this update, I hope you'll have a much more difficult time finding "unsupported" locations. =) (And, yes, you CAN use commas in coordinates now!)


Friday, July 15, 2011

Mystery Letterboxes

Please review the emergency instructions
on the brochures in the seat-back pocket
in front of you. You may experience
turbulence, but we'll get you through it!
Believe it or not, I still have more information I'd like to share about the Big Update earlier this week. Today's discussion will focus on mystery letterboxes. I've already talked a little about them in the context of counties, but there is a lot more to them than merely being able to specify a county. =)

If you've run some searches on Atlas Quest, you might have noticed that for the first time, mystery boxes will be included in a location-based search, and that's why you'll always see the "Mystery Boxes" attribute available on the Advanced Search page. Any search you do could possibly return mystery boxes including trip planner searches and location-based searches. So let's run a search for all mystery boxes within 150 miles of Providence, RI.

You might be wondering.... how can AQ possibly calculate the distance to a mystery box--it's a mystery, after all! Rhode Island, as you all might be aware, is a pretty small state. All mystery boxes located "somewhere within Rhode Island" are going to be within 150 miles of Providence because there are no locations still in Rhode Island that are further away than 150 miles. AQ might not know the precise distance of the letterbox, but it knows that all Rhode Island mystery boxes are within 150 miles of Providence. It's impossible for it not to be. =)

Previously, we knew this intuitively, but AQ didn't have the ability to figure this sort of thing out on it's own. This update changes that. Now, every single location AQ knows about has a latitude and longitude coordinate and it has a radius. Rhode Island is listed with a radius of 40.39 miles centered around 41.582584, -71.503414. Obviously, Rhode Island isn't a circle, but these numbers are good enough for an approximation, and when we're talking about mystery boxes, approximations are usually plenty fine. Being approximately correct is better than being precisely wrong. =)

Now, when you run a search for all boxes within 150 miles of Providence, Rhode Island, AQ calculates the distance in two steps. First, it calculates the exact distance--as the crow flies--from the center point of Providence (41.823856, -71.411741) to the center point of the letterbox (41.582584, -71.503414 for Rhode Island mysteries), which comes out to 17.31 miles. So the "average" Rhode Island mystery box is expected to be about 17.31 miles from the city center of Providence. But the thing is, the actual box location could be a lot further away than that. In a worst case scenario, the mystery box might be out the very outer edge if the mystery area, on the other side of the center point for the state: In other words: 17.31 miles + 40.39 miles = 57.7 miles away.

That is--roughly speaking--the worst case scenario for a Rhode Island mystery box if you're in downtown Providence, and that's the distance AQ uses for sorting boxes based on distance. You'd have to run a location-based search that extends at least 58 miles to include Rhode Island mystery boxes, but it will show up.

If you take a look at the results of our search, the first Rhode Island mystery boxes that show up in slot #7 (for me, at least--depending on restrictions, plants, custom locations, etc., your list could be a bit different than mine). Two other types of mystery boxes slip in as being slightly closer to Providence than those that are "somewhere in Rhode Island": county mystery boxes.

A couple of RI boxes are listed as being "somewhere in Providence County" and a few more are listed as being "somewhere in Windham County." Providence is in Providence County, so we know a mystery box in Providence County will be closer than mystery boxes in any other county of Rhode Island, and with an average radius of 16.65 miles, AQ figures that mystery a box "somewhere in Providence County" has a worst-case scenario of 24.9 miles from the center center of Providence.

And similarly, AQ calculation a worst-case scenario of 49.7 miles for mystery boxes in "Windham County." Windham County isn't even in Rhode Island--it's in neighboring Connecticut! But it's nestled right up along the Rhode Island border and the worst-case scenario for having to drive to find a Windham County letterbox is actually about 10 miles less than a worst-case scenario for having to drive to find a "somewhere in Rhode Island" letterbox.

So that's why you'll see Windham County mystery boxes show up before Rhode Island mystery boxes in the search results. In a worst-case scenario, they're probably closer--even if they are in a different state.

When it comes to figuring out the direction a mystery box is located, AQ can't be certain about the Providence County mysteries or the Rhode Island mysteries--we're inside of those locations and the mystery box could be in any direction from the city of Providence. However, the mystery boxes in Windham County, Connecticut--even without knowing precisely where it's located, AQ can tell that's it's "somewhere to the west" of Providence, and faithfully points in the correct direction of the mystery.

It's really pretty neat, and I hope it means more people will start looking for mystery boxes in their neck of the woods as a result. You don't have to do an area search to find mystery boxes--they're all around you, and that now shows up in the location-based searches. The more specific the mystery area is, the more likely you'll see it showing up in a location-based search.

For mystery boxes "somewhere in the United States" (for instance), you're better off just running an area search. AQ has a radius of 3,880.96 miles for the radius of the United States, so a location-based search would have to cast at least a distance of 3881 miles to include those, and tens of thousands of boxes would show up before it. Viewing mystery boxes in location-based searches generally works best if the mystery is a relatively small area such as states in New England or counties.

It's also possible to see mystery boxes show up in trip planner searches, but since a trip planner search is limited to a maximum of 30 miles off of the route being searched, you might not see them show up very often. Take this example of a search for all mystery boxes within 30 miles of I-95 between Key West and Portland, ME. Those county-wide mysteries in Providence County make the cut, along with a couple of mystery boxes in Norfolk County, MA, but that's it. (For the moment!) There might be other mystery boxes along the route, but AQ can't be certain that those other mysteries are within 30 miles of I-95.

If you've been adding custom locations and had to add a location that the geocoders couldn't find, you'll see a space for the "radius" of the location. This is the sort of thing it's used for, and it's very important the the number is approximately correct if you want the box to show up as expected in location-based searches and trip planner searches. You don't need to be exact--and since counties are never perfect circles (so far as I know)--it's impossible to be exact.

In fact, how AQ handles these calculations, it treats mystery boxes exactly like it does for non-mystery boxes. Every location AQ knows about has an associated radius, and it's added to calculated distance to create the distances you see listed in the search results. If you hide a letterbox in a large city park--take New York City's Central Park, for instance--the park has an average radius of 1.68 miles. If you run a search for boxes using Central Park as your search point, all Central Park boxes will show up as being 1.68 miles away. (Radius + calculated distance = final distance, i.e. 1.68 + 0 = 1.68) If you're standing in the center of Central Park, AQ believes those boxes might be up to 1.68 miles away from where you're standing. A box at a rest area with a radius of 0.1 miles--yep--AQ will add 0.1 miles to the calculated distance for that box in the searches.

The point is--whenever you see AQ list the distance, that's essentially a worst-case scenario for how far you'll have to travel to get the box.

On the trip planner, I'll also note, the radius of the location is actually added to the "offpath" distance--not the "mile marker" distance. The offpath column displays the worst-case scenario for how far off path you might have to travel to get the box. There's not really any "worst case mile markers." The box might be located somewhere between "MM10 and MM20" (if the radius of the location is 5 miles), but it's not really practical to list the same box for every MM that it might apply to. So in that case, the MM is based on the center point of the mystery location and the radius is applied to the offpath distance.

Clear as mud? =)

Back to those mystery boxes near Providence. From there, click through to the Map Results link. You'll notice the map is filled with red and green markers. The green ones are new and were added to accommodate all those mystery boxes out there.

The blue icons aren't on this map because we only searched for mystery boxes and the blue icons are used to denote "exact" locations. The red icons represented those boxes where people specified a city for the box but failed to provide an exact address. These boxes typically weren't mysteries, but the accuracy of their locations was always in doubt. And with the additional of genuine mysteries, the coordinates could be a long way off from the actual box location. A mystery box "somewhere in the United States" covers a lot of territory, and I thought it was prudent to be able to identify which boxes might be way off base.

If you've been paying attention so far, you might be wondering, "Yeah, okay, then why are there any red markers at all? All of the boxes in the search are mystery boxes! Shouldn't all of the markers be blue?"

And that's an excellent question. The thing with mystery boxes is that the line that used to identify what counts as a mystery and what does not count as a mystery has grown a little nebulous. Clark County, Georgia, for instance, has a radius of 10.31 miles while the city of Seattle has a radius of 16.59 miles. A box listed as "Clark County, GA" is almost certainly a mystery box, but a box in "Seattle, WA" probably is not--but the confidence level AQ has for the box in Clark County is actually better than it is for the city of Seattle.

It actually gets worse than that in a sense, but it doesn't show up on this particular map. Even a search for just mystery boxes can return a box with an "exact" location. How is that even possible? Because you might have solved the mystery and attached a custom location to the letterbox. Just because you solved the mystery and know where it is doesn't mean the box is no longer considered a mystery box! So if you used a bunch of custom locations, it's entirely possible that AQ will plot an exact location for a mystery letterbox, and use a blue marker as a result.

I haven't solved any of those mystery boxes in Rhode Island, Connecticut, or Massachusetts so AQ doesn't use any blue markers on my map of mystery boxes for the area, but if you have--you'll see them too!

See what a problem adding support for counties caused? Strange paradoxes like these... So now--when you add or edit a letterbox, you can set a "city-wide mystery box" or a "I'm only going to list the city, but this is not a mystery box" option. If you specify a location with a radius that's less than one mile, AQ will not allow it to be a mystery. That's narrowed down so much that for all intents and purposes, it doesn't seem fair to call it a mystery. And if you specify a location that has no name, no address, and no city listed--meaning it's a county-wide (or larger) area, it must be a mystery box and will set the mystery icon. If it's smaller than a county and larger than one mile, however, you'll now have the option to use or not use the mystery box icon on the box.

Don't worry about remembering these details--the only reason I mention all this is to explain part of the reason why AQ's concept of a mystery box is a bit more nebulous than before. Where a non-mystery box ends and a mystery box begins is a fuzzy line.

So when I got to the point where I had to update the map, I considered several options, and finally decided that the color the icon should reflect the relative "confidence level" AQ has about the box being near that specific point. If AQ believes the coordinates are within one mile of the actual box location, it uses a blue  marker. If AQ believes that the coordinates are within 30 miles of the actual box location, a red marker. And if AQ believes that the coordinates might be more than 30 miles away from the actual location of the box, it'll use a green marker. The markers plot the exact latitude and longitude coordinates of the specified location, and the color of the marker identifies how close the actual location of the box might be.

So even though every box in my search returned mystery boxes, some mystery boxes are known to be within a 30 miles radius (the county-wide mysteries if the county has a radius of less than 30 miles) and some mystery boxes are outside of that limit (the state-wide mysteries and county-wide mysteries if the county has a radius larger than 30 miles).

Looking at this map AQ generated, it would appear that most counties in Rhode Island and Connecticut are smaller than 30 miles and most counties in Massachusetts are larger than 30 miles in radius.

I should also point out--I got an e-mail from Kirbert who noticed that a search for mystery boxes in Florida plotted a point far out in the Gulf of Mexico as the "center" of Florida, who strangely saw nothing wrong with this--just that it was an interesting observation. =)

And he's right--this is actually normal and perfectly acceptable. Given the unusual shape of Florida's long panhandle and peninsula, the geocoders have figured out that the best single "point" to mark the center of Florida is actually in the Gulf of Mexico. Take a close look at the image I captured--it contains the entire state of Florida, and that green "A" marker is actually near the center of the image. So if you see mystery boxes mapped in watery locales such as this--just remember, that's not where the box is located--that's just the center point of the mystery area where the box can be found. It would, however, be troubling to see a blue marker at this location since a blue marker means that the box would be within one mile of the marker, and there's no land within one mile of the center point for Florida! A green marker? Nooo problem! =)

Like I said before, this update has a lot of new stuff packed into it, and it'll take awhile for me to try to explain it thoroughly and how all of these moving pieces work. =) That's enough for today, though. More tomorrow! =)