Friday, June 24, 2011

Another Year Older.....

Seven years ago, Atlas Quest became a reality. I first started working on it earlier in the year--back in January, in fact--but it was in June when I finally decided that I was ready to take the website live, and it wasn't until June 24th that I committed to the name Atlas Quest when I purchased the domain name. It almost seemed astounding that the name was even available--Amanda and I considered all sorts of ideas for names but the domain name invariably wasn't available. I started uploading the website that night, but admittedly, it wasn't until the next day I finished getting it all up there. I was using a dial-up connection at the time, and uploading an entirely new website took some times. Especially the database that supported over half a million cities, towns and podunks from around the world.

That seems like a lot, but I actually narrowed it down from a list more than ten million locations I had information about. =) When I tried to run queries with that much data, however, the performance hit was dramatic. Maybe it was just on my development machine, but that much data had trouble, so I cut out a lot of it. And really, why did I need a list of a million locations in Russia? It's not like that country was a hotbed of letterboxing activity! So poof--I deleted all but the largest 1,000 cities or so. I could always add individual cities as needed later.

At the time, the only cities that AQ supported were ones that it already knew about. And being able to support addresses--specific points on the globe--wasn't even a twinkle in my eye. I was just happy I could support so many cities and towns from around the world. When I started my little project, I wasn't sure I'd be able to find the data I needed, or be able to make it run fast enough to be useful.

I was so proud of how many different cities that AQ could recognize, I even added that as a statistic on the AQ Statistics page. The number doesn't change very much, but occasionally, when a new city is added, the number might increase by one every now and then. As of this writing, it's up to 540,093.

Later, I learned about the Google geocoder--a wonderful little service that Google provides which allows me to send it a location (address or otherwise), and it'll return the latitude and longitude coordinates of that point. This was very cool, and I immediately set to work in incorporating it into Atlas Quest. It has its quirks, but without it, there would be no way to list boxes in locations more specific than being "somewhere in a city." It was a revolutionary development. I basically rewrote the core of the search engine around that Google geocoder.

But, oh, how quickly technology becomes obsolete.... Earlier this year, while working on a somewhat unrelated issue, I discovered that the version of the Google geocoder I was using had been deprecated. Which is a fancy word meaning it had been replaced with a bigger and better geocoder and that the old one could be discontinued at any time and should no longer be used. I needed to.... upgrade. *sigh*

I looked at the specs for the new Google geocoder version and didn't much like it. It seemed needlessly complicated, and I started poking around for other geocoders. By now, surely Yahoo or MapQuest or something had publicly available geocoders for use, so I poked around and discovered that I really liked Yahoo's newest entry into the world of geocoding.

I also decided that it would be a bad idea to rely on just one geocoder. What if it goes down, is changed, or discontinued unexpectedly? What if the Yahoo geocoder is depreciated to be replaced with something bigger and better later?

Without getting into the technical details, I wanted to create an interface that would allow me to switch out geocoders on the fly, almost like Lego pieces. This actually provides additional advantages--it means if I try using one geocoder and it cannot find the latitude and longitude coordinates of a location, I can try again with a different geocoder. And another. In the end, I now have about a dozen different geocoders working under the hood to try to interpret your locations.

The number of cities supported now is something of a misnomer. I created that statistic when the only cities supported were those that AQ already knew about. Once I added that first Google geocoder, it was capable of learning new cities automatically that it didn't know about before. I don't know how many cities the Google geocoder knows about, but it's certainly a heck of a lot more than AQ is familiar with, and there's not really any way for me to accurately count this number.

These new geocoders I'm adding support for, however, I'm designing from the ground up. The only locations the new database tables support are those that are actually being used by someone somewhere on Atlas Quest. So all those cities that AQ used to already know about in Lybia that never really got used will be gone. I'll depend on the geocoders to find that information for me as people need it.

As of right now--I'm still in the process of converting the old letterbox locations into new ones so this number will still go up (although probably not by much)--there are 19,207 different cities being used. A far cry from the 540,093 currently "supported," but that just goes to show that most of those locations just never got used. Not even half the cities and towns in the United States were being used.

In the Next Big Update, that "supported number of cities" in the statistics will be retired and replaced with a "number of cities used" statistic. I don't know how many cities are supported by the various geocoders, but I know it's even larger than ever before. Being able to look up specific coordinates for addresses in all sorts of countries has been added, and as companies like Yahoo and Google will continue to add more and better support for more and more countries throughout the world, AQ will also seemingly get smarter and smarter with each passing day.

AQ turns seven years old today. In that time, that original core search feature has been rewritten essentially from scratch twice. Which doesn't even include the countless minor tweaks I've had to make to it over the years. I'd like to think, "This time it's it. Once this is done, I'll never have to rewrite this stuff again." I want to think this, I see nothing on the horizon to think it's not true, but I also thought the same thing those last two times I wrote this part of AQ. I'd like to think I learned something from those first two coding attempts and that the third time's a charm--but I know I wouldn't make any bets on it. That's for sure. =)

On a completely unrelated note.... I wrote a small piece of code a couple of months ago capable of counting the number of various file types I've developed.

As of this minute, on my development machine (I didn't install the code on the live website), you'll find these numbers:

  • 982 HTML files: that's now many individual URLs that AQ handles and knows about. Some of these, admittedly, are test pages that I have no intention of ever uploading to the live website.
  • 3739 image files: each icon, logo, background image--there are 3739 images for use across the website. GIF files rule with 1896, and JPGs are runner up with 1278 files. PNG files make up the bulk of the rest.
  • 117 CSS files: as a general rule of thumb, each CSS is usually one theme, but there are a few that are not.
  • 10 MP3 files: these are mostly for the chat room sounds, but one was used for the last April Fools Day =)
  • 12 JavaScript files: almost every page on AQ uses JavaScript, but there are only 12 pages I created that have nothing but JavaScript in them. (These do not count JavaScript files that come from libraries such as JScript or Prototype--this number is about how many files I created and maintain.)
This website is amazing, but not really for any of the reasons I wrote above. These are just the behind-the-scenes stuff that I find interesting, but the real miracle is that Atlas Quest has thrived for the last seven years. When I started it, I didn't imagine this would become anything more than a hobby site, but you guys turned it into the community it is today. You've supported me, encouraged me, and I thank you. I might have built AQ, but it would still be an empty shell without all of you folks who populated it. =)

Anyhow.... enough reminiscing.... there's code I need to be working on! =)

Wednesday, June 15, 2011

And why was AQ down and there's no blog to tell about it?

If only Anthony Weiner twitted this photo instead....
The title of this post was inspired by Dizzy, who posted this query to the Billboard Widget on AQ early this morning. (If you aren't sure what a Billboard widget is or why you don't see one available, that's probably because it's a premium member widget.)

The reason there's no blog to tell about it is because there's not much to tell. It's like a lot of those updates I often do without taking Atlas Quest down at all and nobody ever notices.... Changes happen, but you either can't see them, or they're so minor, you'd often not notice them.

But when I actually take Atlas Quest down and people know I'm up to something, there's that curiosity--what is Ryan up to? What is he changing? Something is clearly happening.... but what?

This particular update is the next stepping stone on the long road to a new and improved geocoder experience which I've blogged about before. This time, I rolled out the geocoder updates to event listings. If you add or edit an event listing, you'll notice that the "location" page of the listing has changed quite a bit, and--IMHO--is a lot less fussy about supporting locations that cannot be geocoded or if multiple matches are found. It even displays a cute little Google map of the location that was geocoded so you can confirm that that's exactly the location you were talking about.

The update itself was relatively quick and painless.... the reason I took AQ down for the better part of an hour was to convert the "old locations" into the "new locations." The conversion process isn't perfect, and I set up AQ to automatically do the conversions as well as can be expected, then had it send me a list of conversions that weren't "perfect." Anything where the old location didn't quite match the new location. Such as an old location of "3036 SW 3rd Ave, Seattle, WA, US" suddenly turning into "3, 3036, Beijing, Beijing Shi, China." I see something like that and I think, "Hmm.... something bad happened in that translation....." Then I'd laugh at my unintended pun before figuring out what went wrong. =)

About 3% of the conversions had problems. There are about 2,000 events now listed on AQ, so about 75 had issues I had to fix by hand. Japan and China listings were unusually common among those!

In truth, I wasn't especially worried about locations that were in the past. So if that event from five years ago is now listed as having took place in China, who cares anymore? =) But still, I looked through all of those old entries and fixed them because they were test cases that failed! I needed to figure out why these entries had failed and figure out if there was some way I could fix things so when someone is trying to list a new event, that doesn't happen again.

It's amazing what you can learn from things that don't work properly. =) I found several tweaks I could make to my own code that helped matters along a bit better, and if I tried running the conversions today, there would still be some failures--but almost universally cosmetic ones.

A cosmetic "failure" would be something like the old location being "Montana de Oro SP" while the new location maps to "Montana de Oro State Park." Technically, the location is correct and spot on and "fixing" this problem wasn't necessary. But still, it wasn't an "exact" match and my code isn't smart enough to realize that they were two different ways of saying the same thing, so it would report to me the "non-perfect" conversion.

It's important I get this right, because eventually, I want to roll out these same changes to boxes. There are currently over 100,000 traditional letterboxes listed on Atlas Quest, and about 65,000 of them are listed as "active." When the locations for these boxes are updated, I need to make sure they don't end up in China! And while I could go through 2,000 event locations in one night correcting errors, going through 100,000+ letterbox listings is a mammoth undertaking that could take eons. I will need perfect conversions with a high success rate. Even with a 1% failure rate, I'd still have to manually fix over a thousand listings.

And while fixing the listings, it also allowed me to use the real code for editing locations on the live website. It let me check that the maps were displaying correctly, and it let me check that it handled things properly when no exact matches could be found, or when more than one matching location was found. I was able to do a lot of testing during the process of fixing problems! =)

It was a grand old time, let me tell you. ;o)

In related news, everything that comes with the new geocoders also works with events now. For instance, you can now run a linear search or rectangle search on events. Additionally, if you pull up an event listing, you can now tag it with a "custom location." Imagine an event that's a mystery location--once you've figured out the location, you can specify it in your custom location, and it'll show up in event searches at your specified location. (Nobody else can see your custom locations, though, so it won't be a spoiler for others.) And the new geocoders are much improved over the old one. Thousands of more parks and places are now supported than ever before.

Lots of good stuff going on! =) But unless you're an organizer for an event, you won't really notice most of them at the moment.....

Monday, June 06, 2011

My First Plant

The day was May 12, 2001. I carved several stamps including an oak tree, a spider web, a butterfly, and a worm. I was impressed with myself. These were my best stamp carvings ever! Well, the worm wasn't particularly great, but I had a long, skinny piece of the pink stuff, and I hated the idea of it going to waste, so I was determined to carved something out of it. Being so long and skinny, my options were limited to a snake or a worm. I'd already found two or three boxes that had snakes carved, however, and I wanted to be different, so I carved a worm. Nobody--so far as I knew--had ever carved a worm before. Come to think of it, I'm not sure anyone has ever carved a worm since. =)

Back then, I always stamped my signature stamp into my planted boxes--a practice I've largely stopped doing mostly out of laziness than any real reason. And this logbook is the only logbook I know of, still in the wild, that had my original signature stamp in it. I only used this signature stamp in maybe two or three dozen boxes--I soon replaced it with a purple spider stamp because I quickly realized that the signature stamp was much too large for many logbooks! I used this signature stamp for about a month before retiring it. And that was ten years ago--the logbooks I stamped it into have either gone missing or the logbooks damaged by water.
I based it on a photo I took of Mount Hood, near where I lived at the time, and carved my initials into the stamp to really "make it mine." I didn't have a trailname back then, I was just Ryan. I'm also amused that I ordered people to plant their own letterbox and let me find it. =) Back when I planted this series, there were 30-some letterboxes in the entire state of California, and none in San Luis Obispo County where I planted the series. Getting others to plant boxes was important!

I look back at the stamps today and shake my head. So primitive. So simple. I still like them, though. Of the four boxes I originally planted that fateful day, only that worm has survived the whole ten years. The oak tree went missing almost immediately, and I've carved a couple of replacements since. The butterfly lasted a couple of years, but it too met its demise and was replaced on a couple of occasions. The spiderweb survived for most of the decade, which was all the more surprising because it was found on a regular basis by muggles who'd sign in about how exciting it was to find the box by accident. They kept the logbook and stamp there for years. The last few years, however, have not been kind to that box. Seems that potheads found it and stopped leaving it in such a pristine condition. The box lingered on, but the logbook faced water damage when the ZipLocks failed. I replaced the logbook on a couple of occasions, but when I checked up on the series last Friday, the stamp was gone.

But the worm keep on ticking.... The box celebrated its tenth anniversary last month, and still had the original stamp and original logbook in the box. The original logbook really surprises me. About a hundred people have logged in, and it's still the original logbook! Stamps can survive water damage, but logbooks generally do poorly. Invariably, ZipLocks always fail. It's not a matter of if--it's a matter of when.

And this box is no exception--the ZipLocks have failed multiple times over the years, and I've replaced them, yet the logbook has always stayed dry. Or at least never more than a slight dampness about it, like dew on the grass in the morning. And you want to know the secret of longevity for this letterbox? A boardwalk.

I hid the letterbox under a boardwalk. I didn't realize it at the time, but it was the perfect hiding place. The boardwalk had about two inches of space under it--not enough for people or kids to play under and find the letterbox. The boardwalk had boards pressed right up against each other--no large gaps that rain would fall through. Oh, water could (and does) dribble through the slots between the boards, but most of the water sheds off the sides. The hiding place essentially is a roof for the letterbox to protect it from the elements, and that's why the logbook has survived for so long.

I also included a logbook with a lot of pages--the tiny logbooks common today were a rarity back then. People had more space to write messages (and did so!), so the logbook never filled up despite the hundred or so people who have found it.

That's an important lesson to remember. When you're out looking for a place to hide your letterbox, look for a location where it won't be found by accident, and look for a location that has a natural "roof" to shed rain. I've used fancy, seal-tight containers, but they can fail. Some are better than others, but even the mighty Lock-n-Lock can fail. ZipLocks will also fail. And when they both fail, your logbook is toast.
The best, idiot-proof way to keep those logbooks intact for years and years is a hiding place where water just won't drip on it in a rain storm. These kind of locations aren't easy to find, and in many places, it may be absolutely impossible. But look for them. Holes in a tree (as long as the hole doesn't open skyward), under large rocks that can shed rain water, and under man-made structures like boardwalks that can shed water to the sides. These are the kind of places where a logbook can survive for a decade or more, even when the container and the ZipLocks fail.

I also like this logbook because people have written lots of messages in it. Many logbooks today are too small to really write anything, but if you give people enough space, at least they have the option to do so. The larger the logbook, the more likely people will fill it up with stamps and words. Of course, the larger the logbook, the harder it is to find a good place to hide the letterbox. Give and take, ying and yang. =)

I've thought about replacing this logbook for years. Not because it was almost full, but because it had so many finders, so many stamps, and so many wonderful messages written in it. If it was ever lost or damaged, I'd be heartbroken. Most logbooks I've planted I don't have any sentimental attachment too, but this one is special. It was while visiting this logbook with Jess and Wes (AQ members #2) that I felt my first (and thus far, only) earthquake in California. I was sitting on the boardwalk when I felt it shake a little, and at first I thought one of them was shaking it. They thought I was, which was when I realized it was actually a small earthquake and had the pleasure to tell them they felt their first earthquake ever. =) And how lucky were they? I grew up my whole life in California and never felt an earthquake. They visit the state for two days and get to experience one! It was just a small quake, though. Later we learned it was 5-point-something. Enough to feel it, but not really enough to do any damage.

But I wanted to see if I could keep it out there for a full 10 years. And finally, it's been 10 years. A decade. I've switched out the logbook with a new one. The original stamp is still there to found.

When I started Atlas Quest, I needed to populate the site with letterboxes, and naturally I started by adding all of my plants, in the same order I planted the boxes, so the Los Osos Oaks Series officially become box #1. A historical moment in AQ's history, to be sure. =) As I type this today, the last letterbox listed on AQ is box #173076. (I'm waving at you, Canada!)

When I checked up on the boxes last Friday, one box was missing completely. The box I call the pothead box was still there, but the logbook was soaked through and the stamp missing, so I've removed it for now. The worm was still alive and well, but I replaced the logbook just to preserve this one forever. And the last box was severely water damaged, so I replaced that logbook as well.

Whenever I've replaced these boxes, I've always carved exact duplicates of the original stamps, even though my carving abilities have improved dramatically since then. After ten years, though, I think I'd like to do something more. I want to carve new and improved stamps the next time I replace the boxes. Trails have changed since I originally wrote the clues, and I want to fix that up a bit. The next time I'm down visiting San Luis and go out to this park, I'd like to expand the series. This series is special to me, but by golly, it needs a facelift, and I'm going to give it one. =)

Tuesday, May 24, 2011

Whistle Stop!

Wassa looks for a place to hide a box on
Plant-a-Letterbox Day.
Yes, once again, whistles are available in the AQ Marketplace while supplies last. =) Nothing new or interesting to report--just the arrival of more whistles!

Sunday, May 22, 2011

"What'd you break this time?"

Glad you asked! Pull up a chair and I'll tell you a little about the update I did tonight. It's not actually very exciting and, on the surface at least, any changes you see would probably seem rather superficial. This update deals primarily with the blog code, and anything you find that appears to be broken is most likely to deal with any page or widget that deal with blogs.

And even then, on the surface, the changes seem largely superficial. Underneath the hood, it's been almost completely rewritten. You'll notice that "objects" listed on Atlas Quest such as boxes, trackers, events, groups, virtuals, and themes have a lot of very similar functionality. They all show up on the Advanced Search page, for instance. You can save favorite searches for any of those types of objects, you add each of those objects through a "wizard" that takes you through one or more pages of information. Each object always has a name, attributes, a creation date, and a last modified date. You'll find that you can add notes to boxes, trackers, events, and virtuals. For all of their differences, they have a lot in common.

Which is why, many, many moons ago, I designed a little bit of code that all of these objects are descended from. I implement that functionality once, and it gives everything derived from it all of those powers, and this update moves the whole blogging system under this same umbrella. Blog searches can be run directly from the Advanced Search page, and you'll find there are cute little icons to represent the different types of blogs. You can sort, filter, and chop up the blogs in a hundred different variations, and because it's under this same umbrella with all sorts of useful features readily available, I can easily add the ability to allow notes for blogs, or add tags to blogs--but you currently won't see those as options only because I couldn't think of how they could possibly be useful. But... if there was ever a reason to add such functionality, it would be pretty easy to do.

I spent a lot of work updating all of the blog code to use this standard interface that all these other objects in AQ does, and frankly, none of these advantages are especially compelling for the amount of work it required. The old blog search had one horrible flaw--you were required to include a location of the blog for your search. It was impossible to search for "all blogs" by a certain person, for example. I knew it was a bad thing when I implemented it, but it was quick and easy and a search I figured few people ever used anyhow so I cut corners. I cut a lot of corners with the blog code, and it showed, and this update fixes a lot of those issues.

But still, that wasn't the reason I made this update. Nope, no.... This was actually just a test for a much more important feature I've been developing--a new geocoder. Actually, there are now nine new geocoders at this point, and I'm not sure I'm done making new ones. =)

Premium members already have a hint about some of the things I'm working on--they've had a chance to play around with the new geocoders. The last time I took down AQ for an update, it was to upload the new geocoders, which was installed into the profile locations as the first small step in testing it. Test with a feature that's simple and not particularly important first.

This is step two in the long process of upgrading the geocoder. The profile allowed people to type in their location and use the new geocoder to figure out what it meant. I now needed to actually test that information in a real, honest-to-goodness search. One that's significantly improved over the existing location-based searches. And ultimately, that's what I wanted to do with this update.

Blogs are tied to members, and members can specify their location, so it makes sense you can search for blogs by local letterboxers, and because the member profiles are using the new geocoded information, a search for blogs by people in a certain geographical region would require a search on the new geocoded information.

And if I messed something up terribly--well, better to have problems with the blog searches than with letterbox searches! =)

You can't see distances or locations when you use the location for the search--it didn't seem especially relevant for blog searches--but I've been doing a lot of testing on my development machine with this search. It's pretty cool.

First, you can leave the location blank. In this case, all blogs are returned, regardless of location. (By comparison, the Location-based search on the Advanced Search page, AQ will complain loudly and annoyingly that you must include a location.)

Second, you can type in any city, street, address, park, or zip code. (By comparison, this works exactly like the Location-based search on the Advanced Search page.) If the radius is set to zero, it'll return all boxes with the specified city, street, or whatever. (Not the zip code, though, since zip codes are simply converted into a city internally and a city search is run.)

And finally, you can type in a county, state, or country as the location--and not a city name!--it'll return a list of all blogs owned by people who've registered that county, state, or country as their location. (By comparison, the Advanced Search page can run an area search, but that's actually separate from the location-based search, and even that doesn't have any concept of counties.)

The geocoder is a bit smarter than the old one as well. It's capable of finding thousands of parks that the old geocoder couldn't identify. And it's even more forgiving if you type in latitude and longitude coordinates, allowing commas (the old one required the latitude and longitude to be separated by a space) and allowing N, S, E, and W to be used instead of + or - coordinates. (You do still have to use decimal numbers, though--degrees, minutes, and seconds still won't work.)

All-in-all, it's a huge improvement over the old geocoder. And honestly, the power of the geocoder is being wasted on a mere blog search. =) But like I said, I'm still doing a lot of testing and tweaking, and I'd rather mess around and break a blog search than a letterbox search!

So that's what this update does. In a nutshell, on the surface, it doesn't appear to be much. Eventually, though, when I roll out these updates to the rest of the website.... it's gonna be awesome. *nodding* =)

But.... back to the blogs. I added a new subtype of blog I called "external" to describe blogs that are by people not on Atlas Quest. There are blogs I like to read that aren't by fellow letterboxers, but when I originally created the blog code, I assumed everyone would register their own blog. Obviously, I don't expect the owner of Cake Wrecks (for example) to register an account on Atlas Quest, list their blog, just so I can subscribe to it there. =) It was a huge oversight on my part, and I added the "external" subtype to make up for it. And after I uploaded all of my changes, I registered the Cake Wrecks blog. Now I can see the latest cake disasters between Trekkie Gal's postcards. And really, how cool is that? =)

Tuesday, May 10, 2011

Black is the New In

The Atlas Quest whistles are back in stock! And there's a new kid on the block--black! I ordered a bit more than I did last time, and assuming those with fast trigger fingers last time got their fill, I hope this batch of whistles lasts at least a bit longer! But admittedly, I would not be surprised if these do sell out relatively quickly, and if they do, I will order more based on whatever colors sell out quickest. So if you do have a favorite color, it's better to order sooner rather than later! It might be another couple of weeks to get another re-order in!

In other news, I just got back from a long cross-country road trip late last night and picked up my mail today. It looks like a lot of them are checks--probably from whistle orders that didn't arrive before I left for the trip. I haven't opened them yet, but if you have sent a payment by check, I probably have it, and I'll try to get those whistle orders in the mail tomorrow. You'll get an AQ mail from me by tomorrow if I have received a check from you. =)

Happy whistling!

-- Ryan

Wednesday, April 27, 2011

And Your Favorite Color Is....

Wassa Jr. searches high and low for a coveted
purple whistle, but alas, nothing....
PURPLE! Holy cow! I could hardly believe it when I woke up this morning, but the purple whistles are already sold out! And a close runner-up... red, which the time I type this, there is only one left. I wonder if it'll still be there by the time I finish posting this post.

For those of you planning to pay with a check--don't worry--the items are taken out of the inventory count as soon as your reach the invoice page with the payment options. You don't have to worry about not getting your favorite colored whistles just because the payment takes a bit longer to arrive.

The least favorite color: blue. Still have seven of those left, but still, that means I've already sold 18 of them!

And since I only have 12 whistles of all colors left (Really? I sold EIGHTY-EIGHT of these things in about 12 hours?), I will definitely order more whistles today. It'll take at least two or three weeks for me to get another shipment in, though, but there will be more, so don't be too disappointed if you missed your chance. Also, if you pay by check, do send the payment promptly. If I don't get payment within a week or so, I'll cancel the order to make those color whistles available to others.

-- Ryan

Tuesday, April 26, 2011

Get Your AQ Whistles!

The whistles come in four colors:
blue, green, red, and purple.
A long, long time ago, way back on April 4, 2011, Housepitality Hostess posted to the message boards suggesting an AQ whistle for premium members. I liked the idea of a whistle--it's considered one of the ten essentials by many people and can help in an emergency when cell phone coverage is weak or spotty while out beating the trails in search of letterboxes. I saw no sense in restricting them just for premium members, but I liked the idea of an AQ whistle. So I poked around, looked up several companies that could create custom whistles, got some prices, and decided, hey--this is doable!

So I ordered them, and 100 bright and pretty whistles arrived this afternoon. Amanda grabbed a green one for herself, blew into it, and I can assure you--these things really work well! I ordered 25 in each of four different colors: red, blue, purple, and green.

And they are now available for sale in the AQ Marketplace! If you want one, order yours today! Once I sell out, I'm not sure if I'll order more or not. I guess it depends on how popular they are. I definitely won't be ordering more until I'm running low of all colors--so if you have a favorite color that sells out, there won't be more coming until maybe all of the other colors have sold out as well.

Happy (and safe!) trails!

-- Ryan

Monday, April 11, 2011

The Last Small Update

SURPRISE!!!!! =)
You often hear me talk about the "Next Big Update." I use the term so often, I sometimes even abbreviate it as NBU. Sounds cool that way. =)

Well, I took AQ down this evening for an update, but admittedly, it's not particularly big, but there are a few items worth noting. In essence, it was the "Next Small Update." Or rather, now that the update is in the past, the "Last Small Update."

So what changed? First, if you check out the Letterboxing Preferences, you'll find a few new options. A number of months ago, I added options so you can eliminate boxes that have been abandoned for at least 6 months, boxes that have at least 3 strikeouts, and boxes that haven't been found for the past year. I think those numbers work fairly well, but I know darned well that others may feel differently.

And now--you can change them! Have at it! =)

The only other semi-functional change I can think of--on the Advanced Search page. There are a few new options to search for cemetery boxes, night boxes, rest area boxes, and boxes in historical locations. It's just a glorified clue search and isn't actually new functionality--it just makes it a little quicker and easier to search for specific types of terms. If you search for cemetery boxes, for instance, it'll also search for various derivatives of the term cemetery (e.g. cemeteries) and common misspellings (e.g. cemetary), and related words (e.g. graveyard). It's not a perfect search, and one test showed that about 10% of cemetery searches returned false positives. It'll certainly narrow down such boxes, however!

Those are the only functional change I can think of that was in this update--and that second one isn't even much of a functional change to begin with--but depending on the browser you use, you might see a number of minor cosmetic changes. I've been updating much of the website to use HTML5. There's a lot of cool new stuff available with HTML5, but only the most modern of browsers have relatively decent support for it, and even the most recent browsers don't fully support it. I can mark form fields as being "required," and the form will not submit until you enter data into it.

For instance, take the Advanced Search page. The location-based search requires you to enter a location. In the past, if you submitted the search without a location, it would come back with an error message to enter a location. If you try it now, the form won't even be sent to the AQ server--your browser will stop you. Exactly what it looks like and how the error is handled is dependent on the browser you use. My browser of choice--Firefox 4--highlights the location with a fuzzy, red border and a pop-up box that says, "Please fill out this field."

Another example, also found on that Advanced Search page, is the distance. I've marked it as a "number," and browsers that support it will force you to use a number. Firefox 4, alas, does not do this. I've heard that the latest version of the Opera browser does this, but admittedly, I haven't tried it in that browser. But as browsers are updated with the latest HTML5 support, I expect more and more of the validation to be done by browsers.

Another neat trick I added can also be found on that Advanced Search page. If you take a look at the "Member" option, you might see that the box for member has the word "Trailname" in it. That's a placeholder and disappears when you start typing. I added placeholders all over the place. The box name/number, the clue search, the location, and all over Atlas Quest. Not a big deal--if your browser supports it, you'd likely barely notice the change. But there's another feature of the Members box I want to point out: It's smarter. =)

When AQ sends that member box, it's waiting for you to type a trailname into it. Many websites today are fancy and start trying to predict what you're guessing for. Google searches do this. You type the first letter, and a bunch of common search terms starting with that letter show up in a list just below it that you can select from. Type another letter, and the possible search terms change to use those first two letters. I never implemented something like that because it seemed like too much work for the relatively little gain in slickness.

But with HTML5, I can send a list of trailnames with the box, and if you start typing, it'll give you a list of matching trailnames. It's not quite as slick as Google's search--I have to send all possible trailnames that can be used with the box. There are over 25,000 trailnames on AQ right now, and it's not especially efficient to include 25,000 trailnames every time you want to run a search! But really, whose boxes are you most likely to search for? Friends, of course! So rather than sending every trailname on Atlas Quest, AQ checks your contacts, your exchanges, and people you've AQ mailed and received AQ mail from, and sends just those trailnames. Chances are, whoever you're search for is going to be one of those names.

This effect works in Firefox 4, but I don't think it works with IE9 if I remember correctly. I've been trying all of these cosmetic features with all sorts of browsers--Firefox, IE, Chrome, Safari, and Opera, and I never really kept track of what worked with each browser. From what I've read and tested, Opera seems to have the best HTML5 support. (Not perfect, but still the best.) Chrome and Safari have generally excelled at support for HTML5 for quite some time. Only the very latest versions of Firefox and IE have any support for HTML5 (Firefox 4 and IE 9). IE 9 still has a lot to be desired. Firefox 4 I think is pretty good. But one thing I like about IE9--you can finally see the rounded corners! AQ looks so much better with rounded corners. (If you use IE9 and don't see rounded corners, take the browser out of the "compatibility" view.)

I'm having a lot of fun exploring HTML5. You'll likely see additional such tweaks over time, but the changes are largely cosmetic in nature and not particularly noteworthy for the most part. I won't be posting about them again in the future. =)

So there you have it. That's what was in this update. (At least the visible changes.)

Happy trails!

-- Ryan

Saturday, April 09, 2011

Calendar Photo Reminder!

Wassa Jr. says to tell everyone hi. =)
Have you been out letterboxing all winter, slogging through snow, mud, and the worst that the elements can throw at you? Then certainly you've got a few nice winter photos to submit for the annual AQ letterboxing calendar! If you're new to this, you can read all about it in the Project X link from the Marketplace menubar option.

And whether you are new or not, be sure to submit your photos now! Yes, the deadline isn't for months away, but those who wait until the last minute often can't find the photos they want to upload or submit them just a bit too late. Get it done now, then head out and start finding those perfect spring photos!