It's obvious that Apple slowed down innovating the web since the core of their business is iOS and apps. They shouldn't have any interest in a fast innovating web that gets on par with native apps which is their main lock-in for iOS, just like Microsoft 15 years ago. They only speed up their rendering engine and JS core but don't try to help on standards improving the web experience.
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."
It's obvious that Apple slowed down innovating the web since the core of their business is iOS and apps
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.
>CSS Flexbox is the best positioning standard I encountered, every vendor supports it, only Apple still prefixes it with -webkit.
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.
> It's obvious that Apple slowed down innovating the web since the core of their business is iOS and apps. They shouldn't have any interest in a fast innovating web that gets on par with native apps which is their main lock-in for iOS
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.
It is quite simple. I have a few friends who work for Apple and they are exhausted. They don't have time to fix everything and they don't simply hire in mass because they believe in quality. A lot of these issues will not get fixed anytime soon at this rate. So you are right. Safari is starting to get neglected but it is not for the reasons you think.
> 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.
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.
Repeating what I said in previous thread: There are real problems with the Touch Events spec, and we need a replacement. One issue is that it is under specified w.r.t its compatibility with mouse events. A concrete example: Should the touchmove event trigger the mousemove event? I believe it does in IE and Firefox, while it does not in Chrome and Safari. This isn't specified anywhere, and can make it incredibly complex to implement something that works with both mouse and touch input. And it is exactly this type of thing that Pointer Events sets out to fix.
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.
For whatever reason, despite all the standardisation out there, DOM input always has been this massive cross-browser incompatible inconsistent proprietary clusterfuck. quirksmode.org may be known to some of you as this guy's blog, but it is best known for its DOM event compatibility tables, which somehow still matter in 2015.
If browser vendors cannot fix mouse and keyboard, why would they fix touch?
Another example: they ignored IndexedDB for a couple years after every other major browser implemented it. Then they finally got around to releasing a version of Safari with IndexedDB support... and it's just hilariously broken in so many ways http://www.raymondcamden.com/2014/09/25/IndexedDB-on-iOS-8-B...
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.
And there's the slow release cycle. It was common during the previous decade because of the stagnation of standards, but now that standards release early and often, it really shows their unwillingness to keep up.
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.
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.
As a developer who spent the last few months trying to get a website with touch events to work on the surface 3, I need to get this off my chest.
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 bug, and an extra event listener? That's enough to drive you mad? Sorry, that seems pretty mild. I understand getting wound up after spending too much time figuring out an issue. Maybe walk away from it for an hour, get a cup of something, vent on HN. Oh! That's what you're doing.
Judging from the comment thread on the Chromium tracker issue it does not look like people over at Google are any more eager to implement this than Apple is.
IIRC, pointer events require an huge amount of hit testing, and don't deal with bypassing the CPU to do smooth scrolling. Pointer events are a good solution for the future, but I understand why Google and Apple aren't pushing it, as they make phones where performance is more critical.
Is MathML actually widely used? I can't believe anyone would really want to use something else than the LaTeX stuff for typesetting formulas. There's nothing as pretty as LaTeX for that.
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?
I was really on board with this article until I got to this:
> 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.
> 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)
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.
In fullscreen mode drag a tab somewhere so that a new window gets created. This new window will have some vertical offset broken and can't be fixed by anything you do (black stripe on the bottom in fullscreen mode, lots of strange behaviour)
Mobile Safari crashes all the time on my iPad Air as well. A lot of the time it is even on well-known sites like The Verge (granted, some of this is on the web site creator).
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.
If only there was a better/faster mobile browser than Safari. The fact is there isn't, true, Google is not allowed to have its own version of Webkit/blink on iOS, but is Chrome Android better/as reliable as Safari?
> but is Chrome Android better/as reliable as Safari?
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.
Tired of Safari, but for different reasons. Mobile Safari is probably the biggest reason I don't want to use iPad or iPhone. No reflow of text after zoom, and I don't want to move back and forth right and left to read larger size text. Very useful when reading while walking or when website text is just too small. Reading list doesn't replace good zoom text reflow.
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.
I understand the frustration behind Google abandoning Pointer Events, but they have good reasons for doing so. For years, one of the bars to get a new feature added to Chrome has been "Does this increase or maintain performance?" For Pointer Events, they determined the answer was "no" because of the extra hit testing it requires, and they refuse to regress performance on the web.
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.
Interesting twist in this article. I've seen a lot of praise for his writing style (inverted pyramid) on HN, but that Google portion came out of nowhere. He is understandably upset that Apple is slowing down progress, but doesn't seem as upset that Google is doing the same thing.
On the subject of things I'm tired about. That website uses 448 px for the main content. For me that is 448 px of 1905 px. That's not even a quarter of my screen. Why in the world would you do something like this?
[+] [-] bonn1|11 years ago|reply
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."
[+] [-] matthewmacleod|11 years ago|reply
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.
[+] [-] sirn|11 years ago|reply
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.
[1]: http://trac.webkit.org/changeset/173579
[2]: https://bugs.webkit.org/show_bug.cgi?id=98420
[+] [-] bhouston|11 years ago|reply
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.
[+] [-] TazeTSchnitzel|11 years ago|reply
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.
[+] [-] electic|11 years ago|reply
[+] [-] jasonsync|11 years ago|reply
https://github.com/eligrey/FileSaver.js/issues/12
[+] [-] BinaryIdiot|11 years ago|reply
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.
[+] [-] bitdev|11 years ago|reply
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.
[+] [-] lars|11 years ago|reply
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.
[+] [-] TazeTSchnitzel|11 years ago|reply
If browser vendors cannot fix mouse and keyboard, why would they fix touch?
[+] [-] streptomycin|11 years ago|reply
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.
[+] [-] TazeTSchnitzel|11 years ago|reply
That rarely means malice. That usually means overstretched engineers.
[+] [-] throwaway41597|11 years ago|reply
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.
[+] [-] unknown|11 years ago|reply
[deleted]
[+] [-] 0x0|11 years ago|reply
[+] [-] pjmlp|11 years ago|reply
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.
[+] [-] JohnTHaller|11 years ago|reply
[+] [-] legulere|11 years ago|reply
[+] [-] TazeTSchnitzel|11 years ago|reply
[+] [-] munsoji|11 years ago|reply
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.
[+] [-] JoeAltmaier|11 years ago|reply
[+] [-] yoz-y|11 years ago|reply
[+] [-] jcampbell1|11 years ago|reply
[+] [-] bluerobotcat|11 years ago|reply
[+] [-] QuantumRoar|11 years ago|reply
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?
[+] [-] thrillgore|11 years ago|reply
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.
[+] [-] ebbv|11 years ago|reply
> 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.
[+] [-] riquito|11 years ago|reply
> 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)
[+] [-] euroclydon|11 years ago|reply
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.
[+] [-] legulere|11 years ago|reply
[+] [-] ghawkescs|11 years ago|reply
[+] [-] eridius|11 years ago|reply
> (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.
[+] [-] dimillian|11 years ago|reply
[+] [-] Mahn|11 years ago|reply
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.
[+] [-] Spoom|11 years ago|reply
As a mobile web developer, yes, mobile Chrome is way better.
[+] [-] bhouston|11 years ago|reply
[+] [-] pornel|11 years ago|reply
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".
[+] [-] gsnedders|11 years ago|reply
[+] [-] the_gipsy|11 years ago|reply
Both cases are explained as security measures. But they are coincidentally degrading web applications' performance, which benefits Apple's app store revenue.
[+] [-] evadne|11 years ago|reply
[+] [-] TazeTSchnitzel|11 years ago|reply
[+] [-] vardump|11 years ago|reply
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.
[+] [-] bsimpson|11 years ago|reply
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...
[+] [-] emehrkay|11 years ago|reply
[+] [-] madsravn|11 years ago|reply
[+] [-] ickwabe|11 years ago|reply
http://www.humanfactors.com/newsletters/optimal_line_length....
http://www.ninjapost.com/blog/on-the-importance-of-narrow-co...
http://socialtriggers.com/perfect-content-width/
[+] [-] _lce0|11 years ago|reply