Marco Arment on the iPhone 4

It can be difficult to acknowledge that a product you otherwise love has a couple of significant flaws. That said, the white-washing of the iPhone 4's reception issues by the company and, much more regrettably, some writers is still disappointing. So, it's extremely refreshing to hear Marco Arment say this:

Apple’s arrogance and indifference in issuing this response is offensive, insulting, and disappointing. It’s as if they’re expecting this issue to go away if they just wait long enough and ship enough iPhones. But it won’t. It’s only going to get worse as more people try to exchange their iPhones at the Genius Bar for these two issues, thinking it’s just a problem with their iPhones, and encounter the same problems with every replacement.

Read the whole thing.

Android Inventor

It's an interesting idea, although the only way it can possibly succeed in driving development on Android is if it functions effectively as a gateway drug to more powerful tools. The next logical step is to facilitate apps written in dynamic languages; a fairly undaunting task given Android's architecture. Learning basic Ruby or Python would be an obvious progression for Inventor veterans, even if only to inject more complex logic into Inventor-based apps.

Remote High-Resolution Images

The UIKit team have made adding high-resolution artwork to an iOS 4 project extraordinarily easy; all you need to do is add the new files to your project in a particular format (imagename@2x.png alongside an existing imagename.png), and UIImage will automatically load the appropriate file depending on the screen scale factor.

However, if you're loading images remotely, you'll need to do some of the work yourself. Here's an example of how to load a high-resolution gravatar portrait:

float size = 40.f;
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 4.0) {
    size = size * [[UIScreen mainScreen] scale];
}

NSString *url = [NSString stringWithFormat:@"http://www.gravatar.com/avatar/%@?s=%i", emailHash, size];

NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:url]];
NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];

// implement the NSURLConnectionDelegate methods,
// and use the resulting data in [UIImage initWithData:data];

As you can see, it's relatively straightforward: just grab the screen scale from [[UIScreen mainScreen] scale] and use it to determine the resolution of the image you want to download.

Signal Strength Mathematics

So, Apple have published a press release addressing the infamous iPhone 4 reception issue:

We have discovered the cause of this dramatic drop in bars, and it is both simple and surprising.

Upon investigation, we were stunned to find that the formula we use to calculate how many bars of signal strength to display is totally wrong. Our formula, in many instances, mistakenly displays 2 more bars than it should for a given signal strength. For example, we sometimes display 4 bars when we should be displaying as few as 2 bars. Users observing a drop of several bars when they grip their iPhone in a certain way are most likely in an area with very weak signal strength, but they don’t know it because we are erroneously displaying 4 or 5 bars. Their big drop in bars is because their high bars were never real in the first place.

To fix this, we are adopting AT&T’s recently recommended formula for calculating how many bars to display for a given signal strength. The real signal strength remains the same, but the iPhone’s bars will report it far more accurately, providing users a much better indication of the reception they will get in a given area. We are also making bars 1, 2 and 3 a bit taller so they will be easier to see.

Weird. I imagine that signal-strength calculation is a difficult algorithm to crack, and subject to a large degree of uncertainty -- just as power calculation and runtime calculation are difficult algorithms to crack -- but it's a little odd that Apple would get this wrong and fail to fix it before now. The press release claims the error has been around since the original iPhone launched, which makes me thing the software issue is a relatively minor one. Obviously signal degradation is a real problem on the iPhone 4, though not nearly as widespread and devastating as some make it out to be. As Apple mention in their press release, this is an issue that affects all mobile devices; and although I'd wager that signal strength on the iPhone 4 is measurably more affected by the placement of one's hand relative to the antenna given it's unique design (which seems to more than make up for any degredation, but probably makes the signal strength prone to prominent fluctuations) it certainly doesn't look like a faulty product. Anyway, it looks like the imminent software update is one part bug fix, one part fig leaf and probably all unnecessary but at least it should cool the hysteria a little.

The Apple Cloud Cometh

Boy Genius Report has it that Apple are finally ready to make a serious push into the cloud. I had expected them to show something off at WWDC given how poor they look in this area, but at least we're hearing about their plans now now.

Anyway, it's nothing unexpected, mostly just a fleshing out of what Lala offered and some eagerly anticipated features like wireless syncing. Expect it to be impossibly slick, and marketed as the second coming. It'll be interesting to see if Apple also decide to shake up Mobile Me, which is pretty weak tea once you figure out Google's Gmail, Calendar and Contacts Exchange support and sign up for a service like Dropbox.

A prediction: it'll launch as iTunes Live at a music event this Autumn, alongside some new iPods.

The Kin is Dead

It should never have been released. At least now Microsoft can focus on Windows Phone with a singular focus, and hopefully release something competitive. Just about the only interesting thing about the Kin was that Microsoft sold it and branded it as its own entity, like Zune and Xbox, and not a platform living on other vendor's hardware1. I think if the Windows Phone platform is going survive it'll need to be on the back of Microsoft-branded hardware, because they certainly won't be able to compete with Android in selling the OS to OEMs -- unless they're willing to license it for free to buy up market share2 or the initial wave of Windows Phone devices are appropriately successful. The Zune HD is an attractive piece of hardware, certainly nicer than the vast majority of Android phones, and its industrial styling is unique enough to distinguish it from the iPhone. What's stopping them from releasing their own high-end, premium handset?


  1. Both Kin models were made by Sharp, but not explicitly branded so.
  2. I wouldn't be shocked if Microsoft did offer the OS for nothing, at least initially. Loss Leaders are nothing new for Microsoft.

iBooks 1.1

Alongside iOS 4, Apple shipped iBooks 1.1 today which brings the app to the iPhone, and adds some other really nice features like PDF support. Now all we need is a Cocoa port, preferably one that lives outside iTunes. Download it here.

iTunes Connect Mobile

Apple released an iTunes Connect client for iOS today, which pleases me greatly; anything that facilitates my desire to avoid iTunes Connect whenever possible is a good thing in my book. The app is functionally solid but uncharacteristically buggy; it seems to throw "No Data" error messages more often than not and occasionally can't find the server at all. It's free, so I guess I can't complain too much, but I expected a little more polish from Apple.

iPhone 4

Apple’s stock dipped a little after Steve Jobs’ keynote, presumably because most of the things everyone expected to make an appearance -- a new Apple TV, a revised Mac lineup, “Magic Slate”, Mobile Me, iTunes.com -- didn’t (Apple did release a new version of Safari as expected, although it wasn’t mentioned in the keynote; instead, Apple chose to quietly announce it in a press release1). In a way, maybe we were wrong to expect anything else; Apple hinted at the utterly iPhone-centric nature of the conference a month ago when they revealed an exclusively iPhone OS (now iOS) slate of design awards. So, with no new products2 to announce, Jobs treated us to two hours of iPhone 4.

There was almost nothing we didn’t already know about the new iPhone in terms of functionality or specification; in fact, I believe the Gyroscope is just about the only hardware addition that wasn’t revealed when Gizmodo ‘acquired’ a prototype back in April. FaceTime was probably the biggest surprise of the keynote. Everyone knew the iPhone was getting some form of video chat -- the front-facing camera revealed as much. What was surprising is that the implementation looks so smooth and elegant that it actually appears to be worth using, unlike every other video chat implementation, ever. Also, the fact that Apple wants to standardise FaceTime is pleasantly surprising and welcome, Google would do well to get on board3.

A few other observations:

  • The Gyroscope is a nice addition, although it’s up to developers to make apps that use it in interesting ways.

  • The display looks absolutely incredible, although we knew it would given the monstrous pixel density. It'll be interesting to see if and how developers will be able to take advantage of the new resolution, beyond just including higher-resolution graphics in apps. John Gruber made some good observations on this a couple of months ago.

  • The iBooks update seems solid. I especially like the PDF support (this will all but kill off the low-end PDF-reader market).

  • It’s disappointing that we didn’t see iOS 4 running on an iPad.

  • The iPad now badly needs a front-facing camera; FaceTime for iPad will be a big selling point for the next model.


  1. Long term Mac users have got to be a little worried that their platform has been gently put aside by Apple in order to focus on iOS devices. I’m not too concerned -- 10.6 is a great operating system, and I’m patient enough to wait another year or so for 10.8 -- although it would have been nice of Apple to have included a couple of OS X design awards. I think the real test with be next year’s WWDC.

  2. I’m not really counting iMovie for iPhone as a new product, although it does look amazing.

  3. Interoperability between iOS and Android stands to benefit the latter more than the former given their respective market-share.

WWDC Predictions

WWDC is right around the corner and despite the uncharacteristic iPhone leaks I expect a few surprises. Here’s what I’d think we’ll see:

  • There’s very little we don’t already know about the iPhone 4G, but at least one unspoilt feature would be nice. Unfortunately, this is highly unlikely given how much we already know about the hardware.

  • Developers will probably get a look at a 4.x build of iPhone OS 4 running on the iPad. Will the multi-tasking workflow change at all? I suspect not, given how consistent Apple has kept SpringBoard.

  • Almost everyone expects a new version of Safari to make an appearance after John Gruber’s not-so-subtle hints that Safari will (finally) support extensions. I wouldn't be surprised if they closely resembled Chrome extensions: A JavaScript API with HTML and CSS for presentation1. This is pure speculation, but Apple might also ship a new version of Dashcode with support for Safari extensions along with the final iPhone OS 4 SDK.

  • There are rumours that Apple will reveal a new version of Xcode. Xcode has always been a little spartan when stacked up against other IDEs; that said, I do like it, and with a couple of additions2 it could compare a little more favourably.

  • Apple will inevitably release a revised iTunes.com to replace Lala; hopefully they'll reveal something at WWDC (although Apple may want to wait for their Autumnal music event, where they traditionally show off new iPods).

  • I strongly believe Apple needs to and will eventually make significant pricing changes to Mobile Me; at the moment they just look weak when stacked up against Android. Ars Technica seems to have some evidence that changes are imminent.

  • There’s probably going to be a couple of revisions to the Mac lineup; the MacBook Air, Mini and Pro are all due for an upgrade.

  • I doubt the rumoured Apple TV revamp is imminent, but you never know.

  • I suspect Game Room will be shown off a little more thoroughly, and we’ll probably learn more about iAds. Depending on how well the Game Room demos go, expect the folks behind OpenFeint to shit themselves. It'll be interesting to see how hard Apple tries to sell Game Room to developers; Jobs seemed disinterested when he announced it at the iPhone OS 4 event.

  • Jobs will wax poetic about how staggering, magical and revolutionary the iPad sales are, and how he’s humbled by blah, blah, blah.

Steve Jobs will give his keynote address on Monday at 10AM pacific time.


  1. It would be really cool if Chrome extensions and Safari extensions were one and the same, although I don't think it'll ever happen for obvious reasons.

  2. There’s nothing I want more than Safari-style tabs in Xcode.