26. Operational
OT =
Transformation
{
=
What happens if 2 people
edit at the same time?
27. Operational
OT =
Transformation
{
=
Set of types
What happens if 2 people
edit at the same time?
28. Operational
OT =
Transformation
{
=
• Text
Set of types
What happens if 2 people
edit at the same time?
29. Operational
OT =
Transformation
{
=
• Text
Set of types
What happens if 2 people
• Rich text edit at the same time?
30. Operational
OT =
Transformation
{
=
• Text
Set of types
What happens if 2 people
• Rich text edit at the same time?
• JSON
31. Operational
OT =
Transformation
{
=
• Text
Set of types
What happens if 2 people
• Rich text edit at the same time?
• JSON
• Your data
32. Operational
OT =
Transformation
{
=
• Text
Set of types
What happens if 2 people
• Rich text edit at the same time?
• JSON
• Your data
Only type right now
33. Operational
OT =
Transformation
Client Server
v10
‘ACD’
v10
op:[{d:‘AC’, p:0}] op:[{i:‘B’, p:1}]
‘D’ ‘ABCD’
op:[{i:‘B’, p:0}]
v11
41. 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.
42. 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!)
43. 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!)
44. 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!)
45. 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