Wednesday, September 26, 2007

The Next Big Update.... is NEAR!

You've been hearing about this update for months now. It started innocently enough, to add support for attributes on non-traditional boxes. I wasn't even going to include the new attributes yet--just add support for them.

It was all downhill from that. Since I was mucking around with that code, I figured what the heck, and added attributes too. Then since I was mucking around with that, I figured why not fix the add/edit box feature so you can skip ahead or go back to any page you want WITHOUT having to go through the whole series of pages. Then since I was doing that, etc, etc. It got out of control. Even yesterday, some of the changes required changes to the event code (don't ask how attributes on a letterbox ended up messing up code that handled events!), and I found myself wanting to improve features and code dealing with the events, but I finally said enough is enough and pulled back. NO MORE FEATURE CREEP!

For you computer scientists out there, the term feature creep is one that's always used in fear. Simple tasks become nightmares, and deadlines are missed. And for what? Usually nothing worth the extra effort.

I'm happy to report, at least this feature creep has some really cool stuff in it. =) The simple changes I originally planned to implement did become nightmares, and my deadlines have slipped by months! The downside is that all the cool features I finished oh so many months ago have been waiting until the rest of the broken code caught up with it.

This last week, though, I decided no more feature creep. I'm going to get this update out the door if it kills me. Yesterday was a battle--I so wanted to fix so many things that were wrong with the listing, editing, and searching of events. But I pulled back. No, I will leave that for another day.

One particular problem had plagued me for over a month. It's a freakishly cool feature, and only a tiny handful of people know about. I thought it would be easy to include and implement, and I could not have been more wrong. I finally got through THAT mess a couple of weeks ago, though, and suddenly it was just a matter of tying up loose ends. All that code I broke in the process of getting this new feature to work had to be fixed, cleaned up, tested, and debugged before I could push the update onto the live site.

And that's what I've been doing the last couple of weeks. Tying up loose ends, occasionally "improving" stuff along the way. (For instance, you'll be able to search message boards for messages on a specific board or category now.)

What does this mean to you? It means, this evening, mere minutes ago, I finished tying the last loose end. Yes, that's right. The code on my development machine now has NO known bugs in it. Okay, I know there are bugs--any update of this magnitude is going to have bugs--but there are no bugs that I currently know about. As far as I know, if I cross my fingers, it might even work absolutely flawlessly if I uploaded the code to the live site right now. =)

I'm not going to do so just yet, though. I know there's bound to be a heap of bugs in the code, and I need to do some more testing (and debugging) before I take the update live. I plan to spend the next couple of days doing nothing but testing (and debugging, as necessary). Kick those tires real hard. =)

Then, on Saturday morning, barring any unforeseen disasters, I'm going to take AQ down and upload the changes. Hopefully it won't take more than an hour or so, but it might. This is an update of unprecedented size for Atlas Quest, however, and it might take a few hours getting everything into place.

For you old timers on Atlas Quest, you know I usually do my "big updates" late at night after everyone goes to sleep. Usually starting around midnight, Pacific time. I'm doing it slightly differently this time around, though. I'll take it down Saturday morning for two reasons.

One, there usually aren't many people on AQ Saturday morning.

Two, I expect, despite my testing and debugging the next couple of days, that there will still be bugs that slip through the cracks. Perhaps major bugs. I want to be up and able to fix them as soon as they're found. None of this upload the change and going to sleep for me this time around! And many of you might have questions that need answering. I haven't really documented any of the new features that have been implemented, mostly because I intend to add that later into the Help section. I didn't want to start adding documentation before the features were uploaded! ;o)

So there you have it. If all goes well, Saturday morning, that Next Big Update will happen. If I've promised a change or feature that's in the "Next Big Update" to you, it'll happen this Saturday.

At long last, the great beast is ready for the live site. *roar!* =)

7 comments:

wassamatta_u said...

Woohooooooooo!!!!

Eidolon said...

But Saturday bug-hunting doesn't fit my schedule!!! I may have to work harder to find them since the obvious ones will be found by others. ::feels pressured now::

Anonymous said...

So is Feature Creep like remodeling the family room and now the kitchen looks shabby, and the rest of the house needs to be painted too, and we need to replace the rest of the furniture . . .

Pre said...

Feature Creep sure is a great term - especially with Halloween coming up! I'm working on a box now that is rapidly getting FC as well.

Thanks for the heads up re: Saturday morning - print those clue sheets NOW folks!

Looking forward to seeing your hard work, Ryan.

pre

Anonymous said...

In the engineering world it's called "scope creep." You start with a project with a small, well-defined scope, and inevitably it grows out of control like an octopus with many tentacles.

Anonymous said...

Ooo... the anticipation!! :o)

Anonymous said...

Can't wait to see the AQ 2.0 - hopefully these awesome upgrades won't cause people to ask for additional FC! :-)

From the daytime IT project manager....
SunFleur