Chris Bateman

Apple and Safari

Last week, Nolan Lawson wrote Safari is the New IE (and a follow-up), and it received quite a lot of attention. Nolan admitted that the title is linkbaity, and several folks have pointed out how the comparison doesn’t really work. But the fact remains that the general sentiment resonates with web developers. Something about Safari just feels familiar.

Now, I want to be clear about a couple things. First: Safari is a great browser. For years it’s been the leader in performance and battery life on mobile (and desktop too). A few years ago I made a silly HTML canvas app, and while iOS Safari could run it at 60fps, a contemporary Android device struggled to hit double digits.

Second: the people that make Safari are really terrific. They love the web and they want to make it — and Safari — great. They’ve probably had a discouraging week, and they don’t deserve it.

The problem doesn’t lie with the WebKit and Safari engineers; the problem lies with Apple. I think there are two primary issues.


Apple prohibits WebKit/Safari devs from talking about their plans.

I’ve found that WebKit/Safari devs are very helpful and responsive when it comes to talking about what’s happening in WebKit. And don’t forget – WebKit is open source, so you can see exactly what’s happening.

However, just because a feature is in WebKit, that doesn’t mean it’s available or enabled in Safari. Remember wondering if WebGL would ever be enabled on iOS?

For a current example, consider Web Notifications and the Fullscreen API. Both of these specifications have been available in desktop Safari for at least three years now. Will they ever come to iOS Safari? Are they being worked on, but just aren’t ready yet? Are they even on the table? Should I plan on these things being dead forever to the cross-browser websites I build? Did a higher-up at Apple nix these native-encroaching featues?

We’ll never know, because when you ask about future plans for something other than pure WebKit (and sometimes even then), the answer is always the same: “Sorry, Apple doesn’t comment on future releases.”

I don’t think this policy makes sense for the developer-facing features of a web browser, but Apple certainly doesn’t care what I think. We can only hope that things change in the future. I’m hopeful:


Apple doesn’t devote enough resources to let Safari keep up with other browsers, nor to maintain good relations with web developers.

Everyone seems to agree that it’s only natural for Apple to devote more resources to the native app ecosystem. Apple makes money off of native apps, and they also believe native apps allow for better user experiences (and they’re right about that, in many cases). The pressure to improve native app development even filters down to WebKit developers.

Safari has to do the best they can with what they have. Which is less than other browser makers have.

When resources are limited, you have to focus. And it’s only natural that more focus lands on the user than on experimenting with new features or on developer outreach. Most of Safari’s developer relations are done by the actual engineers. They managed to cobble together a status page for WebKit a few months ago – despite being really busy with their usual jobs (building Safari!).

On the bright side, they managed to hire a single evangelist just four months ago (I’m sure he’s been having a great week too).


Ultimately, the commotion over Nolan’s articles demonstrates the alienation that web developers feel from Apple. This is what the sentiment of “being the new IE” is really about.

Internet Explorer today – like Safari – is lagging on the implementation of some of the shiniest web APIs. But we don’t feel alienated from Microsoft like we used to, because they pulled off a massive turnaround in their developer relations. They talk to us about their plans and aspirations for IE, and that makes a huge difference.

I hope that Apple will give the WebKit/Safari teams the resources and the freedom they need. They deserve it. And Safari deserves to be great – not just for users, but for developers as well.

Tell me what you think: @batemanchris