On top of all this, Apple WiFi is especially broken because:
1) The station will never hop to the best AP when it should, it always waits until signal drops to -75dBm before roaming, so it continues to use the AP at the door where you walked in the building,. not the one near where you are sitting, ruining WiFi for everyone with low-rate shouting. Apple thinks we are going to carefully tweak our networks around this weakness (this is their stated offcial position on the matter) and they are wrong.
2) Responding to a bluetooth beacon from various Apple gadgets, the Apples will try to subvert the local WiFi network and communicate directly on channel 149. They won't even try the local network first to see if it is usable, instead they will try to multiplex the radio hardware between 149 and whatever other channel is actually being used. Meanwhile they fire up a radio on chanel 149, which is a common primary channel for bonded 40/80 channel groups, no matter what else is around trying to use it. Apple thinks we are going to hobble our 40MHz/non-DFS and 80Mhz/DFS channel bonding plan by taking all the APs off 149 (also their official position.) They are wrong.
3) Apple cannot manage to get their autodiscovery protocols to shut up long enough to let wifi and bluetooth hardware settle into a usable state. They think having their devices constantly scanning for gadgets is a terrific idea. They are wrong.
4) Apple keeps removing control over the WiFi from the users, preventing them from properly configuring their chipsets for a particular network, or even locking to a specific AP or turn off a band to help network admins troubleshoot a problem. Every new version of the OS, more options for control of the WiFi disappear from the UI. They think every network operator is going to provide .mobileconfig files to set these options. They are wrong.
5) For years, Apple has stubbornly refused to implement and support OKC. They think that because their iPads now support 11k this is no longer a problem and we will all just enable 11k even though it will break a bunch of other legacy devices (including iPads too old to run 11k) which still account for a large percentage of our users. They are wrong. And also they won't say whether they ever plan to support 11k on the OSX side.