Network2: Difference between revisions

From OLPC
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
 
(27 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{TOCright}}
{{TOCright}}
Last updated: --[[User:Sj|Sj]]&nbsp;[[User talk:Sj|<font style="color:#f70; font-size:70%">talk</font>]] 04:38, 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 on top of a firm foundation -- a robust, efficient network stack designed to accommodate automated diagnosis and standardized workarounds. (Anything less just wastes teachers' and students' time and patience for spite.)
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, and demonstrates 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]]''' : (finished/''unfinished'' sections)
* Previous (failed) efforts : [[networking]], [[collaboration]].
* Background statements : [[network principles]], [[Network2/Purpose|purpose]], [[Network2/Scenarios|scenarios]], [[Network2/Architecture|architecture]]
* Design statements : [[Network2/Design|naming and internetworking]], [[Network2/Security|security ideas]]
* Analyses: [[Network2/Dynamics|cost model]], [[Network2/Diagnosis|diagnosis techniques]], [[Network2/Self-test|self-test algorithm]]
* Experiments: [[Network2/Experiments/Dnshash|dnshash]], [[Network2/Experiments/Openvpn|openvpn]]


* Prior work: [[networking]], [[collaboration]], [[network principles]]
Specific goals from a discussion with [[user:mstone|Michael]]:
* Background: [[Network2/Purpose|purpose]], [[Network2/Scenarios|scenarios]], [[Network2/Architecture|architecture]]
# "I want to chop out 2-3 levels from the current collaboration stack's 6-level 'fast-path'."
* Designs: [[Network2/Design|naming and internetworking]], ''[[Network2/Security|security ideas]]'', [[Network2/Diagnosis|diagnosis techniques]]
# "I want to name my machine michael.laptop.org and have that identifier work whether I am sitting under a tree with a mesh link to you or on a wide-spread internetwork."
* Analyses: ''[[Network2/Dynamics|cost model]]'', ''[[Network2/Self-test|self-test algorithm]]''
# "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"
* 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]]''
# "I want a design that never mandates single points of failure."
# "I want to try out [[Journal2]] as it is supposed to be used.


'''To help out...'''
'''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 a design that has 20% fewer ways to fail, and that offers manual overrides for the failure modes that remain."
# "I want to chop 2-3 levels from the current collaboration stack's 6-level 'fast-path'."
# "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==
{{Special:PrefixIndex/{{PAGENAMEE}}/}}


# Please help me to make my writing more accessible by:
#* marking "holes" with questions,
#* listing prerequisite concepts that I need to explain,
#* telling me when I fail to link my ideas to your experience,
#* pointing out a loose sentence or paragraph
# Then see if you (or a friend) can fill in the missing detail or tighten up the loose remark.
# Finally, add yourself to the [[Network2/Credits|Network2 credits]] if you succeeded!


[[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