WebRTC  and  XWiki

Ludovic  Dubost,  XWiki  SAS
WebRTC  Conference,  Paris,  Dec  12th,  2013

2/16
Agenda
·∙ About  me  and  XWiki
·∙ Why  WebRTC  with  XWiki
·∙ Technical  Implementation
·∙ What  we  learned
·∙ Future

3/16
About  me  and  XWiki
·∙ Creator  of  XWiki  and  founder  of  XWiki  SAS
·∙ XWiki,  the  best  way  to  organize  information
·∙ Founded  in  2004,  10  years  ago
·∙ Self  funded  and  independent
·∙ 35  people,  France  and  Romania
·∙ 100%  Open-­Source
·∙ >  1  million  downloads
·∙ 8  times  participant  to  the  Google  Summer  of  Code
·∙ XWiki  SAS  provides  services  on  top  of  XWiki
4/16
XWiki  Usages
·∙ Wiki  and  Knowledge  Bases
·∙ Information  Organization
·∙ Collaboration  and  Communication
·∙ Competitive  Intelligence
·∙ Public  Web  Sites
·∙ Education
·∙ Custom  Web  development

5/16
Why  WebRTC  with  XWiki
·∙ 100%  Web  technology
·∙ Natural  extension  of  collaboration
·∙ Content  /  Chat  /  Conference
·∙ Web  Support  (screen  sharing)
·∙ We  love  standards

6/16
Technical  Implementation
·∙ WebRTC  needs:
·∙ Compatible  browser
·∙ A  signaling  system
·∙ XWiki  constraints
·∙ Java  based
·∙ Multi-­page  Web  Application

7/16
Integration  with  XMPP
·∙ We  embedded  an  XMPP  Server  in  XWiki  (vysper)
·∙ We  added  XMPP  web  chat  technology  (candy)
·∙ We  added  Video  Call  links  in  the  chat  application
·∙ WebRTC  signaling  build  on  top  of  XMPP
·∙ Installed  our  own  turn  server

8/16
Starting  a  Call

9/16
A  few  seconds  later

10/16
Real  Demo

11/16
Difficulties
·∙ No  signaling  technology,  but  you  still  need  a  stun/turn  server
·∙ We  tried  hollaclient  -­>  nodejs  dependency
·∙ We  tried  to  use  candy-­jingle  -­>  too  complicated
·∙ Difficulties  with  ordering  of  signaling  messages
·∙ Error  handling  not  strong  enough

12/16
What  we  liked
·∙ Web  standard
·∙ Very  flexible  UI
·∙ you  can  put  the  video  anywhere  in  the  page

13/16
Future
·∙ Many  other  possible  usages:
·∙ Click  to  call
·∙ Online  Support
·∙ Recording  audio/video  or  screen
·∙ Call  outside  of  the  chat  application
·∙ Multi-­user  calls

14/16
Open  Source

Everything  is  open-­source,  published  in  our  chat  extension
https://github.com/xwiki-­contrib/xwiki-­platform-­chat/

15/16
Contact

Ludovic  Dubost
ludovic@xwiki.com
skype:  ldubost
http://twitter.com/ldubost
http://xwiki.com
http://xwiki.org

16/16

WebRTC and XWiki

  • 2.
    WebRTC  and  XWiki Ludovic Dubost,  XWiki  SAS WebRTC  Conference,  Paris,  Dec  12th,  2013 2/16
  • 3.
    Agenda ·∙ About  me and  XWiki ·∙ Why  WebRTC  with  XWiki ·∙ Technical  Implementation ·∙ What  we  learned ·∙ Future 3/16
  • 4.
    About  me  and XWiki ·∙ Creator  of  XWiki  and  founder  of  XWiki  SAS ·∙ XWiki,  the  best  way  to  organize  information ·∙ Founded  in  2004,  10  years  ago ·∙ Self  funded  and  independent ·∙ 35  people,  France  and  Romania ·∙ 100%  Open-­Source ·∙ >  1  million  downloads ·∙ 8  times  participant  to  the  Google  Summer  of  Code ·∙ XWiki  SAS  provides  services  on  top  of  XWiki 4/16
  • 5.
    XWiki  Usages ·∙ Wiki and  Knowledge  Bases ·∙ Information  Organization ·∙ Collaboration  and  Communication ·∙ Competitive  Intelligence ·∙ Public  Web  Sites ·∙ Education ·∙ Custom  Web  development 5/16
  • 6.
    Why  WebRTC  with XWiki ·∙ 100%  Web  technology ·∙ Natural  extension  of  collaboration ·∙ Content  /  Chat  /  Conference ·∙ Web  Support  (screen  sharing) ·∙ We  love  standards 6/16
  • 7.
    Technical  Implementation ·∙ WebRTC needs: ·∙ Compatible  browser ·∙ A  signaling  system ·∙ XWiki  constraints ·∙ Java  based ·∙ Multi-­page  Web  Application 7/16
  • 8.
    Integration  with  XMPP ·∙We  embedded  an  XMPP  Server  in  XWiki  (vysper) ·∙ We  added  XMPP  web  chat  technology  (candy) ·∙ We  added  Video  Call  links  in  the  chat  application ·∙ WebRTC  signaling  build  on  top  of  XMPP ·∙ Installed  our  own  turn  server 8/16
  • 9.
  • 10.
    A  few  seconds later 10/16
  • 11.
  • 12.
    Difficulties ·∙ No  signaling technology,  but  you  still  need  a  stun/turn  server ·∙ We  tried  hollaclient  -­>  nodejs  dependency ·∙ We  tried  to  use  candy-­jingle  -­>  too  complicated ·∙ Difficulties  with  ordering  of  signaling  messages ·∙ Error  handling  not  strong  enough 12/16
  • 13.
    What  we  liked ·∙Web  standard ·∙ Very  flexible  UI ·∙ you  can  put  the  video  anywhere  in  the  page 13/16
  • 14.
    Future ·∙ Many  other possible  usages: ·∙ Click  to  call ·∙ Online  Support ·∙ Recording  audio/video  or  screen ·∙ Call  outside  of  the  chat  application ·∙ Multi-­user  calls 14/16
  • 15.
    Open  Source Everything  is open-­source,  published  in  our  chat  extension https://github.com/xwiki-­contrib/xwiki-­platform-­chat/ 15/16
  • 16.