Showing posts with label Project Samantha. Show all posts
Showing posts with label Project Samantha. Show all posts

Tuesday, August 4, 2009

Rough Few Weeks

I've been working on trying to get the Alpha 1 ready for release to my test team, but several things have blocked me. First was that I was in the process of interviewing for a project manager position with Examiner.com. The position sounded very exciting and challenging, so I thought I'd pursue it. I ended up spending quite a bit of time preparing and interviewing it - longer than I expected - but it was a good choice and I start tomorrow. Yay me.
The second thing is that I ran across some unfinished functionality in the app when I plugged in quests, mana pool regeneration, and leveling up. MP regeneration went as quickly as I expected, which was nice. Quests took a while longer because even though I was able to write the back-end code quickly and had it working where I could test it thoroughly, integrating it took far longer than I expected. Part of it was the UI, which didn't work the way I'd hoped, and the other part was that I ran into some memory issues.
The third and most major of the entire blockage has been my MacBook. I bought a MacBook in November to do iPhone development and it was working fine until just recently. I began seeing major slowdowns - to the point where it was unusable - and had trouble copying files and building properly. I was a bit concerned when I couldn't even boot it up one day. I took it into the store and they think it's a bad HDD so they've ordered a replacement. In the meantime I hit Best Buy and bought a MyBook external HDD (1 TB). I managed to back up everything manually - although I can't actually do a Time Machine backup. :( Regardless, when they replace the drive I can get things working quickly again, I hope.
So, I hope to have things ready this weekend. We'll see how that goes, of course. More to come!

Sunday, July 19, 2009

A Week?

It's been a week since I last posted an entry? Wow, time flies when you're behind the 8-ball. *sigh* It's been a rough week, but productive. Just not finding completion. The light is getting brighter, but I'm still surrounded by darkness. I have a deadline to get something out the door by Tuesday night. I hope that I can get questing done and perhaps get a stab at leveling by then. I believe that questing is close, but I haven't been able to finish it off yet. It's once again the integration with the iPhone code that's going awry. Plus I keep finding that I need to go back and re-factor a little more than I expected. It's good, in its way, but it's slowing progress.
One the alpha front, I do have several people signed up for testing. It's going to look reasonable for an alpha 1. There are obviously a lot more I want to do, but for an alpha it's a start. I do have several backgrounds in. Not exactly what I wanted stylistically, but they'll work as placeholders. I'm trying to write generic code since I expect to re-use some of it for a future endeavor, but that's also slowing progress. I know that one of the tenets of agile development is not to over-engineer things, but I find that it's not so much over-engineering as planning for the future development of the project. Since I know what still needs to be done and know that the game won't be released without those features, it makes it more of a necessity than one would normally expect.
Otherwise, things are progressing well but slowly. Inventory had a few gaps I needed to patch up before I could move on. I'd really hoped to have had more done (like the whole thing) by now, especially since Harry Potter 6 is out in the theatre (saw it last night). Still, if I can get something working in the not-too-distant future people may still be interested enough. And when the DVD comes out for Christmas (as is likely) I'll be well-positioned there, I hope.
That's the short of it. Questing is coming together and hopefully will be done soon. Then leveling. And then it's on to bigger, better things. And a LOT of testing. :)

Sunday, July 12, 2009

CodeSigning Hell

The best advice I can give to anyone who wants to develop iPhone applications is: When you get an error, READ THE ENTIRE ERROR MESSAGE VERY CAREFULLY. Here endeth the lesson.
I had decided to update my code signing certificates for the alpha that will be starting in the not-too-distant future. I also wanted to try to get it building for distribution on OS 2.2 devices because one of my testers is on an iPod Touch that costs $10 to upgrade to 3.0. Eventually I will need to move completely to 3.0 to get the in-app purchasing I require, but for now, compatibility is a good thing.
I made some new certs, read the instructions carefully on the Apple Dev Portal and things were going along smoothly. I had a bit of a hitch when I forgot to copy in the distribution and developer certificates to Xcode, but that wasn't too heinous. Then I tried building for 2.2. Error. And something that seemed completely odd. CodeSigning was complaining that I hadn't provided a certificate for 'Distribution' for SDK 'Device - OS 2.2'. Um, sure. Not terribly helpful. Can I build OS 3 builds? Yes - no problem. OS 2.2? No. I checked the build settings - yup, there's my certificate, it's setup for all iPhone Devices... What's your damage, Xcode? Okay, fine. You win. I'll ADD a special exception for OS 2.2. Bzzzt! Still not happy. What the HELL, man? C'mon, give me SOMETHING.
*sigh* After beating my head against it for a while, I went back and looked at the steps. Yes, I did that. And that. And thanks for the warning about making sure I did that - I did. Okay, let's Google it. I have to completely reset my Xcode to make it happy? I'm not sure that's the right answer.
Okay, one last time. Let's close Xcode, reopen, and try building it again. Nope. As expected, the same error. But wait. What does that error really say? Seriously? What configuration am I editing in the properties? DEBUG?!?! And it needs to be DISTRIBUTION?!?!?! *sigh* *facepalm*
So, let's make sure we're editing the configuration for Distribution and attach the certificate for all iPhone devices. Okay, Xcode, let's see if that makes you happy. And it does. And had I bothered to read the error message and double-check to make sure that I was actually editing the correct properties, life would have been better. But, thankfully, now it is.
Here endeth the lesson.

Friday, July 10, 2009

Good Progress

After resolving my problems with the modal view this morning (MUCH faster than expected), I spent a lot of the day working on integrating my server back-end with the app. Things have been working well there, but I've got a little left to get sorted out. I've written a lot of server code recently, but thankfully I had some code base to work off of, so it hasn't all been new code. As things stand now, I'm hoping to get questing started tomorrow. Once I get quests in I think we can start looking at doing an alpha. :) There should be enough stuff that people can start playing with it. There are still quite a few gaping holes, but there is a light at the end of the tunnel. I'm thinking that if I continue on with the rate of progress I've been making I should be able to stick a fork in this thing by the end of the month. A lot behind when I wanted to get it done, but about in line with how long iPhone apps take to develop and test.
Anyway, it's been a long week but I've managed to get some things accomplished. Now I'm into the more mundane database work that I know pretty well, so things may start to pick up a bit. That's my hope. And my hope, certainly, springs eternal. :)

Finally Working

The rabbit holes I went down were for naught. I found a much easier way to do what I wanted to do - presentModalViewController. I had been trying to hide the tab bar and swap the views and a whole lot of other rigamarole trying to get a very simple concept working. And one that I had seen other applications use before.
Regardless, it's all done and working now. I need to add a page with some verbiage about the game and the types of magic and such, but the main flow is in, working, and looking reasonably good. It just took a different Google search to find the answers I was looking for. :)
*sigh* I guess a good night's sleep really did help rejuvenate and restore.

Thursday, July 9, 2009

Differences Between Windows and Mac Development

Well, after beating my head against a problem for like 6 hours today, I have finally gotten back to where I was... 6 hours ago. *sigh* Okay, it's not that bad. I do have some other work that happened in that 6 hours that's still around, but I made one change in the program and Bam! I felt like Elzar cranked my head up a notch with a spice weasel.
I was creating the character creation screens which are shown only if it's your first time running the game. I need to make it so that it's modal - meaning you can't avoid it - so I needed to do it before you had access to the tab bar. And things were going along well. I had a root view controller that was handling both character creation screens. I got my locations displaying for people to select where they wanted to start... It was going along great. And then... BAM! Spice weasel.
I had added the root controller's view to the main window as a subview. This seemed reasonable and rational and worked wonderfully. But I couldn't seem to remove it and add the tab bar. The tab bar simply refused to display. So I went down a whole clutch of rabbit holes trying to figure out a way to get the tab bar to display AND have the character creation pages come up. And then I managed to get so far down the rabbit hole I got stuck and couldn't find the way out. I hit up a friend of mine who's on Facebook - Don Metzler. He owns his own consulting business and we've known each other for almost a decade now. He's a Mac programmer AND a Windows guy, so he's familiar with the benefits and detriments of both platforms. He and I went looking at the code and tried to get it back to where it was semi-working. And, thanks to the chat, we got it back there. Yay.
What this pointed out to me, though, was one of the things that I really have to laud (that's approve) Microsoft for doing. They make all of the MFC (Microsoft Foundation Classes) available as source code. So when you're deep in the bowels of a combo box you can figure out why your particular hook isn't getting called, you have the proverbial snowball's chance to figure out why. With Apple, on the other hand, there's a sort of mystique to the internals. You don't get to know what happens in there and some things happen so automagically you can't possibly figure out how to replicate it.
Case in point: when you attach a tab bar controller to a MainWindow.xib file, there's some special magic that happens inside Apple's foundation code that hooks everything up. You get all of your view controllers laid out, the tab bar looks good, and things happen without having to write any extra code. If you try to replicate that, though, things kinda go south quickly. I found a few people online trying to do what I was doing (albeit slightly differently), but they ran into the same frustration I did. Had I access to the source, I could have replicated it and avoided the spice weasel. Instead? BAM! Spice weasel.
I've finally gotten back to where I was 6 hours ago in terms of the main game play. I need to spend tomorrow morning going through trying to hook up the character generation screens but at least they're done - I just need to get them to display and that will hopefully not involve a spice weasel and my eyes. :)

Tuesday, July 7, 2009

Gotta Love It

When my brain doesn't work, it doesn't work BIG. Here's the problem I've been having. I have inventory UITableViewCells that show information about a particular item. I wanted to reuse the cells in both the store and the player inventory (I know - how very C++ of me). Anyway, I used overkill to get it done with one cell. I had some trouble getting the item type images (wand, spellbook, etc.) to load on the fly in the cell, so I decided to just use the big ol' mallet and created several different UIImageView objects - one for each type. Then, when the cell was displayed, I was going to just remove the ones that weren't needed from the superview and it would all be happy. (For the un-Cocoa-initiated out there, I made several overlapping images and then hid the ones I didn't want seen). This worked fantastically the first time I tried it and I celebrated exuberantly. Until I scrolled down and scrolled back up. And my images were gone! WTH man?! I mean, c'mon - it JUST WORKED.
So I was trying to find some other less-desirable way of doing it. Not that the way I came up with was in any way, shape or form a good solution, but enough of that. So I was thinking - okay, maybe I can create a different cell for each type of item. But that means that I'll need that many different UITableViewCell classes. And my re-use of cells gets a little nasty. And then it dawned on me - re-use. Because we're using a simple object pool for the items displayed (a small collection of objects that are created when needed and stick around and are re-usable), each of my cells after the initial creation are going to be the same cells. What I had been doing was checking the type of the inventory item and then removing all of the OTHER images from the cell - but I wasn't putting back the one that was needed. So when I created a cell with a wand, say, it would show a wand. If that cell was then used for a spellbook, the wand image would get removed. And then if I needed the wand image back it wouldn't be available - it had been removed.
Eureka! So, now it's back to what I had before with a few minor modifications. I just hope that Xcode has a pretty substantial undo operation list... :) Overall, though, it is more than a little hacky at the moment and I need to clean it up and hopefully make it better before I release this puppy. And yes, that's a reminder to myself. ;)

Friday, July 3, 2009

Progress and Pakled-ness

One of the pitfalls of technology is that you kind of get used to things working automagically. You don't have to do anything particularly difficult or, in many cases, that require much thought to do some pretty amazing things. A perfect example of this is my recent experience trying to get my application to install via iTunes 8 on Windows.
When developing an app, you need to create what are called "ad hoc distributions" - builds that are not loaded from the App Store and people just just drop them on iTunes and then magically appear on their iPhone or iPod Touch. There are two things required to make this happen. One is a provisioning file that tells iTunes that your device is allowed to load this program and the other is the program itself (which is a directory containing all of your files). It's a simplistic but effective way of distributing applications.
There are two quirks to this process. The first that I ran across was something I had known but forgotten - Mac ZIP files are different from Windows ZIP files. They have extra files that make uncompressing them normally impossible. You have to actually uncompress them by hand (the curtain begins to reveal the real Wizard of Oz). But that's no big deal - I'll just have to repackage them for Windows distributions. The second is that the provisioning files can't just be "dropped onto iTunes" on Windows. Drag and drop on Windows is a relatively hand-crafted experience and files ending in ".mobileprovisioning" don't make the cut for "drop targets". :) What this means is that you can't drop the provisioning files onto iTunes, you need to add them to the Library manually. (Perhaps you can drop them onto the Library itself, but File | Add to Library worked better for me). And now we can see the short man behind the curtain.
So while I was spooked that Windows and iTunes 8 weren't going to work, they do. Because I'm an idiot sometimes who doesn't try more than a few paths to get something working. Because I've become dependent upon the magic working. And I've become more than a little Pakled sometimes.
Regardless of all of that, I do now have things working from Windows and I can stop messing around with iTunes on my Mac (which was taking for-freaking-ever to add songs to the library). And with alpha only 4 days away, I have LOTS to do - especially since I'm taking the 4th off to go to Elitch's with the family and fireworks with my parents. Cogito ergo sum. And I'm a little scared by that. :)

Wednesday, July 1, 2009

Simple Tasks Gone Awry

I've been working a little bit on what I thought would be a couple of simple things, but apparently not. I created a very simple splash screen to display while my app is downloading the XML files (and before the game is actually playable). I read in a few places that all I needed to do was create a file called default.png (or Default.png depending on who wrote it) and it would work automagically. Apparently not quite.
My second task to to try to get the game running on my iPhone. Because, you know, that's like where it's actually going to be played. :) So I followed Apple's directions on how to create an "ad hoc" release (as opposed to an App Store release). I installed it on Windows and sync'd my phone. And was told that it couldn't install Wizards. *sigh* Some poking around leads me to believe that it's a problem with iTunes 8, of all things, and that until Apple fixes iTunes I'm pretty much SOL. :(
The third thing has been going much better, though, which was creating the images for inventory items. That seems to be relatively complete now (LOTS of trolling the web for images). I'm not sure that I'm providing enough inventory items, but it seems like it's coming together. At least ONE thing is going as anticipated. :)
Lots more to do, but I want to get the splash screen done (I found a tutorial to try out) and then I need to start looking at character creation. Then I think it's time to build the DBs online and start pulling data from the net. And then the fun stuff - combat!

Tuesday, June 30, 2009

Some Good UI Progress and YAP (Yet Another Problem)


I went through and modified the befuddlement icon yesterday a little bit to make it a bit more compatible with the cool parchment background I found on DeviantArt. I've got a shout-out to the author - Sinnedaria - in my credits page. It's nothing fancy, but it's more effort than I was willing to put into making something and since she offered it for free (with a request for credit) I thought "why the hell not?" :)
I've updated the UI with the parchment background and with the new icons as shown to the left.
I think it looks a lot better now with the parchment background and with the blue for the befuddlement icon. And as you can see in this picture I've updated the UI to remove the "Learn" button for those spells you're not allowed to learn yet (based on your affinity level). I'm still not sure about the text color on the top (or in the cells themselves). I've been debating several different colors for things. I'm a fan of subtle coloring (probably from my time at Anark when Danc designed the Anark Studio 1.0 product. It had a lot of subtle hues and cool colors (blues/whites) that I really liked. The parchment background is going to be a little interesting to work with from a coloring perspective, but I'll find something I like.
I did, however, run into a little snag last night. I've been using my Windows machine to sync my iPhone (because I use Outlook and such). I've found a way to allow it to sync to multiple machines, but it's not completely functional and what I've ended up with is that whenever I try to sync to my MacBook it erases my music and videos. *sigh* Even with "Manually manage" turned on. Regardless, I thought I'd try distributing the Wizards app to my phone finally to play with it on an actual device. But I ended up with a weird issue that kept it from working correctly. When I checked the forums I saw that there was a known issue (according to the posters, not Apple) about iTunes 8 and Windows ad hoc deployments. If this is truly the case, this is going to be a major problem for me. Not everyone I know (in fact, very few) who's going to be in the Alpha program have Macs. Which means that I need to find another way to deliver the ad hocs - or wait until Apple fixes the problem. Which really sucks. I'm hoping that an alternative delivery mechanism will work, but haven't yet tested it. *sigh*
So, lots going on and making some good progress - on UI things, which I have to admit I hadn't planned to work on yet. Still, it's been gratifying to see some things working properly and more like how I'd envisioned them. Lots more to do and I still need to get working on the server to, you know, actually make the game work. :)

Monday, June 29, 2009

New Icon for Misc/Befuddlement/Hindrance?

I think that I might have found an icon that represents what I'm talking about. :) Here's the icon:
And here's the icon in situ:
The icon is from a free site and then modified very slightly. :) 
What are your thoughts? Does this seem to resolve the quirkiness of this type of spell?

Slight Hiccup

I've been working on finishing up the look on the spellbook and the one thing that's hit me is that I wanted to have an icon for each of the spell types. There are currently 3 types: offensive, defensive, and miscellaneous. Offensive spells damage directly to your opponent. Defensive spells reduce offensive damage from your opponent. And miscellaneous spells reduce the number of casting points available to your opponent. They're like distractions - dancing lights, quicksand, etc. - that prevent your opponent from being able to use all of their casting points. The trouble is that I'm in a bit of quandary. I was trying to come up with an icon that would represent these miscellaneous/distractive spells. Or should I just lump them in with the defensive spells? For the icon at the moment I'm using just a question mark, but it seems both lame and ineffective at communicating what they are.

In this particular case, should "Dancing Lights" be a defensive spell or should I keep searching for a separate icon? If I remove the category there are some somewhat drastic consequences that I need to address, so I think I'd ideally like to find a way to iconify this concept.
Any thoughts?

Bigger and Better Things

Well, the annoyance that was bugging me yesterday with custom cells has been resolved. I realized that I'd skipped a step or two when trying to create the custom cell for my table view. I decided that starting over was far easier than trying to fix what I had, so I just punted and made a new one - and it resolved the issue. Perhaps following the directions this time was a key to my success. :)
I'm just trying to finish up the look and feel of the spellbook list now. I'd like to get a few icons sorted out and then I need to disable/grey-out those items that can't be learned. It's gotta happen eventually, so I may as well do it now before moving onto other things. And that's the big news, I think, which is going to be setting up the back-end server. I'm already downloading all of the main content - spells, monsters, location, and wand data - from the server, but this will begin the process of actually setting up quests, earning money, getting items, and duels. There's still much to do - in game purchasing, push notification, etc. - that I'm going to be a very tired person the next couple of weeks. I really needed to already be IN beta right now and I haven't even started my Alpha. At least to capitalize on the HP buzz that's going to be happening in July. :( I'll just do the best I can to finish it as quickly as possible.
Now, if I can just figure out how to distribute Ad-Hocs, I'd be a happy camper... :)

Sunday, June 28, 2009

Busy Day

So we had one of Cathy's friends - Ashley - over for a sleepover last night. Cathy had a bit of meltdown today about Ashley drinking the last of the Horizon chocolate milks. *sigh* Beyond that, it was a good sleepover.
On the game front I got a LOT accomplished today. I started the day with about 75 spells in my list. I started working around lunch time and this afternoon hit 160 spells (32 spells in each of the affinities). I wasn't looking forward to copying/pasting them into XML as it would be an arduous task, but I found a quick way to do - OpenOffice did all the work for me! I just had to make sure that everything came in Oxygen XML Author correctly - and it did. So it ended up being a much easier process than I expected, which is a great thing.
Since then I've been working on the UI for the spellbook. It's been a bit more difficult as custom cells in UITableViews aren't working the way I keep thinking they should. I've got a bug I'm working on right now (which is why I'm blogging :) that is causing me a bit of difficulty. The cell isn't loading properly from the NIB, which I can't figure out. I'm hoping I can figure out before I go to bed tonight. It's getting late, so I need to get cracking on it.
I'm feeling SO much better about things as I've managed to get tons of things accomplished in the past couple of days - and after a week when I accomplished little. Whew! :)

Saturday, June 27, 2009

UIPickerView Woes

I've been working on finishing up wands. I think the costs are done and coded, but I'm having some trouble with the text size on the picker view itself. I've got the following look right now:


Obviously, the issue is that you can't read the wand core. And the material (the left picker) is just the right size to display the longest material names. I've tried to find ways to alter the font size on that, but there's a method that I've seen spoken about -
 pickerView:viewForRow:component:view - that theoretically would fix it, but I end up with blank UILabels being displayed. It's actually quite off-putting tha
t it's not working. I wish that the font size were easier to set on these things, but apparently all I can really do is change the width of the picker easily. In this particular case, that does very little for me.
I'm still beating up on it and don't plan to sleep until it's resolved. Hopefully that'll be soon. :) Then I can start working on other things.

Update: So I found out the problem I was having was that I didn't create a frame. :( I fixed that and now I get the following image:

Obviously this looks much better and may require some tweaking, it's definitely better than what I had. :) And I've ordered the wand cores alphabetically which should help make things easier to find. Yay.

Wednesday, June 24, 2009

Alpha Testers

I'm at the stage now, I think, where I need to start lining up my alpha testers. I've posted to Facebook, Twitter, and now here for a call for testers. I'd like about 20 people for the alpha. Most of the testing will be checking things like the store, going on quests, and traveling around. Later we'll start looking at adding more for beta and then maybe actually get some cool things happening.
If you are interested in participating in the alpha and subsequent beta, please contact me at bdevoe at ottovon dot com for more information. I'll need some information about your phone so you can get started. It's a relatively painless process - I do have a bit to learn about it, though, so I hope you're willing to indulge my cluelessness for a little bit.
Thanks!

Wednesday, June 17, 2009

Travel Mostly Complete :)

So I finished all of the US cities, but there are still three countries' worth of cities to do - the UK, Canada and Mexico. I'm having trouble finding a good Mercator projection of North America or of Canada with enough detail to let me match it to US cities. And same thing with Mexico. I haven't even tried the UK yet, but I did get the US done, so I'm going to punt for the time being on the others. It was a LOT of work and I have something even if it's not completely what I want to have done before final release. I'll add bugs (first ones!) to document that I still need to add some places in Europe and finish Canada, Mexico, and the UK.
On the plus side, I did get a good mapping done of the US cities. I ended up missing some state capitals (how that happened I'll never know), but I did have them plus some other one cities in the mix. It's a bit sparse in areas, but it should still work.
I've kind of decided that for the magic school I'm going to simply disallow travel for players who are under 5th level. This will keep them in the same location and prevent it from being a major problem. I'm also going to remove them from duel lists (and remove 5th and higher from their duel lists) when playing. They'll still be able to chat with other people in the area and go on quests, but they won't be able to duel anyone who's not still in school. :) I was only thinking about it because of the whole travel thing. I'm thinking I'm going to do the pruning of player lists on the device rather than limit the select statement on the server side. The fewer restrictions I can place on the server selects the better. :)
So, I'm calling travel complete with some bugs to fix. *sigh* I just need to get a few hours some time in the next few days to finalize those linkages and fix the UK which is like 30 cities. I just can't bring myself to do that right now. :)
Onward and upward, then!

Travel Progress

I did get everything on the app side working with traveling - finally! I can move around and things worked as expected. Except that I found major problems with the data file. *sigh* What I had originally done was to find the latitude and longitude of all of the cities in my list and then I went through to calculate the differences between it and other cities nearby to determine the cardinal directions. What I found though is that while I did pretty well in many cases I was WAY off in others. So I found a Mercator projection map of the US (which is what I'm going to start with for now) and I'm going through all of the US cities (I have about 75) and get them corrected. There are a couple of places where it'll seem a little weird, but is correct. For instance, you might be able to go southeast from a city, but the northwest from that city doesn't lead you back where you were but to a different city. So from a directional map perspective it might seem odd, but it works out. :)
My task today is to finish fixing the data file. And mowing the lawn. And cutting the suckers in the backyard (which is becoming like a fairy forest for lack of care). If I can get the data file fixed then I can move onto wands and spells. And while there is definitely a programmatic method for fixing this, I'm actually finding it a good mental exercise to do it by hand. Not so good for the carpal tunnel, though. :(
Also - here's a photo of the travel pane with some locations in it. If you're interested. :)

Tuesday, June 16, 2009

Success

Well, it took both more and less time to fix the problem than I expected. :) I had thought that I would resolve it quickly last night and when I couldn't, I thought it would take longer than it did this morning to rectify. So things are moving along well. There seem to be some errors in transcription for the XML document. An example would be that it seems possible to move West from Providence to Concord, NH. Um - not quite. :) So I need to get some testers hitting the various destinations and seeing whether the list matches the one I generated and then whether the list I generated is logical and accurate. So there's a validation of the generated list and a verification of matching real life. Just need some testers (that would be a general call for anyone willing to participate, by the way :).
I've got a defect tracking system up and running for the project. I've decided on CodeTrack versus Bugzilla as BZ was a bit difficult to setup, surprisingly. CodeTrack was a breeze and provides more capabilities than I need. I will need to refresh myself on Apache authentication and authorization, though. It's one of those things that I don't do frequently enough to bother storing in long-term memory. :)
So, I'm feeling good about how things are going, but I'm really concerned about the deadline at this point. Still need artwork, still need a database, still need to write the server-side scripts to access and modify the database, etc. Just so much left to do and the clock is ticking loudly. C'est la vie, or so they say.

Debugging

It's been an interesting few hours. What I can say definitively is that I miss the debugging capabilities of Visual Studio. While Xcode is free and has some wonderful capabilities, the debugging utilities seem to be a bit behind the Windows dev tools.
One of the nice things is that I do have a copy of the manual for GDB (the debugger that Xcode uses). My printed copy is, however, from 1992. :) Still, it's been helpful in finding out where my code's crashing (Xcode doesn't seem to want to associate actual source code with a failure). That said, I'm still no closer to resolving the navigation issues I'm experiencing. Hopefully today I'll be able to get that completed and move onto the next story.
The good news for me is that Cathy is at summer camp today with Franklin Friends. It's a great program and fantastic price ($29/day) compared to some of the Waldorf options ($40/day and not a full day at that). There are some benefits for that extra $11, but the drive alone (45 minutes) makes it just untenable.  I'm happy with Franklin Friends and it's good for Cathy to play with kids in the neighborhood given that she doesn't go to school in it. :) What this means in the end, though, is that for two days a week I get a full day to work on work.
Anyway, back to trying to figure out why I'm apparently releasing something I shouldn't be releasing. Wish me luck.