“I fixed the memory bug.”
I also finished the last few things that needed to be done on the settings section. It all works now and I can start working on implementing all the different settings throughout the app. That should not take too long. After that (polishing aside), I can focus on other things, like:
- Adding more voiceboxes
- Dropping in new content
- Implementing new features
- Improve graphics
- Tweak the hell out of everything
I’m not decided on the order in which these things will happen, but I’ll keep you posted.
P.S. Not an April’s Fools joke. Honest.
Chasing bugs
It’s been over a week, so I thought I’d post a small update. The last few days have been blissfully without Objective-C, xcode and iKITT. I took a little break, as I’m dealing with a consistent crash in the settings screen, and chasing bugs is one of the most tedious things imaginable. I hammer in code at work all day (for things totally unrelated to iKITT) and there comes a time in your life when you’ve had quite enough of it all when you get home. That is the biggest reason everything is taking so long. That, and my unfamiliarity with Objective-C and the Cocoa Touch framework, with which iPhone applications are made.
For, see, I’ve tracked the bug to a problem in memory management, as the app is calling memory that has been de-allocated at some point. That is a lot of technical talk that I usually keep on Twitter. Basically it means that the app is trying to access a part of the program that is no longer there. I’m not used to dealing with problems like this, because these last few years I’ve worked in “garbage collected” languages, where this is not a problem. In garbage-collected languages. In garbage-collected environments, the run-time will automatically keep track of what is in use and “collect” the memory that is not.
So, I will be debugging the code in the coming days, trying to find out where and why things go bang! in the app. This is a good opportunity to get more intimate with xcode’s debugger, breakpoints and exception handling. I hope the next post will have more substance to it and contain the words: “I fixed the memory bug.”
Moving slowly forward
It’s been a while–too long. I won’t bore you with apologies; it is what it is and I’m not exactly sorry, either. iKITT is moving forward slowly, but steadily, and I have something to look at for you this time, too.
As you could read in the last post, the first thing I was working on was a settings screen. I have made huge strides with it. It may not seem like much, and really it isn’t when you are familiar with all this stuff, but it is something of a small milestone. These settings are an enabler and a placeholder for much functionality to come.
I also have a question for you and I wonder how many people are really affected by it. It would development so much easier, though: I’m thinking of dropping support for the firmware 2.2.1. How many people actually still use that? Apple added so many nice things in 3.0 and above, that I’d be crazy not to make use of them. If you’re on anything below 3.0 and want to keep using iKITT after the update, make a lot of noise now or face the inevitable result (losing iKITT).
I hope you like the screenshot. It may not be much to you, but it is glimpse in the future. Note that the layout and the configuration items you see here are not final. They are pretty close to what I want them to be, but it can change at any time.
After implementing the settings, I have a ton of small tweaks and improvements to add to iKITT. And then it’s mostly content updates. Hopefully you’ll hear from me sooner than last time! Keep an eye on my Twitter account @Thanatist and also #iKITT, because I will post there more often and with more technical and in-depth material.
If you have any suggestions, now would be †the time to post them. Have a good night!
Adding a configuration screen
As a new start in 2010, I wanted to keep track on my every progress I make on this blog. But first, I want to get real honest with you all, because I think you deserve it after months of waiting.
I did promise an update and I did say that a lot of really cool features were going to be added. I really wanted that, too. So, what happened? Let’s just say that life has me gasping for air sometimes, and I have to juggle that airtime with work and honest-to-god free leisure time, as well. I will try to finally channel some of that air to iKITT as well over the coming weeks.
One of the first things I wanted to implement in iKITT was more control and content for the user. That immediately meant a configuration section where you could adjust and select the things that you want the app to do. Configuration screens are present in almost every app, and they almost always use a TableView. Even so, I have never actually implemented one, although they are fairly simple. The next few days, I will be concentrating on this when I can find the free time.
I already have a good idea of what items I want to be configurable from all the feedback and my own ideas. There are even a few features that I cut from version 1.0 that I want to make a configurable come-back, such as the start-up sound and whether changing speed in Dashboad mode makes a sound.
I will back this post up with some screenshots soon. Even if that does not mean that much to you now, it does to me in the sense that I’m actually moving forward again. This time I will do my best to document the process as best as I can. I know the pain of abandoned projects and radio silence, but I can also understand the reasons that behind it. Radio silence will not be the problem from now on. The next milestone for this thing we have here is the next submission to the App Store and I will be posting all along the way.
Welcome to the new…
…not so much the same as the old. As you can see, I’ve put up a proper blog for Thanatist Software. Following up on my promise of keeping you more informed about iKITT, this step should make it a lot easier to write about where I’m standing. Furthermore, you can comment and let your voice be heard. I will listen. Now, I will tell you where things are at.
I’ve kept the last post from the old site online to illustrate how long it has been. It’s also there so that I can update you on the current situation. What development I had done on iKITT had to come to a halt, because the iMac I was using then broke down. I have since replaced it with an even older Mac Mini, but it works. It means that I can work on iKITT again–at least, as far as time will permit.
iKITT was free for a day on February 4th as part of a fun event, inspired by the recently finished Appvent Calendar event. It tries to promote Dutch and Belgian apps and offers a different app for free each day of January. Check it out at http://www.appevent.com (Dutch).
If anything, the results of that again showed me how many people really like having KITT on their iPhone. It is also crystal clear that you want to see an update. What features did I have listed on the big old TODO-list? Here they are again:
- A configuration screen
- More sample sets (KARR, translations)
- More voiceboxes (first season, KARR)
- Shuffle mode (random samples at timed intervals)
- KITT scanner (with the woosh sound!)
I will not promise you all of these features for the next update, because I may cut some to be able to get it out faster. There are many little tweaks and features that I think you will like, and more delays because a time-consuming feature hogs everything up is unacceptable.
So, after a long absence, this was a pretty long post. I hope I have not disappointed anyone too much by the radio silence, but I do have a job and something resembling a life, too. In any case, here’s to iKITT 1.2, to be released… somewhere in 2010? Narf!
Hardware problems
Development has sadly but temporarily come to an unwanted halt as my development Mac is suffereing through some bad times. Applications are freezing for seconds at a time at random intervals, sometimes to the point of being unable to complete one line of code. We’re looking into the matter right now, but I thought I’d just drop you a line so I can hide behind this lame excuse.
In the worst case, I’ll be forced to buy a new Mac, just so development on iKITT can continue.
