11 ms·
Apple Announces Full WebRTC Support in Safari 11
- EGreg 9y agoDoes this mean Apple may actually implement Service Workers and Web Push in the next Safari?? :)
- butz 9y agoService Workers are "under consideration" (https://webkit.org/status/#specification-service-workers https://webkit.org/status/#specification-service-workers), but there's no mention of Web Push. We can only hope.
- shacharz 9y agoBy Web Push you mean http2.0's push feature? If so then yes (http://caniuse.com/#search=http%2F2 http://caniuse.com/#search=http%2F2). AFAIK Service workers are still under consideration, and nothing was announced.
- sanxiyn 9y agoBy Web Push EGreg probably means https://www.w3.org/TR/push-api/ https://www.w3.org/TR/push-api/ which requires Service Workers as a dependency.
- threeseed 9y agoI hope not as Service Workers is an awful technology. It is completely hostile to users. If I close a web page I expect everything related to that web page to stop. Immediately. I don't expect there to be lingering background threads consuming battery life, network data and disk storage. And in Chrome you can only discover service workers by enabling a Debug mode and memorising a specific URL. Exactly how does a non-developer figure out what is going on ? If Apple had any sense they would ban service workers and instead propose use case specific, tightly focused and managed APIs that focus on security and battery life first. Also just a hint at a future where Botnets are running in your browser: https://sakurity.com/blog/2016/12/10/serviceworker_botnet.html https://sakurity.com/blog/2016/12/10/serviceworker_botnet.ht...
- EGreg 9y agoService workers were designed to only work during events which you opted into. Either because you loaded the site which is now making requests, or because you OPTED IN to receive notifications. Think about it this way... why do you have to download an entire app just to use a site? Don't like the notifications? Turn the off.
- threeseed 9y agoYes because ordinary users never, ever opt in to things they shouldn't. And because of that one opt-in mistake suddenly they have invisible service workers mining Bitcoins which they could never learn about since the discovery mechanism for service workers is currently non-existent. Again, the concept of background tasks isn't necessarily a bad thing. But it needs to be locked down to specific use cases not a free for all allowing arbitrary JS to be executed.
- MichaelGG 9y agoSo limit the amount of CPU/bw/etc. they can use, just like mobile platforms do for background apps?
- robbiet480 9y agoWould assume no since they have APNS built into Safari/macOS [1] with a registration workflow that is nowhere close to the one that the Push API spec uses. I think Apple would keep it that way since they are sensitive about notifications not being used to spam/advertise. [1]: https://developer.apple.com/notifications/safari-push-notifications/ https://developer.apple.com/notifications/safari-push-notifi...
- deleted 9y ago[deleted]
- JBReefer 9y agoI wish Web Push would go away. The last thing I/most people/my inlaws who can't use a computer need is more notifications
- dested 9y agoWow, this has been a long time coming. So many shoddy video communication hacks can finally go away. This is huge.
- jameslevy 9y agoShould we assume mobile safari will also get WebRTC support, or is that a lot less likely to happen in the near future?
- shacharz 9y agoAFAIK it was part of the IOS11 announcement, so I'm inferring it'll be part of it, but couldn't find written proof
- om2 9y agoIt's coming to both macOS and iOS in Safari 11 and iOS 11.
- shacharz 9y agoCan you share a link please?
- om2 9y agoHere's the announcement on the WebKit blog: https://webkit.org/blog/7726/announcing-webrtc-and-media-capture/ https://webkit.org/blog/7726/announcing-webrtc-and-media-cap...
- jameslevy 9y agoiOS is specifically mentioned: https://webkit.org/blog/7726/announcing-webrtc-and-media-capture/ https://webkit.org/blog/7726/announcing-webrtc-and-media-cap... "Today we are thrilled to announce WebKit support for WebRTC, available on Safari on macOS High Sierra, iOS 11, and Safari Technology Preview 32."
- ArlenBales 9y agoWhat WebRTC apps can we expect will be mainstream in, say, 6 years? I'm just trying to picture what this technology will allow (or replace).
- stcredzero 9y agoWell as of right now, my browser based real-time action game won't suffer from head-of-line queueing in TCP based Websockets on Safari.
- shacharz 9y agoThat's the $1B question. The obvious application is the video conferencing style hangouts, Skype (which are using WebRTC already). The nice thing about having video conf capabilities in the browser is that you can embed it in any web page and start do interesting things with it - like interactive lectures. Improved gaming networking is another vertical. We've built Peer5 (W17) on top of WebRTC to create a P2P CDN for Video streaming
- ArlenBales 9y agoWhat about a WebRTC version of Twitch.tv? Is that feasible in 5 or 10 years? Twitch does transcoding and I'm not sure how transcoding would work with WebRTC.
- shacharz 9y agoWhat do you mean exactly by that? You want to replace the contribution side (camera to server) by WebRTC or delivery side (server to screen) or both? Contribution: there are platforms who already uses WebRTC instead of rtmp to stream the live camera feed. You can use tokbox's apis for example. Delivery: This is where it gets more tricky, the nice thing about http based streaming like HLS and DASH is that it's cacheable just like any other file served over http - making it extremely scalable and that's how most CDNs operate today. Changing that part into WebRTC has it's benefits like low latency but has a huge degradation in scaling complexity because of the connection state oriented nature of WebRTC, there are companies trying to build that as well e.g: Red5
- hannob 9y agoI saw this yesterday on twitter and my thought was "they don't support webrtc yet?!? seriously?" It sometimes baffles me how apple is holding up progress on the web - and that they aren't criticized more for it.
- 013a 9y agoAs long as we get there eventually, I will always side with taking the time to do it right. There is room in the world for both a highly advanced browser, with the sacrifices that come with that, and a workhorse. Nothing is stopping you from having them both installed (except, well, on iOS).
- abalone 9y agoThey're not holding up progress. They have different objectives, and chief among them is power efficiency. Chrome eats up a lot more battery life than Safari.[1] So did Flash (among other conflicts), and I think we all accept now that "holding that up" was good for the web in the long run. Apple tends to take a little longer and suffer a little short-term pain to get it right in the long run. [1] https://daringfireball.net/2017/05/safari_vs_chrome_on_the_mac https://daringfireball.net/2017/05/safari_vs_chrome_on_the_m...
- o_____________o 9y agoApple has absolutely kneecapped web technologies. Mobile Safari has simple, egregious bugs that have been open for years. We're talking about things like being able to crash the browser with CSS or file selection, etc. It's impossible to make the case that Apple is just rejecting features for the sake of the user. The next question is why, and you'll need some creativity to come up with any other answer than pointing to the monolithic, money printing app store.
- microcolonel 9y agoApple and Microsoft waited five years to deploy this thing. Given how quickly it was implemented and adopted by other browsers, I have to wonder what their motives were for deliberately not integrating it; because frankly they could've done it pretty quickly at any point in the last five years. I remember having to integrate WebRTC through cordova (thank goodness somebody did it first) a couple years ago, and wondering why on earth Apple didn't find time or money for this. libwebrtc has been stable for years, it represents effectively no security risk, it performs well on all of their platforms. It truly boggles the mind.
- abalone 9y agoDon't forget energy efficiency. That's a huge priority for Apple and explains a lot of delays. Safari is way more energy efficient than Chrome.[1] [1] https://daringfireball.net/2017/05/safari_vs_chrome_on_the_mac https://daringfireball.net/2017/05/safari_vs_chrome_on_the_m...
- microcolonel 9y agoThis is completely unrelated. This is a feature which their platform completely lacks, if they added this feature it would not have an effect on the energy efficiency of code which does not use it.
- om2 9y agoIn a sense you're right. But we also want to make sure WebRTC websites don't blow out your battery, and we went to some effort to make sure it uses efficient video encoding/decoding paths. That said, this was not a majority of the effort.
- nottorp 9y agoBesides battery life, Chrome on the Mac prevents sleep indefinitely sometimes. If you check with pmset -g assertions, you'll see Chrome saying "WebRTC has active PeerConnections". No thanks Google, you shouldn't get to decide when my PC goes into sleep mode. I really hope Safari is better than that... Edit: just as i'm typing this, Chrome has: pid 19325(Google Chrome): [0x001ccbbb00018b19] 01:55:40 NoIdleSleepAssertion named: "WebRTC has active PeerConnections" 2 hours for... what? I have no idea which page is guilty.
- om2 9y agoWebRTC was the #1 most requested web platform feature for Safari. Now coming to macOS and iOS: https://webkit.org/blog/7726/announcing-webrtc-and-media-capture/ https://webkit.org/blog/7726/announcing-webrtc-and-media-cap... You can even try it out now on Safari Technology Preview: https://webkit.org/blog/7627/safari-technology-preview-32/ https://webkit.org/blog/7627/safari-technology-preview-32/
- russelldc 9y agoI can't get many WebRTC projects/test pages to actually work on the new Safari preview. Is there anywhere they list the specific features implemented from the spec?
- shacharz 9y agoTry running https://test.webrtc.org/ https://test.webrtc.org/
- russelldc 9y agoThe audio capture fails, then the camera gets stuck on "Check resolution 320x240" without error. If I tick "Remove Legacy WebRTC API", and retry, they all fail until it gets stuck with no message on "Udp enabled".
- om2 9y agoUnfortunately this test page uses legacy APIs that have been removed from the spec years ago, so it can't give an accurate assessment.
- king7532 9y agohttps://bugs.webkit.org/show_bug.cgi?id=173022 https://bugs.webkit.org/show_bug.cgi?id=173022
- om2 9y agoWe're working individually with WebRTC sites to get them running. There's complications because many sites use legacy APIs that are not in the spec but still exist in Chrome. We're adding some of those for more compatibility.
- sherbondy 9y agoSO excited about this. Data-channel and all. Non-jailbroken torrenting on iOS at long last :P https://webtorrent.io/ https://webtorrent.io/ Also, definitely worth trying out this AR.js demo if you're running the beta: https://freinbichler.me/apps/web-ar/ https://freinbichler.me/apps/web-ar/ Always thought it was a little peculiar that the Media Capture APIs are tied to what is otherwise a very data/protocol-oriented spec. Wish we could have had a camera feed in a canvas element on Mobile Safari a few years ago without having to wait for the entirety of WebRTC to be vetted. :P --- And now, for my own unrelated Web API peeve: Beyond service workers and all that jazz, I'm a little bummed out that the Pointer Events API isn't even listed on the Webkit Feature Status page: https://webkit.org/status/ https://webkit.org/status/ It just seems like such a pleasant unification of all of the input-type APIs (mouse, touch, pen, hypothetical future peripherals...) At least touch events have a "force" property with Apple Pencil input in the meantime. No tilt though. Maybe next year :/
- spike021 9y agoHow would this allow you to torrent on iOS without jailbreaking the device? My phone, though an iPhone 6, seems to shut down Safari if I've been using other apps long enough. I can't imagine it staying alive long enough to torrent anything large.
- btown 9y agoJust have an iframe on the web torrent client page so you can reddit to pass the time!
- IMcD23 9y agoKeep Safari active. You can use other apps in split screen while the file downloads.
- MBCook 9y agoNo split screen on the phones (unless perhaps the plus size allows it, but I don't think so).
- 9y ago
- lern_too_spel 9y agoWe're not out of the woods yet: https://thenewdialtone.com/hold-apple-webrtc-ios-party/ https://thenewdialtone.com/hold-apple-webrtc-ios-party/
- TD-Linux 9y agoPlan B is pretty disappointing, Chrome compatibility winning over standards compliance :(
- deleted 9y ago[deleted]
- bla2 9y agoStill only supports proprietary codecs from what I understand. So not "full".
- TD-Linux 9y agoIt does support Opus for audio! No VP8 yet, but halfway there.
- gk3 9y agoive dreamt of this for years!!! so excited. quick question: i noticed that the camera isnt available on iOS 11 if you put a web-app capable page on to your homescreen. when you open the page in full screen, mediaDevices is undefined. is that just an iOS beta bug?
- eridius 9y agoSounds like a bug to me. You should file it at http://bugreport.apple.com http://bugreport.apple.com.
- gk3 9y agowill do!
- voltrevo 9y agoIt’s not a bug. Spoke to an Apple engineer about this today at WWDC. There’s security concerns enabling media devices for webviews outside safari, but it should be coming ‘soon’.
- kobayashi 9y agoCan it be disabled? (VPN privacy, and all...)
- brian_herman 9y agoYayaya!
- shmerl 9y agoSo now they'll start supporting Opus at last, or they'll find another excuse not to support free codecs? Once they'll support it, AAC can be thrown out in the garbage. And when are they going to support MSE[1] in iOS Safari? 1. https://en.wikipedia.org/wiki/Media_Source_Extensions https://en.wikipedia.org/wiki/Media_Source_Extensions
- cptskippy 9y agoAnyone else feel like Apple is the new Microsoft and they hold the world hostage by only updating their products every couple years with features we actually want? It seems like just as the unrest is about to hit critical mass they spring into action and implement just enough to placate everyone for another couple years.
- taf2 9y agoTypeError: nativeMediaDevices.addEventListener is not a function still some bugs maybe...
- kosinus 9y agoThis is a capturing API, I guess? Using webrtc-adapter, all of my webrtc code instantly worked. Though it doesn't seem to want to connect to firefox peers.
- TheAceOfHearts 9y agoI'll take a quick moment to share my favorite web app which uses WebRTC: Instant.io [0]. I use it all the time to transfer files among local devices, or to send medium to large files to friends. [0] https://instant.io https://instant.io
- zurn 9y agoIt would be interesting to see surveys about mobile IPv6, will it get along with P2P? Will mobile users get P2P video this way or have the operators crippled end-to-end connectivity?
- ap46 9y agoYASSS!!! FINALLY!
- angry_octet 9y agoSo, any one know how one might block WebRTC in Safari?