Microsoft Surface Hub 2 + WebRTC

This demo of the Microsoft Surface Hub 2 is pretty damn cool…
I don’t run a lot of Microsoft product anymore, switched to mac when the intel chip landed + Apple moved to a unix underpinning. That said, I have seen much better quality in products coming from Microsoft in the last few years, so maybe they deserve a second look.
Surface Hub 2 sort of reminds me of a product called Perch, built a by a local Vancouver team which was meant to serve as a portal into disparate global offices. Perch was way before it’s time. WebRTC was still in its infancy and personal device video conferencing had not really crossed the chasm, which is a shame considering where we are today.
Now there are many of video conferencing companies and products, and plenty of alternatives / platforms for developers to build on. It certainly seems plausible now that we could see the Microsoft Surface Hub 2 in boardrooms across the globe. Apparently it will be interoperable with WebRTC endpoints as well, which could make this a powerful work tool indeed. That would enable collaboration with peers over IP on various endpoints including laptops, tablets and mobile, regardless of the OS. Sharing product ideas, riffing on concepts and polishing final features on a product release using the Microsoft Surface Hub 2 as a tool, could be a refreshing new way to work.
It will be interesting to see what developments come about from the Microsoft press event in NYC in April, as reported by The Verge.
WebRTC Ships in MacOS and iOS 11
Update:
Looks like VP8 is not there after all, bummer. More political jostling afoot, which sucks for the development community.
—
This is a big deal, to have Apple / Safari onboard is really the final major obstacle in the adoption of this awesome standard.
More info (thanks Marc Abrams !!)…
Based on the beta for macOS High Sierra – that was made available yesterday…
– https://cl.ly/3q0p1O3…
– Test samples: webrtc.github.io/samples/ (It passed most of the tests)
– Video codec support is VP8 and H.264 (I have not seen a test that shows H.265 or HEVC but I know it’s there)
– Audio codec support is Opus, ISAC16, G.722 and PCMU
– Basic datachannel support is there but none of the tests seem to work
AWESOME!!! This took a bit longer that many of us were expecting, but hey better late than never!
PulverHWC – How We Communicate

Next week I will be joining friends old and new at PulverHWC to rediscover – How We Communicate.
Here is an email from Jeff Pulver inviting all of you to join us in Los Gatos for what is sure to be a landmark occasion.
Hope to see you there!
Erik
The Keys to the Communications Universe
Next week I return to doing the one thing that I love best – bringing together brilliant, interesting people.
Leaders, visionaries, dreamers and market makers from the worldwide communications industry have accepted my invitation to take part in the Pulver HWC Summit, May 18 – 19 at Testarossa Winery in Los Gatos, CA. I am grateful for both the people who are speaking and the tech legends who have signed up to join us for an intimate conversation. I believe understanding the message behind “How We Communicate” (“HWC”) is the next great area of growth in the communications space. Trillions of dollars of opportunity will be created and there are relationships to be forged, deals to be made, and knowledge to be shared.
There are a limited number of tickets still for sale. To join the conversation and to register, please click here. I would appreciate it if you could share this email with your friends and family involved in the communications industry.
Thank you!
Warm hugs, Jeff
W3C ORTC CG – Editors Draft Update – May 4
http://ortc.org/wp-content/uploads/2016/05/ortc.html#change-log*
B.1 Changes since 01 March 2016
- Added the
gather()
method, as noted in: Issue 165 - Removed “public” from
, as noted in: Issue 224RTCIceGatherPolicy
- Removed the minQuality attribute, as noted in: Issue 351
- Made
send()
andreceive()
asynchronous, as noted in: Issue 399, Issue 463, Issue 468 and Issue 469 - Provided additional information on ICE candidate errors, as noted in: Issue 402
- Added state attribute to
, as noted in: Issue 403RTCSctpTransport
- Provided an example of RTX/RED/FEC configuration, as noted in: Issue 404
- Clarified
payloadType
uniqueness, as noted in: Issue 405 - Updated the list of header extensions, as noted in: Issue 409
- Added “goog-remb” to the list of feedback mechanisms, as noted in: Issue 410
- Added kind argument to the
constructor, as noted in: Issue 411RTCRtpReceiver
- Clarified
send()
restrictions on kind, as noted in: Issue 414 - Added
getAlgorithm()
method, as noted in: Issue 427 - Changed
protocol and label to USVString, as noted in: Issue 429RTCDataChannel
- Clarified nullable attributes and methods returning empty lists, as noted in: Issue 433
- Clarified support for the “direction” parameter, as noted in: Issue 442
- Clarified the apt capability of the “red” codec, as noted in: Issue 444
- Clarified usage of
attributes, as noted in: Issue 445RTCRtpEncodingParameters
- Clarified firing of
onssrcconflict
event, as noted in: Issue 448 - Clarified that CNAME is only set on an
, as noted in: Issue 450RTCRtpSender
- Updated references, as noted in: Issue 457
- Described behavior of
send()
andreceive()
with unset
, as noted in: Issue 461RTCRtpEncodingParameters
- Corrected dictionary initialization in the examples, noted in: Issue 464 and Issue 465
- Corrected use of enums in the examples, noted in: Issue 466
- Clarified handling of identity constraints, as noted in: Issue 467 and Issue 468
- Clarified use of
RTCRtpEncodingParameters
, as noted in: Issue 470 - Changed hostCandidate type, as noted in: Issue 474
- Renamed state change event handlers to onstatechange, as noted in: Issue 475
- Updated description of
closed state, as noted in: Issue 476RTCIceGatherer
- Updated description of
object, as noted in: Issue 477RTCIceTransport
- Updated description of relatedPort, as noted in: Issue 484
- Updated description of
, as noted in: Issue 485RTCIceParameters
- Clarified exceptions in
construction, as noted in: Issue 492RTCDataChannel
- Provided a reference to
error.message
, as noted in: Issue 495 - Clarified
description, as noted in: Issue 496RTCRtpReceiver
- Clarified default for clockRate attribute, as noted in: Issue 500
- Removed use of “null if unset”, as noted in: Issue 503
- Updated
constructor, as noted in: Issue 504RTCSctpTransport
- Clarified behavior of
getCapabilities()
, as noted in: Issue 509 - Addressed issues with
, as noted in: Issue 519RTCDataChannelParameters
First Virtual W3C WebRTC Meeting
Last Thursday we had the first virtual w3c webrtc wg interim meeting. Once we sorted out a few technical details it went quite well!
Meeting Home Page:
https://www.w3.org/2011/04/webrtc/wiki/January_14_2016#Virtual_Interim
W3C ORTC CG Meeting 10 underway
ORTC, WebRTC, H.264, VP8, RID, RtpEncoding, Simulcast and much more. Google, Microsoft and Hookflash leading the discussion, join us!
http://ortc.org/2015/11/04/w3c-ortc-cg-meeting-10-november-20-2015/
WebRTC Developer Contract in Seattle – 5 months
We have an immediate WebRTC development contract opportunity that has just come up in the Seattle area. The contract requires 4-5 full-time developers onsite, remote will not fit the bill on this one.
For this contract we are looking for a team lead, 2 x Node.js, 2 x common JS developers
You have built commercial web applications using WebRTC libraries and are intimately familiar with the WebRTC and ORTC specs and respective libraries.
Start date: ASAP
If you are interested please forward your resume elagerway@gmail.com
Microsoft Edge ships ORTC API preview
From Microsoft – http://blogs.windows.com/msedgedev/2015/09/18/ortc-api-is-now-available-in-microsoft-edge/
Our initial ORTC implementation includes the following components:
- ORTC API Support. Our primary focus right now is audio/video communications. We have implemented the following objects: IceGatherer, IceTransport, DtlsTransport, RtpSender, RtpReceiver, as well as the RTCStatsinterfaces that are not shown directly in the diagram.
- RTP/RTCP multiplexing is supported and is required for use with DtlsTransport. A/V multiplexing is also supported.
- STUN/TURN/ICE support. We support STUN (RFC 5389), TURN (RFC 5766) as well as ICE (RFC 5245). Within ICE, regular nomination is supported, with aggressive nomination partially supported (as a receiver). DTLS-SRTP (RFC 5764) is supported, based on DTLS 1.0 (RFC 4347).
- Codec support. For audio codecs, we support G.711, G.722, Opus and SILK. We also support Comfort Noise (CN) and DTMF according to the RTCWEB audio requirements. For video we currently support the H.264UC codec used by Skype services, supporting advanced features such as simulcast, scalable video coding and forward error correction. We’re working toward to enabling interoperable video with H.264.
More here..
Bernard Aboba joins W3C WebRTC WG as Editor
W3C WebRTC working group chairs [Harald Alvestrand (Google), Stefan Håkansson (Ericsson), Erik Lagerway (Hookflash)], made a decision recently to add a new editor to the working group, as Peter St. Andre (&yet) has resigned as editor.
Bernard Aboba (Microsoft) has now been appointed as editor.
Bernard’s attention to detail and advocacy for transparency, fairness and community has been refreshing. It has been my pleasure (as chair of the W3C ORTC CG) to work with Bernard whom also is an author in the W3C ORTC CG alongside Justin Uberti and Robin Raymond (editor). I look forward to working more with him in the WG.
Congrats Bernard!
/Erik