Signal Strength Mathematics

2nd of July, 2010

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

1st of July, 2010

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

1st of July, 2010

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

21st of June, 2010

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 for iOS

10th of June, 2010

Apple released an iTunes Connect client for iOS today, which is great news; anything that allows me to avoid the iTunes Connect web app 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 shouldn't complain too much, but I expected a little more polish from Apple.

iPhone 4

8th of June, 2010

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, — 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 incumbent on developers to 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

5th of June, 2010

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

  • There's very little we don't already know about the 4th generation iPhone, but at least one unspoilt feature would be nice. Unfortunately, this is highly unlikely given how much information has leaked out.

  • 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 would compare more favourably.

  • Apple will inevitably release a revised 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 new Apple TV will show up, but you never know.

  • Don't be surprised if Game Room is shown off a little more thoroughly, and we'll probably learn more about iAds. It'll be interesting to see how hard Apple tries to sell Game Room to developers; Jobs kind of phoned in the Game Center part of 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.

Apple's HTML5 Showcase

4th of June, 2010

Apple just launched a gallery of interactive, iPad friendly HTML5 tech demos, presumably to (a) reassure uneasy developers that they really are on board and don't plan to purge iPhone OS of Mobile Safari in order to ensure the App Store's supremacy and (b) rub salt in Adobe's gaping wounds.

The examples are nice, although slick HTML5 demos are a dime a dozen these days. Bizarrely, they're all WebKit only – even demos that other engines like Gecko are perfectly capable of rendering – so it's really only showing off what WebKit can do, which sort of defeats the purpose. Worse still, the site will block all non-Safari browsers so even those using some flavour of WebKit, like Chrome (which has a greater market share than Safari) will be turned away. Stupid.

Early CSS3 Adoption

20th of May, 2010

A few years ago, one of the most important goals of responsible web design was to get your site looking identical, or as close to identical as technically possible, in as many browsers as possible. Typically, this involved writing valid markup and valid CSS, and then tacking on a panoply of hacks to make it work in Internet Explorer. This is still standard practice for a lot of designers, especially those who choose to or must support IE 6. However, a significant number seem to be much less doctrinaire about making sites look absolutely the same for absolutely every user, even as it's gotten substantially easier to do so. More important, it seems, is making websites look as good as possible in more capable browsers, then making sure they degrade gracefully and subtly when rendered using older engines.

Here's an example: the latest versions of Chrome, Firefox and Safari all support the CSS3 border-radius property1. If you visit with any of these browsers, some of the UI elements, including the main content area, will have rounded corners. It's nothing superfluous, and nobody would really miss it if it weren't there: which it isn't for Internet Explorer users. Instead of building a messy hierarchy of nested divs and images to get rounded corners like designers used to do, the twitter guys are forgoing the effect altogether in older browsers, and enabling it in modern browsers by simply adding a couple of CSS declarations. Almost everybody wins; the twitter designers get cleaner markup and save a small amount of bandwidth by not having to serve excess images, and a lot of users get pleasantly round corners and slightly faster page loading. The only loser is the guy with an old or crappy browser, and he has an easy upgrade path to the nicer site: download a better browser. Plus, all he's losing out on is a visual flourish that has no practical impact on how he uses the site, so if he chooses to keep using old and crappy software he can do so without being adversely affected.

I've noticed this becoming more and more common, particularly as Chrome and Firefox eat into IE's market share and more developers target mobile browsers2. If you take a quick poll of the websites you visit most often, I'd wager that at least a few look better in Chrome, Safari and Firefox3.

I'm not suggesting designers are going to allow their work to look drastically different between rendering engines, but I won't be surprised if everything starts to look a little bit staler in Internet Explorer as CSS3 usage creeps more and more into the mainstream.

Overall, I think this is a hugely positive trend. If more developers start using and field-testing CSS3, it should prompt users to demand more from their browser, and encourage vendors to support web standards promptly and thoroughly4.

Anyway, the moral of the story is this: don't be afraid to start using cutting edge web technologies before they gain widespread adoption. That said, some functionality is more suitable for use now than others; border-radius, text-shadow, @font-face and gradients5 are all good properties to play around with. If you need a quick guide to what's supported in each browser, check out

  1. Some versions require the -moz and -webkit vendor-specific prefixes.

  2. Mobile browsers are almost all based on WebKit, which is on the bleeding edge of web standards support. I don't think the impact Mobile Safari has had on HTML5 and CSS3 uptake should be understated.

  3. This is doubly true for sites whose audience is largely made up of browsers that aren't IE. Also, I suspect that some big media sites like The New York Times and Newsweek are more reluctant to use emerging technologies because they have a greater stake is making sure that their sites remain consistent across all platforms. In other words, when you see The New York Times using text-shadow, you'll know CSS3 has reached critical mass.

  4. To be fair, the major straggler, Microsoft, is making a big push to support HTML5 and CSS3 in IE9. Look out for it in 2011.

  5. The syntax for gradients is fairly different in WebKit and Gecko, and both engines require a vendor-specific prefix. Gradients are supported in IE by way of filters; meaning cross-browser CSS gradients are entirely possible right now, if not quite as cleanly as CSS3 will eventually allow.


6th of May, 2010

My latest project, CharMap, has just been approved by Apple and is now available worldwide.

CharMap is a Unicode character map and font viewer for iPhone OS. For more information, check out the project page or jump in and buy a copy from the App Store for $1.99.