Linkbait 6

This week’s. Fast and furious.

Which mobile OSs do corporate IT departments support? Not surprisingly, BlackBerry tops the list with 70%, followed by Windows Mobile with 41%. The iPhone is third, though, with nearly 30%, and that’s more than I expected. Android is only at 13%, but grew from a mere 2% in 2009. (Responders could name more than one OS.)

BlackBerry PlayBook to run Android apps? Sounds weird, but technically this article says it makes sense. And business-wise it would be bloody brilliant, obviously.

Very useful: Weinre, a remote JavaScript debugger for mobile devices. Add a script to your page for communicating with a local server via XHR, and the application wil display console.log() messages and parse the DOM for you. Will, I hope, be extended.

Canalys reports that the global PC market grew by 19%, and that Apple is now the third-largest PC maker. Note: Canalys counts tablets as PCs, and argues passionately in favour of this decision.
There’s something to say for it, but there are also arguments against (no hardware keyboard, smaller screen). I haven’t made up my mind yet; I suppose it also depends on the sheer numbers. If tablets truly cannibalise PCs they’re the same; if that doesn’t happen they’re different.

That growth [of the number of mobile users], combined with what Taylor called the “inherent engineering challenge” of mobile today, represents a major headache for him and the tech team he leads at Facebook.

Namely, whenever they update a feature on the site, they have to do seven versions, so it can run on the iPhone, Android and other platforms now in use.

“HTML5 is the future platform,” he said. “That’s where we’re putting a huge amount of our resources.”

Mobile phones without towers? An Australian professor has written software that allows mobile phones to relay signals from towers, which can come in very usefully if the nearest towers are out of order. No special hardware needed.

When following the news from Egypt I happened on Al-Jazeera’s mobile offerings: mobile web first, then three apps for iPhone, Samsung bada, and Symbian. I assume the choice of operating systems reflects the reality in the Middle East. And Samsung should be glad that bada has been admitted to this august company.

Alex Russell calls for using feature detection only when you need it because it is sometimes costly in terms of performance, especially when you have to create feature test elements on mobile.

Feature tests should only ever be run when you don’t know what UA you’re running in. Feature testing libraries should contain pre-built caches — the kind that come with the library, not the kind that get built on the client — but they should only be consulted for UA versions that you know you know. If we assume that behavior for UA/version combination never changes, we’ve got ourselves a get-out-of-jail free card.

Essentially this means the return of the browser detect, and there are, in theory, situations in which this can misfire, such as when a browser mimics another browser in order to bypass browser detects.
But the cost of feature detection on mobile is rather high, especially with a library like Modernizr, and we’ll have to think about abolishing the ancient ban on browser detection.
I’d like to think about this a bit more — ever since 1998 I advocated feature detection over browser detection. But Alex certainly has a point. If only we could use anything but browser detection.
As a practical matter I think the browser detection should be done server-side. It can also have some overhead, especially if you have to send along a large library of browser detection strings or instructions.

Must JavaScript die? This presenter certainly feels it should, and gives a long list of JavaScript attack vectors. Actually, I’ve never seen such a list of all the stuff that can go wrong, and that makes this presentation valuable to me.
But JavaScript is far too entrenched to be removed from the web. So assuming we can’t get rid of JavaScript, what do we do?

Opera has released
an introduction to WAC 1.0 device APIs for accessing the camera and other interesting features of a mobile phone. Works only in the Widget Manager on Android.
Take a look, but don’t get too hung up on the exact syntax, which is JIL-based and not very pretty. An updated WAC specification will follow in the not-too-distant future, and its APIs are somewhat better designed.

The Phantom Limb script/bookmarklet is useful for testing your touch-based scripts on desktop. The script will fire touch events when you hold down the mouse button.
Additionally, the script replaces your mouse cursor by a giant disembodied hand. Although this part of the script could do with some deluridification (is that a word? now it is), it’s fundamentally the correct approach.

John Gruber wrote a good overview of the latest app store flap: apps must hencforth sell books through the app store (which gives 30% to Apple) instead of outside it, as Amazon and Barnes & Noble have been doing for a while now. Yet another example of Apple changing the rules in mid-game; and it is clearly related to the newspaper crackdown in Holland and Belgium I reported about.
But the solution for Sony, for Amazon, and for all the others is extremely simple: ditch the app and build a good mobile web site.

I thought the US South was supposed to be fucking Christian. Not according to the US map of profanity.