ShareJS launch talk
Upcoming SlideShare
Loading in...5
×
 

ShareJS launch talk

on

  • 2,346 views

Talk at SydJS launching ShareJS - a framework for collaboratively editing documents and stuff.

Talk at SydJS launching ShareJS - a framework for collaboratively editing documents and stuff.

Statistics

Views

Total Views
2,346
Views on SlideShare
1,960
Embed Views
386

Actions

Likes
1
Downloads
11
Comments
1

8 Embeds 386

http://universalruntime.tumblr.com 309
http://bergie.iki.fi 46
https://stample.co 22
http://apps.synaptive.net 3
http://feeds.feedburner.com 2
http://www.docshut.com 2
http://a0.twimg.com 1
http://bergius36.rssing.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Apple Keynote

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • Hey Joseph,
    Just read your http://sharejs.org/ page. I suppose you are the one whose working on that and I see where you coming from. Google wave, just had a little youtube on that one (http://youtu.be/rDu2A3WzQpo) and fully understood straight away what going on. So cool, might wanna talk to you about ShareJS and stuff. cheers

    SEO Kiwi Limited NZ

    PS: Yes, I know your post is --> 'With love, Joseph Gentle, 6 Nov 2011', but still would like to talk about it :)
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n

ShareJS launch talk ShareJS launch talk Presentation Transcript

  • ShareJSCollaborative Anything
  • Ace ShareJS Client OT ShareJS Server Redis OT
  • Ace[{i:"H", p:0}] ShareJS Client[{i:"i", p:1}] OT ShareJS Server Redis OT
  • Ace[{i:"H", p:0}] ShareJS Client[{i:"i", p:1}] OT ShareJS Server Redis OT
  • Other Ace Editor[{i:"H", p:0}] ShareJS Client[{i:"i", p:1}] OT ShareJS Server Redis OT
  • Other Ace Editor[{i:"H", p:0}] ShareJS Client[{i:"i", p:1}] OT ShareJS Server Redis OT
  • Other Ace Editor[{i:"H", p:0}] ShareJS Client[{i:"i", p:1}] OT Socket.io ShareJS Server Redis OT
  • Other Ace Editor[{i:"H", p:0}] ShareJS Client[{i:"i", p:1}] OT Socket.io REST ShareJS Server Redis OT
  • Other Ace Editor[{i:"H", p:0}] ShareJS Client[{i:"i", p:1}] OT Socket.io No stre REST aming ShareJS Server Redis OT
  • [{i:"H", p:0}] Client Server [{i:"i", p:1}]Ace ShareJS ClientSocket.io ShareJS Server
  • [{i:"H", p:0}] Client Server [{i:"i", p:1}] doc:‘hello’, snapshot:nullAce ShareJS ClientSocket.io ShareJS Server
  • [{i:"H", p:0}] Client Server [{i:"i", p:1}] doc:‘hello’, snapshot:nullAce doc:‘hello’, v:10, snapshot:‘’ ShareJS ClientSocket.io ShareJS Server
  • [{i:"H", p:0}] Client Server [{i:"i", p:1}] doc:‘hello’, snapshot:nullAce doc:‘hello’, v:10, snapshot:‘’ ShareJS Client open:true, v:10Socket.io ShareJS Server
  • [{i:"H", p:0}] Client Server [{i:"i", p:1}] doc:‘hello’, snapshot:nullAce doc:‘hello’, v:10, snapshot:‘’ ShareJS Client open:true, v:10 open:true, v:10Socket.io ShareJS Server
  • [{i:"H", p:0}] Client Server [{i:"i", p:1}] doc:‘hello’, snapshot:nullAce doc:‘hello’, v:10, snapshot:‘’ ShareJS Client open:true, v:10 open:true, v:10Socket.io op:[{i:‘Hi’, p:0}], v:10 ShareJS Server
  • [{i:"H", p:0}] Client Server [{i:"i", p:1}] doc:‘hello’, snapshot:nullAce doc:‘hello’, v:10, snapshot:‘’ ShareJS Client open:true, v:10 open:true, v:10Socket.io op:[{i:‘Hi’, p:0}], v:10 op:[{d:"i", p:1}], v:11 ShareJS Server
  • [{i:"H", p:0}] Client Server [{i:"i", p:1}] doc:‘hello’, snapshot:nullAce doc:‘hello’, v:10, snapshot:‘’ ShareJS Client open:true, v:10 open:true, v:10Socket.io op:[{i:‘Hi’, p:0}], v:10 op:[{d:"i", p:1}], v:11 op:null, v:11 ShareJS Server
  • [{i:"H", p:0}] Client Server [{i:"i", p:1}] doc:‘hello’, snapshot:nullAce doc:‘hello’, v:10, snapshot:‘’ ShareJS Client open:true, v:10 open:true, v:10Socket.io op:[{i:‘Hi’, p:0}], v:10 op:[{d:"i", p:1}], v:11 op:null, v:11 ShareJS Server op:[{d:"H”, p:0}], v:12
  • [{i:"H", p:0}] Client Server [{i:"i", p:1}] doc:‘hello’, snapshot:nullAce doc:‘hello’, v:10, snapshot:‘’ ShareJS Client open:true, v:10 open:true, v:10Socket.io op:[{i:‘Hi’, p:0}], v:10 op:[{d:"i", p:1}], v:11 op:null, v:11 ShareJS Server op:[{d:"H”, p:0}], v:12 op:null, v:12
  • Ace ShareJS Client OT Socket.io REST ShareJS Server Redis OT
  • Ace ShareJS Client OT Socket.io REST Redis ShareJS Server OT Memory
  • Ace ShareJS Client OT Socket.io REST Redis ShareJS Server OT Memory % bin/sharejs
  • Ace ShareJS Client OT Socket.io REST ShareJS Server Memory OT Your Web App
  • Ace ShareJS Client OT ShareJS Server OT
  • OperationalOT = Transformation{
  • OperationalOT = Transformation{ = What happens if 2 people edit at the same time?
  • Operational OT = Transformation{ =Set of types What happens if 2 people edit at the same time?
  • Operational OT = Transformation{ = • TextSet of types What happens if 2 people edit at the same time?
  • Operational OT = Transformation{ = • TextSet of types What happens if 2 people • Rich text edit at the same time?
  • Operational OT = Transformation{ = • TextSet of types What happens if 2 people • Rich text edit at the same time? • JSON
  • Operational OT = Transformation{ = • TextSet of types What happens if 2 people • Rich text edit at the same time? • JSON • Your data
  • Operational OT = Transformation{ = • TextSet of types What happens if 2 people • Rich text edit at the same time? • JSON • Your data Only type right now
  • Operational OT = TransformationClient Server v10 ‘ACD’ v10 op:[{d:‘AC’, p:0}] op:[{i:‘B’, p:1}] ‘D’ ‘ABCD’ op:[{i:‘B’, p:0}] v11
  • Operational OT = TransformationClient Server v10 ‘ACD’ v10 op:[{d:‘AC’, p:0}] op:[{i:‘B’, p:1}] ‘D’ ‘ABCD’ op:[{d:‘A’, p:0}, op:[{i:‘B’, p:0}] v11 {d:‘C’, p:1}] v11
  • Operational OT = TransformationClient Server v10 ‘ACD’ v10 op:[{d:‘AC’, p:0}] op:[{i:‘B’, p:1}] ‘D’ ‘ABCD’ op:[{d:‘A’, p:0}, op:[{i:‘B’, p:0}] v11 {d:‘C’, p:1}] ‘BD’ v11
  • Ace ShareJS Client OT Socket.io REST Redis ShareJS Server OT Memory
  • Acesrc/client ShareJS Client OT Socket.io Socket.io REST Redis ShareJS Server OT Memory
  • Acesrc/client ShareJS Client OT Socket.io Socket.io RESTsrc/server Redis ShareJS Server OT Memory
  • Acesrc/client ShareJS Client Socket.io Operationalsrc/types OT = Transformation Socket.io RESTsrc/server Redis ShareJS Server Memory
  • Really beta warning
  • Really beta warning• No authentication• Need a rich text OT type• Could be way faster • Saves a snapshot with every op • O(N ) with the number of people typing in a 2 doc at the same time• Redis requires history to all fit in RAM. Mongodb?• Faye > SocketIO?• No undo support, even though thats really easy.
  • Really beta warning• No authentication• Need a rich text OT type• Could be way faster • Saves a snapshot with every op • O(N ) with the number of people typing in a 2 doc at the same time• Redis requires history to all fit in RAM. Mongodb?• Faye > SocketIO?• No undo support (should be easy!)
  • Really beta warning• No authentication• Need a rich text OT type• Could be way faster • Saves a snapshot with every op • O(N ) with the number of people typing in a 2 doc at the same time• Redis requires history to all fit in RAM. Mongodb?• Faye > SocketIO?• No undo support (should be easy!)
  • Really beta warning• No authentication• Need a rich text OT type• Could be way faster • Saves a snapshot with every op • O(N ) with the number of people typing in a 2 doc at the same time• Redis requires history to all fit in RAM. Mongodb?• Faye > SocketIO?• No undo support (should be easy!)
  • Help out!• http://sharejs.org/• Join the mailing list (link from the website)• ShareJSLib on twitter• Most importantly: Contribute code! • https://github.com/josephg/ShareJS