Mobile App Testing – Picking the right test devices

I figured that it would be great to kick off my new-found motivation to blog with a post going over how I do mobile testing. You have to do testing, it has a high cost of entry, and can be intimidating. Let’s walk through how I do it as a entrepreneur/consultant:

First, let’s establish some basic ideas:

  1. If you’re not testing on-device, you’re not testing. While handy for spot-testing as you code, the iOS Simulator is unrealistically fast, and the Android Emulator is slow, buggy, and difficult to use. Also, some things won’t work or break until you test with a real build, like push notifications or Google Maps API keys.
  2. If you want to test your app on every current iPhone, you currently have 4 devices to test on. If you want to do that for Android, you will want to win the lottery, and rent a warehouse.
  3. Other things are harder to sim/emulate, like available processor & memory on a phone that has real-world usage. There’s a lot more happening on a phone that has active email/calendar/push connections, and has other apps open in the background.

That being said, all is not lost. I’ve formed an effective strategy to maximize my testing coverage. First off, I buy the latest iPhone when it comes out. That’s the easiest decision, since we’re talking one phone per year. Android requires a bit more clever thinking, though.

  1. Buy new Nexus devices. Google actually keeps these phones up to date on reasonable schedules, unlike any other Android phones on the market. If you look at the recent Nexus history, the Nexus One, Nexus S and Galaxy Nexus, I bought the Nexus One, skipped the Nexus S, and bought a Galaxy Nexus. This gave me a “latest & greatest” OS to work on, all the time. I’ll probably skip the next Nexus device, unless there’s some significant deficiency, either on the hardware or software side.
  2. Buy used “carrier” devices. Cracked screen? Big ugly gash in the frame? As long as it’s functional, who cares? Craigslist and eBay are great places to find cheap phones.
  3. Diversify brands and models. I’m sure you have a favorite, but the sad reality is that the manufacturers like to put their big, ugly thumbprints on their phones. HTC Sense, MotoBLUR, and Samsung TouchWiz introduce nuances and bugs that will be unique to their phones.

Personally, I try to buy one phone from each manufacturer for each major version of Android. I try to stick to the most popular model for each, because the odds are in my favor that I’ll have the phone that my client has. If you’re keeping count, that means that each calendar year I plan on buying one new iPhone, one new Nexus, and 3-4 used Android phones.

The hidden problem I encountered was that it’s hard to carry around so many phones. I looked for multiple-phone carrying cases, but couldn’t find anything. I eventually figured out that Pistol Cases (Amazon Affiliate link) are perfectly sized to hold a bunch of phones.

Yes officer, that’s my pistol case. No sir, I have it because Android is fragmented and I’m a developer.

I just cut out slots in the foam, and used a bit of spray glue to attach the foam to the case. Cost me $10 at my local sporting goods store, plus the glue. You can see it’s holding 8 phones, a MiFi, and still has room for three more. Luckily, while Android phones might do everything else differently, they all share the same USB/Charing cable. I could carry everything I need in that one little case, at least for the next year or so.

How To Clean your Mighty Mouse Scroll Ball

I love my Mighty Mouse. Like many others, my grubby hands eventually caused the scroll ball to stop scrolling in one or more directions. I tried the official Apple instructions to clean the ball, but it didn’t really work. Others have suggested compressed air and other tricks, but I didn’t have any luck with those, either.

I came across this solution out of frustration, nearly ready to give in and buy a new mouse.

WARNING: Follow these steps at your own risk. The mouse ball is a rubbery substance, and you might end up shredding it like an eraser.

  1. You will need a clean sheet of paper, along with a stack of paper or a full envelope.
  2. Place the clean sheet of paper on top of the other material on a table, so you have a slightly cushioned surface.
  3. Holding your unplugged mouse upside down, drag the ball along back and forth across the paper. I suggest working in a cross pattern (up and down, also left and right), and a circle pattern.
  4. You’ll see the gunk coming off the sensors onto the paper. I recommend avoiding to continue rolling the ball across anything that comes off onto the paper.
  5. When you’re done, be careful, that ball is probably HOT. Blow on it for a few seconds before trying out your newly cleaned mouse.

Review: Genie PowerLift Excelerator

So, last fall I bought a Genie PowerLift Excelerator garage door opener from Home Depot. I decided to go with a higher-end opener because of the nice warranty graphics on the box touting their superior warranty. It turns out to have been a great decision.

Over the past couple months, I’ve noticed that the garage door has been opening and closing with decreasing speed. I figured that the problem was that I just needed to adjust the sensitivity, but when I finally got around to it last week, it had no effect.

I called their customer service line, and after a few very reasonable troubleshooting steps, they determined the problem must be the controller board. It is a user-serviceable part, and I opted to just take care of it myself. They charged me $6 to ship out the new part, which arrived a couple business days later. I then replaced the part, but it did not solve the problem.

I called the customer service line, and they were able to pull up my previous call notes after giving them my phone number. They asked a couple “are you sure you installed the new board correctly” questions, and then gave me the option of either trying to replace the other circuit board, or swapping out the whole motor head. They also gave me the option, again, of doing it myself, or having a technician come out to do it. I decided that it would be best to just get a new unit, and that I had no interest in replacing it myself in the summer heat. They obliged, and also said that they wouldn’t charge me shipping for the new part because I already paid shipping for another part that didn’t solve the problem. They explained to me in great detail what the process involved, including faxing a service request to a local technician, and how long I should expect the process to take. They didn’t even have to collect my address a second time.

This is how customer service should be… Simple, reasonably generous, and exactly what is advertised on the box.

Review: Aiptek Action HD Camcorder

I got sucked into a spontaneous purchase the other day at Wal-Mart. I was walking by and saw they had an Aiptek Action HD Camcorder. It has several key features that had caught my eye in the previous weeks:

  1. It’s cheap ($199)
  2. It’s HD

I was in the market for a cheap, small, HD camcorder, and this seemed too good to be true. I wanted something I could use to take advantage of SmugMug’s HD video capabilities. I also wanted an optical zoom, and something that was able to accept a SDHC card. I was excited to find everything I wanted at a price comparable to a FLip camcorder.

Box errors

First off, a few corrections/clarifications to their specs on the box. The official name says “Aiptek Action HD 1080p Camcorder” which is inaccurate. Technically, it does support 1,080 lines of vertical resolution, however 1080p is generally accepted as 1920×1080, not the camera’s 1440×1080. Also, the box repeatedly says that 1440×1080 is a 16:9 aspect ratio, which it’s not (that’s 4:3).

Features

Once nice thing for me is that the camera records to a Quicktime movie using the h.264 codec. Perfect for displaying in Flash, and also editable by iMovie. It’s small, remarkably light, and charges over USB. It comes with a case, mini tripod, remote, wall charger, and all cables you could ever need. It powers on when you flip the LCD screen open, and is ready to record almost instantly. The camera connected to my Mac perfectly using a USB cable, and both the built-in storage and the SD card showed up on my desktop as mass storage devices. Normally, I’d say use a card reader, but since this charges over USB, there’s no harm in never taking your SD card out of the camera.

Shooting video is a snap. Open the LCD screen, hit the record button, and you’re off. It can’t take pictures while it’s recording a video, but I never intended to take pictures with this device. The zoom controls are easy to use, however, the zoom is pretty much useless. The auto-focus constantly searches around at any focal length greater than around 10mm. I’ll try again in daylight, but I’m not sure if that’s going to make any real difference.

Here’s a few video samples:

As you can see, the quality is really perfect for web viewing. The Macro mode performs well, and the LED lights on the camera actually do provide enough lighting to shoot in darker places. Uploading to SmugMug was a snap… All I had to do was upload it, and SmugMug did the rest.

Overall, I rate this camera as a great deal, for use as a camera for posting video online.

Expect a followup review once I’ve had awhile to play with this some more.

Apple’d and loving it

I’ve just realized that over the past 12 months I’ve gone Apple. It started innocently enough with a Juniper iTunes credit card and an iPhone on launch day last June. Then an Apple TV found it’s way into my home. Eventually, a MacBook and a Mac Pro followed suit.

I have to say I’m impressed with all my Apple products. Here’s a quick review roundup:

My iPhone gets plenty of use at home and on the go, and if the next version only adds in 3G and GPS, I won’t even be all that tempted to upgrade. It’s so much better than any previous phone I’ve owned, and AT&T’s customer service isn’t nearly as bad as it was in the Ameritech/SBC days. I can’t wait till the API is finally released and the 2.0 software comes out. I’m sure my wallet will take a beating that month. Interestingly, I use the iPod functionality less than I did my old iPod.

My Apple TV probably gets the least use of all my gadgets. We have ditched out Netflix subscription (kept forgetting to send movies back), and decided to put that money towards rentals & tv shows. Between the Apple TV and my Xbox 360, we could get pretty much anything except Smallville and NBC shows. Combine this with the rewards my Juniper iTunes card gets for just paying monthly bills with it, and we get quite a deal.

My MacBook is the surprise of the bunch. For many years, I’ve only had 17″ laptops. Unfortunately, the $2,800 Macbook Pro was out of my price range, and there were some great deals on MacBook refurbs, so I picked one up. I was pleasantly surprised that the screen size wasn’t that big of an issue. The real surprise was how quick and light, and long lasting this thing is. Sure, I’m not going to get any modern 3D game to run on it, but it’s almost half the weight of my previous laptop, and the battery life is amazing. I guess the LED backlighting really paid off.

The Mac Pro is, well, awesome. It’s great to run three virtual machines, plus all my development servers and software, email and still not break a sweat. It’s replaced three physical machines (dev/file server, photo server, and workstation), so I’m saving on electricity and space. The keyboard is surprisingly awesome to type on, though the Mighty Mouse doesn’t like to always tell the difference between a left and right click.

What’s left to be assimilated? Well, I want to upgrade my wireless network to N, and the likely candidates are an AirPort Extreme and AirPort Express to bridge some HD-capable streaming to my Xbox. My wife likely won’t be switching anytime soon, and is plenty powerful with XP for the internet/email/light web dev she does. Our daughter, however, will probably inherit this MacBook in a few years and eventually get an iPod.