Tuesday, 12 June 2012

OS X 10.9 Ocelot



Now that Apple has announced the finer details of Mountain Lion at WWDC here's my wish list for the next version, OS X 10.9 Ocelot (or as it may be called Thundercougarfalconcat):

  • Real collaborative sharing - Apple seems to have missed the boat on this one entirely. Sharing in Mountain Lion still follows the ancient paradigm of emailing, messaging and flicking files to people you want to share with. How quaint. Did you hear that wooshing sound after the keynote on Monday? It was the collective sigh of relief from the DropBox team.
  • Unified Messaging - What's the deal with the chimera that is Messages or iMessage or is it iMessages? I forget, just like Craig Federighi did during the demo. C'mon Apple, just give it a single name. This is the type of thing Microsoft (or worse VMware) does, not you. And while you're at it how about a unified approach to messaging. I mean what's the difference between an email, a tweet, a message and a FaceBook post? A few bytes. This is what you guys excel at (or used to).
  • Fix the Sidebar - It was bad enough that "Devices" were buried at the bottom of the SideBar in Lion. Being able to rearrange them in Mountain Lion helps, marginally. Why can't we have some decent icons with color? And who in their right mind wants to view all their files? Get rid of that. And while you're at it get rid of the "Do you want to Eject All or just one?" warning that pops up for external drives with multiple partitions. 99 times out of 100 people want to eject that entire drive. For the rare occasion where someone doesn't an option key press would suffice.
  • Videos on Photo-stream - Seriously, I still have to use a cable to get videos off my iPhone? [Edit] Thanks to the aforementioned DropBox team there is now a solution for this. Perhaps a little buggy it seems. Still wish it was built-in to Photo-stream and iPhoto.
  • Fullscreen Applications on Launch - You know you want to, Apple. Just do it already.
I guess we will just have to wait another year to find out. 

Thursday, 7 June 2012

Apple's High Order Bit



I never really knew much about Steve Jobs.

Growing up in the early 80s I was lucky enough to have access to a computer my father would bring home from work (an Osborne I) and my love affair with computing (and in particular programming) began. My friend, Michael, up the street had an Apple II Europlus, Tommy and Sean across the road had a TRS-80 and our next-door neighbour had a Commodore PET. I wanted, no, needed to know how each of the computers in my friends' homes worked. The differences between them were as important as the similarities. It was inevitable that the creators of these devices would become heroes of mine. Woz was definitely at the top of the list.

But Jobs was something of an enigma.

By the time I started my career in IT in the early 90s, Steve Jobs, like all of the other entrepreneurs of those devices, had faded into the background. In the late 90s I had become disillusioned with the PC industry in general. Microsoft had the industry in a stranglehold. The Web seemed like the only area where innovation was happening while the desktop had stagnated. I spent a few years in a developer/tech support role installing and configuring Linux servers just to do something different from Windows. Then in 2001 a job came up at a company that sold Macs. They needed someone with a Unix background as their current techs were having trouble getting their heads around the newly released OS X. It was the change I was looking for. When I got my hands on one of the Titanium PowerBooks I was blown away. My passion for IT was rekindled. I could see that someone actually cared about both the craftsmanship and functionality of these devices. Jobs was making a remarkable comeback and his mantra was "build great products".

But still, I knew nothing about the guy.

There were stories here and there. When the local Apple rep brought the first Xserve G4 in for us to demo to customers he told us how Jobs had sent the device back to the engineers several times during the design phase because the lights on the front weren't the right shade of blue. Other stories of Jobs' attention to detail, his passion for great user interface and his reality distortion field permeated tech journals. And every year you would get a keynote presentation or two and a small insight into his way of thinking.

After he passed away in October last year I, like many others, rushed out to get a copy of Walter Issacson's biography of Steve. It seemed like the final opportunity to gain some insight into that enigma.

What I read bothered me.

It wasn't anything to do with Walter's writing style or the content (although I wish he had covered the NeXT years in more detail. I learned more about Jobs' time at NeXT from some of the corporate videos that surfaced after Steve's passing.). What bothered me was that the book detailed something I had an inkling of for quite sometime. Jobs' attention to detail had always covered the full breadth of the products and services offered by Apple right down to the colour of those lights on the Xserve. That was, until he fell ill. From that point on, understandably, his focus had became more concentrated on the new products that he wanted to bring to market.

To my mind, the result was that products that were somewhat immaterial to Steve started to suffer from that lack of attention.

This may not seem like a problem to some. Information technology products only have a certain lifespan and at some point need to either evolve or be retired and efforts focused elsewhere. The products that Steve focused on in his final years were the future while the ones he didn't focus on were the past. However, if it was in Apple's DNA "that technology alone is not enough" those other products should have continued along just fine without Steve's attention. They haven't, and I believe it points to a larger trend that with Steve now gone presents a gloomy view of where Apple is heading.

Don't get me wrong. I don't think Apple is doomed. Far from it. I just think that they have hit upon a trend of churning out new novelties that will continue to drive revenue while neglecting existing products. This trend isn't easy to see. It is difficult to determine whether the neglect of an Apple product has occurred as a result of a deliberate decision or due to a lack of attention. It is difficult largely because of Apple's preference for secrecy. Extreme secrecy. There are no technology roadmaps for industry professionals such as myself or for customers. We are left to our own devices to divine where Apple might be headed or at our own peril wait until the next big announcement and hope it doesn't damage our clients' businesses.

To me, Apple's propensity for secrecy smacks of insecurity. It's one thing to keep new products secret and "leak from the top" to drum up hype. The hype around a possible new TV from Apple is the perfect example of why you would want to do this. It frightens competitors and builds lots of interest in the market. It's another thing to keep everything you do secret. That's paranoia. Look it up. The funny thing is that in the days where Apple was struggling it made sense from a marketing point of view to maintain absolute secrecy to create an air of mystery and keep people interested in the brand. Apple is no longer that struggling company and yet Tim Cook says they are now "doubling down on secrecy".

Back to that Osborne computer my father used to bring home when I was a kid. It was created by Adam Osborne, an entrepreneur much like Steve Jobs. Unlike Steve, his mantra was "Adequacy is sufficient, everything else is irrelevant". In Silicon Valley folklore Osborne accidentally killed off his own company because he foolishly boasted that the upcoming version of the Osborne computer would be smaller and more advanced. Sales plummeted as potential customers held out for the new computer and the rest, as they say, is history. Apocryphal history maybe, but this came to be known as "Osborneing". It's as though Apple are still clinging to this old idea that any announcement of an upgrade on the horizon is going to cannibalise sales.

It's not the 80s anymore. We've all seen the future. Thanks to the Internet we are all well versed in what tech is on the horizon. And we are all quite happy to buy what we can afford now and make use of it. Tech is no longer a luxury good you hold out for, it's a commodity that you consume.

At some point I think this level of secrecy is going to start to alienate both customers (and probably employees) of Apple. Especially if a new release of an existing product doesn't match the hype and expectations that had been built up around it. All Apple is doing is setting themselves up for a fail. The only thing they really need to keep secret are any new product categories and the designs of Jony Ive and his team.

Maybe Apple maintains such secrecy because they are afraid of being copied? History has shown that other companies have only been able to make poor copies at best. Why? Because those companies think that creating products is about shoving whatever the latest breakthrough in tech is into a box and shipping it out the door. There is little regard for the end users who suffer with this junk because these companies realise that the average user doesn't know any better. These companies prey on the fact that consumers fall into the trap of thinking that it's their lack of skill as the reason why they struggle to operate a product rather than realising it's because of the product's poorly implemented interfaces.

Educating the public about this was something Apple used to focus on in their advertising campaigns. They should spend their money doing that rather than suing everyone in sight for copying them, which just makes them look like the bully in the mobile playground.

And even if other companies try to copy Apple why should Apple care? What ever happened to running your own race? Apple isn't known for being the first on the block with new tech. They are known for making new tech easy to use and delivering it in a quality package. Nobody has been able to copy that. Why? Because at Apple there was one person at the top who oversaw every little detail and no other company has that.

And now Apple doesn't really have that either.

Much of my career has involved divining what Apple are doing so that I can advise clients on when and where to spend their technology dollars (I also advise clients on HP, Cisco and Microsoft but all of those vendors advise us before their products are released so no divination is necessary, just an eye for which products are good and which are bad). There is a definite trend towards mediocrity with some of Apple's products but like I said it's hard to tell which is a deliberate decision to kill off a product and which is just a lack of care.

Here's an example of a deliberate decision:

Apple appears to have decided to pull out of the server market. They have made no announcement regarding this but I'm sure it is what they are doing. They retired the Xserve in January 2011 after giving 12 weeks advance notice. As Jobs said, when asked about it, "Hardly anyone was buying them". This was preceded in 2008 by the retirement of the Xserve RAID. Dropping these products without suitable replacements has rubbed a few customers the wrong way but points to where Apple sees the future which is in the cloud and not servers on customer's premises. If you're not convinced that this signifies their lack of interest in the server market, take a good look at Lion Server. It is simply an app that runs on the client version of the OS. Apple's server OS has been so dumbed down that it now looks more Anaheim than Cupertino.

Why doesn't Apple just tell their customers this is the plan? I've spent the last year moving clients that were running Apple servers to Dropbox and Office 365 for their server needs. Apple will need to come up with something pretty special for those customers to switch back.

Here's an example of a decision that looks like a lack of care:

The new Save a Version/Duplicate/Lock feature in Lion. Apple have given little explanation why all of a sudden they decided to change the way GUI based applications having been saving documents since 1984. This provides zero benefit and frustrates users. Autosave and versioning could have been implemented without this.

And finally here's a real example of a lack of attention. While the other two are mildly annoying this is what worries me the most about where Apple is headed:

Apple are now rushing versions of OS X out the door faster than ever before. Following the release of OS X 10.3 in 2003 there has been roughly a two year gap between OS X releases. With WWDC next week and the imminent release of Mountain Lion (10.8) that release schedule has now been slashed to one year. With any newly released OS, best practice from an IT delivery standpoint is to wait until a service pack or two have been released. In some cases, such as with Windows Vista, the best decision is to skip it altogether. Unfortunately, with Apple once a new OS is released all new Macs ship with that new OS. There is no downgrade path to run an older version of the OS as there is in the Windows world.

Why is that such a problem? Apple provides developers with preview releases of the OS and Apple's products are an end-to-end solution so there shouldn't be any problems, right? Well, with every new OS X release there have been issues with existing software packages and often from the two biggest software vendors, Microsoft and Adobe. Usually a new OS X release means about 3 to 6 months of getting customers to hold off purchases (for a sales organisation that's painful to say the least!) or trying to resolve issues for customers that have been "forced" to upgrade to the latest OS because of a newly purchased machine. After that period is over you can breathe easy for the remainder of the two-year release cycle because things "just work". With this shortened release period there will be no breathing easy and it's going to turn off many customers big time.

At least there don't appear to be any lame banners at WWDC this year proclaiming "Welcome to Windows 9". Although I wonder if the reason they are releasing Mountain Lion early is simply to get a jump on Windows 8 which is slated for release later this year. That would be a shame.

Most tellingly of all that something is awry, is that none of these releases espouse the Zen-like simplicity and perfection that Jobs craved and had previously accomplished with Apple's products. Consumers are starting to become confused and that's not representative of what Apple was supposed to be about.

So why do I care? Well from my perspective Apple is the only major technology company that has shown that there is another way of doing business. That you can be successful by creating quality products rather than just sacrificing quality for quantity in order to gain short term profits. To me that sort of integrity is important and it is shining example of how businesses should operate.

One of Jobs' insights was that large companies tended to stop making great products because they end up being run by sales and marketing. I hope that's not what is happening. Apple, please prove me wrong. Show me there is still a high order bit.




Sunday, 3 June 2012

How Google saved privacy (or How Google will wipe FaceBook off the face of the Earth)

Disclaimer: Do not construe anything in this blog as financial advice. It, like the stock market, is pure speculation. I do hold any stocks of the companies mentioned in this post.
FB Chart
FB data by YCharts


Ok, so it's a bold title. And given that I am about as far away from Silicon Valley as you can get, you can take my soothsaying with a grain of salt. But hear me out because FaceBook represents a huge threat to Google's dominance of the Net. 

There's been a lot of FaceBook bashing in the media given the recent IPO and the subsequent slide of their stock price. No one is going to gain any friends (or likes) by saying "I told you so" but if I owned FaceBook stock I would cut my losses and run. The iPhone integration announcement at WWDC next week might give it a much needed shot in the arm but there's a storm brewing in Europe and not even Apple's stock will come out unscathed. I'm thinking October sounds about right. And after the collapse there'll be bargains galore.

Enough of the wild speculation and down to something more grounded. Here's what I think Google is about to do and why. Larry, are you listening?

I don't have a FaceBook account. Never have, never will. My wife has a FaceBook account so I'm well versed in how it works. She uses it to post photos of our kids and keep in touch with family and friends (you could argue that I have a FaceBook account by proxy). It's not that social networking doesn't interest me. What put me off from the beginning was the exclusivity thing. For those old enough to remember, there were plenty of social networking sites before FaceBook. What attracted so many people to FaceBook in the early days was that it was an exclusive club only open to a chosen few. At first it was college students with Harvard email addresses. Then it was US college students followed by US high school students and then international schools. Then it was invitation only. When I finally received my invite I said "No thanks".

Zuckerberg had taken a trick straight out of Google's playbook. Google had run this game when they released Gmail in early 2004. The only way to get a Gmail account back then was to get invited by someone who already had one. It's a clever way of playing to our tribal minds which thinks in terms of "us and them" and preying on our need to belong. 

Google had little choice. By 2004 everybody had an email account. There were plenty of well established services such as Yahoo Mail and Hotmail. Why would anybody want another email address even if Google offered more storage than these existing services? Those services would soon match that extra storage anyway. But an exclusive invitation-only Google one, that's another thing altogether. It made perfect sense for FaceBook to follow suit given that many people already had a MySpace page or the like. Note to self: when creating a startup make the service exclusive for the first couple of years. It'll keep costs down and help build an appetite for the service among potential users.

Of course, once enough yearning had been stirred up around these services then anybody was allowed to join. 

The next play FaceBook copied was advertising. When Google launched they were purely a search company. There were plenty of other search companies prior to Google arriving on the scene but they vanished almost overnight. Google simply did search far better than anyone else. The question at the time was "how do you monetize all those eyeballs and make a real business out of a college project?". The answer was targeted "pay per click" advertising. FaceBook faced the same question so once again they followed suit as they too had a serious number of eyeballs (oh, and they hired Google's former Vice President of Global Online Sales and Operations, Sheryl Sandberg which may have had something to do with it).

Both of these companies are now facing a serious problem (or three).

While Google has expanded well beyond search in the last 10 years, the advertising revenue from search continues to account for almost all of their revenue (96% of $36 billion in 2011). Nothing else they do makes any serious money. And they've being doing a lot (Android, Google Apps, Gmail, self-driving cars, augmented reality glasses, etc.). While these are all great things if you are an investor in Google you would be keeping a sharp eye on those advertising revenues because any serious dip means the run is over and it's time to get out. If someone figures out how to do search better (unlikely, although I wish Google would return to the algorithm they used circa 2008 as search results seemed better back then) or if someone figures out how to do advertising better because they have eyeballs too (highly likely) then Google is in trouble.


For FaceBook the only reason people are on FaceBook is because everyone else is. While it's a captive audience, FaceBook is a free service. There's no real business case for such a service. Sure, they've come up with some clever things like EdgeRank, the Like Button and Single Sign-On but they're not money spinning ideas. They just make the "free" social networking experience better.

The only thing of value FaceBook has is the Social Graph. They know more about anyone than anyone else because anyone seems happy to hand over data about themselves to access the free service. However, while the value of the social graph seems enormous ($100 billion or so some thought), monetizing it hasn't come easy. And it's not for lack of trying. The algorithms FaceBook use for targeting ads to users, ensuring that users are only fed relevant advertising, are nothing short of genius. However, it's not working very well because of what those eyeballs are doing when they are on FaceBook.

With a Google search, those eyeballs are looking for something. So a targeted ad based on that search is likely to be very relevant to what those eyeballs are searching for. With FaceBook the eyeballs are there for two reasons; to post their own news or to read news of their friends. They are there to connect with others. Anything else is just a distraction.

So why should Google be worried? Organizations that have shifted some of their advertising budget from Google to FaceBook will eventually figure this out and swing it back to Google, right? Wrong.

FaceBook will try a number of things to make a go of it. Some crazy; a smartphone, charging users for features, and some sensible; advertising along the lines of Google AdSense so that readers of a Web page are hit with relevant advertising, only more relevant than AdSense. Regardless, none of these is likely to pan out with the kinds of fantastic numbers everyone in the market wants to see (AdSense represents only a quarter of Google's advertising revenue, instead AdWords is where Google really makes money, so assuming FaceBook can grab half of that AdSense revenue they only end up with $4.5 billion. Great but not stellar.).

That leaves FaceBook with only one avenue left and that is selling users' data direct to third parties. This is where the real money is and it is inevitable that they will have to head down this path no matter how many people don't like it. 

All of this continues to take advertising revenue away from Google.


So what is Google going to do about protecting that revenue stream? Simply put they will have to destroy FaceBook. This is war after all. How? The answer lies in what FaceBook says it wants to be but never will. Zuckerberg is constantly claiming that FaceBook was created "to make the world more open and connected" while continuing to create a closed proprietary platform. He has to. After all it would be corporate suicide to do otherwise. When it comes to social networking Google, on the other hand, has nothing to lose and everything to gain.

Think about it, if you want to email someone you don't need to worry about which email client they are using as email is based on an open standard. If you want to publish a Web page you don't need to worry about which browser people are using to access that Web page as the content of that page is based on standards (Ok, so not every Web browser adheres 100% to the standards, I'm looking at you Microsoft ಠ_ಠ, and as a developer you do need to worry about it but for the most part it works). 

Why should social networking be any different? If there was an open, standard protocol for social networking your feed could be hosted wherever you want and controlled by you. This idea has been floated before but it hasn't really taken off as there's been little impetus to compete with FaceBook. Google has that impetus.

Google+ was just the first salvo. Google are in the perfect position to define a protocol and open it up to everyone. They are no stranger to open source so they could even provide the platform. Heck, they could even become heroes. In the future everyone would tell the tale of "How Google saved privacy".

Once the old Google returns, FaceBook's days are numbered. 



Saturday, 2 June 2012

8 is not Microsoft's lucky number


So after taking a serious look at the Metro user interface in the betas of Windows 8 and Windows Server 8 I was about to launch into a "WTF Microsoft?" blog. Sure, there is a certain discomfort when major changes are made to any user interface. Discomfort like the way the texture of unfamiliar toilet paper feels. This is way worse. Think sandpaper worse.

As a developer, trends in GUIs are something I've had a keen interest in my entire career. Apple have typically set the benchmark for GUI design but even they fall short sometimes. Example, the ever expanding drop shadows used in the Aqua interface in each iteration of OS X (as if there wasn't the right amount of depth in the previous OS X versions). Russian author Vladimir Nabokov once described drop shadows as "a dishonest attempt to climb into the next dimension". In a GUI they do serve a purpose but these days Apple seems to be trying to get that topmost window to climb out of the screen.

In contrast, Microsoft have gone 180º (half an Xbox?) with Metro. It's like someone was sitting around in a Metro interface design meeting in Redmond and said "What is the opposite of what Apple is doing in their interfaces? That's what we should be doing!". 

Everything is flat. 

You can't tell what's a button, what's a list and what's just some static element on the screen. It's like some bizarre retro 2D world! I know these are beta releases and the full UI is yet to be revealed but come on. 

Seems I've been beaten to the punch in voicing my incredulity. Michael Mace has a great piece including a video review of Windows 8 on his blog which pretty much covers it all. He sees three possible outcomes of a Windows 8 launch for Microsoft:

1. Windows users adopt Windows 8 enthusiastically.
2. Windows users cling to Windows 7 tenaciously. 
3. Windows collapses.

I'm thinking somewhere between 2 and 3 is about right.

Microsoft might be getting the message. Today, they renamed Windows Server 8 Beta to Windows Server 2012 RC. That's a tell that marketing have realised this bird ain't got wings. They don't want the server version to be tarred with the same brush as the desktop version. I can see the signs now: Introducing Vista 2.0. Oh wait, that was Apple.

Saturday, 26 May 2012

Siri-ously Apple, could you fix this please? And BTW here's how.


Some people have a bizarre sense of entitlement, in particular, when it comes to their expectations around the performance of a product they have purchased. Sure, if a company blatantly lied to you about the features of their product and you purchased it based on those lies you would expect some recompense. But when it comes to software you need to take a circumspect view of what's on offer (Why do think there are tedious EULAs that you have to agree to containing all sorts of caveats?). In a recent class action suit the plaintiff is claiming that Apple's advertising campaign for Siri conveys "the misleading and deceptive message that the iPhone 4S's Siri feature ... performs useful functions" and "a represented functionality contrary to the actual operating results and performance of Siri". To me this sounds like sour grapes. If you live in some fantasy world where you thought that speaking to a computer was going to give you perfect results every time then that is your problem. 


I'm something of a pessimist when it comes to my expectations of a product's features (probably as a result of some buyer's remorse I suffered as a child). I find this a win-win approach that has served me well in this consumerist world. If a product doesn't work well, well that's what I expected. If it does work well, I am pleasantly surprised.


When Apple released Voice Control on the iPhone 3GS back in 2009 I found myself on the pleasantly surprised side of the equation. I spend a lot of time in the car and using Voice Control via a bluetooth headset (a Samsung WEP570; another rewarding purchase) to make calls or request a song or podcast to playback is an absolute lifesaver. 


When Apple announced Siri I foolishly abandoned my pessimistic apprehensions and assumed this could only be an improvement on an already great product. I mean, that's what Apple are renowned for, right? (well maybe with the exception of that 3rd generation iPod with the buttons in the wrong place). So of course I rushed out to get my shiny new iPhone 4S. Sadly I had set myself up for a lose-lose scenario.

Here are the key differences between the two voice recognition technologies; while Voice Control processes commands on the phone, Siri sends each command to Apple's servers for processing. As a result Voice Control is fast and Siri, by comparison, is slow (Note the disclaimer at the bottom of Apple's newer TV advertisements for Siri regarding the sequences being shortened). Voice Control will still work if there's a problem with the phone's data connection or Apple's network, Siri on the other hand, will not. The only advantage that Siri has over Voice Control is that given its cloud-based processing capability it has a greater vocabulary and can therefore handle far more complex requests, such as searches and dictation, things that Voice Control could never do with current phone CPU technology. That's a pretty big advantage.


For me, however, it turned out to be a step backwards on the technology stairway to heaven. Asking Siri to call someone, quickly became a chore (or should I say slowly). Siri would either take several seconds to complete the request (an eternity of silence where I didn't know whether it was working or not) or fail on simple requests such as "Call Kelly's mobile" which would be met with "There is no mobile number for Kelly." leading to a frustrating back and forth conversation (remember I'm in the car here so distractions are the last thing I need). 


Voice Control is far more forgiving. If I had someone's mobile number listed in Contacts as their work number, asking Voice Control to call their mobile would quite happily call the work number. Somebody on the Voice Control team at Apple had spent some time thinking about this and made the effort to ensure this worked. 


I persisted with Siri for some time hoping it would get better (after all, it was released as a "beta") but after one too many "I'm really sorry about this, but I can't take any requests right now" I switched back to Voice Control for relief.


What startled me most of all about Siri is that it doesn't strike me as a very Apple-like solution (Ok, so Apple acquired Siri but i would like to think they made it their own and didn't just skin the existing product). Given Siri's reliance on the data networks of mobile network providers, something that is outside of Apple's control, there was always potential for problems but this is exactly the type of problem that Apple is good at solving. In Fortune this week, Adam Lashinsky quotes a former Apple employee as saying Siri's problems are the type of thing that Steve Jobs would have "lost his mind over" and I tend to agree. 


In the Jobs era, Apple often went the extra mile in designing their products. There's always been a focus on simplicity and usability with their products but it's more than that. Apple digs deeper than any other company to ensure that things "just work". The end result being features that you don't see in competitor's products like the Mag Safe connector or momentum-based scrolling or Target Disk Mode or ignoring accidental presses of the Caps Lock key on your keyboard (the list goes on and on). As a developer, when I see these features and comprehend the thought that's gone into them I really appreciate it.


While this approach has been key to Apple's success it seems many people only recognise these efforts subconsciously (that would explain the dichotomy of consumers' slavish purchases of Apple's products while on the flip-side competitors don't get it and seem barely able to ape those products). It's the secret herbs and spices in Apple's recipe. However, when it came to preparing Siri someone forgot to put them in.

Sure, when Siri works it does amazing things. That is very Apple-like. But when it fails (and for me it failed a lot) it fails badly and that is what is so unlike an Apple product. If Siri was supposed to be a replacement for Voice Control it should have been an improvement, even if only an incremental one. Otherwise it shouldn't have made it out the door. And it seems it could have been an improvement with a little more effort.


Blogs and message boards are awash with suggestions that Siri should automatically fallback to Voice Control when it's not available. This wouldn't really work as the phone has no way of knowing if Siri is unavailable until a request is made (constantly polling the service would drain the battery). In the case where Siri isn't available to respond to a request the phone would first need to inform the user (as it already does) and then either hand the initial request straight to Voice Control ("Sorry, I'm not available right now so I have forwarded your request to Voice Control. Have a nice day!") or give the user the option to try again with Voice Control. Given the time this would take and that Voice Control can only handle a subset of the voice requests that Siri can, the end result would be more frustrating than Siri not being able to respond in the first place.


The solution therefore is not a fallback but a race. Voice Control is fast, Siri is slow. A "first to finish" algorithm could be implemented where both Voice Control and Siri would attempt to process each request with either the faster or more successful answer given priority. E.g. Asking something simple like “Call Geoff” is likely to get the same result from either system but if Voice Control processed the query quicker (which it probably would) Siri’s result could simply be discarded when it arrives as the call would already be in progress by that time. When Voice Control returns a failure from a query, the process could then wait for Siri’s response to see whether it had been successful and then determine what response to give to the user (Voice Control would need to be modified so that it accurately fails on Siri specific requests. At present if you ask Voice Control a Siri-like question it seems to do random things like dialing a number rather than simply failing. Restricting Voice Control to accept only certain verb-noun sequences and reject others would be enough to ensure it functions properly in such a system). In situations where Siri is unavailable at least the most basic commands would still function. 


While the user would be completely unaware of what is going on in the background (i.e. the two systems racing one another) it would give them a better impression of voice recognition on the phone than Siri alone. There would be less frustration as simple requests would always be fast and reliable. This is what I would have expected to see from an Apple-like solution and the type of thing I think Jobs would have demanded.


For now I've turned Siri off. I'm happy to stick with the technology that "just works", Voice Control.

P.S. Please don't look at your phone while driving. Road conditions can change in an instant and so can your life and the lives of others. Resist the temptation and focus on the road.

Thursday, 5 April 2012

5GHz WiFi on your Mac got you down? 802.11d is your problem

Early one stormy morning our house was struck by lightning. Along with a TV, the phone, an ADSL modem and the sensors on our garage door I lost my prized Cisco 1142 wireless access point. My neighbour had it worse. Just about everything electrical was destroyed (his DSL filters were little more than charred remains).

While waiting three weeks for the phone lines in the street to be repaired by Telstra I pondered what I should replace the Cisco with. I had received the Cisco WAP as part of a training course at work. As they cost a fortune buying one was out of the question, but I wanted something comparable with the ability to do channel bonding in the 5GHz range (channel bonding is part of the 802.11n spec that lets you to combine two adjacent non-overlapping 20MHz channels into one 40MHz channel effectively doubling your wireless bandwidth. As there are more non-overlapping channels in the 5GHz band than in the 2.4GHz band and less consumer devices using that band it means less interference and more wifi awesomeness). Given the number of Apple devices in the house I figured I would give Apple's AirPort Extreme a try (plus I could setup Time Capsule backups of my MacBook Pro by connecting an external drive to the USB port on the Extreme as an added bonus even though technically this isn't supported by Apple).

After setting up the Extreme I was suitably impressed with the signal strength and the throughput on the 5GHz band. However, every now and again on wake my MacBook Pro running Lion wouldn't reconnect to the SSID I had setup for the 5GHz band. In fact it couldn't even see the SSID when I would run a Wi-Fi scan using a scanner like iStumbler. The SSID was still visible on my iPad and other devices with 5GHz antennas so I knew the problem was with the MacBook Pro (and possibly Lion) and not the Extreme. Turning the Wi-Fi off and on would result in it being able to be able to reconnect but usually only after a few cycles.

Looking at the logs in the Console utility I noticed something odd. Every time I switched the Wi-Fi off and on I would get messages regarding 802.11d, country codes and a list of supported channels:

5/04/12 8:27:12.000 PM kernel: en1: 802.11d country code set to 'GB'.
5/04/12 8:27:12.000 PM kernel: en1: Supported channels 1 2 3 4 5 6 7 8 9 10 11 12 13 36 40 44 48 52 56 60 64 100 104 108 112 116 120 124 128 132 136 140
5/04/12 8:28:45.000 PM kernel: en1: 802.11d country code set to 'X1'.
5/04/12 8:28:45.000 PM kernel: en1: Supported channels 1 2 3 4 5 6 7 8 9 10 11 12 13 36 40 44 48 52 56 60 64 149 153 157 161 165
5/04/12 8:28:46.000 PM kernel: en1: 802.11d country code set to 'US'.
5/04/12 8:28:46.000 PM kernel: en1: Supported channels 1 2 3 4 5 6 7 8 9 10 11 36 40 44 48 52 56 60 64 100 104 108 112 116 120 124 128 132 136 140 149 153 157 161 165


The country codes alternated between GB (Great Britain), AU (Australia), US (United States) and X1 each with a different set of supported channels listed (You can see which 5GHz channels are supported in which countries here). According to Wikipedia 802.11d is "is an amendment to the IEEE 802.11 specification that adds support for additional regulatory domains". In other words it's a way for the wireless adapter in your device to simply listen for a beacon that tells it which regulatory domain it's in and then enable only the channels that are allowed in that domain. This makes it a lot easier/cheaper for hardware manufacturers as they only need to make one chipset rather than one for each regulatory domain (In the past you had to purchase a wireless device that was configured for your domain e.g. Japan, Europe, US, etc.). It also means you can take your hardware overseas and shouldn't have any problems.

There is a big problem with this.

Essentially, when the MacBook Pro is waking up it looks around for an 802.11d beacon. This beacon can come from any wireless access point nearby and not just my access point (i.e. any of my neighbours' access points). Once it has found a beacon it simply sets the supported channels in the hardware to match. The problem is my neighbours have their APs set to the wrong domains instead of AU (They're not tech savvy so I know it's not their fault).

Why didn't I experience this problem when I was using the Cisco access point?

I live close to a small airport (not the Apple kind!). When I first installed the Cisco 1142 I had it set to Dynamic Frequency Selection (DFS) for the 5GHz band. This is a scheme that not only tries to select a channel with little interference but also kills broadcasting for a period of time if it detects a radar signal. After I had installed the Cisco and the wireless had shutdown on me a couple of times I clued in to the fact that it was most likely radar from the airport or a plane overhead causing it. Fortunately that radar is in what's called the U-NII Worldwide radio band between 5470 and 5725 MHz or channels 100 and 140. This is a chunk of spectrum roughly in the middle of the 5GHz band used by wireless devices so I simply set the Cisco to use one of the channels below the U-NII radar band such as 40 and never looked back.

Turns out channel 40 is in all regulatory domains except China so it didn't matter which 802.11d beacon the MacBook Pro picked up as channel 40 was always supported and I was oblivious to any problem. Remembering the issues I had with radar shutting down the Cisco WAP, when I setup the AirPort Extreme I made sure I set it on a fixed 5GHz channel only this time I chose channel 149 which is above the U-NII radar band. Turns out channel 149 isn't useable in Europe, Turkey, Israel and South Africa so when the MacBook Pro was picking up a Great Britain 802.11d beacon it was switching off that channel in the MacBook Pro's hardware and that's why I couldn't reconnect to wireless.

I've now set it to channel 36 on the Airport Extreme and it's all good. That is until everybody else nearby tries to crowd into the same channel space with their access points...



Now off to my neighbours to fix the country codes in their access points!