Tired of Safari
quirksmode.org
quirksmode.org
BUT: I doubt this pointer event thing is a good example for their reluctance because it's really just a nice-to-have feature for the Surface and the Note series which is for my taste a too small target to justify a standard.
A good example for Apple reluctance to innovate the web is CSS Flexbox. CSS Flexbox is the best positioning standard I encountered, every vendor supports it, only Apple still prefixes it with -webkit.
Another example is their reluctance to make WKWebview fully workable, since months there is still a bug which prevents WKWebview loading local files, the bug was already fixed in an early beta of iOS 8 but then they put it again in. WKWebKit is way more performant than UIWebview and can produce butter smooth HTML5 apps with Cordova/Phonegap but this one bug makes it hard (people already build local web servers to work around this problem).
EDIT/ADDITION: A third and probably the most obvious indication that Apple doesn't want innovation in the browser space is their ban on 3rd party browsers on iOS. Benjaminjackman articulated this well in this thread below: "And yet here we are 15 years later and the iOS platform is doing just that, Apple is embracing this Microsoft strategy and extending it to a whole new level by flat out banning 3rd party browsers and so we all run the risk of having this great renaissance in browser application innovation extinguished into a second dark age."
I worry about this regarding Google as well. Both Apple and Google benefit from App lockin. :/
NOTE: You can downvote me, but web apps are secondary on mobile -- remember all those Chrome apps people have on the desktop, they are not treated the same as Andriod Apps on mobile, even though they could be.
Before Blink, they had Google's manpower also helping them. Now that's gone.
Flexbox will come, it'll just take Apple a while to implement it.
Flexbox is already fully implemented in Safari and has been since 6.1. The only difference is the use of a prefix.
No, it's not at all obvious, and the objections you've raised do not support your view at all.
CSS Flexbox is the best positioning standard I encountered, every vendor supports it, only Apple still prefixes it with -webkit
That's a really pedantic objection — prefixing CSS standards which aren't actually finished is exactly what prefixing is for. It's hardly an anti-web move to keep it prefixed, and anybody who wants to use it can already do so with minimal additional effort.
Another example is their reluctance to make WKWebview fully workable
I find that argument very suspect, since Apple could easily just not have released WKWebView in the first place if they wanted to prevent it's use.
Apple's finite is larger than every other company out there (to quote an article from earlier this week). I'm pretty sure that any issues Safari is encountering is not due to Apple reaching a "finite" limit of any kind.
EDIT: Many of your responses posit Apple as some kind of underdog, struggling to make it in this industry. Given Apple's size and talent, this viewpoint is all but indefensible.
If having an industry leading browser it was a priority for Apple, it would get done. That it's not getting done indicates either that the developers are incompetent, or that the developers' efforts are genuine but being sabotaged due to politics. I'm inclined to believe the latter.
This is demonstrated by making certain features of application development on their devices only accessible by writing native software.
The simple workaround would be to write your own browser and put it on their platform. That is expressly verboten or else I'd already be using an iPhone running Firefox, instead I use and android that runs firefox and which has extensions since it's what it's users want vs what the payers of the browsers developers salaries want.
So the strategy MS used to buy years of revenue for win+office was to bundle a default browser to control the web platform and strategically hinder it whenever it threatened their core income centers. The default opt-out required momentum plus the fact that netscape did themselves no favors led to a dark age of web platform innovation as MS corruptly controlled the space and acted as negligent stewards.
What is totally insane to me is that a large portion of the Microsoft anti-trust trial revolved around them simply providing a default browser, it is hard to imagine even they would have blocked netscape software from running on their platform outright.
And yet here we are 15 years later and the iOS platform is doing just that, Apple is embracing this Microsoft strategy and extending it to a whole new level by flat out banning 3rd party browsers and so we all run the risk of having this great renaissance in browser application innovation extinguished into a second dark age.
Well, this is expected from a business perspective. Apple can't profit from the web as much as they do from the App Store, the only way to "convince Apple" is either by dropping their sales, or by regulation.
While they have money, their pay scale isn't famous for being extravagant. People work there mostly for prestige, but you can get money and prestige working for a startup.
Cook has said publicly that their biggest challenge is talent retention. They're obviously short-handed on OS releases, and willing to reallocate when necessary. So it is not surprising to me at all (but deeply disappointing) that Safari improvements would take a backseat.
Need more developers? Hire more.
Payscale problems? Pay your developers what they are worth to you. Of course, if they aren't worth much to you, then this point is moot.
Retention problems? Addressed by both points one and two.
That they do not use their resources to solve these problems says more than the fact that they have these problems.
They're aiming to increase their total number of Cupertino employees from 16k to over 24k in 2016. For any organisation, absorbing another 7k+ employess is no mean feat.
Apple is experiencing unprecedented success and fantastic growth. But sure, that's trivial to manage. You could do it in your sleep. Maybe you should drop Tim Cook an email.
How do you even find 8000 people who would want to live in Cupertino… I mean have you even visited that place?
No reason to get emotional.
> That's a really pedantic objection —
Pedantic? Positioning elements is the most important feature of a layout system and CSS is totally broken in this regards, just try to vertical center something. Flexbox is godsend and finalized—every vendor removed the prefix. Wondering who is pedantic.
> Apple could easily just not have released WKWebView
The pressure they got for five years that they offer just the 10x slower UIWebview and give Safari the WKWebkit was the main reason and maybe they just released WKWebview to make the impression that they play along. This one bug makes WKWebview utterly useless.
However, would love to keep the tone in this discussion on a friendly level.
> No reason to get emotional.
No reason to project tone onto text that made a simple statement.
The reason why many browsers rush to unprefix CSS3 is not that it's perfect, but because of the lazy web developers who only prefix stuff for WebKit. This may or may not bite the community in the future.
But not with divs which are more common
People only initially prefixed for Webkit because webkit was the only browser that had a lot of these properties. The problem was that nobody went back and updated their prefixes, which really only further illustrates one of the big problems with the whole idea of vendor prefixes.
Flexbox is awesome and has been available to use in Safari for years. Prefixing is not an impediment to the adoption of web standards.
This one bug makes WKWebview utterly useless.
No it doesn't – it does harm PhoneGap/Cordova or whatever, but there are known workarounds, and this bug is likely to be fixed soon in any case (see http://trac.webkit.org/changeset/174029/trunk for the actual commit that adds the required support)
One could argue that the browser has matured to a point where, technically, they slowed down the innovation of Safari on all platforms. If you look at the amount of features introduced in every new version of the last few years, it is less. iOS7 Safari is a notable exception but Safari has not kept up with innovation that they once had.
prefixing CSS standards which aren't actually finished is exactly what prefixing is for.
Pedantic is Apple purposely lagging behind over said unfinished standards when the rest of the industry has moved on. Vendor prefixes are tedious for web developers to keep up with and tools such as Autoprefixer were forced to be developed b/c of them. Webkit has been unprefixed for ~6 months now and Safari and iOS have both seen updates since then without this change. This should be unacceptable and if there are still reasons to include it Apple needs to be way more transparent.
I'm not anti-Apple by any means, sitting here writing this on my MacBook Pro, but pressure on Apple to get their act together is absolutely warranted and needed to promote standards based design and development which will make a better User Experience for all.
Flexbox has been unprefixed in WebKit r173579[1][2]. Presumably, it will be available when Apple release the next version of Safari. Reading the Bugzilla, the reason of not unprefixing the feature seems to be lack of contributors on WebKit's part than anything.
How do you know? It's was unprefixed already ~3 months ago, so why should it happen with the next release? And when does the next release come? And why do their release cycles are not as short as those from Chrome or Firefox?
Because it's not their core business.
> ... to be lack of contributors on WebKit's part than anything.
Exactly what I wrote: Apple is focussing on other stuff than the web because—again—it's not their core business. They have two browsers, mobile Safari and desktop Safari and none of them got this important upgrade yet. A fast innovating web isn't in Apple's favor.
It was unprefixed ~6 months ago.
Their latest Safari release tracks WebKit release 600 which contains all changes until July 2014[1]. The latest WebKit release is 601, which contains all changes until September 2014[2], including the flexbox unprefixing. Safari normally update WebKit to the latest release in a non-maintenance update (e.g. Safari 8.1) so it should be available with the next release.
Another thing to note is that their Web Inspector (which is built with HTML+CSS+JS) already uses the unprefixed flexbox in trunk, so if they want to ship the updated Inspector, they will eventually have to ship the feature anyway.
[1]: http://trac.webkit.org/export/180623/tags/Safari-600.1.1/Cha...
[2]: http://trac.webkit.org/export/180623/tags/Safari-601.1.1/Sou...
2012-08-31 Tony Chang <tony@chromium.org>
Remove ENABLE_CSS3_FLEXBOX compile time flag
https://bugs.webkit.org/show_bug.cgi?id=95382
[..snip..]
Everyone is already enabling this by default and the spec has stablized.
If so, as a honest question, I'm not sure how is this comment related to, or why should it be an example for Apple not being transparent about why they lag behind. Can you clarify?This is inaccurate. The pointer events standard allows you to avoid the 300ms delay mobile / touch screen browsers have and is useful across all devices. Without it you have to continue using hacks to prevent the delay.
[1] http://updates.html5rocks.com/2013/12/300ms-tap-delay-gone-a...
Isn't there chrome for iOS, as well as atomic web browser? Just off the top of my head. Maybe others, for all I know.
This is exactly the same story as with the <meta name="viewport"> tag. Apple did something without releasing a spec, and the others made not-fully compatible copies. That was 8 years ago. No exaggeration: Right now the only(!) thing that works consistently cross platform is setting width=device-width. It is insane, and it hurts the web.
If browser vendors cannot fix mouse and keyboard, why would they fix touch?
I literally cannot fathom how such a horribly buggy release could be made in good faith. It's like nobody even tried to test it or use it before releasing it.
So, conspiracy theory time: They're doing all this to cripple web apps and force people to write native apps. This conspiracy theory also fits in nicely with how they won't let you run other web browsers on iOS, which would make the deficiencies of Safari somewhat less problematic.
That rarely means malice. That usually means overstretched engineers.
There are plenty of pre-written tests used by the other browser vendors that would have shown them it's shit before they released it. Or they could have just tried using some websites that use IndexedDB and noticed that basically all of them broke in their browser.
That means malice, horrible incompetence, or horrible management. I doubt it's incompetence. It could be horrible management. But it's just so bad that you can't help but think about malice...
When bugs ship with the first version of their implementation, it's really frustrating to have to wait for up to a year to see the fix go to users.
Personally, I suspect this lack of updates has less to do with actual obsoleteness and more to do with ensuring that you always buy the latest device. (Note that this isn't a problem unique to Apple -- many companies, including many Android OEMs, are even worse about it. I honestly feel like it should be illegal to sell hardware and never update it, but I'm really not sure how something like that could be enforced.)
https://www.netmarketshare.com/browser-market-share.aspx?qpr...
XP looks like it will be with us long after people have upgraded to newer iPhones.
http://www.w3counter.com/trends
http://gs.statcounter.com/#desktop-browser-ww-monthly-201401...
Also, you aren't describing IE6, then. You're describing IE. The issue of obsolete OSes not having new features? IE6/7/8/9/10 gave us that. But calling Safari IE6 is weird, there's no specific version. Apple didn't ever stop work on Safari.
You'll be held back from using new web features widely because a significant chunk of the audience has a browser which won't support them.
Basically it is history repeating itself.
Companies embraced IE 6 because it was quite good when it came out, they love to target single browsers and thus we deserved what we got.
Younger developer generations bashed about IE6 all the time, embraced the Webkit gods, with the excuse that it is open source, forgetting that it doesn't matter if the user cannot update the browser.
So here we are, with Webkit being the new IE 6.
When I do web development projects, most customers think Safari and Android use Webkit based browsers, so mobile === Webkit.
Whithout understanding that Safari and Chrome aren't really 100% equal, that Chrome is no longer Webkit based, or that there are actually other alternatives.
Thus making on their eyes Webkit the new IE6.
Just as side note, on my home country, with a minimum wage of 450 euros, there are more Windows Phone devices than iOS ones.
Microsoft, make up your mind. Do you want a browser that websites 'just work' in or do you want to keep implementing broken standards and forcing other browsers to adopt them? Pick one and don't try to find some weird middle ground where you implement webkit touch events on ie11 mobile but not desktop even though you want us to treat them as the same browser. I'm also looking at you, pointermove events that don't ever give you x and y values other than 0. You tell us you want us to do feature detection instead of browser detection, but how am I supposed to do that when window.pointerEnabled is true for all instances of ie11 even though I don't want to register touch events when I know the user is using a mouse? Before you respond with "you should just be listening for pointer events and not worry about type", you've just asked me to make my site incompatible with every other browser on the market instead of making it slower on ie11 by registering lots of unnecessary event listeners.
Microsoft, it's over. I'm moving on, and don't try to pretend like you can change with project spartan.
a. they're on Window XP and no worth the trouble.
b. they just need to open chrome.
And yes - this is a much better web than we had with MS/IE
Your can speak to someone who knows their shit pretty sharpish and get a fix to you. Most of the time this is same day stuff.
As for Chrome, the open web is much better now we have NaCl, sign in nagging and dubious privacy and no support even if you're a paying customer (google apps I'm looking at you).
Recently I wrote a small tool that enables me to write LaTeX code directly in HTML and the tool then renders the LaTeX code in PDF, converts it to SVG and places an appropriate img-tag with the reference to the generated SVG. I was under the assumption that most people do it kind of that way.
Or let me ask another way: Is there a reason to prefer MathML over using SVGs created with the LaTeX rendering engine?
Accessibility?
At least for MathML "Content Markup", it is semantic rather than presentational, so as well as being rendered as an equation, it could, in principal, be usefully processed in other ways.
1) Working find-in-page that lets you search equations too.
2) Ability to select, copy, paste the math bits.
3) Better accessibility. LaTeX in alt text is something, but actual semantic markup would allow the UA to present things to the user the way the user wants more easily (e.g. without having to re-parse the LaTeX).
4) Ease of editing and reuse (c.f. view source).
5) Ease of styling (e.g. you can use colors to highlight parts of an equation as needed and change it dynamically; some teaching sites put this to very good use).
Note that there do exist LaTeX to MathML converters, so you can still author in LaTeX if you want and export to MathML.
It got salty but not to the extent that merited this being closed. It looks like this will remain closed and wontfix for the immediate time being.
> Although he is right in a literal sense, I do not think we should exaggerate the problem. Clueless web devs will be clueless (and they’re mostly blinded by iFever anyway)
So the author is saying that most clueless devs are rabid Apple fans? This is so ridiculous to the point of doing nothing but making the author look bad.
Yes, Apple is behaving badly with regards to this spec. All large companies have behaved badly with regard to Open Web Standards at one point or another. Let's pressure Apple to get on board with the Open Standard just like we have to pressure all other companies who are on the wrong side of this battle. It's not the first time it won't be the last time.
Taking it personally is not productive.
> creating a second bunch of events to do essentially the same as touch events would put undue pressure on web developers, since they would now have to code to two standards
He's talking about the fact that the devs that have problems with this are "clueless" and will be saved by someone else that does the hard part for them (write a unified interface)
What I objected to was the absurd claim that "most" clueless devs have "iFrenzy." When obviously in reality, there's clueless Apple fans and clueless Apple haters and clueless everyone in-between.
Making such a, frankly, stupid assertion undermined the entirety of his post.
It has good battery life on a Mac, but tends to crash frequently for me.
The thing I hate the most though is this: On the favorites bar, click a folder to drop it down, now click another folder while the first is still dropped down -- nothing! I'm not even asking to be able to drag my pointer to the next folder and have it expand, but that would be even better.
> (and they’re mostly blinded by iFever anyway)
do nothing but make the author look bad and make many readers (such as myself) inclined to discount the entire piece. It's really disappointing to see something like this in an article that otherwise has a legitimate point.
As a mobile web developer, yes, mobile Chrome is way better.
Absolutely, not sure what would make you think otherwise. Older versions (a year or two ago) used to have some minor inconveniences ocasionally, such as scrolling lag after using it for a while, but that was ironed out long ago. Chrome for Android is my main mobile browser and by and large the "app" I spend the most time with while on the go, and currently I have zero complains. It's fast, it's responsive and it gets the job done without getting on the way.
I agree with sentiment of the article, but I don't care about PointerEvents in particular. Good UI needs to have separate code paths for touch and mouse anyway, e.g. swiping with a mouse feels stupid.
For trivial stuff TouchEvents already simulate mouse events and every new technology will — these events are our common compatibility layer already.
TouchEvents are a bit of a mess, but it's fixable and it's being worked on, e.g. standardising simulated mouse events, removing click delay, adding ability to prevent scroll from any touchmove event.
TouchEvents even sometimes nicer to work with, e.g. touchend will be fired on the same element that received touchstart (there are edge cases in there, but I've never ran into them), while this is not guaranteed with pointerup, so it's easy to write bad code that causes dragged elements become "sticky".
Both cases are explained as security measures. But they are coincidentally degrading web applications' performance, which benefits Apple's app store revenue.
I have an iPhone, but I use it so rarely it's sometimes out of battery for weeks. I guess it's too "one size fits all" device to me. Some things are deceptively nice in it, it's smooth... but it doesn't respect my wishes.
Using Opera on Android instead. Perfect mobile browser for a mobile phone after enabling flow option in the settings (Text wrap).
Another app I couldn't live without is f.lux or equivalent. I wish iOS could have it without jailbreak.
My primary input device has been a stylus for over a decade, so I'd love to see unified input support on the web, but with all the talk of getting to 60 FPS, I can understand why a spec that contradicts that isn't being implemented.
https://code.google.com/p/chromium/issues/detail?id=162757#c...
If you want to help, please star _this_ issue in the Chromium bug tracker and make some noise
* https://code.google.com/p/chromium/issues/detail?id=162757Just saying.
Right next to your citation.
Exactly. The version of the DnD API implemented by Microsoft for the most part wasn't that great either (did Microsoft catch up with what other browser vendors provide these days yet?). But at least they did something and they let it be standardized without any patent claims. We had these problems and Microsoft came up with solutions. Of course you want to use XMLHttpRequest2 or WebSockets and you want to use the dataTransfer object with mime types and the FileReader API. But Microsoft at least initiated that development.
Now that almost sounds like I'm a Microsoft fan boy. I'm not. I use Linux. Couldn't stand to use Windows. But I think one should give credit where credit is due.