Network2: Difference between revisions

From OLPC
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
 
(8 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{TOCright}}
{{TOCright}}
Last updated: [[User:Mstone|Michael Stone]] 05:16, 28 July 2009 (UTC) | [[Network2/Paper|paper version]]
Last updated: [[User:Mstone|Michael Stone]] 04:15, 15 January 2010 (UTC) | '''[[Network2/Paper|paper version]]'''


Sugar's desired realtime collaboration experience can only be provided atop a robust and efficient network stack designed to accommodate automated diagnosis and standardized workarounds -- anything less only wastes students' and teachers' time and patience, contrary to our [[OLPC Human Interface Guidelines/Design Fundamentals/Key Design Principles|human interface guidelines]].
Sugar's desired realtime collaboration experience can only be provided atop a robust and efficient network stack designed to accommodate automated diagnosis and standardized workarounds -- anything less only wastes students' and teachers' time and patience, contrary to our [[OLPC Human Interface Guidelines/Design Fundamentals/Key Design Principles|human interface guidelines]].


This essay summarizes an attempt to work out a simple way to realize this sort of network experience, with existing software and hardware, while also demonstrating the sort of thinking which might help other parts of the system achieve the same standard of quality.
This '''unfinished''' essay summarizes an attempt to work out a simple way to realize this sort of network experience, with existing software and hardware, while also demonstrating the sort of thinking which might help other parts of the system achieve the same standard of quality.


'''Quick links''': '''[[Network2/Paper|the Paper]]'''
'''Quick links''': '''[[Network2/Paper|the Paper]]''' : (finished/''unfinished'' sections)


* Prior work: [[networking]], [[collaboration]], [[network principles]]
* Prior work: [[networking]], [[collaboration]], [[network principles]]
* Background: [[Network2/Purpose|purpose]], [[Network2/Scenarios|scenarios]], [[Network2/Architecture|architecture]]
* Background: [[Network2/Purpose|purpose]], [[Network2/Scenarios|scenarios]], [[Network2/Architecture|architecture]]
* Designs: [[Network2/Design|naming and internetworking]], [[Network2/Security|security ideas]], [[Network2/Diagnosis|diagnosis techniques]]
* Designs: [[Network2/Design|naming and internetworking]], ''[[Network2/Security|security ideas]]'', [[Network2/Diagnosis|diagnosis techniques]]
* Analyses: [[Network2/Dynamics|cost model]], [[Network2/Self-test|self-test algorithm]]
* Analyses: ''[[Network2/Dynamics|cost model]]'', ''[[Network2/Self-test|self-test algorithm]]''
* Experiments: [[Network2/Experiments/Dnshash|dnshash]], [[Network2/Experiments/Openvpn|openvpn]]
* Experiments: [[Network2/Experiments/Dnshash|dnshash]], [[Network2/Experiments/Openvpn|openvpn]], ''[[Network2/Experiments/HE|6to4: HE]]'', ''[[Network2/Experiments/Sixxs|6to4: Sixxs]]'', ''[[Network2/Experiments/Simulation|simulation]]'', ''[[Network2/Experiments/openwrt|openwrt]]'', ''[[Network2/Experiments/tinydns|olpcdyndns1]]''


'''Teasers...'''
'''Personal goals...'''


# "I want to use familiar tools in my activities, -- like Twisted, curl, ssh, rsync, and email -- both under a tree, in a walled garden, and out on the public Internet, without modification or wrappers."
# "I want to chop out 2-3 levels from the current collaboration stack's 6-level 'fast-path'."
# "I want a design that has 20% fewer ways to fail, and that offers manual overrides for the failure modes that remain."
# "I want to name my machine 'michael.laptop.org' and have that identifier work in my browser and in my terminal regardless of whether I am sitting under a tree with a mesh link to you or on a wide-spread internetwork."
# "I want to chop 2-3 levels from the current collaboration stack's 6-level 'fast-path'."
# "I want to be able to go to /etc/hosts and type in the address I want in case it can't be found otherwise, and have it Just Work"
# "I want to collaborate with people who only have web browsers -- they outnumber people with Jabber clients by millions."
# "I want a design that never mandates single points of failure."
# "I want to use [[Journal2]] as it was supposed to be used."


'''Finally, to help out''', please improve my writing, experiment with my ideas, and share this work with your friends!
'''Finally, to help out''', please improve my writing, experiment with my ideas, and share this work with your friends!

==Subpages==
{{Special:PrefixIndex/{{PAGENAMEE}}/}}



[[Category:Network2]]
[[Category:Network2]]

Latest revision as of 04:15, 15 January 2010

Last updated: Michael Stone 04:15, 15 January 2010 (UTC) | paper version

Sugar's desired realtime collaboration experience can only be provided atop a robust and efficient network stack designed to accommodate automated diagnosis and standardized workarounds -- anything less only wastes students' and teachers' time and patience, contrary to our human interface guidelines.

This unfinished essay summarizes an attempt to work out a simple way to realize this sort of network experience, with existing software and hardware, while also demonstrating the sort of thinking which might help other parts of the system achieve the same standard of quality.

Quick links: the Paper : (finished/unfinished sections)

Personal goals...

  1. "I want to use familiar tools in my activities, -- like Twisted, curl, ssh, rsync, and email -- both under a tree, in a walled garden, and out on the public Internet, without modification or wrappers."
  2. "I want a design that has 20% fewer ways to fail, and that offers manual overrides for the failure modes that remain."
  3. "I want to chop 2-3 levels from the current collaboration stack's 6-level 'fast-path'."
  4. "I want to collaborate with people who only have web browsers -- they outnumber people with Jabber clients by millions."

Finally, to help out, please improve my writing, experiment with my ideas, and share this work with your friends!

Subpages