Safari is the new IE
nolanlawson.com
nolanlawson.com
But I'm sure this title gets you more clicks.
I'm in sympathy with the spirit of this post, but I'm not sure that I agree with this specific example. I think that there's a big difference between an 'everyday' web page requiring a specific browser, and the creator of a browser showing off what they see as its exceptional capabilities.
However much designers (and users) like adherence to standards, I think that it's clear that a lot of the innovations we take for granted have come from browsers leading the way; and there's not much point in having those innovations in the browser if the user doesn't know about them.
(I should be clear that I'm not advocating a functionality free-for-all, though; probably much more harm than good has come from this behaviour.)
That said, there are some cases where things are Chrome-only simply because other vendors are far behind. (eg. speech recognition & synthesis)
That said, I was just playing with Edge on Win10. Its like a pre-bundled Chrome. Fast, compliant, etc. It hilariously even breaks MS software, for example, I can't open the address book in Outlook Web Access because some deprecated html control that Chrome no longer supports. So if Chrome no longer supports, Edge doesn't either!
I guess we'll see if extensions ever take off for it. If they do I could see it hurting Chrome's marketshare. Personally, the Chrome/Google juggernaut needs to be knocked down a peg or two. I hope Edge gets popular just to keep Google's sometimes anti-consumer ambitions in check. For example, using FF in Android means Play Store links don't work right and a million other things. Google isn't incentivized to make alternative browsers work well in Android. They want use to use Chrome and all of its spying/tracking/marketing stuff cooked in.
But it's still better than Safari's IndexedDB support, though, even though they've basically not touched it since IE10!
The "Chrome Experiments" was a way to show off the WebGL capability in chrome that no other browsers had at the time. (Now those demos will mostly work in all browsers)
Plus you are forgetting that those are experiments. They were never really meant to be actual "apps". Making an experiment/demo for one browser is fine IMO. Especially when only 1 or 2 browsers have implemented the standard currently.
It's like webRTC. I made a "demo" webRTC app about a year ago, and it only worked in chrome OR firefox (but they couldn't talk to each other). That's not chrome or firefox breaking the web, that's the other browsers not being at the cutting edge, but i don't blame them. WebRTC was (and still is) VERY new, it wasn't even finalized and i was using the app as a bit of a tech demo to see what may be possible in the near future.
The chrome experiments were the same way. WebGL wasn't fully finalized, it was one of the first implementations of it, and people wanted to try it out, so Chrome Experiments was born.
I'm thinking, its almost time to consider WebRTC 'failure to achieve traction'?
The ability to do peer-to-peer communication from the browser is an amazing tool. It allows the creation of client-side-only web apps which can easily send massive amounts of data to others. With WebRTC (or any other service like it) you can add video chat to a web app with very little work, and no real server side infrastructure that is more secure than the alternatives.
If it needs to be re-done in the name of getting it implemented widely that's fine with me and i welcome it, but if it's just NIH syndrome at microsoft holding it back, that's not okay.
I've been dealing with the code base for 5 years, and never liked it. Had to rewrite the APIs every time we got a new source version, to fit our model which isn't the 'conference call' model. I'd be glad to see something more app-agnostic that just dealt with negotiating P2P streams, without so many assumptions about what/why/when the streams are.
Maybe some of the good ideas will end up in an improved WebRTC standard, but ORTC itself is not "the new version".
> still not widely adopted
Certainly everyone involved with WebRTC wishes that it had the support of IE and Safari, but Chrome + Firefox + Opera is nothing to sneeze at, particularly if you're targeting a savvy audience.
> Original two are not compatible
Maybe I'm confused, are you saying that Firefox and Chrome aren't compatible via WebRTC? I've used them together and had success, but just for basic video calling.
> not adopted in a single further browser in that time
This is fair, but if Microsoft's latest moves come to fruition that will be a big change. There are hints that Edge will likely support WebRTC[0], though I don't think there has been any official word. Maybe that's just for ORTC?
[0]:http://blogs.windows.com/msedgedev/2015/05/13/announcing-med...
Other products can do this. WebRTC suffers from being based on RTP/RTCP and SIP-style signaling. There's not enough juice there to get the job done.
AFAIK this is being fixed. Firefox should support the standard and Chrome is fixing their implementation to conform as well.
WebGL is a good comparison here - it was pretty dead before Apple implemented it. When they did (in iOS8) you started seeing a ton more WebGL things popping up.
I think one unfortunate aspect of the article is that it focuses on some of the less common deficiencies of Safari. I would have called out mobile Safari being unable to download files, or Apple's insistence against video codecs that all other vendors are aligned in agreement on when it comes to video.
No. If what worked before continues to work, it means it's not broken.
Also: What "very basic functionality" doesn't the latest versions of Safari support?
IE6 continues to work fine for what it supported originally as well.
To my knowledge, file downloads worked in all browsers prior to mobile Safari being initially released. So Apple did release a browser that broke some quite basic web functionality.
Regarding Apple's insistence on not supporting Ogg (Vorbis|Theora) (I assume that's what you're alluding to), those codecs were briefly recommended by the HTML5 standard, but were later dropped.[1] Again, I think its a stretch to say that Apple broke anything, simply because they resisted a proposed standard. I know a lot of developers were disappointed, but that's how committees work: You don't always get it your way.
[1] https://en.wikipedia.org/wiki/Use_of_Ogg_formats_in_HTML5
I think the analogy is very clear. If you want to code like it's 2000, supporting IE6 is easy, because IE6 is a very good 2000 browser. If you want to code like it's 2010, supporting Safari is easy, because Safari is a very good 2010 browser. But in both cases, if you want to use any new features that have been standardized and are supported by other browsers, you're fucked.
The main difference I see is that IE6 didn't get any updates at all. Safari gets updates, but many new features are missing or broken.
EDIT: Another difference is that MS never blocked you from installing a better browser, but Apple does that on iOS. That policy is becoming increasingly ridiculous...
box-sizing: border-box;
Now there were many other problems but I'm not sure people appreciate how such features eventually got standardized. Similar issues happened around DOM serialization with APIs like innerHTML, which Netscape refused to adopt because of "series of pointing at standards". Developers ended up adopting the idea and it was later standardized. XHR is another case. There are many more.In the case of Safari, I can think of canvas, touch (love or hate it vs pointer events it was before any of the alternatives), DPI independence, &c.
It's some of these quirks that seems to show how newer web standards might be rushed through by increasingly aggressive vendor involvement. Apple hasn't changed all that much from when it first released Safari. It's only our expectations for the pace of new additions that has.
Web dev was "fun" in the early 2000s.
Also console.log and javascript debuggers didn't exist. Working with complex JS got really interesting really quickly.
A major source of hatred for IE was the fact the IE team did work prior to the browser standards, a practice which is now standard operating procedure. Where would be without ajax?
Why has that not resulted in anti competitive behavior lawsuits? MS got in to a fair bit of trouble for similar things. They didn't stop you installing an alternative.
But then again that depends on how you define browsers...
This is not possible on iOS without a jailbreak, because Apple simply doesn't allow alternative browser engines to be used.
So, basically, a 3rd party JavaScript engine is not allowed. I guess you could write your own browser engine that doesn't support JavaScript.
I guess Flash was not allowed for performance and security reasons (lots of vulnerabilities, right?)
Thoughts on Flash https://www.apple.com/hotnews/thoughts-on-flash/
Apple has a monopoly of taste – a self-defining market that won't switch OSes even if that constrains their other choices. But they could, so the "market of Apple users" isn't a discrete market under the law.
[Edited: gosh I type slow.]
Maybe, maybe not. That is what the person I was responding to claimed though.
I don't believe it is reasonably easy to choose/install another operating system on an i device. I could be wrong.
>One person having an iOS device and another having an Android device does not cause any issues between the two, they are fully able to communicate by the nature of cell phones.
By the nature of cell phones? What is the nature of cell phones?
Ethernet existed in the 90's and I personally setup networks using it that allowed Windows and Linux systems to communicate with each other.
But the very idea that someone has to know this has to be done and disable iMessage is insane to me, and I suspect part of the reason it is the way it is is because Apple doesn't really mind what (to the average Joe) is a major annoyance when switching phones.
To be fair, matters were even worse before Apple released that tool. But this has been an ongoing issue for something like four years.
I wonder if Apple could really fix it any way short of asking the phone companies to know when someone switched.
So what Microsoft did that was illegal was use their monopoly power to destroy an existing player. That's how they were "anti-competitive".
While Apple not allowing any competing rendering engines to be written for iOS is anti-competitive in the dictionary sense that they are preventing competition to be created, it isn't the type of behavior targeted by anti-trust law.
(IANAL, but my understanding is that if Apple had removed Spotify, Pandora and other music apps from the App Store while releasing their streaming music service, that would be an anti-trust violation.)
*Netscape was $49 in 1996 http://www.fastcompany.com/27743/nothing-netscape
Even by the most generous definition of "computer", Apple holds 20% market share at most.
Samsung won't get sued for anti-competitive practices because you can't switch the browser on their so-called smart TV for the same reason.
This stuff is rampant.
IANAL but folks over reddit explained it as this:
Microsoft was a software only vendor in the past but Apple is the hardware and software vendor. US and EU laws dictate that the hardware manufacturer to have full control over the ecosystem becuase of the industry behaviour in the past and who the end-consumer pays his money to.
http://www.reddit.com/r/explainlikeimfive/comments/39q25f/el...
I am not sure how correct it is but at least it makes sense.
Web browser is arguably the single most important app on any phone. Or a computer. How many browsers you have currently installed on yours?
I should be able to install any browser on iPhone, just like I can on my Macbook.
While I was still using iPhone, that forced me to always reach for Android phone when I wanted to read any page with wrong size font for me. Which is pretty often.
IMHO, there's just one good mobile browser, and it's Opera. Not mini version, but the proper mobile one.
The big feature? It can always reflow any div (paragraph) text to 100% screen width. Always the font size I want and never any horizontal scrolling.
I hope Apple will finally allow other browsers that are more than just embedded mobile Safaris. Including full Javascript JIT support, because that's what modern web requires. Currently on iOS only app that can allocate executable pages is Safari.
https://developer.apple.com/app-store/review/guidelines/
"2.17 Apps that browse the web must use the iOS WebKit framework and WebKit Javascript"
Again, it doesn't allow them to be made as the 'default' browser - which in itself is a big reason to criticize them.
[0] : Chromium Bug: https://code.google.com/p/chromium/issues/detail?id=423444
Then I tested it in Safari. Two weeks later I gave up and basically had to `if (Safari)`. I don't know if the code still has that, but it probably does. This wasn't anything 'lacking'. Sure, it was contenteditable-related but the fact remains that I found a consistent subset in every browser except Safari.
So, yes, Safari broke my web - and it wasn't something that was missing, it was something that behaved very differently compared to other browsers. I can't remember what specifically broke it, but even ~2 years ago I had a significantly better development experience with IE than Safari with no new HTML5 features in sight.
[1]: http://help.k2.com/onlinehelp/k2smartforms/userguide/1.0.6/c...
Not only is IE8 a snowflake but html4 is particularly hard to get a good layout working. Lots of nontrivial layouts in pure html4 (and css 1/2) require tons of browser specific hacks.
But honestly, I can't know because he's not naming anything specific anyway, just an anecdote about how IE8 was great at being standards-compliant and safari wasn't. Which is such an extraordinary claim (and is so contrary to established precedent) that without any extraordinary evidence, I have a lot of trouble accepting it.
(And it's amazing how many people think "I'm not doing any browser hacks" while they're using something like jQuery, which is a library 100% devoted to doing browser hacks for you while abstracting you from that fact.)
I was working on top of a huge CSS framework - the majority of styling work I did was tiny tweaks to styles where the appropriate hacks had already been solved.
Also I didn't mention layout. The specific pain point was contenteditable in combination with JS - by the time I got to the code everything surrounding my little problem-space had been solved by the rest of the team. Again, specifically, Safari demonstrated wildly different behavior within that specific space, where other browsers only behaved marginally different (a relative term, contenteditable is a complete mess, sadly, still in HTML5) in a way that I could find a viable subset of functionality that worked consistently.
Well, that's the whole thing then, isn't it? The huge CSS framework probably had tons of hacks (as you say) to make things work in IE8... it's a bit disingenuous to say you wrote everything to be clean and without browser hacks, if the hacks all exist but are buried under a "huge CSS framework".
Your whole experience could probably be restated as "I was working with a CSS framework that did a bunch of cross-browser hacks for me, and the tweaks I made to it didn't work in safari", which is a pretty uninteresting statement, because it's equally likely that any issues you had in safari are the fault of the CSS, and not the browser. (In fact, much much more likely.)
Did you miss the whole of my second paragraph?
> Also I didn't mention layout
Something working in opera doesn't mean it is standards compliant.
(emphasis mine)
I use Chrome as my primary development browser and Safari and Firefox as my second and third choice. When I do get around to testing in IE 9+, it's almost an afterthought. Is it surprising then that IE is the browser that gives me the most trouble?
All browsers have quirks. It's inevitable when you have many competing implementations from companies that have different priorities. The browser you use the most is naturally the one whose quirks you will get used to.
The author is right, the details aren't the same but the same attitude exists. The author is simply speaking up before the differences become extreme.
Microsoft didn't "break the web" they created their own web and then let it twist in the wind because they were pissed about the government beat down.
Apple didn't get their hand slapped, but they did build something so lucrative that evolving Safari became a smaller priority, which some would argue aligns well with their push to the App/closed ecosystem model.
Moving to WebKit? Only if you count CyberDog, I guess. Safari was always WebKit based.
Also, your phrasing could be read as if Chrome came before Safari, but Safari is from 2003 (https://en.wikipedia.org/wiki/Safari_version_history), Chrome from 2008 (https://en.wikipedia.org/wiki/Google_Chrome_release_history).
> Microsoft didn't "break the web" they created their own web
> and then let it twist in the wind because they were pissed
> about the government beat down.
I was around as well. My recollection is that they let it twist in the wind because SaaS competed with their two interdependent quasi-monopolies: Windows and Office.Which is another instance of the Innovator's Dilemma: How can a successful company embrace technology that disrupts themselves?
It wasn't called SaaS back then, but in any case -- they let it "twist in the wind" because their market had become the enterprise, and that's a market that wants stability, predictability and no updates if they can be avoided. By then they had killed all competition, so their incentives were to keep businesses locked-in through backward compatibility and security fixes. Add to that the big move to .Net and an effort to replace Flash...
IMHO it wasn't about the antitrust or platform control (they could have broken all the SaaS apps they wanted with each update, they had 95%+ of the market and were n.1 target for every website out there). They just had other priorities: the browser war had been won and attention was now on the enterprise market. Around that time, IIRC, Gates also retired, leaving Ballmer in charge; Ballmer was not the sort of technologist to lose much sleep over "the future of the web"...
Everything is cyclical: Lean - Average - Bloated - Lean - Average - Bloated
- Chrome sucks up RAM like Photoshop.
- Firefox Dev Edition is broken or slow every other build
- IE is "ok"but their dev tools are incredibly sluggish and useless.
The browser game has changed and become commoditized. Before they went towards being monoliths with everything from email, to apps and games, various services etc. Those parts are being usurped by stand-alone services and apps and need to longer be integrated into the browser. I think that's good! Browsers should focus at being browsers. Better to be a 'la carte than bundle everything under the sun.
Also, I think the vision of HTML as a "universal" app/game platform is slowly dying. We're coming to terms with HTML is really good for somewhat basic presentation and interfaces, but not much more than that.
Although doing advanced stuff is possible it seems we're coming to the realization that it's neither practical nor performant
Then just use release? Dev Edition is the alpha version with some different defaults, based on the assumption that "developers" are OK with an alpha quality build that has some new features faster. If that bothers you, use the release. It also contains the dev tools!
I will readily agree that the evolutionary path of OSX seems to have gone off the rails. But hey, why do I use Safari instead of Chrome?
IE was a vast pile of shit for about a decade. It was pile of shit so high that Microsoft took out ads saying in so many words that its latest version "doesnt suck, honest". I tore my hair out for years over IE bugs. Fucking kids these days. Mobile Safari might not be as magical as you would desire but it is not even in the same league as the virtual genocide/superfund/WMD that IE was.
GET OFF MY LAWN
The worst thing MS did with IE was implementing proprietary, and very aggressively protected, solutions to common problems. Developers, excited about the new features, rushed to support what they felt was the next generation of web technologies, only to get caught in Microsoft's trap. Once they held the marketshare majority, they stopped innovating.
Safari is nowhere close to a majority player in the market (not even on mobile). Thus, it could never be considered equivalent to the evils of IE.
And yeah, the title is pretty clickbaity; guilty as charged! But my blog has no ads, so it's not like I'm making money off of it. I'm just trying to draw attention to what I think is an important issue.
As others have pointed out, it's all a matter of perspective. If you're trying to build for Web 2.0, then Safari is a fine browser. But if you're trying to build for Web 3.0 (or the "next web" or "appy web" or whatever you want to call it), then prepare to be disappointed.
Safari, by comparison, is just behind the curve on some developer-centric features. But Safari also has some things going in its favor: in my experience, it's the fastest browser on OS X by a pretty wide margin. Chrome is so bloated and full of garbage at this point that when I have it open, I usually have at least one tab sitting at 100% CPU (and this is with FlashBlock enabled). Safari also manages to feel faster while using significantly less power -- I suspect Apple has done some optimizations through Grand Central on this front.
Safari on mobile is a bit of a different story; yes it has problems, but I don't know that supporting a larger feature set is the answer.
that's a understatement., working on ios safari has been a travesty: it steals a good 20% of view area and 25% of clickable area, it makes a mess with pages trying to be responsive by misreporting the viewport area, it has loads of bugs with resizing and orientation change events and just dies if one script in any page becomes unresponsive
Going the other way might be harder, but every rdbms is, itself, an abstraction over a nonrelational storage system of some kind, so it's clearly not impossible.
Chrome for Android is an app, not a system component, and does not require Android point releases to be updated. It is frequently updated on a regular schedule by Google and pushed out to devices.
Using sources like www.caniuse.com, I frequently find that Safari/iOS does not support a feature that is supported on Android browsers and desktop browsers.
When designing responsive in 2015, I limit myself to Safari/iOS, the worst browser I build for, then quickly and effortlessly make sure all other browsers work.
That's my reality, Safari/iOS is the worst platform to develop for for me. I can't even remember the last time Chrome/Android had any issues that weren't also present on Chrome/Firefox/Desktop. Safari iOS though, even with CSS Resets, even with custom CSS, always finds a way to be non-standard with text size, or font weight with bold, or some "feature" that breaks Safari and nothing else.
What about the other 50% of Android users that don't have Chrome or Chrome WebView? I've been working mobile for a few years now and would love to drop anything before KitKat, but that's not something feasible given market share.
In practice, pre 4.4 embedded WebViews have worse support for standards than Mobile Safari. Chrome for Android was in part a system component in order to replace 4.4's embedded WebView, only until 5.0+ did it become decoupled.[1]
Google's evergreen approach reduces fragmentation of a core API and it's been a godsend. I know in the future, Safari will be left alone as a pain point. Just don't misrepresent the present situation, where older Android has worse standards support than Mobile Safari and can't even be debugged in devtools.
[1] https://developer.chrome.com/multidevice/webview/overview
My old Windows XP box also has worse support for standards than Mobile Safari.
OK, so XP also doesn't have market share. But it's hard to blame older versions of Android for not supporting standards that didn't exist when they were implemented, just because people continue to buy low-end devices running those old versions.
Android Chrome has about 13.3% global usage, and all versions of Android Browser have about 6.5%. If we do not count versions before 4.4, then Android Browser has about 2.5%.
Also worth pointing out that Chrome for Android is over the 1 billion mark (1,000,000,000 - 5,000,000,000)
This is the big issue for most people, I think. I would love to use Chrome, but when I do, (a) thighs burn to a crisp if my machine is on my lap directly and (b) the battery depletes, literally, 1.5x as fast.
I should note that Epiphany is the only Linux web browser that seems to interact with touch screens correctly, drag-to-scroll works wonderfully on my XPS 13 meanwhile Chrome and Firefox just keep trying to highlight text.
> Safari is nowhere near that bad [as IE was in the past]
Doesn't address the problems developers are having.
> I have yet to run across a page that works in Chrome that doesn't work in Safari.
Try any webpage that uses WebRTC, and there's a growing number of these. But really it's because people are doing what they did with IE6 which is here is code that works everywhere, and here is some code to make it work on Safari so the user is none the wiser. The problem is still there.
> Safary, by comparison ... <insert swoon>
This has nothing to do with the post. Great you like Safari, but the problem still exists. Where's the WebRTC support? The Audio API? Right.
As to the original article, I prefer a 4th step not mentioned, just ignore Safari. Apple has a huge iOS userbase, sure, but as the HTML5 disparity between Safari and other browsers increase it's becoming increasingly not worth considering and really do iOS users even expect the HTML5 features that don't work in Safari? They'd probably prefer a native app for that.
Desktop users can use Chrome or Firefox when a site doesn't work in desktop Safari, and if that makes them mad, good. Maybe Apple will fix their shit then.
Edit:
Regarding downvotes: I know engineers are ignoring Safari. I ignore Safari, and other people I know ignore Safari. A convenient sample sure, but as this article points out developers aren't happy. Downvotes or no. Deal with it.
That's entirely the point: developers and users have different needs. But the developers will follow the users to whatever browser the users feel is best. Apple's priorities are on improving battery life, page responsiveness, etc. If users value Apple's browser development model that prioritizes user-facing features over developer features, then the developers will simply follow the users. If you want to build a product around features that a major browser doesn't support, go ahead.
To use the dreaded car analogy, you don't build a car to be easy to work on just to make the mechanics happy. You build a car that consumers want to buy, and it's the mechanic's job to figure out how to work on it.
That didn't happen with IE6. I think the web as platform is bigger than Apple as big as it may be. It's amazing to me that you're OK with a single company holding back the entire platform because of a single device. People use the web with machines that don't even have batteries.
Really to a developer who cares about the open web and standards, just throwing the whole concept of the web out of the window for the sake of Apple's priorities is so, so bad and it will never happen. At least that's my hope and prediction. The open web as a platform will guide my behavior with regards to how I engineer applications that run in the browser, whether Safari is on board or not.
Yes it did...but anyway, the detail is irrelevant; it's the point you're refusing to acknowledge:
A developer, building a product, is obsessed with growth metrics, OR, a slave to the pedantic demands of a client they're working for.
Either way, those demands require that a site be available to as many people as justifiably possible. The questions you have to ask are:
1) Is the the $ value of a customer using IE6 worth the time taken to make the site work in it? (No, almost certainly not)
2) In IE8? (Hopefully not, but you know, there are still a lot of these guys, and it's almost always a demand in the .gov space...)
3) In Safari? Yes. There are tonnes of these guys, especially on mobile where they don't have a choice, and no matter what fancy javascript 0-day API you're in love with, you can work around it without any significant effort.
The point:
Is safari holding things back? Yes.
Is it OK? Not really. It sucks.
Can you ignore safari and pretend it doesn't exist, and lose those customers? No. No you can't.
We're webdevs, sucking it up is what we're good at. We've had years of practice.
Suck it up.
The path forward, I think we'll find in the long run is going to be less native apis, more WebAssembly-style low level polyfills to implement new 'universal' features that run on all js runtimes.
Actually we can, and where I work we do. Never has anyone complained about it. SO everything is just fine. So I don't need to "Suck it up".
Yes it did. That's the entire reason IE6 was such a headache: IE6 was by far the worst browser platform out there, but everything in the corporate world was written with IE6 in mind. This made it a nightmare to support these sites -- because they didn't work in Firefox or Chrome. So when IE6 was finally deprecated, it was a mad scramble to try to patch internal tools (or hack an unsupported install of IE6) so your HR person could access payroll.
They might've done the math and realize that the amount of safari users they might gain is not worth the cost of the extra development (time & money).
You obviously do.
> in my experience, it's the fastest browser on OS X by a pretty
> wide margin. Chrome is so bloated and full of garbage at this
> point that when I have it open, I usually have at least one tab
> sitting at 100% CPU (and this is with FlashBlock enabled). Safari
> also manages to feel faster while using significantly less power
> -- I suspect Apple has done some optimizations through Grand
> Central on this front.
This. As a developer... I sympathize with people who like developing on the desktop with Chrome and for Chrome, but as a user, I prefer the browser that doesn't spin up the fans on my MacBook Air.As we adulate Tesla for their accomplishments with battery technology, we often point out that battery life is a software problem, and that it involves a specific set of engineering tradeoffs. Apple is simply making those tradeoffs. And it has to.
Google make a browser that runs on everything. If one platform is slower than another, or has less battery life than another, blame the platform vendor. Google doesn't care. But Apple sells hardware. If a MacBook gets so hot it burns your thighs, they lose sales. If the battery life on an iPad is terrible, they lose sales.
Safari gives their users a legitimate way to enjoy web browsing on a cool-running system with long battery life. That sells.
It's dev tools aren't adequate for my use, but for being a user of other sites, it has been wholly sufficient.
For me it's just video perf, but the worst part is that it's Google own web services that are spinning up the fans, and their video services work 10x better in Safari!
I have a shiny new 15" Retina MBP, which heats up like a stove if I use Chrome to open a video Hangout or watch YouTube. So for work meetings I've made a habit of having my calendar always open in Safari so when I click the video link, I get the Hangout in Safari as well.
And Safari manages to not set my computer on fire, amazing!
That's a common misconception, but what actually happened was that MS implemented draft CSS specs which ended up being a bit different from the final standard. At the time they were extremely eager to pack new stuff in IE (including a state-of-the-art XML/XSL processor!), so they rushed in a lot of stuff before other players had agreed how this stuff should really behave.
IE was then basically abandoned. MS just refused to fix their engine to adhere to newer standards. By the time this became to be seen as a problem, Netscape was dead, IE was dominant, and they were busy trying to plug the ActiveX security sieve, rebuilding on .Net and finding an alternative to Flash.
In this sense, Apple have done exactly the same with Safari: they poured resources into it while they were competing on the desktop. Now they only care about iDevices, where they have no competition at the browser level, the priority is battery time, and stability (aka rot) is preferable over innovation. Look at Safari for Windows: they built it only to support iTunes, and basically dropped it when iTunes on Windows became fundamentally unnecessary.
They went ahead when they wanted to be in the game, now they own the game so their incentives are different. Exactly what Microsoft did back in the days.
Apple, on the other hand, has no reason to want the web to flourish. They make money by selling hardware, and by managing a closed ecosystem of apps and services that revolve around said hardware. iAd focuses exclusively on apps, not webpages. Cross-platform web technologies that try to close the gap between web apps and native apps are a threat to Apple's bottom line. The more people abandon the web in favor of native apps, the more money Apple makes.
At least in the days of IE6, Microsoft didn't really care about the web. Apple nowadays, on the other hand, has every incentive to sabotage the web. I don't think it's just technological purism that makes them reluctant to allow alternate rendering engines to work on iOS. They need to ensure that apps are the only way for developers to bring advanced features to iOS users. Because they're not competing on the web like the others. They're competing against the web.
Apple, on the other hand, has no reason to want the web
to flourish. They make money by selling hardware, and
by managing a closed ecosystem of apps and services
that revolve around said hardware.
You have the key thing correct: Apple makes money on hardware.So it doesn't follow that they would want to stamp out or ignore the web. The web is a huge part of what customers use Macs and iOS devices for, and Apple makes the same amount of money on a piece of hardware whether you use it to browse the web or use the $0.00 Facebook app.
There's no denying that Apple wants you to buy into their ecosystem of apps: it helps bind you to their devices. But there's no incentive for them to extinguish the web.
At least in the days of IE6, Microsoft didn't really care about
the web.
No. The web was directly opposite to Microsoft's goals. Microsoft made money on operating systems and applications. If the web "won" then you wouldn't need a Microsoft OS any more, and Microsoft would "lose."I assume Apple is underinvesting in safari simply because they have bigger fish to fry, and they are notoriously understaffed with competent engineers (or have bad project management).
Factually incorrect, WinRT certainly supports HTML5 apps but it supports .Net and C++ too, all of the WinRT implementation code is either native C++ or .Net.
As a developer, I would say they are just doing a few things differently. I think the web API and DOM/css should have a standard set that every browser has to implement in the same way. It's actually way way better than it used to be. However, I'm fine with additional api features as targeting browsers is not not difficult and may open up some cool features. Like perhaps native notifications API on IOS Safari, that would be sweet!
For the base Web API though, Safari has deviated on a few small things, but it's not really to the point where IE6 was.
Also, people will upgrade Safari. Unlike IE6, where IT shops would not upgrade because of Active X applications, Safari will at least be upgraded. So I think it's unfair to compare it to the old IE.
P.S., The new Windows Edge browser in Windows 10 is pretty amazing, it feels like Chrome. Very fast. And if you are not familiar with the Mozilla Servo project, it's worth checking out. It still has a long way to go, but down the line could be very interesting.
Even if they weren't, I fully agree with progressive enhancement. It is always going to provide the right incentives for everyone. Only the features most used (by end-users) will become browser vendors' utmost priority.
[0] http://daringfireball.net/linked/2012/06/28/chrome-ios (linked by the article btw)
Android has no specific restrictions in place. Although it is the path of least resistance to use the built in WebView, since you now don't need to deploy your own.
[0] Including: Blink (Amazon Silk, Chrome, Opera), WebKit (BlackBerry, Dolphin, et al), Gecko (Firefox, Minimo), NetFront (Blazer). At the moment WebKit derivatives seem to be most popular, but several browsers re-build it from the source rather than just using Android's WebKit components.
That makes it possible to use extensions like ublock, for much better browsing experience than any browser without ad blocker can provide.
The word 'also' doesn't belong here. Browsers on iOS don't tend to use core iOS components (WebView) : they are forced to. Your statement really isn't a counter point.
[1]: https://en.wikipedia.org/wiki/United_States_v._Microsoft_Cor....
In the beginning of the article, the author points out this set of techs as stuff that Apple does not support: {Service Worker, Web Components, Shadow DOM, Web Manifests}.
Well, you can go to caniuse.com, and see that for all of those (except Web Manifests, which doesn't show up), they are only well-supported by Chrome and Opera. Firefox usually has it disabled by default, and it's noticeably absent from IE.
I think the real issue here is something we might all find a little uncomfortable, and it's that the web isn't as important as it used to be, and Google is the only company really pushing it as a platform. Certainly, Microsoft may be repentant, but Microsoft either doesn't care to catch up, or they think it's not going to help them even the ground against Apple. And that doesn't deserve the title or the comments we're seeing here.
How on earth did you come to this conclusion?
First, you forgot IndexedDB, another example from the article, which disproves your point. Other examples include fullscreen and WebAssembly.
Web Components/Shadow DOM and Service Workers happen to be two technologies that Google is pushing. There are of course plenty of examples where Google is behind: Nested Workers, asm.js, ES6, etc. etc.
It might be true that the web matters less to Apple than it used to, and that isn't very surprising - Apple's native apps on iOS are massively successful, and it makes sense for Apple to focus more on that. And that does mean the web matters less on mobile, since Apple is huge there, but the web is still just as important as it always was on desktop.
Now, you guys can plug your fingers in your ears and call me a fanboi, but I'm just pointing out that non-tech folks don't know the difference, and they couldn't really care. The native experience on iOS massively trumps the app experience on Android, as well as the web experience on iOS and on Android.
Now for me, as a dev, I would rather code for the web than for iOS or for Android. But the wider world does not care about me. The wider world would feel that the web is much too late to the game with all these techs, when the same experience (or possibly better) was available with native apps years ago.
I'm not sure what this is supposed to mean; the end user also doesn't care about JavaScript or their OS kernel.
I do disagree with the things you said earlier: It is just not true that the web matters less, nor that Google is the only one pushing it.
The web still matters a whole lot. And many parties aside from Google are pushing it - Mozilla, Microsoft, Khronos, Khan Academy, among many others, are all pushing it forward; Google is behind in some areas, ahead in others, etc., just like everyone else.
Perhaps you assume that since mobile is important, it means the web matters less? I think it just means that in the new space of mobile, native apps matter more than the web. But that space didn't even exist before, it isn't a "loss" for the web. Native apps also matter more on game consoles, for example. But the web is still very important.
Who's leading the charge on es6 implementation? [0] Who created asm.js and developed Web Assembly? Not Google.
Now-a-days, I think Chrome was the new IE or rather causing the same type of problems IE created.
Why? Developers don't test other browsers by and large. They are choosing to support Chrome, and implement non-standard APIs, because they see it is the browser they use. IE got us into trouble because of its market position, and because it fixed a lot of broken code (so when someone went to use another browser they though the other browser was broken NOT IE).
Developers made apps which worked only for IE and not other browsers; most of the time by accident (as their app WAS broken) but still... Now with Chrome, I see this happening again. Websites/web-apps are needlessly broken in Firefox because the devs simply didn't even try it.
Maybe, I'm wrong, I fucking hope I'm wrong, but it feels like the shit winds are getting ready to pick up again...
We use a lot of chrome-specific APIs, and they allow us to achieve things that otherwise we couldn't (e.g OCR running in the browser through Native Client with no performance penalty vs a native binary). We're often implementing improvements with APIs that are a few weeks or months old. We do test on other browsers though and make sure things either degrade cleanly or we provide an alternative implementation.
Apple wants to make the best experience for users because then they'll keep buying Apple products. If users want the web, then they make the browser better. If Apps are more appropriate, then they make apps better.
Apple prioritizes stuff users care about -- battery life > IndexedDB, accessibility > WebGL.
Until you understand this and stop thinking like a conspiracy theorist, you won't understand Apple and will keep confusing your priorities with user priorities.
Again: pleasing users -> profit. Making web lose -> ???
This isn't "embrace and extend" -- Microsoft added huge swathes of proprietary functionality to IE and tended (and tends) to prioritize developer and corporate IT desires over users. Insofar as Apple extends the browser, they do it through standards and proposed standards and (mostly) open source the implementations.
iOS users invest hundreds of dollars in apps and games and enjoy exclusive products. This creates a very significant barrier to switch to another mobile platform.
Quite obviously increased switching costs for users are important for iOS to maintain leadership in platform wars.
Therefore, rapid advancement of web apps user experience to the level of native apps in some categories would be detrimental to Apple's competitive positions.
Making web lose -> stronger competitive advantage.
It's totally awesome how Google created its Play store so that it seamlessly works on competing platforms -- after all it's a largely open-source stack that would easily run on (say) iPhones. No wait, they use it as a bludgeon to keep third parties in line (and create vendor lock-in).
Sure, it decreases user satisfaction for a SUBSET of users, who care about web apps. This subset seems to be strategically negligible for Apple. This is a trade-off which is absolutely rational from the shareholders/management perspective.
>It's totally awesome how Google created its Play store so that it seamlessly works on competing platforms
Your fanboyism shows. This thread is not about Google, also a corporation which actions are driven by interests of management and shareholders.
It's like Betteridge's Law for discussions involving Apple.
This thread explores the possibility that, for strategic reasons, new web stuff is not implemented on Safari. That proposition is scarcely undermined by hypothesizing a typical user who doesn't care about new web stuff as much as she cares about battery life. She's hypothetical, why should she care about anything as much as she cares about battery life?
There are diminishing returns.
It's not like Apple has provided a web browser that basically doesn't work but has great battery life. Most people consider Safari to be the best mobile browsing experience there is. (I just googled to make sure I wasn't quoting outdated opinions and it's still true.)
Safari in 10.11 has added a feature which tells you which browser tab is making noise so you can close it. Just now I was so wishing for it (in Chrome -- which is my primary browser, since I'm a web developer). Shame on Apple for doing that and not fixing bugs in their IndexedDB implementation! (BTW those bugs are horrible -- how on earth could they pass the simplest unit tests? -- and really should be fixed.)
> To you, the hypothetical malware vuln should be fixed before e.g. improving battery life by 5%.
Apple doesn't let users decide what's best for them... that's one of the things that's different about the company. Want to customize your UI? Nope, that's silly, you can't have it. Apple would decide what's good for the user and it would probably consider browser vulnerabilities more important than some obscure new feature.
> But to a greedy fruit executive who wants the web to be insecure? There's no question!
Good grief.
http://chrome.blogspot.com/2014/01/everyone-can-now-track-do...
Good grief.
The smiley b^) means it's a joke. At this point I have to wonder who is trolling whom...
(Especially with the trend to wide-screens, the placement of tabs on the top vs. the left side seems to me to be a gigantic misstep on everyone's part)
Not trolling -- just ignorant. (And the implementation is kind of flawed. Sufficiently flawed that I've never seen one of the icons. I wonder if Safari's is any better -- can't be bothered installing the beta.)
Not a big fan of your "b^)" emoticon -- doesn't look like anything to me, and doesn't show up in lists of common emoticons. But OK your most outrageous comment was in jest; fair enough.
I assume Apple is underinvesting in safari simply because they have bigger fish to fry, and they are notoriously understaffed with competent engineers (or have bad project management).
First because what they make from the App Store is spare change for them.
Second because they did have the best browser for a while, and did very much to advance the state of the art (from WebSQL, to Canvas, CSS 3D and other stuff, all originating there, along with the original fast-JITed JS engine who started the JS-race to what we have know). And they did that for years after they had an App platform available too.
People don't feel locked with their app purchases. Case in point, the large volumes of people going from Android to iOS and vice versa.
All without manufacturing logistics and hardware production costs. Obviously the computing infrastructure, payment processing and software engineering of the app store has a cost, but I'd imagine much less than those involved with building, distributing and selling a computer or mobile device.
It may not generate as much as hardware sales do, but billions of dollars hardly seems like spare change.
[1] http://www.apple.com/pr/library/2015/01/08App-Store-Rings-in...
That makes it around $3 billion, before taxes and infrastructure expenses, payment deals, etc.
$3 billion is spare change for Apple. They have 200 times than in cash.
As others have mentioned, there are other benefits from native applications, like vendor lock-in, which Apple isn't going to get with web-based applications.
[1] http://money.cnn.com/2015/01/28/investing/apple-cash-178-bil...
[2] http://www.apple.com/pr/library/2014/10/20Apple-Reports-Four...
Still, same order of magnitude, and still many times over their app profit.
>Also, I think its telling that Apple themselves mentioned App Store Sales as a main factor in their revenue earnings for Q4 of their 2014 fiscal year.
Telling towards what?
Its telling that App Store sales are a significant source of revenue for Apple. One that could possibly justify not making improvements to Safari that could make it better compete with native applications.
Back when the first iPhone was released Jobs was all "We have a great way for you to develop apps! ... HTML5!"
All the developers were disappointed and wanted a native API. So here we are.
Developing on Mac has always been a chore (at least back in the XCode 1.1 and 2.0 days), with poorly documented APIs and APIs that are just flat out broken (OpenGL comes to mind, and is still broken to this day apparently).
Our running joke back then was that "Macs are very user friendly, except developers don't count as users." Still true to this day apparently.
Here's an overview of what's new in Safari (WebKit) as it ships with OS X El Capitan: https://developer.apple.com/library/prerelease/mac/releaseno...
This is the secondary reason IE gained share quickly (the primary one being bundling, of course). Then Netscpae fell over and it didn't have competition at all for a while so MS simply stopped trying (why work to improve when there is no competition and you can use the resources to work on something else?) so IE gained even more share on Windows (other OSs were not large enough in the desktop market to figure at that point, and mobile browsing was embryonic) without any effort from MS. It wasn't until Firefox got to the point of being enough better to attract a large share that the tables started turning and even then the change was slow. Opera was significant around the time too, but it not being free (or not free without adverts) was a sticking point that stopped it being widely adopted.
That is a key problem that hopefully can't play out the same way these days though. No one browser, even mobile safari, is so commonly used that if it fails to keep up it can't start to be ignored, and away from iDevices we don't have the pure binary choice so if B doesn't keep up with A C and D probably will and B will be forced to (or it won't matter so much if B dies).
Safari's release cycle, however, is stupid per se.
Apple adds features based on what users seem to need, not what programmers want (Google) or programmers want to work on (Mozilla).
It should also be noted that Safari's accessibility support is head and shoulders above anything (including IE with dedicated third-party extensions -- our blind accessibility guy who has access to every accessible technology under the sun simply uses Apple devices at home).
Wake me up when IE is open source, Google gives flying f* about accessibility, and Firefox is better than a distant second.
So then let's name these things, specifically, if you really believe that. I'm not aware of any new specs related to animations in the last couple of years. Can you name them?
One thing I've noticed several times is that in chrome, many CSS animations aren't animated across sub-pixel boundaries. I don't know necessarily that safari does this (again, I'm not well informed here -- for all I know this has been fixed in Chrome), but if they did, that would count in my book, despite not being a new spec.
(Honestly, my suspicion is that they aren't though, since a high dpi screen removes most of the need for sub-pixel accuracy).
I use Safari for all my general browsing for one reason: It uses 1/2 to 1/5 the power that chrome does.
Here is a simple test I just ran:
Using https://github.com/erkserkserks/h264ify for blocking VP9
2015 rMBP 13", 3.1Ghz i7, 16GB (defaults to software rasterization in chrome)
https://www.youtube.com/watch?v=nK9Im1eP3DI (1080p60 video)
Power is CPU Package Total (core + GPU).
Chrome VP9: 26W
Chrome VP9 + Force GPU Acceleration: 28W
Chrome h264: 19W
Chrome h264 + Force GPU Acceleration: 13W
Safari: 4W
Additional comments:
This is all in window at the default 'theater mode' size of youtube. I can't full screen either of the VP9 options without completely maxing out the CPU, dropping frames and during my laptop into a frying pan. Its really hot even in window with chrome VP9 using ~175% CPU.
In other words, Safari's power number isn't surprising but I don't know how chrome manages to use so much processing power. Even my cell phone can decode 1080p60 without catching fire but chrome manages to bring a $2200 laptop to it's knees doing it.
I am curious, though, do the Chrome devs have access to the video APIs that the Safari people would?
I'm a Safari user who develops first and foremost in Safari, and I completely disagree with this. Chrome runs rings around Safari in UI animation performance, it's almost embarrassing.
Second: If you are going to involve me in this, then I'll point out that of course people care about their browser UI, otherwise everyone would be using something like Conkeror, except with an even more ascetic UI philosophy.
Which is exactly what makes safari the new IE. Going it's own way and not even bothering to try to implement the new standards used in other browsers.
Why wouldn't people just say "Apple?" Is this hyperbole or is there some reason why people are afraid to directly criticize apple at a conference that apple isn't even at?
The problem is that when everybody wants to discuss the hot new browser features, mentioning Apple is just a big downer. We all know we're going to have to polyfill at best, or just not support Safari at worst. Nobody wants to be reminded of that sad fact when you're trying to get excited about the potential of the web platform.
But what looks like constant innovation to one, is probably a long awaited feature to someone else.
Don't feel like you have to catch up. You don't have to (and probably can't) follow every single innovation. Rather try to limit what you follow. Yes, you might miss out on things, but that's happening anyway.
You can't force companies to stop innovating. Specially when history shows that, the best innovations survive in a sort of tech-evolutionary process.
Well, the reason for this is clear: offline web apps are supported in iOS but without a reliable way to store larger amounts of data, web apps get pretty much useless and so people have to go through the Crapp Store.
But, I have to defend Apple, IndexedDB is a ridiculous steaming pile of junk when compared to WebSQL. Writing a single-line SQL statement with multiple WHERE clauses and a couple ORDER BY, takes metric tons of boilerplate crap in addition to callback hell because the IndexedDB crap is async.
It's such a terrible, terrible design and I check every new version in hopes that this would be addressed.
Most pages shouldn't need a refresh when you go back after a few seconds or minutes. What annoys me are websites that set stupid expiry times or Cache-Control values.
But, not only is it fast on OS X, the battery life optimization is amazing. I run Safari without Flash installed, and only need to pop over to Chrome once and a while.
I've come to understand Chrome is making more power consumption adjustments in it's OS X version, and look forward to seeing if it can compare, but I'd also like to see memory usage addressed.
But for me, Safari loads everything I need, save for the odd video that is only available in flash, which now happens very rarely. And for me being able to use the web browser for hours and hours each day without a similar hit from Chrome to both power and memory is worth it for me.
Totally agree with the speed of Safari. I have Flash enabled, albeit with a plugin that forces click-to-load. Safari is a lot faster than Chrome at this point; it just feels more like the fast, stripped-down browser that I want.
However, [Safari] still has the best perceived performance.
Just open a page with a heavy layout and scroll up and
down, or type an address or search term in the location
bar and "feel" how fast it loads.
The performance gap is particularly noticeable on older Macs. Safari feels about the same as other browsers on my recent Mac... but there's a big gap in responsiveness between Safari and the other browsers on my wife's 2009-ish Core 2 Duo. [Edit: I mean that Safari is much more responsive than Chrome or FF]This doesn't excuse Apple dragging their feet on web standards, of course.
It's just puzzling. Clearly Apple puts a lot of work into Safari. It's not the bastard child that IE was at Microsoft... recall how the IE team was disbanded after IE6 at one point.
And yet, frustratingly, Apple doesn't support modern web standards despite allocating a healthy slice of developer resources to Safari.
It is in their interest to have it be a very nice looking document viewing platform, which is where I imagine most of their developer resources are going towards.
Its in Apple's interest to not have Safari work well
on older machines (since they want people to buy new
machines)
Then they're failing miserably, because as I (and others in this conversation) have attested to... Safari is noticeably faster than Firefox or Chrome on older Mac hardware.So I don't think your theory holds any water. Sorry.
(Edit: My post was unclear. I and others feel that Safari, despite its other shortcomings, is the most responsive browser on OSX - not the least.)
In reality, if the lead developers of some software find the experience to be good enough on their machines, that's going to lead to it becoming worse on old hardware, no matter what the company (as people have said in this thread, it's even worse with chrome and firefox.)
It takes huge amounts of effort to ensure that the development work you're doing is performant on a range of hardware. If you neglect doing that, I'd definitely chalk it up to laziness and not malice.
(In other words, I agree that performance gets worse from version to version, but you don't need to attribute to malice that which can equally be attributed to laziness.)
I should have read it more carefully
No, I was unclear. :) If there experience on older systems is terrible, they
run the risk of people switching to a different operating
system and platform. If the experience isn't significantly
better on newer hardware, however, customers won't be
motivated to upgrade.
I'm certain the main engineering goal they have for Safari is energy efficiency.Battery life is one of the two or three major selling points of all their devices, and improved (or at least equivalent) battery life is something they deliver with every iteration of OSX.
I believe Safari's performance/responsiveness is largely a happy accidental byproduct of this focus on energy efficiency.
Again, I'm not defending anything they do. I'm a OSX user and Firefox is my browser of choice, if that tells you anything!
They are putting a lot of work into making the browsing experience better on Safari, very successfully I think, but adding tons of features that could expand the role of the web as an applications platform is just not in their interest.
Then their is the problem with black boxes. I don't know why, but all to often, safari loads a page and there are black boxes on that page. Just covering up portions of the web page. I have to resize the window or do something to get Safari to rerender the page so it will go away. This happens frequently.
Couple this with all the other issues OSX has, I can't but make the assumption that Apple is focused on Quantity rather than Quality.
Of the 3 big browsers in Mac, Firefox is still, in my mind, the most solid. Safari suffers some serious problems, not the least of which is that it's only for Mac.
If web assembly is supposedly as fast as C, why can't we have web browsers with a smaller built-in feature set and implement new specifications as libraries?
It also won't help with Web Components unless you're aming for a Web where we just draw on a big canvas.
The more developers who get on board with the "fuck you, Apple; if you want our sites to work for our users, then you need to fix your shit", the more pressure there will be from users for Apple to either fix Safari themselves or allow the installation of real alternative browsers on iOS, and thus the sooner either of those things will happen (or Apple slips closer to its pre-iPod days of borderline-obscurity).
I agree with your assessment that IndexedDB is laughably bad in Safari, but maybe they haven't bothered because its really not such a great solution in general? I'm going to reassert that I think we could do much better - since IndexedDB is too low-level for what it is, but too specific for alternate solutions. I've been kicking around a blog post that I haven't got out yet - but we really need something more stream like and generic than a NoSQL index in the browser - especially something fundamental to address the future influx of WebAssembly apps. Cheers!
So where's their alternative spec?
What bothered me most about the IndexedDB fiasco with iOS8 is that Apple not only held out for so many years, but then they deployed a broken implementation. Anybody who had written an app using an IndexedDB shim either had a crashed site at best or lost user data at worst. YDN-DB author Kyaw Tun had the best quote: "I don't understand how they can release this."
Whether you like an API or not, a browser vendor should at least release it in good faith if they're going to release it.
example - https://github.com/angular/angular.js/issues/9128#issuecomme...
As long as one browser sticks out like a sore thumb you have to make a conscious decision to either pay attention to it and its ecosystem or ignore it.
Not even in the same ballpark.
But I get it, Safari is lagging on a lot of things, and it's frustrating.
Oh, come on. Nobody does this. Why would anybody do this?
Hyperbole for effect is all well and good -- and the clickbait title makes it quite clear that that's what we're wading into here -- but this borders on self-parody, like saying MICRO$OFT or chanting "don't be evil!" or "WWSJD" it makes you look like a partisan rather than someone with a valid point to make.
Safari does lack IndexedDB, and their 'powersaver plugin' thing has caused me headaches. Firefox is the most likely to go unresponsive under CPU load, IME, and a nasty growing habit of pushing new monetization strategies into their toolbar. Chrome has poor performance, broken video event handling, and is the one that seems most likely to break my app every time they push an update. IE8-11 have various issues with animation and SVG, and most irritatingly there are four versions of it still in active use, each with their own quirks. Edge is, I'll guiltily admit, not really on my radar yet, but I'm sure it'll have its advantages and disadvantages as well.
None of them are the new IE. Even IE isn't the new IE. There's never going to be another IE6 for the web -- we've all, developers and customers alike, learned the lesson about proprietary extensions and platform lock-in.
And web apps become ever more attractive in the appleverse: You stay in control, not Apple, and you get the revenue, not Apple. It's quite clear why Apple doesn't want that.
Personally, Firefox has become my only browser on every platform but iOS and it isn't even for ideological reasons but simply when combined with extensions it is the best browser around. Once it (finally!) incorporates isolated processes for tabs, it's gonna be head and shoulders above its competition IMO.
I think the author is saying Safari is new IE in terms that you need to start adding features to your sites (and extensions) that Safari won't support and blame Apple for not catching up, like Microsoft did at the time with IE.
Even Microsoft is planning to duplicate Chrome's extension APIs for Edge.
Hypothesis: new features tend to be a distraction from optimization work. If Safari is focused on optimization work, maybe the team is making the conscious decision to get what's implemented right before expanding the scope.
The real thing I'm worried about is that no one is working on an open app ecosystem. The only thing we have are browsers - which are horribly inefficient and have huge discrepancies with one another. We're so terribly behind.
Really, Safari's problems are just a symptom. The real problem is browser existence.
If so, it was a wise choice.
-webkit-transform: translate3d(0,0,0);
So that a relative positioned element would have a higher z-index than a fixed position one. Jesus.IE at least had market share. There is nothing that makes developing for Safari (OS X) worth the time spent.
Web partisan or just trying to eliminate the biggest cross platform competition to native applications at that time? (flash)
Beside that IE11 is the new IE6 - it's there to stay for a long time, Windows 10 Pro/Enterprise will come with IE11 and Edge!
edit: not speed, but aesthetic quality and parity with Chrome/Safari
Firefox has gross UI elements that remind me of the 90s.
cf. http://murphyapps.co/blog/2015/6/24/an-hour-with-safari-cont...
<meta name="render-engine" content="chrome/webkit" />
Comparing a webkit-based browser of any kind to the agony of supporting something like IE6 back in the day is like comparing a paper cut to a stab wound.
Nice clickbait title, though, got you to #1, aren't you proud. :P
If you need functionality like you describe, ship a native application via an app store. It’s a much better experience than web development.
A side comment would be that you can make your webapp perform remarkably well on mobile, with things like HW accelerated transitions, local storage, etc...
I have pretty much ditched native office suites in favor of google drive as well on my desktop system.
And things like Facebook hasn't even considered native desktop implementations.
So it is safe to say that the web is a great app delivery platform (at least on the desktop) and as such, I think it is completely reasonable to improve upon it and extend this benefit to mobile.
That is a faf when you want to be cross platform though. With care I can write an application that covers pretty much all the users I care to cover, i.e. those using desktop or mobile browsers released in the last few years. In fact there are a couple I intend to develop once I've got certain other things out of the way that are eating my "personal project" time currently. Yes native apps have advantages, and for my projects there might be native apps later, but developing for browsers first (well, API first with browsers being the first major client) gives the best use of your initial time unless your app needs greater performance, access to hardware, or something else not possible/practical in the browser.
If Safari lags behind to the point where I can only support iDevices as secondary citizens (web first, followed by native apps for platforms that need them) then I am perfectly happy to do that. Thankfully that is a practical consideration, at least for my projects, unlike at some points in the past where not supporting IE6 locked you out of a much larger part of your potential audience then not supporting mobile safari does now.
If enough other developers take this route (Your platform doesn't work well unless I create something specifically for it? OK, I consider that later when I've got everything else working) maybe the direction of Safari will be forced to change in that respect.
On my end I don't want to have to download an app to do all the things I want to do. I keep as few apps on my phone/computer as possible.
Not all software development is making cutting edge social phone apps.