Google Wave<br />Open source days 2010<br />March 5 2010<br /> <br />Daniel Graversen<br />Masteringwave.com<br />Daniel G...
Daniel Graversen<br />Daniel Graversen   dgr@masteringwave.com<br />
Agenda<br />Why Open source and Wave<br />Use Cases<br />Development options<br />Daniel Graversen   dgr@masteringwave.com...
Why opensource and Wave<br />Lesson in why Opensource targets business<br />More buzz around the product<br />More partcip...
E-mail resembles the conventional post system<br />Challenges of e-mail<br />Collaborating on a piece of text<br />Adding ...
Wave is a hostedconversation<br /><ul><li>A Wave is shared
A Wave is both conversation and document
A Wave is live
A Wave can be extended to provide business context</li></ul>By design solves most of e-mail’s problems<br />
Wave in organisations<br />No emails back and forth. <br />Clarity<br />A lot of processes in organisations can leverage f...
Daniel Graversen   dgr@masteringwave.com<br />
Wave inbox<br />Daniel Graversen   dgr@masteringwave.com<br />
Google WaveNot Your Grandmothers Email...<br />Daniel Graversen   dgr@masteringwave.com<br />
Context<br />Time<br />Relations<br />The new way to communicate<br />Daniel Graversen   dgr@masteringwave.com<br />
Wavelets og Blips<br />Daniel Graversen   dgr@masteringwave.com<br />
My Usecases with Wave<br />Status meetings<br />Scrum planning, backlog and status<br />Blog writting<br />Company procedu...
Daniel Graversen   dgr@masteringwave.com<br />
What's in the box?<br /><ul><li>Realtimecommunication protocol
Extensions
Robots
Gadgets
Extensions
Open source components</li></ul>Daniel Graversen   dgr@masteringwave.com<br />
Protocol<br />XMPP to communication between servers<br />Wave Fed. Protocol on the server<br />RPC to client<br />Daniel G...
Operational Transformation<br /><ul><li>Any changes to the shared object is described as an operation
e.g. insert character "a" at position x
As long as there is a function transform() with the following behaviour, it is always possible to have all the clients com...
S = Server OperationC = Client OperationS' = Transformed Server OperationC' = Transformed Client Operation(S', C') = trans...
Client and server must have the same transform() function
Soren Lassen http://www.waveprotocol.org/presentations</li></ul>Daniel Graversen   dgr@masteringwave.com<br />
Operations compose<br /> <br />Daniel Graversen   dgr@masteringwave.com<br />
Upcoming SlideShare
Loading in...5
×

GoogleWave presentation from Opensource Days 2010

1,351

Published on

My presentation on Google Wave at the opensourcedays in copenhagen march 5 2010.

Published in: Technology, News & Politics
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,351
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
13
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • Letuslook at howe-mailworks and whatthechallengeswiththis is.The design ofe-mailresemblesthetraditional post system. An e-mail is like a letter; it has a recipientwhich is used by to routethemessage and it has contentswhichopenedonce it reachestherecipientIfyou have severalrecipients to an e-mail, thee-mailwithcontents is copied and sent to eachrecipientseparately.Iftherecipientwant to respond, thee-mail is typicallycopied, modified and sent to the original sender. There is no link betweenthise-mail and the original one; onlywhatcan be readoutofthecontents.Becauseofthis, there is no single versionofthetruth for theconversation and this is theroot for most ofthe problems withe-mail.Collaborating on a piece of text - Different versions of the truth cause a high overhead for each iterationAdding new people – People can be added by anyone, but the next e-mail could reverse it. Forwarding e-mail. Etiquette around when to add people like your boss. Also, new people have a tough job understanding what has discussed earlierAttaching files – Files are only available in the e-mail it was sent. All subsequent e-mails have not access it and cause lost time due to searching etc.Multiple conversation branches – Typically use case where 4 questions are asked, but only last one is responded to.Small corrections – High overhead for each mail iteration, means that small corrections, for example in meeting minutes, are not performedEmail to IM to Email – Often a conversation changes to IM due to need for realtime communication. This looses all contextSecurity – Security of e-mails is in general poor. Any technical savvy person can send an e-mail that to most users appear to be from another personAudit trail – How said what is difficult to get based on the last e-mail since there is no one version of the truth and important points may be lostNo business context – Perhaps the most important, there is no relation to business context the e-mail was sent as part of. Which customer, which process. Also any data that are input to the conversation are pulled from business systems and copied to the e-mail
  • Google Wave is an online tool for real-time communication and collaboration, which strives to be as good as face-to-face communication.It uses what progress and knowledge we’ve gained in the last 40 years, and applies it to the problem domain e-mail covers. In the same way as e-mail, it is based on a set of well-defined protocols which Google encourages others also to contribute to. (more of that later)A wave is shared. Any participant can reply anywhere in the message, edit the content and add participants at any point in the processA wave is equal parts conversation and document. People can communicate and work together with richly formatted text, photos, videos, maps, and more.A wave is live With live transmission as you type, participants on a wave can have faster conversations, see edits and interact with extensions in real-time.Do live demo of wave after explaining first imageDemonstrate:Offline sendTagsAttach fileMultiple branchesReal-time updateInvite new personsBy design solves most of e-mail’s problemsNo business context – Can, as we will see, be extended to provide business contextHowever, it does create need for new etiquetteCollaborating on a piece of text – same shared view of the conversaitonAdding new people – People are added permanently. New users can through the replay function see step by step the progressAttaching files – Files are added to the wave and available for participantsMultiple conversation branches – Structure allows multiple concurrent conversationsSmall corrections – Anyone can correct the text of others. Collective meeting minutesEmail to IM to Email – Wave provides real-time collaboration. No need to switchSecurity – Security model part of waveAudit trail – Replay of all messagesLive demo (copy paste text)Project Assignment: World Class Shared Services Portal Scope:-Implement alternative channels for enquiriesNot in scope:-Content modifications (line responsibility)Resources:-Product Owner-Scrum master-Web developer
  • GoogleWave presentation from Opensource Days 2010

    1. 1. Google Wave<br />Open source days 2010<br />March 5 2010<br /> <br />Daniel Graversen<br />Masteringwave.com<br />Daniel Graversen dgr@masteringwave.com<br />
    2. 2. Daniel Graversen<br />Daniel Graversen dgr@masteringwave.com<br />
    3. 3. Agenda<br />Why Open source and Wave<br />Use Cases<br />Development options<br />Daniel Graversen dgr@masteringwave.com<br />
    4. 4. Why opensource and Wave<br />Lesson in why Opensource targets business<br />More buzz around the product<br />More partcipation and help from the community<br />First movers still can make money or get market share<br />Creates an eco system<br />More innovation<br />Must help with adoption<br />Daniel Graversen dgr@masteringwave.com<br />
    5. 5. E-mail resembles the conventional post system<br />Challenges of e-mail<br />Collaborating on a piece of text<br />Adding new people<br />Attachingfiles<br />Multiple conversation branches<br />Smallcorrections<br />E-mail to IM to e-mail<br />Security<br />Audit trail<br />No business context<br />Input to challenges: http://danieltenner.com/posts/0012-google-wave.html<br />
    6. 6. Wave is a hostedconversation<br /><ul><li>A Wave is shared
    7. 7. A Wave is both conversation and document
    8. 8. A Wave is live
    9. 9. A Wave can be extended to provide business context</li></ul>By design solves most of e-mail’s problems<br />
    10. 10. Wave in organisations<br />No emails back and forth. <br />Clarity<br />A lot of processes in organisations can leverage from the use of Wave. <br />A lot of unstructured processes cannot be fitted into a box. 80/20 rule<br />One place to have communication<br />Platform for developing applications<br />Daniel Graversen dgr@masteringwave.com<br />
    11. 11. Daniel Graversen dgr@masteringwave.com<br />
    12. 12. Wave inbox<br />Daniel Graversen dgr@masteringwave.com<br />
    13. 13. Google WaveNot Your Grandmothers Email...<br />Daniel Graversen dgr@masteringwave.com<br />
    14. 14. Context<br />Time<br />Relations<br />The new way to communicate<br />Daniel Graversen dgr@masteringwave.com<br />
    15. 15. Wavelets og Blips<br />Daniel Graversen dgr@masteringwave.com<br />
    16. 16. My Usecases with Wave<br />Status meetings<br />Scrum planning, backlog and status<br />Blog writting<br />Company procedures instead of Google sites<br />Messaging with peers<br />Design documents<br />Status reports<br />Daniel Graversen dgr@masteringwave.com<br />
    17. 17. Daniel Graversen dgr@masteringwave.com<br />
    18. 18. What's in the box?<br /><ul><li>Realtimecommunication protocol
    19. 19. Extensions
    20. 20. Robots
    21. 21. Gadgets
    22. 22. Extensions
    23. 23. Open source components</li></ul>Daniel Graversen dgr@masteringwave.com<br />
    24. 24. Protocol<br />XMPP to communication between servers<br />Wave Fed. Protocol on the server<br />RPC to client<br />Daniel Graversen dgr@masteringwave.com<br />
    25. 25. Operational Transformation<br /><ul><li>Any changes to the shared object is described as an operation
    26. 26. e.g. insert character "a" at position x
    27. 27. As long as there is a function transform() with the following behaviour, it is always possible to have all the clients come to an convergent state.
    28. 28. S = Server OperationC = Client OperationS' = Transformed Server OperationC' = Transformed Client Operation(S', C') = transform(S, C)where C'⋅S = S'⋅C
    29. 29. Client and server must have the same transform() function
    30. 30. Soren Lassen http://www.waveprotocol.org/presentations</li></ul>Daniel Graversen dgr@masteringwave.com<br />
    31. 31. Operations compose<br /> <br />Daniel Graversen dgr@masteringwave.com<br />
    32. 32. Alternative Wave servers<br />Ruby on Sails<br />http://github.com/danopia/ruby-on-sails<br />FedOne<br />http://code.google.com/p/wave-protocol/<br />PyGoWave<br />http://pygowave.net/<br />Novel Pulse<br />http://www.novell.com/products/pulse/ <br />12sprints<br />http://beta.12sprints.com<br />Daniel Graversen dgr@masteringwave.com<br />
    33. 33. Alternative Clients<br />Waveboarder<br />Novell Pulse<br />Daniel Graversen dgr@masteringwave.com<br />
    34. 34. Gadget<br /><ul><li>Knowen from IGoogle
    35. 35. Wave adds
    36. 36. Buildin real time updates
    37. 37. State synronization
    38. 38. Playback – like everything else on wave
    39. 39. Can be hosted on webservers
    40. 40. Code in Javascript or Flash
    41. 41. HTML formatting</li></ul>Daniel Graversen dgr@masteringwave.com<br />
    42. 42. Gadget Screenshots<br />Daniel Graversen dgr@masteringwave.com<br />
    43. 43. Gadget Demo<br />Scrum taskboard gadget for google wave<br />Strategy Planning Tool<br />Daniel Graversen dgr@masteringwave.com<br />
    44. 44. Wave robots<br /><ul><li>React on events from the Wave, ie.:
    45. 45. New partcipants
    46. 46. Changes in the document
    47. 47. Keystrokes
    48. 48. Document Submit
    49. 49. Change to editmore
    50. 50. Can create new waves
    51. 51. Exists on Google AppEngine
    52. 52. Can create form and manage workflows</li></ul>Daniel Graversen dgr@masteringwave.com<br />
    53. 53. Robots Screenshots<br />Daniel Graversen dgr@masteringwave.com<br />
    54. 54. Robot Demo<br />SAP ES Demo, Creating Service Requests<br />Demo showing integration to SAP is possible to extract data and interact with backed<br />Google Wave workflows <br />Simple workflow engine in Wave, to have different aprovallers <br />Daniel Graversen dgr@masteringwave.com<br />
    55. 55. Embeds<br /><ul><li>Use Wave as an active content on your website.
    56. 56. Extensions for Wordpress, Drupal, Joomla, SAP portal exists.
    57. 57. Just 10 lines of code</li></ul>Daniel Graversen dgr@masteringwave.com<br />
    58. 58. Screenshots<br />Daniel Graversen dgr@masteringwave.com<br />
    59. 59. Embeds Demo<br />Daniel Graversen dgr@masteringwave.com<br />
    60. 60. Extensions<br /><ul><li>Wave “products”
    61. 61. Adds the extensions to your toolbar
    62. 62. Easy to install and remove again
    63. 63. May be distributed via Wave app store..
    64. 64. A SETTINGS WAVE to manage your extensions</li></ul>Daniel Graversen dgr@masteringwave.com<br />
    65. 65. Wave Resources<br /><ul><li>http://masteringwave.com
    66. 66. http://wave.google.com/
    67. 67. http://code.google.com/apis/wave/</li></ul>More resources<br /><ul><li>Get help to implement Wave
    68. 68. Consulting for Wave development</li></ul>Daniel Graversen dgr@masteringwave.com<br />
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×