Building The Independent Wave


Published on

My presentation at the lca2010 Googlewave miniconf

Published in: Technology, Education
  • Be the first to comment

Building The Independent Wave

  1. Building The Independent Wave
  2. What is the Independent Wave <ul><li>In a nutshell, the independent wave is all things wavey built outside of Google Wave. </li></ul>
  3. Status of the Independent Wave
  4. Where the Independent Wave needs to be
  5. Why do we need the Independent Wave <ul><li>Every system evolves
  6. Evolution happens in software as in life, mutations allow old forms to occupy new niches
  7. Iwave allows for more rapid evolution of Wave through exposure to different environments
  8. Iwave creates demand for Gwave </li></ul>
  9. What's happening in the Iwave now <ul><li>Servers </li><ul><li>FedOne </li><ul><li> </li></ul><li>Ruby On Sails </li><ul><li> </li></ul><li>Pygowave </li><ul><li> </li></ul><li>Novell Pulse </li><ul><li> </li></ul></ul></ul>
  10. Iwave Servers <ul><li>FedOne </li><ul><li>Googles Open Source Reference Server
  11. Released under Apache License (opportunity)
  12. Implements full federation protocol
  13. Not production ready
  14. Under heavy development
  15. Working Agents implementation
  16. Console based client </li></ul></ul>
  17. Iwave Servers <ul><li>Ruby On Sails </li><ul><li>Ruby based system
  18. Web based interface
  19. Achieved federation with and FedOne servers
  20. Character by character transmission
  21. Last commit was 2 nd December </li></ul></ul>
  22. Iwave Servers <ul><li>Pygowave </li><ul><li>Python/Django based system
  23. Started life as a Gadget testing framework for Gwave
  24. Still being actively developed
  25. Actively developing Client/Server Protocol
  26. Not production ready
  27. Actively developing non Web based client
  28. Doesn't support federation yet </li></ul></ul>
  29. Iwave Servers <ul><li>Novell Pulse </li><ul><li>“Social Web Aggregator”
  30. Announced Wave support (including Federation)
  31. Is still awaiting release
  32. Closed source
  33. Initially SAAS, then possibly installable product </li></ul></ul>
  34. What's happening in the Iwave now <ul><li>Clients </li><ul><li>Qwave </li><ul><li> </li></ul><li>Pygowave-qt </li><ul><li> </li></ul></ul></ul>
  35. Iwave Clients <ul><li>QwaveClient </li><ul><li>Cross platform client
  36. Works with FedOne Iwave server
  37. Under development
  38. QT Based
  39. Not production ready </li></ul></ul>
  40. Iwave Clients <ul><li>Pygowave-QT </li><ul><li>Utilises Pygowave Client/Server Protocol
  41. Proof of concept
  42. Limited to Pygowave Servers only </li></ul></ul>
  43. Evolution is driven by challenges <ul><li>Structural Challenges </li><ul><li>Protocols
  44. Integration with existing systems
  45. Agents </li></ul></ul>
  46. Structural Challenges - Protocols <ul><li>Client / Server Protocol </li><ul><li>A defined and agreed upon Client/Server protocol is essential to the growth of the Iwave
  47. Demand for “Native Wave Applications” already exists
  48. Independent protocols allowed for the development of any number of different email servers and clients
  49. Open Protocol invites new players into the eco-system </li></ul></ul>
  50. Structural Challenges - Integration <ul><li>Integration with existing systems </li><ul><li>Iwave needs to be able to plug in to existing infrastructure
  51. Integration must happen in as seamless a way as possible
  52. Iwave needs Agents. No Iwave server that doesn't support Agents will succeed
  53. For an example of such integration see PlonieBot </li></ul></ul>
  54. Structural Challenges - Agents <ul><li>Agents offer both challenges and opportunities
  55. #1 Challenge: How do you prevent malicious Agents from screwing things up? </li><ul><li>Agents not only hosted locally but remotely
  56. Determining whether a remote participant is an Agent or not </li></ul><li>Agents can make or break the Iwave </li></ul>
  57. Building the Iwave - Foundations <ul><li>Even the most impressive building needs a solid foundation
  58. Iwave foundation requires </li><ul><li>Gwave/Google
  59. Active developer community
  60. Products and Services
  61. Standards with backing </li></ul></ul>
  62. Building the Iwave - Standards <ul><li>There is currently one defined Standard </li><ul><li>Federation </li></ul><li>Standards give developers certainty
  63. Developers with certainty tend to be more inclined to develop
  64. New standards required: </li><ul><li>Client/Server Protocol
  65. Agents </li></ul></ul>
  66. Building the Iwave - Ecologies <ul><li>Remember these: </li><ul><li>Pygowave
  67. Ruby on Sails
  68. FedOne
  69. Pulse </li></ul><li>Each of these represents a potential Iwave ecology </li></ul>
  70. Building the Iwave - Ecologies <ul><li>An Iwave Ecology is made up of the following </li><ul><li>Server
  71. Client/s
  72. Agents
  73. Users </li></ul><li>All of which opportunities for developers to become involved in that ecology </li></ul>
  74. Building the Iwave – Opportunities <ul><li>Many organisations are interested in Wave
  75. However for many reasons, they can't use Gwave </li><ul><li>Privacy Legislation
  76. Commercial Confidentiality
  77. Infrastructure Requirements </li></ul><li>Each of these organisations is an opportunity for the Iwave </li></ul>
  78. Building the Iwave – My Ideal <ul><li>The following is my own Iwave Server Ideal
  79. This server needs to bridge the divide between Email and Wave: </li><ul><li>SMTP, POP3, IMAP as native rather than Agent
  80. Federation
  81. WCSP (Wave Client-Server Protocol)
  82. “Groupware”
  83. WASP (Wave Agent-Server Protocol) </li></ul></ul>
  84. Building the Iwave – Final Thoughts <ul><li>Gwave and Iwave need each other
  85. They are part of the greater ecology
  86. The early work is being done
  87. People are starting to take the first steps towards the Iwave
  88. It's exciting, isn't it </li></ul>