iPhone Video Output

A common problem for iPhone developers is demonstrating the apps they've developed to others. Showing it on an actual device only works well if you are showing it to one or two people. Showing it in the iPhone Simulator running on a Mac takes a lot of setup, and may not work if the app depends on things you can't do in the simulator.

Fortunately, The Evil Boss shows us how to enable video output for an iPhone application, so you can show it running on a TV screen.

Native Apps vs. Web Apps

This week, there was a lot of chatter in the blogosphere about the prospect of writing web apps for the iPhone instead of developing native apps.

Android: Maybe Not

A couple of days ago, I said I was considering giving up on iPhone development and trying Android instead. Here are my further thoughts along those lines.

Deal on Photoshop Elements 8

If you're one of the people (like me) who needs to occasionally do some image editing, but who doesn't want to spend a few hundred bucks on Photoshop, you may want to check out Photoshop Elements 8.

Adobe has a deal on it right now: $20 off the normal price, and a $20 rebate, so that the final price is about $60. See the Adobe store. Deal ends 11/30/2009.

Switching Away from Apple?

I've enjoyed using my Apple products, but I'm considering a switch. I find myself drawn back to Windows on my desktop, and to an Android mobile device.

Google Wave

Thanks to a former co-worker, I got an invite for Google Wave.

The biggest problem right now with Google Wave is finding other people to interact with. Chances are that few of your family, friends, or co-workers have access to Wave yet. I've set up a public wave for readers of this blog. If you are a waver, feel free to play with it:

(If that link doesn't work, then try entering "with:public undefined value" in the Google Wave search box.)

Sony PRS-500 Upgrade

As mentioned in a recent post, my wife bought me a Sony PRS-500 Reader, and I like it a lot. I've just found out about an upgrade offer: PRS-500 owners can trade in their readers for discount on a Reader Pocket or Reader Touch. The offer expires April 10, 2010.

(Bummer. Turns out that I have a PRS-505, not a PRS-500, so I'm not eligible for the upgrade. So I guess I'll just have to wait for the Apple tablet.)

The Go Programming Language

There's a new programming language out there: Go. There are lots of ways to describe it, but basically it's got Python-esque syntax and C++-esque performance. It's statically typed, but is designed to feel more like a dynamic language. It has garbage collection.

Based on its pedigree, I expect this to be a lot more successful than the various other languages intended to be successors to C++. Play with it while it's still cool, before it starts to suck.

Sorry, Windows programmers, but only Linux and Mac OS X are supported for now. But I'm sure Windows programmers won't mind; to them, "new programming language" means "C# 4.0".

iPhone OS Filename Case Sensitivity

I hit a little snag while adding a feature to an iPhone app today. I added this code to load a logo to be displayed in a view:

UIImage *logoImage = [UIImage imageNamed:@"Icon.png"];

This worked fine in the iPhone Simulator, so I thought I was done. I loaded the app onto my iPod Touch, and it didn't work. Running in the debugger, I discovered that logoImage was being set to nil.

Why would this not work on a device, when it ran fine in the simulator?

It turns out that the iPhone OS filesystem is case-sensitive, while the Mac OS X filesystem is not case-sensitive. The actual name of the image file was icon.png, with a lowercase-i, so it didn't match on iPhone OS.

No big deal, but it's another reminder that you always need to test on an actual device before considering an iPhone development task done.

Introducing Kids to Programming

No time for a real blog entry today, but instead of nothing, here are some links to really cool toys that kids (and curious adults) can play with to learn about programming and multimedia:

Syndicate content