Categories
Apple Networking

Stable WiFi Connections With Mac OS X

I’ve been digging into Mac OS X’s sometimes unstable WiFi connections for a while now, and have come to the conclusion that the Broadcom drivers in Mac OS X 10.6+ are either too fussy or just buggy in particular when dealing with 802.11n.

Apple’s iOS drivers seem to be different as few people see the same issues across Mac OS X and iOS. On the hardware side, the iPad 3 and iPhone 4S use a Broadcom BCM4330, while the slightly older iPhone 4 uses a BCM4750. MacBook, MacBook Pro, Air use a Broadcom BCM4331 these days. Some older ones (pre-2010 I believe) used Atheros AR5008. As you can see the hardware is pretty similar suggesting software as the discrepancy. Despite using a Darwin based OS it makes sense to have slightly different drivers. These devices have very different needs in terms of data usage patterns and power consumption. iOS devices seem to use less power than their OS X based counterparts. That makes perfect sense. The question is how does this impact connectivity and what can we do about it?

Apple has recommendations for iOS. For the most part these are universally good recommendations, however I’ve found a few things to be different:

  • 802.11 a/b/g/n – If you’ve got a broad set of clients, without question seek out a simultaneous dual-band wireless router. Not dual-band, simultaneous dual-band. This will save you a lot of headache and ensure good performance. Two radio’s are better than one.
  • Channel – Apple says to set it to “auto”, however I’ve found if there are several access points on other channels nearby this can be troublesome for OS X based clients on 802.11n in the 5 GHz spectrum. You’re best off setting it to the most open frequency and leaving it if you experience problems. This alone will likely resolve many (if not all) connectivity issues in my experience. 2.4 GHz seems to do better in auto channel. I’m not entirely sure why this is, however I suspect it has to do with power saving strategies employed by the driver. This seems to be even more problematic with 40 MHz channel width, which sort of makes sense given they are related.
  • Set 5 GHz channel width to 20/40… maybe – Apple says to set the 5 GHz channel width to 20/40 MHz if supported because not all devices support 40 MHz, and this is most compatible. If you’ve got simultaneous dual band, you can consider setting it to 5 GHz 802.11n only with 40 MHz channel width and set the other radio set to 802.11b/g 2.4 GHz / 20 MHz serve as adequate backwards compatibility for non-40 MHz devices. I’ve run things both ways, and IMHO either will serve most needs well. Just depends what devices you are supporting.

This is pretty obvious in retrospect. The 5 GHz spectrum seems to have some funny business with channel selection and this can be solved by just being more strategic about your usage. If you’ve got an Apple device being fussy with network connections, this is the first thing to play with.

Categories
Apple

App Store Paid Upgrades

Wil Shipley from Delicious Monster wrote a great blog post on the need for paid upgrades. To compensate for this missing feature app developers tend to do one of three things:

  • Make it free – I presume this is what Apple is going for. Make it feel like a bargain.
  • New App, Pay again – The most notable example of this was Tweetie (now Twitter for iPhone) upgrading to 2.0 was a new App. Lots of users didn’t like this. I suspect paying the same money for an “upgrade” would have hurt less psychologically.
  • Temporary free/discounted new app – I’ve seen this a few times. The new app is priced low or free for a weekend so users can upgrade. Then the price goes up. Not a terrible strategy, but hardly great for any party.

I’m surprised Apple still hasn’t caved on this. It must be the #1 requested feature by developers. It would also be a huge revenue generator for Apple since they take a cut of every sale. I’m guessing Mac OS X 10.8 will be a new app and not an upgrade to 10.7 in the App Store.

Categories
Apple Software

OTA Upgrades Speed iOS Upgrade Adoption

Some interesting graphs on iOS 5.1 upgrade stats. iOS 5.0.1 and 5.1 are notable because they are the first upgrades to be delivered OTA. Unless this data is a unique segment and not representative of the larger ecosystem (I don’t think that’s the case), this is pretty impressive.

This is why the upgrade process is so important to client side applications, especially when you manage a platform. After installation keeping a user running the latest and greatest is critical. It impacts your entire ecosystem, which in Apple’s case includes the web, iOS developers, tech support, and yes even wireless partners.

Google’s biggest mistake was leaving hardware vendors and wireless providers in charge of managing upgrades. They are carrying a lot of baggage from old Android devices that Apple doesn’t. This is only going to be more amplified in the next 12-24 months as Apple users stay more current and Android continues to fragment.

Categories
Apple Open Source

Linus Torvalds Said No To Steve Jobs

Wired has a great piece on Linus Torvalds. Linus is one of the most under appreciated people in the world. We all interact with his work daily, yet very few even know what his work is, much less him. Even Steve Jobs apparently realized that:

Torvalds has never met Bill Gates, but around 2000, when he was still working at Transmeta, he met Steve Jobs. Jobs invited him to Apple’s Cupertino campus and tried to hire him. “Unix for the biggest user base: that was the pitch,” says Torvalds. The condition: He’d have to drop Linux development. “He wanted me to work at Apple doing non-Linux things,” he said. That was a non-starter for Torvalds. Besides, he hated Mac OS’s Mach kernel.

“I said no,” Torvalds remembers.

Had he said “yes”, the world could be a very different place. Mac OS X surely would be different, same for iOS. Linux would also be different as the kernel would have likely lost some steam as different folks forked and went their separate ways. Linus is a driving force and a constant in the Linux world. Linux runs many of the most popular services in the world from Google to Facebook to the Android OS among others. It’s being free, open and a rock solid OS is part of what helped these companies grow.

It’s amazing to think how far that chain reaction would go.

Categories
Apple

Apple To Announce Cash Plan

Apple is said to announce what they plan to do with their giant pile of cash tomorrow. Granted anything is possible, some ideas:

  • Dividend – Boring, but the only thing that will please investors if they return it all. One time large and then reoccurring. Anything less and Wall Street will be disappointed. Obviously.
  • Buyback Stock – Possible, but doesn’t sound likely.
  • Buy A Telecom – This is actually possible, though not likely. T-Mobile’s acquisition by AT&T failed. Sprint has been rumored to be a target forever now. Apple could benefit from owning the ecosystem and making it into a Kindle like environment. Huge investment, but long-term benefits are obvious. The ugly and complicated in the iPhone business is the telecoms. Apple hates ugly and complicated.
  • Build A Telecom – Kinda like the above, but slightly different approach.
  • Buy Up Or Replace Key Vendors – This isn’t impossible. For example, Samsung’s LCD business in-house would mean adequate supply and design opportunities for Apple’s products (MacPro is the loner in major no-screen devices). Battery vendors working in-house would mean emphasis on what Apple needs: more power density and strategic development that would enhance Apple’s designs. It also means ample capacity for Apple’s production needs. Lastly it means a step ahead of the competition. While competitors shop around for something that meets their needs, Apple can build what they dream up. Apple’s purchase of P.A. Semi a few years ago shows this is a strategy they are willing to use.

I’d bet on dividend, but anything is possible.

Categories
Apple

iPad 3rd Generation

There’s a misnomer out there that the new iPad has no “support name”. Per Apple Store’s shopping cart it’s “3rd Generation”. The product name is:

iPad with [Connectivity] [Capacity]GB - [Black|White] (3rd generation)

For example:

MD366LL/A - iPad with Wi-Fi + 4G LTE for AT&T 16GB - Black (3rd generation)

For marketing purposes however it’s just “iPad”. This makes sense and follows the scheme used for other Apple products. For example with MacBook Pro, MacBook Air, iMac, iPod lines we don’t refer to them as “MacBook Pro 6”. It’s just “MacBook Pro” but for support purposes it’s “MacBook Pro Spring 2010”, or just “MacBook Pro 2010”. Some nomenclature will include processor and CPU. For example “MacBook Pro 15″ i7 Spring 2010”. Apple just made the iPad fit the standard model of seamless product naming. I expect they may do the same with iPhones.

It pretty much met my expectations. Retina means “individual pixels not distinguishable at average distance from eyes”. Obviously the iPad that’s slightly further given the way you hold the device. Apple had to give on girth slightly to up the battery and keep battery life the same. They managed to keep that mostly under control.

A5X CPU sounds about what I’d expect. I doubt the performance is really 4X however. Just having 4 cores doesn’t mean you get 4X the performance. That only works if you have enough things going in parallel to use all 4 cores efficiently. If that were the case SLI or CrossFire would double the performance of any PC game. It’s very complicated to do this from a programming perspective. X-Plane developer Ben Supnik wrote about SLI and CrossFire a few months ago. Most of that applies. It’s not out of the box performance. Unless iOS 5.1 has some magic (unlikely).

Apple Store has been hobbling along all afternoon. Clearly someone is buying it. Tech press will always be disappointed. Even if the iPad cured cancer and produced kittens playing with puppies.

Categories
Apple

We Are Apple

We Are Apple

This is every 80’s business video/presentation cliché ever in one campy video. Enjoy.

Categories
Apple Mozilla Security

On Gatekeeper

Gatekeeper is without question a bold move to prevent malware from impacting Mac OS X, but it will likely turn into a legal and ethical mess. Before I explain why, I’ll give a very high level overview. There are three options:

  • Mac App Store – Only run applications from the Mac App Store.
  • Mac App Store and identified developers – Only run applications from the Mac App Store and developers who sign up with Apple to get a key.
  • Anywhere – This is how every Mac and PC today operates out of the box.

The default in Mountain Lion is App Store and identified developers. As MacWorld’s Jason Snell explains:

Apple says, if a particular developer is discovered to be distributing malware, Apple has the ability to revoke that developer’s license and add it to a blacklist. Mountain Lion checks once a day to see if there’s been an update to the blacklist. If a developer is on the blacklist, Mountain Lion won’t allow apps signed by that developer to run.

It’s worth noting that at least today the authentication is only done on first run from what I’ve read. However it’s not impossible for Apple to later check an application on each run to make sure it’s not on the blacklist. That could even happen before the feature ships this summer.

What’s concerning is that Apple will now essentially be the gatekeeper (get it?) and thus pressured to control what users can or can’t install on their computer. Lets be honest, most developers will never get their users to open system preferences and change this, so getting “identified” is essentially required to develop on Mac OS X if you want more than geeks to use your software.

Apple in the past has been pressured to remove Apps from the iOS App Store. It’s likely (read: guaranteed) to be pressured to blacklist developers who write apps which are controversial. Anything that could be used for piracy from a BitTorrent client to VLC which uses libdvdcss (the library hasn’t been legally challenged ever AFAIK but pressuring Apple is a way around the court system) could be targeted. Apple has a bit of a history banning apps for all sorts of reasons including being negative towards Apple.

How would Apple deal with pressure from patent claims? What about a desktop client for WikiLeaks, like the one that was pulled from the App Store? What about a game distributed by Planned Parenthood or some other organization that tends to draw controversy? There’s also the international issues here (Nazi images and Germany, privacy violations and EU). What about more indirect things like Firefox which can run 3rd party code via plugins and addons. Mozilla refused to kill MaffiaaFire. Could the Feds have went to Apple?

These are all hypothetical situations technically since the feature hasn’t even launched and Apple hasn’t given any clear policies. That in my opinion is the big problem. Apple as far as I know hasn’t given any guidelines to what would put a developer on the blacklist? Is there even an appeals process?

I’m pretty sure we’ll learn more over the coming weeks. The cool guys over at Panic are pretty optimistic about the feature, so I guess we’ll see.

Categories
Mozilla Web Development

On Prefixing And Monobrowser Culture

I’ll say right off the bat that Daniel Glazman is right, and I fully support his message. The failure to alter the course of the web now will lead to headaches. Truthfully it’s already a headache, it’s just going to get worse. The IE Days were the dark ages of web development. I don’t want to go back to that.

In an ideal world, CSS prefixing wouldn’t be necessary. Browser vendors would spec things out, agree on a standard and implement it. That however is too rational, so CSS prefixing is an unfortunate reality. It outright won’t happen by the admission of Microsoft and Apple (pointed out by bz):

tantek (Mozilla): I think if you’re working on open standards, you should propose
your features before you implement them and discuss that here.
smfr (Apple): We can’t do that.
sylvaing (Microsoft): We can’t do that either.

Of course you can question if there’s really a legitimate need to work on standards in private. I’m personally skeptical a CSS property will leak the next iPhone.

It’s also worth noting Apple and Microsoft are both OS vendors and (cynically speaking) have interests that are explicitly contrary to the internet being a universal platform. Fragmenting the web and making it a more difficult platform to develop on is potentially in their interest. Not to different from their stance on h.264 of whom they are both licensors and thus haven’t implemented WebM.

I’m starting to second guess the permanence of prefixes. I personally think once there’s a standard the first release of a browser 12 months after standardization drops support for the prefix. Yes, this will break a few websites that never update. However it’s almost always an easy fix. I’d venture 95%+ of the time it could be done safely via a regex. Truth is you’re talking about 18-24 months from initial implementation in practice anyway. Possibly longer. A website that is so stale it can’t manage to deal with this in 1.5-2 years is in pretty poor shape to begin with. LESS and Sass can also be a big help in automating this. W3C CSS Validator already errors on prefixes. The tools to deal with this are in place today.

I should note dropping is unlikely to happen and thus wishful thinking.

A large part of this issue is how many websites are built these days, especially “mobile sites” which are typically separate sites bolted onto an API or even the backend database of a website. Often built by 3rd party vendors getting things passable and out the door is key. As a result every shortcut in the book is taken, including the absolute minimum in testing and compatibility.

For what it’s worth, this blog has only one prefix in use, and it’s coded as:

-moz-border-radius: 3px;
-khtml-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px;

Which catches everyone. That takes all of 30 seconds at most to do.

Categories
Apple

Apple’s Overseas Manufacturing

Apple’s logistics and manufacturing is extremely complicated, secretive and critical. The NY Times has a great story on it and how it is a great example of jobs leaving the US:

Apple executives say that going overseas, at this point, is their only option. One former executive described how the company relied upon a Chinese factory to revamp iPhone manufacturing just weeks before the device was due on shelves. Apple had redesigned the iPhone’s screen at the last minute, forcing an assembly line overhaul. New screens began arriving at the plant near midnight.

A foreman immediately roused 8,000 workers inside the company’s dormitories, according to the executive. Each employee was given a biscuit and a cup of tea, guided to a workstation and within half an hour started a 12-hour shift fitting glass screens into beveled frames. Within 96 hours, the plant was producing over 10,000 iPhones a day.

“The speed and flexibility is breathtaking,” the executive said. “There’s no American plant that can match that.”

There’s lots more, go read it.