Showing posts with label testing. Show all posts
Showing posts with label testing. Show all posts

Sunday, September 8, 2013

Crawling toward the goal line

For several months I've been using a Kanban board (via www.kanbanflow.com - a great FREE resource) to track the work I need to get done on OttoJotts. It's been helpful seeing both the work that I've been getting done (very minimal) and what's still left to do (big and growing daily). That said, it's been nice going through and moving things from Ready to Pull to In Progress to Done. I'm keeping my WIP (work in progress) limit to one because, yeah - I'll get distracted if it's more than that.
Part of my Kanban board
Almost all of the work left to do is around the two player game. I will need to go back and sort out all of the bad decisions I made around single player games when I get into Beta, but until I complete these remaining 11 stories, that's not worth my time. The nice thing about the board is that I can see how much time I've estimated it will take to complete each story. And when I sum them together, I get 176 hours remaining. Which is actually pretty cool. I am, in theory, 4.25 weeks from being done with OttoJotts. Assuming that I worked 40 hours a week (which I don't) and that I haven't terribly over- or underestimated any of these stories (which is kinda likely).
STILL! 176 hours is actually reasonable. There is real potential to be done with this thing before I sprout daisies. And bringing together a lot of technologies and pieces that I have only some familiarity with (and certainly wouldn't claim proficiency or expertise). Well, beyond using agile methodologies to track the work (and even that was a latecomer to the project). Overall I'm feeling, well, accomplished.
I had this gigantic negativity about the project when I put it on the back-burner last year. The size of the work that needed to be done seemed ginormous and insurmountable. But when I picked it up again and poked at it I saw some small successes and those kept building into other successes - small, to be sure, but present. And then when I finally took an accounting of all of the things that I wanted to complete before I could explore the possibility of releasing the game - 176 hours were all that remained. And out of those 176 hours there are 80 hours that I put in for what I consider will be some large efforts - things I don't have any idea how to do. The good thing is that they're down well-trodden paths - I just need to find the guide map and make my way down those paths.
So, it's been a LOOOOOONG winding road getting here, but the end really truly is in sight. And thanks to tools like KanbanFlow I've been able to focus on prioritizing the work I need to do next and focus on the current item only. And, hopefully, this is the beginning of something really exciting.

Sunday, August 26, 2012

Oddness with the Maya Calendar

So I've been reading up a LOT on the Maya* calendar over the past few months. There are two different calendrical systems - the Long Count (which is what we hear about when people talk about the end of the world in 2012). The current date in Long Count (as of this post) is 12.19.19.12.0. There's another calendar is called the Sacred Round and uses what are called Tzolk'in and Haab dates. This calendar was more religious in nature and had a full cycle of about 52 years. When doing calculations for Long Count or Maya calendars it's common to include both the Long Count and the Sacred Round dates.
One thing that seems clear is the basic calculations to get the Sacred Round dates. The Wikipedia article describes pretty clearly the arithmetic required to derive these. The regular Sacred Round cycle is 360 days and there are 5 Wayeb days (that were considered unlucky) to make the calendar 365 days long. Close to the 365.2422 days our tropical calendar is, but it means that the Sacred Round shifts one day forward compared to the tropical year every 4 years.
One problem is that I would like for my application to work for dates all the way back to 9999 BCE (and forward to 9999 AD/CE). Most calculations are done using Julian days as a baseline, but the Julian dates start in 4730 BCE, a little later than my 9999 BCE desire. What's a developer to do? Well, one option is to try to address the negative values that come from going before the start of the Julian dating scheme, which is what I initially thought of doing. Then I realized that since there is a higher-order cycle above the currently accepted five values, I could add what's called a piktun worth of days to the count, in essence moving back the Julian calendar about seven thousand years. I did this and it worked great for the Long Count calculations - I just subtracted out a piktun if it was past the beginning of this cycle or not - it all worked out. The Sacred Round, however, was a different story.
The reason is that the Sacred Round starts at specific values for tzolk'in and haab. Moving back a whole piktun, though, means I needed to recalculate the tzolk'in and haab values. I figured out what the new offsets were and after resolving some oddness with displaying the correct glyph for the tzolk'in and haab I seem to have gotten everything working.
The only things I have left to do to get this thing out the door is finish the polish for iPhone and get the iPad version looking reasonable. All of the testing I've done to date is solid. I still have a few things left to validate, but I actually have a high confidence that it will work pretty well. Then two versions - one free and ad-supported and one for $0.99. Then I'll have broken my 3.5 year drought of getting apps into the App Store. Yay?

* You'll note that I'm not using "Mayan" anymore. I learned that Mayanists (scholars who study the Maya history) use "Mayan" for linguistic elements (the language) but use "Maya" as an adjective for "things that are from the Maya culture"). I will bow to their superior expertise and understanding in this particular matter. 

Wednesday, June 6, 2012

More Long Count Calendar Updates

I've been making some awesome progress on the long count calendar application. I've got all of the math working (although I still need to test all of the nasty edge cases to make sure it calculates things correctly), but for anything after 1582 (when the Gregorian calendar came about) it seems to be working just fine. To test the date calculations I'm working on the ability to convert ANY date into a long count. This is a nice feature to have (what was Jan 1, 1900, for instance?) and will be useful for people looking to compare against other date calculations. The other thing I'm going to provide is the ability to put in a long count date (13.17.5.2.1) and see what date that converts to in a Gregorian calendar.
Normally, the main issue about converting from these earlier dates to later ones is that not everyone transitioned to the Gregorian calendar at the same time.Most of Catholic Europe adopted it in/around 1582. The British empire didn't adopt it until 1752 and the Soviet Union was in 1918 (right after the Bolsheviks took power and Russia became the Soviet Union). The Wikipedia article on the calendar has a nice chart showing the adoption times for different countries. So depending on where you were you had a different calendar. I'm pretty sure that the date is the 1582 and using the default NSCalendar objects will fix it for that date, I believe.
I will say that Apple seems to have done a good job with the calendar objects. NSCalendar and NSCalendarComponents are very nice little objects that really do simplify the mathematics. I have to convert to Julian dating anyway, which makes the math about as easy as it can be, but having the system provide some of the common functionality is very handy, especially being able to extract out year, month, and day without any extra divs and mods on my part. It will even provide the day of the week if you need it (which I don't in this particular application). I still need to dig into the objects a little more, especially with the pre-1582 dating - just to make sure they work as expected.
I did get the T'zolkin and Haab calculations into the application, so not only does it show the long count form (12.19.19.8.2 for today) but also the "month" and "day" (5 Sotz' 1 Ok - also for today). So everything is present in the application now from an implementation perspective - all the math works, it grabs the right images, etc. I need to get some better quality glyphs for the application, though, because the ones I have are low-res and won't look good on the iPhone let alone an iPad. That could actually be a major pain in the butt - one I'm not concerned about right now (those two stories are last on my kanban board), but I recognize that I'm going to have to spend some time either finding some good quality ones or drawing them myself (shudder!).
Overall things are looking really good. I think I might be able to make some good progress this weekend during downtime for Yeomen of the Guard. I'm off-stage quite a bit and with 3 shows in 4 days, I've got a lot of potential time to move this forward. I'm setting a goal of having the Gregorian to Long Count conversion done around Saturday night, the Long Count to Gregorian conversion around Sunday afternoon, and the reckonings done by Monday night. Which means that all I'll have left to do is get some good graphics next week and then I could, in theory, put it out on the App Store by the end of June - the first such Otto Von product to be available. All in the course of 3 weeks. Wow.
So keep your fingers crossed - I need all the luck I can get on this rapid development path!

Sunday, February 27, 2011

New OttoJotts UI Ideas

I was in the shower today getting ready to pick up Cathy from a birthday party (no, not that one - we unfortunately missed that one *headdesk*). This was not her cousin Zavi's party in Laramie but my best friend Dan's son Matthew's 6th birthday. It was at Chuck E Cheese's and now that I've wasted far too much time with off-topic over-explanation, let me get back to the point of this post - user interface ideas for OttoJotts.
So while I was in the shower I began thinking back to the days when I used to play Jotto and what usually had to suffice for Jotto sheets when we'd exhausted our supply. We opted for legal pads, a ruler, and a pen. So this made me wonder - what if I made the UI look like a legal pad (or at least just lined paper) and then had all of the buttons and letters be handwritten? I think it might be "retro", but I think retro is hip these days (it's so hard to tell sometimes). PLUS, it's something that I, with my limited graphic artist skills could likely pull off. That was a definite benefit.
I think it would be very cool to have a slick UI like, say, Words with Friends, but I'm just NOT a graphic artist. Been there, done that, got my wrist slapped. I may just need to accept my limitations on this particular point (not that I ever thought I was a graphic artist). What does this mean for Alpha 4? Absolutely nothing. I'm sure I'll find ways to try to derail myself from actually working on code and work on the cool new UI, but it needs to wait until Beta 1. The alphas are all about functionality; betas are about polish. So that's kind of the thinking for, say, April. And I've got a cool idea for the badges, but that's later as well.
I guess we'll see how well I can keep this "shiny new toy" on the back burner. I've actually managed to get most of the friend and game creation code done and in, which was surprisingly smooth. There's still a lot of hardening that needs to happen, but I think that once I get into that mode it will be straightforward to do pretty much the same thing to every file. Plus, I need to make the code a little harder to exploit, which I hope I can get done with a minimum of fuss. Let's just hope I can keep up some of the focus here to make this project FINALLY successful.

Saturday, February 19, 2011

Been WAAAAAY Too Long

Well, it's been a LONG time since I've posted, but we've had a LOT going on here. To give a quick run-down:
  • The 9-5 got interesting at the end of the year as my contract may have ended abruptly. Thankfully it didn't, but it was still quite a bit of shock that it might have happened.
  • The spousal unit got REALLY sick. Sick to the point where she's still on short-term disability from HER job trying to recover. And when she does recover, she likely won't have said job. *sigh* She's been overly prone to illness lately because...
  • The spousal unit is PREGNANT! Yeah, trust me - it was a surprise. A wonderful one, no doubt, but a surprise nonetheless. SO much to do and so little time. Due date is May 2nd and his name is going to be Andrew Ximun William. Yeah, we're sort of into two middle names. His big sister is just thrilled that she's going to be a big sister. :)
Other than that, the work I've decided to tackle for Alpha 4 is the meat of the project - two player, server-based games. That's requiring a lot of doing both PHP and Objective-C, but things are progressing. I've gotten a lot accomplished over the past few days, getting friends lists into the database and retrievable. I just finished creating accounts/logging into an existing account code. Took longer than I'd hoped but it came together nicely at the end. I'm storing hashed passwords (obviously) in the DB, but when I looked at the size of the hash I calculated half the size it really was, so I couldn't log in (because the two hashes didn't match - I wonder why?). I finally got that sorted out and things have progressed wonderfully since then.
Today has been a day about friends and creating games. I've got code in there to randomly find an opponent who's similarly rated (I'm using a modified Elo system for rankings). The idea is that you'll play someone who won't completely blow you away - unless you choose a friend who so far-outclasses you that it's ridiculous. Good thing is that Elo takes that into account and more than 400 point ratings differences tend to result in no change (as the result is practically guaranteed).
Searching for an opponent by their email is almost there as well. I just need to hook up the iOS code to do the query, but the PHP is solid on the back-end. One thing that I haven't done yet and I really need to make sure happens before release is to bullet-proof the PHP back-end. PHP is generally derided for being not-as-security-rich as some other technologies. If you've got pretty confined entry/exit points, though, I think it can be pretty solid. Regardless, in the interest of getting Alpha 4 done and out to testers I've neglected that, but it will need to happen for Alpha 5/Beta 1.
Also thrown into the mix is a new website design. I think I'm getting a lot closer to actually finishing this bloody project and I thought the old design (while state of the art in 2001) has not aged well and was in sore need of replacement. I've gone with a Wordpress front end, but I need to tweak the hell out of it to make it more aligned with my ideas. There are some things that I'm not grokking from the posting/pages side of things with WP, but I'll beat up on it once I'm done with Alpha 3.
So, that's it from here for now. LOTS happening, but hopefully this will be done by May and I can take my paternity leave in the knowledge that I've got my game in the App Store paying for at least some of the diapers we'll need to get.

Tuesday, September 21, 2010

More UI updates and Alpha 3 status

I've been working on the UI layouts for the Easy and Medium difficulty levels. So far it's been going pretty well with the change in direction, so I've got some ideas I need to get feedback on, so if you have an opinion, please share!
The latest version is showing the green and blue boxes around correct answers (green is correct placement). I'm trying to see whether the colors/placement/layout/style seem usable or if it's somewhat unpleasant. I'd like it to be a little more stylized eventually - probably rounded corners and they wouldn't necessarily abut one another - but for Alpha 3 it may be "good enough" to get feedback about the difficulty level game play. The good thing is that things have gone really well with this update. The only thing remaining for functionality is saving/loading and loading old games. The upgrade path has to be supported. I've also considered allowing games of more and less than 5 letters as that's all hooked up on the back-end already. And I'm considering allowing multiple games now, just no more than one game with a particular word length (no more than one 5 letter word game, for instance). Those would be some small updates but might make Alpha 3 a little bigger release.
I was just checking on my list of things that I wanted to do for Alpha 3 and I do have a little bit of work left. What I had on my list to accomplish was the following:
  • Online Leaderboard
  • Player data tracking for game play
Interestingly, I didn't do either of those, but the need to get difficulty levels was more compelling this time around. I may dump those for Alpha 3 just to finish this up and get it out to testers. I'm really curious how the game play works with the easy and medium difficulty levels. It may be cleaner as well because I'm going to be doing a LOT of back-end work with Alpha 4. That next big thing is two-player gaming, so that should be interesting. A LOT of things to do there; could easily take a couple of months to get everything working. It will be a huge amount of work to get all of the different elements integrated, but I do hope that I'll be finished with it by around November. I'd like to get it submitted to Apple around Halloween if possible so I can try to get it out to reviewers before Thanksgiving and out in time for the Christmas season. I don't think sales would be heavily impacted by the holidays, but folks who get a gift card for Christmas might drop $0.99 on my game.
So, if you have any feedback on the UI, please let me know. I think I like it "enough" for the time being to not really worry about it. I'm trying to get this all wrapped up by the weekend so I can get it released and then out to testers. Then it's all two-player games. Wowser!

Friday, September 17, 2010

*headdesk*

I've been working on OttoJotts all night and now I'm starting to get a headache from something I'm trying to do. The plan I had was to change the color of the letters in the word a person guessed to show them which letters were correct (blue) and which were correct and in the correct position (green). The problem is that there doesn't appear to be an easy way to change the color of a single letter without making a single UILabel object (which I don't want to do) - it would separate the letter and make it look pretty funky.
There is a type called NSAttributedString and NSMutableAttributedString which seem to satisfy my needs, but what I need (apparently) isn't available on iOS 4. And while I can create these objects, I can't seem to modify them easily. Or even difficultly. The problem seems to lie in a constant called NSForegroundColorAttributeName (jeez, Apple) that's not declared anywhere but AppKit. Unfortunately, AppKit is not an iPhone/iOS framework - just Mac OS X. So while I can create these things, I can't seem to manipulate them and change colors like I want. *headdesk*
I've got the code working for the new game play for the difficulty levels - that came together surprisingly quickly. I still need to do a little work on serializing (saving/restoring) the data, but for now, within the bounds of a single instantiation of the game, it seems to be working beautifully. I've got a lot more testing on it to make sure it's solid, but so far it's looking good.
Now all I need is to get it to display properly. *headdesk*

Tuesday, September 14, 2010

Alpha 3 Update (redux)

Things are progressing well on the Alpha 3 front. I've redesigned the create game logic now, so it's a little cleaner in terms of creating single player games (the two player games are targeted for next release). Overall I'm pretty happy - spent about 3 hours and redesigned how games are created, including difficulty level. I've got a weird bug where it's not cleaning up completed games, but in retrospect I need to think about whether I should even do that as I plan on having those available after you finish. At the same time, that might be all server-based, so I'll punt for now and worry about it later.
I've got the levels sorted out for the game (the screen shot to the right shows the difficulty levels available). I still need to get the UI changes in place for the new difficulty levels, but I don't think it will take too long to get that sorted out. Nightmare is easy as it's just a simplification of what I've already got. It's Medium and Easy that are going to require the most revision. I did find out how to do what I want to do with them, which is good. I'm planning on having Easy show you the correctly placed matching letters in green and correct letters but in the wrong position in blue. Everything else will be black. Medium will just show you which letters are correct (in blue), not whether they're placed correctly. Hard will be the game the way it is now and Nightmare will be hella-hard (pun intended).
I'm hoping to make some good progress this week and maybe even have the new version available by next week. That would be just awesome if I can pull it off. Then, perhaps, it's time to spend a couple of months making Alpha 4 with two player games. OooOOooo. Ahhhhhh. Ohhhhhh. (For those of you who went to the Colorado Renaissance Festival when Dextre Tripp was there, it all makes sense; for everyone else, just nod your head.)

Saturday, August 7, 2010

Alpha 2 Love

It's official. On Thursday evening I sent out OttoJotts Alpha 2 to testers. I've picked up 3 more testers since Alpha 1, which I'm hoping will help when I start getting into needing to test multiplayer. The Alpha 2 has a LOT of stuff in it, including:
  • Statistics for game play, including games played, won, and average guesses per game
  • New help file - this is a huge improvement and MUCH better than Alpha 1's
  • New background images - basic changes, but look pretty good; not final, though
  • Server-based word lists (the entire word list is on the server now)
  • Persistence between launches. Less of an issue with multitasking in iOS 4, but a major pain in anything previously
  • Automatically scrolls to the bottom of the guesses list on load - something that should have been done for Alpha 1
  • Upgrade to iOS 4 support - this was far more involved than I expected it to be
  • Numerous UI improvements and tweaks - just a lot of pet peeves and usability tweaks to make it easier to use and understand (I hope)
So quite a lot, but the lion's share of the time was spent in migrating from iOS 3.1.3 support to iOS 4, primarily because some things just didn't work as expected in iOS 4. Part of that arose from needing to refactor a bunch of stuff and reworking some of the child/parent messaging, but overall things seem pretty stable with Alpha 2 (on my devices), so I'm happy for the nonce. I'm hoping to get some feedback on the build while I start work on Alpha 3 (almost completely multiplayer stuff). It's coming together - slower than I expected, but I think it's going to end up being pretty good when I'm done.
Back to the salt mines.

Monday, July 19, 2010

Continuing Hurdles

As I've posted previously, there are some things I really appreciate about Microsoft's approach to supporting its developers (at least back in the day when I was writing Windows code). Primary among them is that Microsoft gives you the source code to their framework, the Foundation Classes. You get to see everything that the framework does, all the way down to the Win32 calls. And even then you can see the disassembly if need be. Apple has taken the opposite approach - they hide everything. I was talking with my mom tonight and I likened it to a server in a restaurant. You tell her your order - "I'd like to put a button in this location with this text" - and then she runs off, makes your order, and delivers it to you, but you never get to see how the secret sauce is made or if the cook spit in your food. Well, right now I'm feeling like Apple's spitting in my food.
I had been working diligently on getting my Alpha 2 completed. iOS 4 had just been released and I figured I'd get A2 out and then upgrade to the new Xcode version that supported iOS4. Then I got my new phone - iPhone 4, yay! (except for the antenna problem - boo!) - but it had iOS4. *sigh* So while I could install my iOS 3.1.3 version of software on my iOS4 phone, I couldn't debug it. And wouldn't you know, I experienced a crash. So I figured - well, maybe I'll just upgrade, recompile for iOS 4 and things will magically work! Okay, I didn't really think that, but I figured I was really close and this upgrade was: a) ultimately necessary, and b) worth the investment. So I bit the bullet and upgraded. And compiled. And fixed some problems.
But then I tried to run it. And found that now it crashes, but in a very unusual way - the stack is getting blown somewhere. Not that I changed anything that would cause that - it's just the combination of the code I had written for 3.1.3 apparently had a bug or there was a feature of the compiler that made it play nice. And this is where the first paragraph comes into play. The crash is happening deep inside Apple's code and I can't figure out where it's crashing.
Because of the crash, I've been unable to actually locate the place where the stack goes "kaboom". I've run into this a couple of times in the past on Windows - unallocated memory in release mode that overwrote the call stack pointers - but this is in debug mode, which should be a lot nicer and friendlier. But because I can't quite figure out where in the framework code it's crashing (because I don't have the source code), I'm stuck now doing another task that I'd postponed until after Alpha 2 and redesigning part of the code to help identify the general area that's causing the problem.
So, while I'm actually pretty close on having everything complete, I'm spending more time refactoring something that I'd planned to do later and am being forced to do now. I guess I should be looking at the glass as half-full as I now don't have to do this in the future, but at the same time my general timeline for Alpha 2 has gone out the window.
So because of a bug that I couldn't track down on the new OS I had to do two additional tasks that I'd planned on doing later. This has actually been the general story of my experience with iPhone development. Of course, Apple does tend to schedule all of their upgrades around the June timeframe (because of WWDC), so maybe I should just stop starting apps in April. And then maybe I'll feel like Apple's not spitting in my food.

Tuesday, June 1, 2010

Alpha 1 Released!

I went home over lunch (the spousal unit is "not well") and decided to take another stab at the installation. I cleaned everything, rebuilt, and sent it back to her email address. When I unzipped everything and dragged it onto her iTunes it seemed MUCH happier - my icon showed up in her Apps list, which was nice. When I click "Sync" it all installed happily and life was looking much brighter. When I ran it on her iPhone and it actually WORKED, that was great (and it connected to the website to get the word list), life was FAN-FREAKING-TASTIC!
I've packaged everything up and sent it out to my alpha testers who will hopefully be able to install it and test it. And I hope they'll be able to read the help screen. In the interest of just getting the alpha out the door I opted to punt on the scrolling help image. It's a placeholder anyway and I couldn't see continuing to hold up the alpha to make it work when it wasn't going to be in the final project anyway. The existing solution is less-than-optimal, but it's also temporary.
In the meantime, my game is now out in the wild. A momentous day for Otto Von. W00t indeed.

Alpha 1 Updates

Well, it was a busy weekend for the Empire Lyric Players, which meant it was a busy weekend for me (because I'm president of the group). Rehearsal Friday til 10:something-way-too-late, Saturday off (I played a TON of Dragon Age: Origins - definitely needed the break to stave off the pending mental collapse), then move-in on Sunday, which went much faster than I expected. We arrived at noon to help unload and they were finishing getting everything off the trailer into the theatre. WOW. I don't think move-in has ever gone that smoothly or had as many participants (practically the entire cast was there). Then errands on Memorial Day and first rehearsal in the theatre. Hard to believe our show goes up in 2 more days!
But wait - wasn't this a post about Alpha 1 Updates? Why yes, you're right - it is! Thanks for the reminder. So where IS Alpha 1? The short answer is "coming soon". The longer answer is a bit more complicated. I was having any number of problems getting my app debugged. It was working fine in the simulator, but as soon as I installed it on my iPhone it would crash on launch. No warning - just "no longer running". I couldn't attach a debug process, the console log (thank you Xcode Organizer!) showed nothing untoward, NSLog messages showed nothing... I was at a complete loss. I restored my phone to just 3.1.3 and then re-synched with iTunes. Still no love. Then, magically, it started working.
For anyone who's been a developer for any period of time, the "magically disappearing bug" is a frightening thing. Why did it go away? When will it resurface (because without fail it will)? I still can't find anything wrong, though, so it's hard to say it wasn't not some kind of configuration problem, but I'm not happy. I thought I would try to install it on Susie's phone as well to see if it surfaced there (I turned mine into a development device so I could see what was happening, but it didn't help). When trying to install on Susie's phone I got the strangest error:
The application "OttoJotts" was not installed on the iPhone "Susie's iPhone" because an unknown error occurred (0xE8008001).
Whiskey Tango Foxtrot? Why would iTunes not know what the error is? Oh, au contraire, mon frere, but iTunes DOES know what it is. What error 0xE8008001 is telling you is that you have an unsigned application that iTunes won't let you install on an iPhone. In other words, iTunes thinks the application is not a valid App Store or Ad Hoc distribution. Of course the question now is why doesn't iTunes think it's a valid ad hoc distribution? As to that, I'm uncertain at present. I need to dig into why it doesn't seem to think that I'm building an application with the right provisioning certificates. The error I was getting before from her iTunes was that there weren't any valid provisioning profiles for the application, which seemed odd as it was the exact one I was including in the build settings. She's running her iTunes on Windows and I'm on Mac, so that's always a joy, but still I've done it previously without too much trouble. Definitely more digging necessary, but here's the kicker - this is HELL WEEK.
What is Hell Week? In performance parlance, it's the week before a show opens. Every night is a rehearsal and generally you're still working a regular 9-5 (-ish) schedule that week, so you're up at the butt-crack of dawn to get to work, work a full day, then go to the theatre and spend another 5-6 hours at rehearsal. Then back home to bed all to do it again the next day. Good thing the show opens on Thursday. We have a JDBC movie night on Friday and I might end up crashed on the field at Invesco/Mile High. :)
Over the next couple of days I need to figure out what's up with the provisioning profiles and see why this isn't working as I thought. Maybe in a couple of days I'll actually have the Alpha done and out to testers. When I do, I'll make sure to let everyone know via this blog.

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. :)

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. :)

Monday, June 29, 2009

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... :)

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!