Apple iOS iPhone UI Automation Testing: What does Accessibility have to do with it?

Trying to do some UI Automation testing going on one of my Apps today. Have a race condition, so I want to have a script to run it over and over again to have a better chance of catching the problem (more on that in a later post). So, I just wasted 2 hours trying to test this structure: And the problem was that I had this set in Interface Builder:

 1 min read

SEO fail: Is This Thing On?

So I’ve blogged every day for a week now and, oddly enough, I can’t find my own site on google, even when I look for exact matches for strings in older blog posts. I’ve started using a plugin for RapidWeaver, SiteMap, that’s supposed to improve SEO, but I don’t know if it’s helping.That being said, it’s still early, and I don’t really know what I’m doing. I’ve read several often contradictory books and articles about SEO, but I’ve never really tried it out myself, so I’ll see how it ends up.

 2 min read

Hidden VPN/DNS Gem in Apple's iOS4.1 announcement today

I’ve been on-again, off-again fighting with getting my iPhone 4 to talk to a Cisco VPN concentrator to connect to a company internal network. The iPhone would connect, but it couldn’t resolve any names, but my iPad worked with no issues.Turns out, the problem was with iOS 4.0.x’s implementation of Multicast DNS. According to this IETF draft, ‘…Any DNS query for a name ending with “.local.” MUST be sent to the mDNS multicast address…’, which Apple took literally for iOS 4.

 1 min read

Cloud Computing: The Making of the Next Dinosaurs

Most of the most practical programmers I know, have something in common - they’ve all worked in places, usually small shops or small University departments, where they’ve been responsible for both the software they were writing and the computers that software ran on. Those people are more able to figure out what the real problems are, they don’t throw their hands up and say “must be a system problem”. They actually build things that work, and they can fix things that break.

 1 min read

Look, Ma, no laptop!

I implied earlier that when I use BlogPress to write a blog post with my iPhone or iPad, that I had to wait until I got to my laptop to publish it. That isn’t true. If I want to tweak it in RapidWeaver, then I have to wait for my laptop, but if I’m okay posting it without going through a proper preview step, I can just hit “Publish Now!” in BlogPress, and let RapidBlog handle the rest.

 1 min read

NSInMemoryStoreType is not a good substitute in unit tests

So I was writing some tests for my KidChart app, which uses core data, and I wasted a ton of time, so I thought I’d post to warn people. I wanted to avoid having to reset the state for each test, and I wanted the tests to run quickly, so I used NSInMemoryStoreType for my persistent store in my unit tests. This is a technique I’ve used before in other programming languages, and I was new to Core Data, so I was applying what I had done before to something I had insufficiently researched.

 3 min read

Halo: Reach - Are we going here again?

I loved the first Halo game. It quickly became my favorite first person shooter at the time (a title that had previously been held by the first Half-Life). I’ve played all the way through it by myself at least six times, and in co-op at least three (I do have to admit, though, the Library, solo, on Legendary is the one level I’ve never been able to beat. Damn grenade chain reactions…Grrr…).

 3 min read

People Seem to Prefer Videos and other things I learned from trying to advertise my iPhone app.

I have a couple of apps of my own in the AppStore. Most of the sales of the apps I have worked on have been the apps I did for other people, because, well, they are better than I am at marketing.So, I’ve been trying to figure out how to do marketing with one of my apps, KidChart. It’s been out several months and sales have trailed way off. I like it (my wife and I use it every day), but I haven’t figured out how to market it.

 4 min read