Monday, April 26, 2010

Clues on the Trail

As most of you know, I'm currently thru-hiking the Pacific Crest Trail. This activity often holds one special challenge for me--getting clues. I can check e-mail, but I can't necessarily get on the Internet. I really needed a way to get clues to me via e-mail.

So, while Amanda is here to slackpack me, I've been working on a new feature late into the nights. Admittedly, it's largely for selfish purposes, but for those of you who also have e-mailing ability on your cell phone but don't necessarily have access to Atlas Quest on the Internet--or maybe you don't have an easy way to store clues on your device--this feature might be very useful for you. =)

To make it work, send an e-mail to 'boxes' at 'atlasquest.com' including the location you want letterbox clues for as the subject. It's just a normal run-of-the-mill location-based search, so anything that works for a location based search works here--cities, intersections, addresses, zip codes, and so forth. Leave the body of the message blank. (Or you can write stuff in it, but AQ will ignore anything you write.)

After a minute or two, you should get a reply with the clues for that location. If the e-mail address is one that is registered with Atlas Quest, it will also strip out clues for boxes you've planted and already found.

You have mail! =)

Friday, April 16, 2010

Is it art? Or graffiti?

Yesterday evening, I went on my normal Alki walk. It was a nice night out. Wonderful views of Puget Sound. And about halfway along my walk, I found two characters "decorating" a truck. I've seen vehicles hit with TP and stuff written on the windows before, but at a glance, I could tell this was something special. The two guys had an enormous roll of plastic wrap and were just starting to wrap the car. And looking into the cab of the truck, I could see it filled with packing peanuts. Right up to the windows.

That was evil. But when I took a closer look, I was even more impressed. They lined the inside of everything in the truck with aluminum foil. The steering wheel, the seats, the head rests on the seats, the review mirror--everything covered with aluminum foil. How long this must have taken I can't imagine. The packing peanuts was pure evil. Whoever owns that truck will likely be finding those for months on end.

And I decided, I needed photos. This was a work of art. This is something I would have normally guessed was Wassa's work, except I know Wassa, and neither of the two men doing this was him. I asked what unspeakable crime the owner of the truck committed, and was told he was getting married. The fool. *shaking head*

I wanted photos, but I didn't have my camera on me. Curses! I walked home.

This Alki walk is a good five or so miles in length, and after getting home, I sat around for a couple of hours getting some work done and letting my feet rest. But I still wanted photos, and I didn't know when the owner of that truck would be back and start the cleanup. I needed to get pictures that night. So I grabbed a camera, and at 2:00 in the morning, I went off to take photo.



These are the best photos that came out. The flash was blinding, and the natural light at 3:00 in the morning was less than ideal. However, you can see the packing peanuts in the vehicle, half covering the steering wheel (which itself was wrapped with aluminum foil). I walked back home and went to sleep.

I wanted to see if I could get better photos, however, so I did my walk a third time in the light of day the next morning, hoping none of the cleanup had started. And YES! It was still there, completely untouched!

I'm not really sure the photos from the light of day were any better. The glare of the sun caused its own problems, and I actually had to touch up these photos in my photo-editing software to make them look this good!

I really like the aluminum foil trim on the tires of the truck. That just seems classy to me.

Then I posted a note on the car saying, "The letterbox can be found in the peanuts." No idea if the owner will understand that message, but the mystery will certainly intrigue him. =)

Tuesday, April 13, 2010

Virtuals Revisited

When I first saw virtuals, I didn't really get the appeal. Until one.... there was one virtual that I positively thrilled myself solving. It's simple--practically mindless, in fact--but I absolutely loved it. It's called the Peatbank. If you've never been interested in virtuals, it's at least worth keeping your mind open for this one. It's different. I'm not sure who created it, except that it was an Englishman (or woman), and it was rather unfortunate this type of virtual didn't get 'exported' into the United States like their real letterboxes had been. This virtual made the hunt for a virtual box as much like the real thing as possible on thing contraption we call the Internet.

So far as I know, only one attempt was ever done to recreate the spirit of that original Dartmoor virtual box, Lone R's Northern Village. It was a supremely satisfying change of pace of the usual virtuals being posted and I hoped it would inspire others, but apparently... it didn't. *shrug*

But that's the kind of virtual I actually get excited about, and finally, I set up a system that makes it a heck of a lot easier for me to list that type of virtual myself. For those of you paying attention to recent virtuals, you'll have noticed a positive blizzard of these types of boxes. I probably created more in the last few days than have ever existed, and each one I listed tested some of the code behind it. Tweak some more, listed another one, tweak some more, list another one.

It started with The Seychelles, a place Amanda has always wanted to visit. But I also imagined ways to letterbox virtually that we could never do in real life, such as in space or underwater, or even find a true "micro" box. I have some other ideas for virtuals I'd like to create, but I'll save those as surprises.

The code for listing these types of virtuals seems pretty solid now, so the feature has been opened for anyone and everyone who would like to give their hand at it. Seems like a lot of you have been enjoying these virtuals I've listed over the last few days, but I'd like to enjoy solving a few that others have listed! The process for creating them is still considerably more complicated than the usual state of using passkeys, but it does take out a lot of grunt work that would have been required before which is why the most time consuming part to create these virtuals was carving the stamp--not setting up the HTML which used to be the biggest bottleneck.

Look for a lot more of these in the future! If you're interested in solving these, be sure to join the Virtuals group. Otherwise, the virtual functionality is largely hidden.

Saturday, April 03, 2010

Did you miss the mustache during all the shenanigans?

With all the shenanigans going on lately, from Apollo Quest and random themes to alleged marriages going on and suspect dentist visits (okay, the dentist visit was real), real development for Atlas Quest has not come to a completely stand still. It just seems that way. And, so far, it seems like nobody has noticed on a couple of the newest features.

First, there's that suspicious mustache icon. I added this over a week ago, and at least a few people have noticed it since I see it used in about a dozen entries. But I'm a little surprised that nobody has yet to comment on it on the message boards. This icon can be applied to any event box that's Hidden In Plain Sight (HIPS), if you want to give people a head's up to keep their eyes open. Kuku and Wassa (and Wassa friends) were the inspiration for this icon. Kuku e-mailed me a question about how to list a HIPS box, and technically speaking, there wasn't any way to list them, but it seemed like it could be a useful icon for event boxes.

I wasn't sure what kind of icon could represent a HIPS box, however, so I scratched my head a bit thinking about all those sneaky HIPS boxes I've found in the past--hidden in fake cans, hollowed out books, in otherwise empty donut boxes, and such. Leave something unusual on a picnic table at an event--such as a rock. A solid piece of granite. Just put it on a picnic table and watch what happens. Admire the dozens of people that will pick up the rock, look under the rock, knock the rock around. They're convinced it's a hidden event stamp, and they'll spend ten minutes trying to figure out The Secret of the Rock. Even when there is no secret! That's how powerful these HIPS boxes are. They turn sane people into those crazy people you'll cross the street to avoid.

Of course, when I start thinking about sneaky and conniving, I start remembering the fun from the Spy vs. Spy event. And when I start thinking about that event, I start remember the ridiculous fake mustaches Wassa's team wore. And I thought, "Ha-ha!" THAT can be the icon for a HIPS box! Wassa's mustache! And thus, he unwittingly became the inspiration for the icon. Remember that the next time you see the icon. ;o)

In a completely unrelated update, there's yet another new search option I call the Linear Path Search, which is a really ugly name to describe a search along the straight line from Point A to Point B. It's a lot like the Trip Planner search that allows you to search for all boxes within a specified distance of a specific route, though in this case, you get to the pick the starting and ending points for anywhere on Earth. And, it'll only work with straight lines. So if you're traveling along an Interstate, you're still probably better off running a Trip Planner search. If you're traveling off the beaten path, however, or live in Canada or Europe where there is no trip planner support (as of yet, at least), the linear path search can recreate a lot of that functionality.

Take this example of a 5-mile wide search from Sacramento to Seattle. (Technically speaking, the search is for all boxes within 5 miles of the line from Sacramento to Seattle, so it's actuall 10-miles wide--5 miles for each side of the line.) Each box shows how far down that line the box is located, and how far off from the line the box is located. And check out the mapped results--pretty slick-looking, don't you think?

For long distances such as this, it's probably not that helpful since most roads won't be anywhere near straight enough to follow a straight-line route, but broken into shorter segments, it could prove to be a very useful search. Any point on Earth can be mapped--addresses, cities, zip codes, latitude and longitude coordinates, and more. Anything you can search for using a location-based search will work as points for the linear path search.

Happy trails!

Friday, April 02, 2010

Nevermind....

That whole thing about changing the name of Atlas Quest? The deal fell through, so nevermind about all that. We'll be keeping the domain atlasquest.com until a legitimate offer comes along. *rolling eyes* My bad!

Wednesday, March 31, 2010

Apollo Quest!


They say everyone has their price, and I'm no exception. Perhaps if I were independently wealthy, I'd be less corruptible, and while I'm wealthy in friends and experiences, it's hard to buy food or pay for the dentist with those. (Speaking of which, I have a dentist appointment tomorrow. *sigh*)

Occasionally, I get requests to buy the domain atlasquest.com -- it's a gem of a domain name, as it turns out. When I started Atlas Quest, a google search brought up precisely zero pages that used those two words, one right after the other, and I was delighted to find the domain available for purchase. It only took a few months before I got my first offer from someone to buy the domain from me, but the offer was for about fifty bucks and hardly worth the effort. It wasn't even a company that intended to use the domain--they just wanted to "flip" the domain and sell it to the highest bidder.

Every few months, I still get one of those offers, and I've always ignored them.... until now. It seems that a World of Warcraft (WOW) has some sort of extension or something (I don't really get it myself since I don't play) that they call AtlasQuest (or AQ, for short). Notice the lack of a space between Atlas and Quest. Not exactly the same way I spell it, but close enough. I first noticed them a few years ago and found it mildly amusing at the time.

The latest offer I got was from them. At first I blew them off, like I've always done, but apparently they really want that domain name in a bad way. And apparently, making games is a heck of a lot more profitable than letterboxing is, because they offered me--well, it seems wrong to mention specifics, but their offer had five digits (and that's not including the pennies) WHAT?! "I'll think about it," I told them. What was really going through my head was, "Hell, YES!" Sure, I'd need a new domain for Atlas Quest, but a rose by any other name is still a rose, and Atlas Quest by any other name is still Atlas Quest. For that much money, I'll be happy to use a new domain!

So negotiations ensued. First, I needed a new domain, and finally settled on Apollo Quest. This has a couple of benefits. First, I can still sell the AQ patches I have. Thankfully, I had only used the AQ abbreviation on the patches, so all of the ones I've already sold will not become obsolete. Second, it still keeps the "spirit" of the original name, switching out one character from Greek mythology for another. And, it's still easy enough for people to spell. (A lot of those creatures from Greek mythology have bizarre names that are very difficult for most people to spell or even pronounce!)

Unfortunately, the domain apolloquest.com is owned by one of those domain flipper companies, so I needed to negotiate with them to get the new domain. (They were trying to sell it for $1,200, but I got them to agree to less. Still highway robbery if you ask me, but who am I to complain--I'm selling mine for tens of thousands of dollars!) It'll take about a week before that domain is officially transferred into my name and the IP address is fully propagated, but it's in the works.

Once I get the apolloquest.com domain name and it's all official, I'll move Atlas Quest to the new location, then start redirecting traffic that does go to atlasquest.com to apolloquest.com. I'll keep atlasquest.com through the end of April so people have plenty of time to learn about the new domain name and have time to adjust links on their own websites as necessary.

The first day of May, I'll start the process of transferring the atlasquest.com domain to AtlasQuest (without the space). I don't know how long it'll take them before they actually get their own website set up since that's not in my control, but any link that points to atlasquest.com will likely break at some point during that first week of May.

And that's it. Except for the name, absolutely nothing else will be changing. Marjorie will still be our chick of choice, wassa will still be a webmaster, and cheese racing will still be allowed at letterboxing events.

And welcome to Apollo Quest!

Saturday, March 27, 2010

The Virtual Demotion

I haven't been looking forward to this latest update because I know it's going to tick a lot of people off, so let me apologize in advance. Virtual 'boxes' have long since lost any connection to boxes as we know it, and I've finally reflected that fact in the database and the code base. In a nutshell, they've been demoted. They are no longer boxes, in name or function.

For a long time, I didn't care that virtuals (in my opinion, at least) were being run into the ground. I didn't do them, so I didn't really care. Whatever floats your boat. =) Eventually, however, their proliferation started causing a couple of technical problems that made me sit up and take notice. The two big issues:

* The enormous number of photos being uploaded into the system were taking up an incredibly large amount of limited disk space. I did a couple of delaying tactic, such as deleting decorative photos that were included with clues and limiting listings for virtuals to one person per day. Those were just stall tactics, though, not permanent solutions.
* Because it's actually quite easy to solve all (or nearly all) virtuals, it had some unique issues when it came to developing database queries. For those who had found more than about 50% of the virtuals listed on Atlas Quest, it caused an excessive number of slow database queries. Since the other types of boxes didn't have those kind of find rates (nor the sheer number of finds involved), the problem doesn't show up with other box types. It was a problem unique to virtuals, and I didn't have a good solution to it.


To be perfectly honest, I'd be just as happy to stop support for virtuals completely, but I know quite a few of you are big fans of them, so I haven't. I thought about moving them to a completely separate website, which is actually quite an appealing idea to me, but creating a new website from scratch would take a lot more work than I wanted to handle. So I went with the solution that I'd move virtuals into a category of their own, completely independent of boxes, trackers, events, and groups (which were the four official "categories" of "stuff" I supported before). Now there's an actual virtual category, rather than just a subtype of the box category.

This change has several important ramifications. I'm building this code from scratch, so it's rather primitive at the moment. A lot of features that were designed to work explicitly with boxes such as tags, ignored boxes, box comments, and so forth--they don't work on virtuals anymore. That's the bad news. Eventually, I'd like to implement some of those features, but it takes time, and it's not going to happen overnight.

Of course, to support virtuals at all, I really needed solutions to those two big elephants in the room, and a number of changes are directly related to fixing those problems. The first--images for solutions will no longer be hosted on Atlas Quest. Instead of uploading images, you'll just create links to images elsewhere on the web. (And no, uploading images to the Photo Gallery and linking to those will not work--AQ will reject those links.) Existing images can stay on Atlas Quest, but all new virtuals will require externally hosted images. This should help cut the number of images being uploaded dramatically.

The slow queries problem I've attempted to help solve by reducing the number of tables in the database that need to be joined. Most of you are probably rolling your eyes thinking, "What's that mean?" What this means is that series of virtuals will no longer be supported. (Existing series have been split up into individual listings.) Since almost all virtuals had clues and solutions hosted on Atlas Quest anyhow, I've gone ahead and made that an official rule. All virtuals listed on Atlas Quest must have a clue and solution listed. (Any existing boxes that did not have a clue or solution listed have had their status changed to unavailable.)

While I'm certain that a lot of these changes won't be popular, there are a couple of silver linings for you virtual aficionados. =) Since the original concept of solving passkeys one letter at a time has largely gone extinct, you can now just type the passkey rather than set it one letter at a time. (Which, truth be told, is actually easier for me to implement and maintain anyhow.)

Additionally, now that virtuals are in their own separate category, I got rid of stuff that wasn't particularly applicable to them. For instance, a planter, author, owner, and carver seemed a bit of overkill for a virtual box. Has there ever been a planter who wasn't the author? And the vast majority of virtuals were images stolen off the web so listing carvers doesn't seem particularly necessary. (And even if someone is using hand-carved stamps, would you actually be using someone else's hand-carved images? Probably not a good idea....) So there are only two names associated with virtuals--the person who first listed the box (the "creator") and the person who maintains the box (the "owner").

Likewise, the status options have been simplified as well to two different choices as well--active and unavailable. While technically, I suppose the "unknown" option could be used, it seems almost ridiculous to apply it to a virtual. And the distinction between an "unavailable" virtual and a "retired" virtual seemed like a line so thin, it hardly seems worth quibbling about. So the status options have been narrowed down to a format more suitable for virtuals. Plant dates are no longer used at all--it should always be the same as the list date--so it seemed like an unnecessary redundancy to support both a plant and list date. You don't even have the option of entering it anymore.

And there's one other relatively minor change which, I suspect, might possibly anger people most of all--you will not find your virtual plant or find counts anywhere on Atlas Quest. I suspect that part of the reason that virtuals have gone downhill over the years is that it was easy to list and find virtuals faster and faster and people could rack up large numbers very quickly. Had more effort been put into quality rather than quantity, I might never have needed to demote the virtual. If you want to keep score for yourself, that's fine, but you won't find a virtual Hall of Fame anymore, and your virtual counts will not be displayed in your profile. We've always said it shouldn't be about the numbers, and now it's not--in both words and actions. (I will admit, part of the reason for this change is that it takes the database a really long time to count up the tens of thousands of finds some of you folks have picked up. But I like the principle behind the change as well.)

For the most part, virtuals are completely hidden unless someone explicitly chooses to participate in them by joining the Virtuals group. I've already added anyone who has solved or listed virtuals in the past, so most of you shouldn't need to worry about this. (I've also included it as a Miscellaneous Preference.) The virtuals board has also been moved into this group as well. If you are a member of this group, you'll see a "Virtuals" link under the "My Page" menubar option, and that's your link to all things virtual.

And, all of the code related to virtuals is completely new. I've done quite a bit of testing on it, but there is a LOT of new code being used, and it's almost certainly going to have a lot of bugs in it. Please be patient with me--I'll fix them as quick as I can.

I think that covers most of the issues regarding virtuals. If you have any questions or comments, please post them to the Virtuals board. If you just want to chew me out for these changes, I'd rather you not--it's unlikely to do any good--but I suppose you can do that too.

Saturday, March 20, 2010

Now Aren't I Clever? =)

I know some of you stay up all night, just wondering, "What is Ryan doing?" Well, let me tell you about some of the exciting things I've managed to complete tonight.

Ever since I set up Another Long Walk on Blogger as a "custom domain"--that is, it points to my own domain name rather than a generic name that looks like http://mysubdomain.blogspot.com--I've wondered if I could get the rest of my blogs off of blogspot.com hell. Okay, maybe hell is too strong a word, but whenever I see a blog that uses that as the domain, I think it looks just a little bit tacky. Like wearing a thong to Taco Bell. There's just something that says, "I'm cool," by hosting one's thoughts on your very own domain name. Domain names are cheap--I get mine from GoDaddy for about ten bucks each per year. Less than a dollar per month. All thing considered, it's a cheap way to look somewhat professional on the Internet.

I've been using http://atlasquest.blogspot.com for my letterboxing blog, which works, but like I said, I think it looks tacky. I could have moved it to one of the many atlasquest.XYZ domain names I do own--atlasquest.biz, atlasquest.org, atlasquest.mobi, and probably a few others I've forgotten off the top of my head, but those aren't atlasquest.COM! It's just not the same....

So I've left it at http://atlasquest.blogspot.com all this time... until now! While figuring out how to host my Another Long Walk blog at http://www.anotherlongwalk.com, it seemed like I could tweak the directions a bit to have my blog point to http://blog.atlasquest.com. I wouldn't use www since that's used for the main Atlas Quest website, but wouldn't it be slick if my letterboxing blog were hosted at http://blog.atlasquest.com? Yeah, I thought so too.

But I was scared to make any changes to the DNS settings. If I screwed something up, it could take AQ down for days! DNS settings are not my forte, and they're awfully temperamental. Since DNS entries propagate through the Internet relatively slowly, even if I fixed the error quickly, the incorrect entries could linger for days in some systems making AQ all but inaccessible during that time.

But I really, really wanted to use http://blog.atlasquest.com, so I decided to test changing the DNS settings with a website that wasn't mission critical--my RyansATotalGoober.com website. I tweaked some DNS settings to redirect the blog to blog.ryansatotalgoober.com, and.... it didn't work. Took me the better part of a half hour, but finally figured out that a missing period was causing the trouble and got the changes to take. (However, depending on how much that DNS setting propagated, some people might see an error if they try that URL at the moment.)

Now that I knew the correct way to set DNS settings, however, I decided to try it with the real blog on a real domain--atlasquest.com. I added the CNAME setting, pointed blog.atlasquest.com to ghs.google.com, crossed my fingers, and clicked "Save Changes."

Then I logged into Blogger and told it to change my blog into a custom domain, pointing to blog.atlasquest.com, crossed the rest of my fingers, and clicked the button to save changes. I got a message saying the changes were saved and my blog was successfully moved.

I went to http://blog.atlasquest.com.... and it worked! There was the blog! This blog! Woo-who! The old location at http://atlasquest.blogspot.com will redirect to the new location. And now the blog is hosted within the atlasquest.com domain name. Sweet. The best of both worlds. =) The blog is actually hosted on Google's web servers--I basically just direct any traffic to the blog to Google to handle as needed. All other traffic stays on my own server.

Then I went into Atlas Quest to update my blog settings to the new location. The setup was complete. My job was done. =)

Sunday, February 28, 2010

Disaster Planning

I got an AQ mail yesterday from someone concerned about disaster planning on Atlas Quest. What would happen if  "the tortuga loses his shell" or "just decides to throw in the logbook." The question might seem impolite, but it's a good question, and it's not something I talk about often.

My "throwing in the logbook" isn't very likely. Frankly, this is the best job EVER, in my humble opinion, and since I'm not independently wealthy, I do need a source of income. While it's possible I might spend less time developing or improving Atlas Quest in the future, I have absolutely NO incentive to throw in the towel. Even if I found full-time employment working 9 to 5 at a corporate job, I could still keep AQ running with a very small amount of effort. Development of new features would probably grind to a complete stop, but the site would certainly keep on kicking. =)

More likely risks could include legal woes. What if some idiot hurts themselves, then decides to sue me? It might not be fair, but it could happen. In fact, anyone that plants a letterbox could, in theory, be at risk of legal woes when things go wrong. Anyone getting hurt might blame the person who planted the box, or what if it's mistaken as something dangerous and police and bomb squads are called out? Legal woes have put businesses out of business in the past, and I suppose, in theory, it could do the same to Atlas Quest. That would most likely be a slow-motion disaster, however. The legal system isn't known for working quickly, and it seems unlikely that I'd be forced to shut down Atlas Quest quickly or unexpectedly. Heck, even Napster found a second life after being shut down.

And the biggest risk of all--which will happen someday--is if something were to happen to me. Death, dismemberment, severe strokes, or any other countless number of possibilities could take me offline permanently. Short term, nothing much will happen. If I walked away from Atlas Quest today, it could be several days before anyone even noticed. The site could probably run for several weeks completely by itself without any trouble. To keep Atlas Quest running, basically three things have to be done:

1. Someone needs to make sure to renew the domain name every year.
2. Someone needs to make sure to pay the website hosting fees when necessary. (It's currently set where I pay those costs every six months.)
3. Someone needs to keep an eye on announcements from the web hosting provider and Atlas Quest about changes to the system that might affect the continued running of the website.

Wassa already does that third task when I'm off hiking. It rarely amounts to much. A couple of years back, I was forced to move Atlas Quest to a new IP address which caused some problems. Right now I'm getting nightly notifications about the site running out of disk space, so I try to figure out ways to cut the amount of disk space being used or pay up for more. So Wassa could step into that roll pretty much immediately. In fact, I sometimes think he's actually looking forward to the day. ;o)

The ownership of Atlas Quest.... seeing as Amanda and I aren't married, I think legally speaking, the website would be inherited by my mother. I know she'd have absolutely no interest in running the website, however, and would happily give Amanda control over it. Which, seeing as Amanda is a letterboxer, uses the website regularly, and has been very supportive of it, makes a heck of a lot of sense. =) I should probably draw up a will stating as much, but admittedly, I haven't. (Not yet, at least.)

Unfortunately, Amanda doesn't have the skills necessary to actually run the website herself. I would think Amanda and Wassa would need to work out some sort of agreement about keeping the site up. Since Atlas Quest actually IS profitable, there's certainly a financial incentive to at least keep the website running, even if active development comes to a screeching halt. I doubt Wassa could make it a full-time job like I do--he probably has more bills than I do that involve things like kids, college, mortgages, and such that I don't have to worry about--and while AQ is profitable, a corporate job is even more profitable. So I don't imagine him quitting his day job to work on AQ full time. Nor anyone else for that matter. Any additional development would largely be on a volunteer basis.

Ultimately, I'd be thrilled if Atlas Quest earned enough money to pay competitive wages so that it would be easy to find someone who could continue working on Atlas Quest as a full time job. It might still get there someday. Even in this terrible economy, Atlas Quest actually has earned about 20% more in 2009 than it did in 2008. It's a little too early to tell how 2010 will do. January was down year-over-year, but February was up. *shrug* I'd be absolutely thrilled if it earned enough to pay a competitive wage compared to working "for the man." If it did, someone like Wassa could very well take over and make this a full-time job for themselves. Until then, it'll largely end up being run on a volunteer, part-time basis.

Of course, Wassa is older than me. Statistically, the stifling air quality in San Jose is likely to kill him before the sweat ocean breezes in West Seattle kill me. =) I may need a different plan B someday. I'd pick someone younger than me, but--would you believe it--there actually aren't that many who are. I'm generally considered a youngster by most people's standards. As I get older, though, it'll become easier and easier to find people younger than me qualified to keep Atlas Quest running. =) Ideally, I want whoever takes over from me to be able to keep things running for at least a decade after I'm gone, and then whoever steps into their shoes would be in charge for at least another decade after they're gone, and so forth.

While I'm not exactly sure what sort of agreement Amanda and Wassa would work out to keep Atlas Quest running, I have little doubt about it happening. They both love using the site and would want it to keep running long after I'm gone.

One other disaster that could potentially hit Atlas Quest--data loss. It's possible that the database could become corrupted and there's a permanent loss of data. There are night backups that are stored offsite, so if something did happen, it likely wouldn't be a total loss of data. I'd just go to the backups. And there are multiple backups. If the last one doesn't work, I'd try the one before it. Or the one before that. Or the one on my flash drive. There are so many different backups stored in so many different places, a complete loss of data is darned near impossible. Depending on when things go wrong, it's unlikely more than the last day or two worth of data is permanently lost. If a hacker managed to get in and deliberately destroy data, they could possibly cause a permanent loss of data that might add up to a month or two. And it might take several days, perhaps even a week for me to restore the last backup depending on the situation.

So that's my disaster plan. It's rather an informal one, but Atlas Quest is still small and informal enough that an informal disaster plan seems sufficient. As Atlas Quest grows, there might be changes. As time passes, there will be changes. But as things are now, I see no reason why AQ can't continue being here for years to come, regardless of whether or not I'm in the driver's seat.

Happy trails!

Saturday, February 27, 2010

It's Just One Little Button....

If you've been to a letterboxing event recently, you've probably noticed that convenient little button that allows you to record the finds for all of the personal travelers and event boxes that attend an event. There's a similar button for LTC swaps, so you can record the finding of large number of boxes from one easy and convenient page.

This is another of those examples of a feature that never seems to end. First, people requested the ability to leave a comment with each of the boxes they found. It's a reasonable idea, and I actually did implement that for the LTC swaps. Only 'private' comments are allowed, though. And as soon as I did implement that, the next feature request started coming in--"I want to post my comments publicly."

Again, it's a reasonable request, and one I want to implement, but it turns out the process is remarkable hard to implement. "It's just one little button," I'm told, "how can that possibly be hard? Public or private. Seems pretty simple to me."

This morning, I started working on this "simple" little request. About 12 hours ago. And I'm still nowhere near to being done. How can something so simple be so hard?

Options. Preferences. Notifications. As the finder of a box, you want the option to have a comment posted publicly or private. Each individual owner of the box wants the option to completely reject public comments, moderate comments, or auto-approve comments.

So already, we now have six possible combination of options that all need to work:

You: Public - Them: auto-approve
You: Public - Them: moderate
You: Public - Them: reject
You: Private - Them: auto-approve
You: Private - Them moderate
You: Private - Them reject

It's like a little battle--your options vs their options, and the lowest common denominator wins. If you want it private, the comments will be private. If you want them public, it will either be auto-approved, moderated, or forced to be private.

But since you're recording the finds and making comments on large numbers of boxes, the each box has a different set of  "their" options. You might want all of your comments to be public, but some people will want the comments auto-approved, some will want them moderated, and some of them will force it to be private. So I have to check each of the options for each box you leave a comment on.

How do I display this form? Do I tell you each person's individual settings so you know what will become of your comment--auto-approved, moderated, or rejected? Or just figure it out in the background and not confuse people with all that information.

And what if you leave some comments that you want public and others that you want private. Should I have a public/private option for every single box listed, or just one setting at the top of the page that will be applied to all of the comments?

Once all that is figured out, AQ needs to send out notifications to the interested parties. Some people want to be notified of all finds, even if no comment is left. Some people only want to be notified if there's a comment included. So AQ needs to look up the author, planter, owner, all carvers, and all contacts for each box you found--regardless of whether or not you left a comment--and AQ mail all of them (if you left a comment) or some of them (if you did not leave a comment).

It's enough to make my spin. It's spinning right now, in fact. =)

And, if I don't write the code well, it could cause the find report to generate hundreds or even thousands of hits on the database, causing the submission to appear "stalled," which might cause someone to submit the form again--just in case--making the problem worse and generating multiple notifications and comments for the same box.

So when I first created that "record finds" page, I took the easy way out. You could record finds, but no comments. At the time, comments didn't really seem that important anyhow. We're talking about personal travelers, event boxes, and LTCs. Typically, they consist of messages like, "That's a great stamp!" or "Thanks for the LTC!" or maybe "I really enjoyed meeting you at the event!" It's not really particularly useful information. Compare to the types of comments you might see on a traditional boxes such as "The logbook is full and needs to be replaced" or "The stamp is missing." That's the sort of information future finders of the box may very well want to know. It's a source of information, rather than the complimentary salutations of the non-traditional boxes.

So I took the easy way out. I just didn't support comments on those pages.

Eventually, I added comments to the LTC swap, but only allowed private ones. That was remarkably hard to do in itself, so I wasn't especially excited about the prospects of doing the same for the event finds. But even that still doesn't reach the ideal that everyone really wants to see--comments, with the option to make them public or private.

But this morning, I woke up, and was determined to get this ideal done today. Ate some breakfast, then got to work. Stopped long enough to eat some cold pizza from the frig for lunch. I'm at my mom's house and she made spaghetti for dinner (and cookies for dessert!). But otherwise, I've been working. Working. Working....

And twelve hours later, I'm nowhere close to being done. Things are so wrecked on my development machine, I don't dare upload any minor bug fixes or tweaks since there might be code that's no longer compatible with all of the other code currently on the live site.

I'll get through it--eventually. I decided to go with the "simplified form" where you specify the private/public option that is applied to all of the comments you make rather than allowing you to pick them on a case-by-case basis. I figure if you really wanted to make some comments public and some private, you'd just use the Record Finds page twice--one for each option.

And I have finally managed to get that unwieldy beast partly under control--the comments are being correctly logged and stored into the database. The part that still does not work is the notifications. I've been thinking about possibly making some shortcuts there. Maybe I could just notify the owner, rather than all "interested" parties? That would certainly make some things a lot easier. I'm rather dissatisfied with the AQ mail notifications of box comments as it is, and wonder if I should create a "Box Comments" page that allows you to review the comments on all of your boxes at once, allowing you to delete or approve them as necessary. Link to that and be done with it. I could even make a list of  "Recent Finds on My Boxes" that people can link to, and stop sending AQ mail notifications for finds without comments. If you want to see who's found your boxes, you'd still be able to look it up easily. And then I when a comment isn't left, I don't have to figure out which "interested parties" should get the notification and which ones should not.

But the I think, "But a lot of people won't like that." No, they won't. They like being notified every single time someone finds one of their boxes. Immediately. Even if there's no comment with it. It's purely selfish motives that make me think this way. "It's easier to code. It's easier to maintain. It gives me more time to play FarmVille." (I'm just kidding on that last one--after I reached level 70, I rarely get on FarmVille anymore.)

Anyhow, if you've ever wondered why I didn't do something so "obvious" as allowing people to leave comments on those pages of mass find recordings, that's the reason. It's hard! Brain-numbing hard. I figure I've already committed too far to stop now, so I'll carry through with something. It may not be perfect, and it may take several more days of work, and it might make me cry, but eventually I'll get something done. It may not be everything you want, but hopefully it'll be better than before. Options and preferences really muck up a lot of otherwise beautiful code.


I'm sometimes rather resistant to adding new options and preferences, and that's largely the reason. It makes things more complicated. Unless a sizable number of folks are actually going to use a certain preference, I often don't consider the effort involved worth the headache.

In somewhat related-but-not-really news, I started reading a book yesterday called Don't Make Me Think. Seems strange that I'd end up doing so much thinking today.

And in completely unrelated news.... I've heard nobody complain about the "shadows" on Atlas Quest bothering anyone today. Is that because I toned down the shadows, or because y'all got tired of complaining about the shadows? =)