Potion Factory Blog

Category Software Development

Best Crash Report Ever

I was chatting with a developer friend about crash reports and as one thing led to another, after a quick Gmail search, I ended up showing him this one particular crash report I got sometime last year:

A flash of lightning could be seen through the north-facing window, the squak of the dark night's crow taunted me from a distance as I just reloaded the library in Tangerine. Shortly after a masked butcher, knife and all, broke through my thrice-locked front door barking threats of murder, Tangerine! unexpectedly quit. As a father feels when he loses his son, I felt an overwhelming sadness until I was warmly greeted by Apple's "YOUR PROGRAM CRASHED, BROTHA!!" window suggesting I relaunch Tangerine. That's what brings me here, composing this message to you. I have personally attached the Crash Long Contents for your reviewal. I can only hope, pray, that you will use it to correct the wrong that I have experienced. Now I must bid you adieu.

I cringe whenever I get a crash report, but if they were all like this, I wouldn't mind so much.

It's from a Mr. Eric L. Pheterson. I hope he doesn't mind my publishing it here. Oh, and the bug was fixed a long time ago.

How to Keep Backwards Compatibility and be Less Grumpy About It

I dread backwards compatibility. I dread it because it means that for every product that I need to keep backwards compatible, the testing burden is at least twice as big. The math is simple: testing on two major OS versions and two processor types can be as much as 4 times of stuff I'd rather not be doing.

The last time I had to maintain a product with backwards compatibility, this is what I used to do:

  1. Build then copy application to test machine.
  2. Get it to fail. This is the one part where I don't have to work very hard.
  3. Try to fix while scratching head then proceed to littering print statements all over the code.
  4. Go back to step 1.

You can make this process a little less sucky by configuring Xcode to copy after each build, or by mounting a share so that there's no copying at all. But in the end, debugging with print statements alone is limiting and time consuming. There has to be a better way, right?

Licensing Scheme Switch

Announcement

With the release of Tangerine! we moved to a new licensing scheme across all of our applications. If you upgrade Podcast Maker or Voice Candy and all of a sudden find that it thinks that you are not registered and your trial has expired, it is because you need to put in your new license key. We emailed them out ahead of time, but you may not have gotten it for one reason or another. In that case, please go here to retrieve your license.

But... Why?

So why would we go through the eye-poking pain of updating every order in the database, not to mention having to write code that we don't enjoy writing? Well, there are several reasons why it's all justified.

Release Happy

Developers experience a high when releasing 1.0 software. The sensation that it's finally done! Each and every one of the congratulatory letters really makes one feel proud too. I relate the experience to taking a ginormous dump (uhm... don't take that too literally). Here are links to two newly released softwares, each deserving a look, and what their devs have to say:

Iron Coder #0

Iron Chef

In the spirit of the show Iron Chef, some mac developers have joined together for the first ever Iron Coder contest. Developers are given 24 hours to come up with something cool given an API and a theme. The API for the first contest was Accessibility and the theme was Mardi Gras.

Here are our entries (with source code!):

Jin's submissionAndy's submission

Jump to Iron Coder

UPDATE: You can get all of the entries here.

UPDATE 2: Lucas Eckels got the honor of being the first ever Iron Coder with his entry Symphony. Congratulations Lucas. On a completely separate note, Steve Harris of Reinvented Software and Feeder fame has created a mash-up of our submissions titled GrassyKnoll. You can now shoot beads at passing windows. Grab the mash-up here for some good laughs!


Technorati Tags:

Hidden Gem

Lots of announcements today from Apple. New iMacs, Video iPods, blah blah blah. It's the only thing that anybody is talking about. I'm going to tell you about something else that is cool today.

We were brainstorming sometime before the release of iTunes 5, and I came to think about sliders. They are useful but pretty hard to use. If you want to change the value of the slider continuously, you have to grab the tiny knob and drag it around. For something like a volume slider, a real world knob is much easier to operate and more precise than anything in a computer. Well, a lot of people have mice with scroll-wheels nowadays so why not use it with the slider! Just move the mouse over a slider and scroll to adjust the value. Pretty nice idea I thought and proceeded to check a few apps to see if it was already done that way by default in OS X. Nope.

Syndicate content