{"id":1627,"date":"2015-07-07T22:38:29","date_gmt":"2015-07-08T03:38:29","guid":{"rendered":"http:\/\/cbateman.com\/blog\/?p=1627"},"modified":"2015-07-11T21:17:29","modified_gmt":"2015-07-12T02:17:29","slug":"apple-and-safari","status":"publish","type":"post","link":"https:\/\/cbateman.com\/blog\/apple-and-safari\/","title":{"rendered":"Apple and Safari"},"content":{"rendered":"<p>Last week, Nolan Lawson wrote <a href=\"http:\/\/nolanlawson.com\/2015\/06\/30\/safari-is-the-new-ie\/\">Safari is the New IE<\/a> (and a <a href=\"http:\/\/nolanlawson.com\/2015\/07\/05\/safari-is-the-new-ie-2-revenge-of-the-linkbait\/\">follow-up<\/a>), 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&#8217;t really work. But the fact remains that the general sentiment resonates with web developers. Something about Safari just feels familiar.<\/p>\r\n\r\n<p>Now, I want to be clear about a couple things. <strong>First:<\/strong> Safari is a great browser. For years it&#8217;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.<\/p>\r\n\r\n<p><strong>Second:<\/strong> the people that make Safari are really terrific. They love the web and they want to make it \u2014 and Safari \u2014 great. They&#8217;ve probably had a discouraging week, and they don&#8217;t deserve it.<\/p>\r\n\r\n<p>The problem doesn&#8217;t lie with the WebKit and Safari engineers; the problem lies with Apple. I think there are two primary issues.<\/p>\r\n\r\n\r\n<h2>Communication<\/h2>\r\n\r\n<p>Apple prohibits WebKit\/Safari devs from talking about their plans.<\/p>\r\n\r\n<p>I&#8217;ve found that WebKit\/Safari devs are very helpful and responsive when it comes to talking about what&#8217;s happening in WebKit. And don&#8217;t forget &#8211; WebKit is <a href=\"https:\/\/github.com\/WebKit\/webkit\">open source<\/a>, so you can see exactly what&#8217;s happening.<\/p>\r\n\r\n<p><strong>However<\/strong>, just because a feature is in WebKit, that doesn&#8217;t mean it&#8217;s available or enabled in Safari. Remember wondering if <i>WebGL<\/i> would ever be enabled on iOS?<\/p>\r\n\r\n<p>For a current example, consider <i>Web Notifications<\/i> and the <i>Fullscreen API<\/i>. 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&#8217;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?<\/p>\r\n\r\n<p>We&#8217;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: &#8220;Sorry, Apple <a href=\"https:\/\/twitter.com\/grorgwork\/status\/580472909673684992\">doesn&#8217;t<\/a> <a href=\"https:\/\/twitter.com\/hober\/status\/466367976204435456\">comment<\/a> on <a href=\"https:\/\/twitter.com\/xeenon\/status\/558668299781681152\">future<\/a> <a href=\"https:\/\/twitter.com\/ryosukeniwa\/status\/594218686166077440\">releases<\/a>.&#8221;\r\n\r\n<p>I don&#8217;t think this policy makes sense for the developer-facing features of a <em>web browser<\/em>, but Apple certainly doesn&#8217;t care what I think. We can only hope that things change in the future. I&#8217;m hopeful:<\/p>\r\n\r\n<blockquote class=\"twitter-tweet\" data-conversation=\"none\" lang=\"en\"><p lang=\"en\" dir=\"ltr\"><a href=\"https:\/\/twitter.com\/batemanchris\">@batemanchris<\/a> <a href=\"https:\/\/twitter.com\/b_sted\">@b_sted<\/a> Yes, we know that is needed. Stay tuned.<\/p>&mdash; Timothy Hatcher (@xeenon) <a href=\"https:\/\/twitter.com\/xeenon\/status\/616253078036086784\">July 1, 2015<\/a><\/blockquote>\r\n<script async src=\"\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script>\r\n\r\n\r\n<h2>Resources<\/h2>\r\n\r\n<p>Apple doesn&#8217;t devote enough resources to let Safari keep up with other browsers, nor to maintain good relations with web developers.<\/p>\r\n\r\n<p>Everyone seems to agree that it&#8217;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&#8217;re right about that, in many cases). The pressure to improve native app development even filters down to WebKit developers.<\/p>\r\n\r\n<blockquote class=\"twitter-tweet\" data-conversation=\"none\" lang=\"en\"><p lang=\"en\" dir=\"ltr\"><a href=\"https:\/\/twitter.com\/jaffathecake\">@jaffathecake<\/a> <a href=\"https:\/\/twitter.com\/sgalineau\">@sgalineau<\/a> The trouble is nobody file radars for that. Developers want Swift-Swift-Swift and Storyboards. Even your colleagues<\/p>&mdash; Benjamin Poulain (@awfulben) <a href=\"https:\/\/twitter.com\/awfulben\/status\/613171575831920640\">June 23, 2015<\/a><\/blockquote>\r\n<script async src=\"\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script>\r\n\r\n<p>Safari has to do the best they can with what they have. Which is less than other browser makers have.<\/p>\r\n\r\n<blockquote class=\"twitter-tweet\" lang=\"en\"><p lang=\"en\" dir=\"ltr\"><a href=\"https:\/\/twitter.com\/KingstonTime\">@KingstonTime<\/a> <a href=\"https:\/\/twitter.com\/sgalineau\">@sgalineau<\/a> <a href=\"https:\/\/twitter.com\/bahmutov\">@bahmutov<\/a> <a href=\"https:\/\/twitter.com\/nolanlawson\">@nolanlawson<\/a> <a href=\"https:\/\/twitter.com\/rcabanier\">@rcabanier<\/a> that&#39;s because they have a lot more engineers and evangelists\/dev-rel than Apple.<\/p>&mdash; R. Niwa (@ryosukeniwa) <a href=\"https:\/\/twitter.com\/ryosukeniwa\/status\/617380169662107652\">July 4, 2015<\/a><\/blockquote>\r\n<script async src=\"\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script>\r\n\r\n<p>When resources are limited, you have to focus. And it&#8217;s only natural that more focus lands on <a href=\"http:\/\/www.imore.com\/safari-isnt-new-ie-its-user-centric-web\">the user<\/a> than on experimenting with new features or on developer outreach. Most of Safari&#8217;s developer relations are done by the actual engineers. They managed to cobble together a <a href=\"https:\/\/www.webkit.org\/status.html\">status page<\/a> for WebKit a few months ago &#8211; despite being really busy with their usual jobs (building Safari!).<\/p>\r\n\r\n<p>On the bright side, they managed to hire a single evangelist just four months ago (I&#8217;m sure he&#8217;s been having a great week too).<\/p>\r\n\r\n\r\n<h2>Conclusion<\/h2>\r\n\r\n<p>Ultimately, the commotion over Nolan&#8217;s articles demonstrates the alienation that web developers feel from Apple. This is what the sentiment of &#8220;being the new IE&#8221; is really about.<\/p>\r\n\r\n<p>Internet Explorer today \u2013 like Safari \u2013 is lagging on the implementation of some of the shiniest web APIs. But we don&#8217;t feel alienated from Microsoft like we used to, because they pulled off a massive turnaround in their <a href=\"http:\/\/blog.reybango.com\/2015\/05\/14\/measuring-success-in-developer-relations\/\">developer relations<\/a>. They talk to us about their plans and aspirations for IE, and that makes a huge difference.<\/p>\r\n\r\n<p>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 \u2013 not just for users, but for developers as well.<\/p>\r\n","protected":false},"excerpt":{"rendered":"<p>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&#8217;t really work. But the fact remains that the general sentiment resonates with web developers. Something about Safari just feels familiar. Now, I&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1627","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/cbateman.com\/blog\/wp-json\/wp\/v2\/posts\/1627"}],"collection":[{"href":"https:\/\/cbateman.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cbateman.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cbateman.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cbateman.com\/blog\/wp-json\/wp\/v2\/comments?post=1627"}],"version-history":[{"count":25,"href":"https:\/\/cbateman.com\/blog\/wp-json\/wp\/v2\/posts\/1627\/revisions"}],"predecessor-version":[{"id":1653,"href":"https:\/\/cbateman.com\/blog\/wp-json\/wp\/v2\/posts\/1627\/revisions\/1653"}],"wp:attachment":[{"href":"https:\/\/cbateman.com\/blog\/wp-json\/wp\/v2\/media?parent=1627"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cbateman.com\/blog\/wp-json\/wp\/v2\/categories?post=1627"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cbateman.com\/blog\/wp-json\/wp\/v2\/tags?post=1627"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}