24 Nov 2011, 2:29am

leave a comment

How I Unlocked my iPhone4S (with VirginMobile)

VirginMobile let you unlock your iPhone on day 1, no cost. Here was my steps for the record:

  1. Ring VirginMobile, ask for the unlock. They will ask you for your IMEI and then send through the unlock
  2. They say ‘restore the iPhone in a few hours’
  3. Not wanting to restore the iPhone, I put in a foreign SIM card (when plugged in to iTunes)
  4. The iPhone then said “Activation Required”, and started the re-activation process
  5. iTunes then displayed the “unlocked” message
I guess restoring is the fallback way to force the re-activation – but this worked pretty well.
Postscript: I love how it says “Congratulations”, since of course everyone wants their phones unlocked, rather than being forced into using one company, something that is extremely uncompetitive, not pro-consumer at all, and actually illegal in HK (should be so everywhere). I guess Apple, and Steve (RIP) were well aware of this…
23 Nov 2011, 8:17pm

leave a comment

Mobile Design Patterns

Great roundup of mobile design patterns.

Hope they keep the historical ones as these apps change, it’s always interesting to see how apps evolve.

20 Nov 2011, 9:20pm

leave a comment

Save Power, Underclock the iPhone (A Suggestion for Apple)

With each iPhone, the battery capacity increases, but the power needs also increase, keeping the lifespan largely unchanged.

Why not allow underclocking to save power? Something like this:

  • you have a shiny new iPhone4S with a higher capacity battery
  • you are going out for a long day and need the power to last. So you set your iPhone’s CPU to down-clock to the previous generations speed (similar to how you set airplane mode when you need that).
  • all your apps still run fine, as they did on the iPhone4, just a little slower than you are used to now
  • if you launch a game, the CPU can run at full tilt, despite this option (if the developer has flagged that the higher CPU is needed)

So full CPU normally, and underclocking to the previous iPhone’s speed when you need to save some juice.

17 Nov 2011, 1:40pm

1 comment

When symbolicatecrash Fails (and it often does)

This problem has plagued me for almost three years now. It seems sometimes symbolicatecrash works, sometimes it doesn’t.

I have all my dSYM files (I even use a build script that archives them all automatically), and spotlight can find them from the UDID, but to no avail.

The solution is atos.

I copied the dSYM file (actually a folder) to the desktop, and run this command & you will get the file & line of code. Repeat for each symbol in the crash that you need (generally you only need one or two key ones…)

$ atos -arch armv7 -o ~/Path/to/Your.app.dSYM/Contents/Resources/DWARF/AppName 0x000cefd8
 -[SomeClass someMethod] (in GeoLog) (AppName.m:242)

Thanks to NaveenShan for this tip.

Incidentally, If someone writes a Mac OS X app that can reliably symbolicate crashes, each time, every time, and doesn’t break on every new version of the SDK/OS – I will pay upwards of $50.

I wish things would just work, and I wouldn’t have to waste my precious dev time stuffing around with this crap.

14 Nov 2011, 6:59pm

leave a comment

Fixing the ‘Big Red X’s’ in Google Earth

Is as simple as clearing your cache.  On Mac it’s Google Earth -> Preferences, Cache tab.

14 Nov 2011, 11:45am

leave a comment

Offline GMail

 

When I tried to use GMail on the plane (I had used this app earlier in the day to ensure the cache was up to date):

Am I missing something?

Next time I won’t close that tab…

 

 

 

12 Nov 2011, 6:44pm

leave a comment

Continuing will result in the loss of all media on this iPad

I love how the really key part of this message is the sub-text.  I like verb dialogs that Apple promotes, but I can’t help but think that they could have picked a more informative word here, “Erase & Continue” perhaps?

Good thing I read it carefully…

A side note: the cause of all my iPad memory being used is that I use it to DL photos from my DSLR. I have these on my iPad, and I DL it also to my computer. Pity iTunes can’t just leave these photos in place, I don’t want to back them up again – but I do want to backup the rest. At least there are OTA updates in the future.

8 Nov 2011, 5:55pm

1 comment

Twitter’s Approve or Deny this Request button fails.

Steps to Reproduce:

  1. Received Email from Twitter: “so and so has requested to follow you”
  2. Clicked the Approve or Deny this Request button.
  3. Prompted me to login
  4. I login, first attempt succeeded.
  5. Shown the default screen.  Not my “pending request screen”
  6. This screen doesn’t even have a link or notification about pending requests
  7. I click “Followers”, maybe it’s there?  No
  8. I click “Home”, ah – finally the button “5 new follower requests”

 

Expected Behaviour:

Clicking “Approve or Deny this Request” in the email should take me to a page where I can do this, after logging in.

Viewing my followers list should also show me (or at least link to) my pending followers.

Gripe:

I hate web pages who don’t redirect you to where you wanted to go when prompted to login.

5 Nov 2011, 3:39am

2 comments

Rooting my HTC Aria ‘Liberty’ 2.2

I have an HTC Aria phone, originally purchased for dev. I thought since it wasn’t my primary phone I’d try a small smartphone, see how it performs compared to it’s big-screen cousins. When the 2.2 OTA update was presented, I installed it.

I’ve been using HTC’s crappy original firmware for ages. And here’s a problem: HTC have basically deprecated this device. It’s still pretty decent, no reason why it can’t run the latest software, except business reasons. No 2.3 Android support for me.

Here’s how I rooted the device, it was actually pretty easy once I found the right instructions. This is not a generic HOWTO, just a tail of success using my particular hardware and my particular version. YMMV.

  1. Turn off the device. Hold the ‘volume down’ button and hit power.
  2. Note your HBOOT version. If you are using the HTC Aria ‘Liberty’ then it needs to be 1.02.0000.
  3. Grab the Revolutionary tool, and read the docs.
  4. You’ll need to install the HTC drivers, if you haven’t already.
  5. Then run the tool. Enter the beta key from the website, and let it do it’s thing enable (S-Off). NB the tool will give you the serial number to enter into the site.
  6. After this is complete, it will prompt you to download & install the recovery tools. Do this step. Be patient, the download has no progress indication, but it does work.
  7. After booting, root your device by the instructions in the revolution docs (install su-2.3.6.1-ef-signed.zip)
  8. Then you can install CyanogenMod in the same way, by installing the zip from the SD card. Instructions here.
  9. And you’re done. Easy really!

So now I have Android 2.3, from CyanogenMod (which is better than HTC Sense to boot). Runs perfectly – clearly the decision not to support 2.3 is purely a business one.

“Welcome to Android”
– Hank, commenting on my repeated excitement while playing with CyanogenMod