Changes

Jump to navigation Jump to search
m
update link to resource with attachment
Line 5: Line 5:     
===The Journal===
 
===The Journal===
 +
: See [[Design Team/Designs/Journal | Journal]] and [[Design Team/Proposals/Journal]] for new design images.
 +
====The Notion of "Keeping"====
 +
We believe that the traditional "open" and "save" model commonly used for files today will fade away, and with it the familiar floppy disk icon.  The laptops do not have floppy drives, and the children who use them will probably never see one of these obsolete devices.  Instead, a more general notion of what it means to "keep" things will prevail. Generally speaking, we keep things which offer value, allowing the rest to disappear over time.  The Journal's primary function as a time-based view of a child's activities reinforces this concept.
   −
====The Notion of "Keeping"====
+
Most of us have heard the "save early, save often" mantra, largely ignored it, and incurred the consequencesSugar aims to eliminate this concern by making automatic backups.  This lets the children focus on the activity itself.
We believe that the traditional "open" and "save" model commonly used for files today will fade away, and with it the familiar floppy disk iconThe laptops do not have floppy drives, and the children who use them will probably never see one of these obsolete devices. Instead, a more general notion of what it means to "keep" things will prevail. Generally speaking, we keep things which offer value, allowing the rest to disappear over time.  The Journal's primary function as a time- based view of a child's activities reinforces this concept.
+
 
 +
The physical analog for an Activity is paper, pencil, & writer at a desk, canvas, paint, & artist at an easel, clay & hands at a wheel, or sidewalk, chalk, & children at a driveway. They exist as created and modified. No 'saving' action, per se, is needed.  The 'Keep' toolbar button (proposed to be 'Copy', [http://lists.sugarlabs.org/archive/sugar-devel/2010-April/023480.html]) provides the capability to replicate the current state of the Activity into a new, separately available'''*''' Activity object in the Journal.  Outside of software culture, such rapid and perfect replication has few physical analogs, and perhaps so has been a point of confusion.
 +
: '''* Note:''' The Keep(Copy) action currently produces an object that shares an ID with its parent and so may not be opened simultaneously with its parent in the same Sugar instance. (This is a bug.)
   −
Most of us heard the "save early, save often" mantra, largely ignored it, and incurred the consequences. The laptops aim to eliminate this concern by making automatic backups.  This lets the children focus on the activity itself.
+
{{Highlight|bgcolor=lightyellow|'''Use case''': A teacher could easily prepare a series of [[Activities/Physics]] models illustrating the construction of a system through stages. The learning of the physical principles could be staged into separate lessons or exercises.}}
   −
Incremental backups occur regularly and are also triggered by such activity events as changes in scope, new participants, etc.  To cater to the many types of editing environment needs, activities can also specify "keep-hints" which prompt the system to keep a copy.  For instance, a drawing activity may trigger a keep-hint before executing an "erase" operation immediately preceded by a "select all".  Of course, a child may choose to invoke a keep-hint by selecting the "keep in journal" button, but the increasing adoption of this new concept of keeping should ultimately eliminate this.  
+
Incremental backups occur regularly and are also triggered by such activity events as changes in scope, new participants, etc.  To cater to the many needs of the editing environment, activities can also specify "keep-hints" which prompt the system to keep a copy.  For instance, a drawing activity may trigger a keep-hint before executing an "erase" operation immediately preceded by a "select all".  Of course, a child may choose to invoke a keep-hint by selecting the "keep in journal" button<!--[{{fullurl:olpc:File:542-keepicon.png}} http://wiki.laptop.org/images/3/32/542-keepicon.png]-->, but the increasing adoption of this new concept of keeping should ultimately eliminate this.  
   −
Based on the Object model associated with files, each kept Object is, technically speaking, a separate instance of the activity which created it.  This eliminates the need to "open" a file from within an activity, replacing the act of opening with the act of resuming a previous activity instance.  Of course, a child will have the option to resume a drawing with a different set of brushes, or resume an essay with a different pen, providing "open with" style functionality, but no substitute for an "open" command will exist within an activity's interface.
+
Based on the Object model associated with files, each kept Object is, technically speaking, a separate instance of the activity that created it.  This eliminates the need "to open" a file from within an application, and replaces the act of opening with the act of resuming a previous activity instance.  Of course, a child will have the option to resume a drawing with a different set of brushes, or resume an essay with a different pen, and will so be provided with an "open with" (a different tool kit)-style of functionality; but, no substitute for an "open" command will exist within an activity's interface.
    
====Deprecating Hierarchy====
 
====Deprecating Hierarchy====
Line 79: Line 84:     
=====Searching=====
 
=====Searching=====
   
The search field provides the most direct means of locating a particular Journal entry, returning instant results as the search is typed, and offering auto-completion for popular tags.  In order to find anything on their laptop, a child need merely describe it, since the tags she's associated with it already appear within its description field.  Her searches also apply to the metadata associated with the entry by either the Journal or the activity that created it, making it even easier to find things.
 
The search field provides the most direct means of locating a particular Journal entry, returning instant results as the search is typed, and offering auto-completion for popular tags.  In order to find anything on their laptop, a child need merely describe it, since the tags she's associated with it already appear within its description field.  Her searches also apply to the metadata associated with the entry by either the Journal or the activity that created it, making it even easier to find things.
   Line 85: Line 89:     
Since the laptops will find themselves in the hands of many children, additional modifications to the search algorithm will assist them as they grow.  The youngest children who receive them will still be learning how to spell, and those that can may still require some time to learn typing skills.  For these reasons, a fuzzy match algorithm will assist the children, returning some results even when the corresponding tags don't match what they typed exactly.  This algorithm is adaptive, and so as they become more comfortable with their language and with using the technology, the extent of the fuzziness and therefore the number of fuzzy results returned will lessen, preventing false matches from aggravating more advanced users.  Several other kinds of fuzziness could also be applied, though such possibilities are only speculation at this point.  For instance, fuzzy matches based on thesaurus entries could turn up items tagged with "funny" even when the child searches for "humorous".  Likewise, translation fuzziness could return an entry tagged with "cat", even though the child searched for "gato."  These advanced fuzziness algorithms could prove invaluable in a laptop community that has been built with sharing and collaboration in mind.
 
Since the laptops will find themselves in the hands of many children, additional modifications to the search algorithm will assist them as they grow.  The youngest children who receive them will still be learning how to spell, and those that can may still require some time to learn typing skills.  For these reasons, a fuzzy match algorithm will assist the children, returning some results even when the corresponding tags don't match what they typed exactly.  This algorithm is adaptive, and so as they become more comfortable with their language and with using the technology, the extent of the fuzziness and therefore the number of fuzzy results returned will lessen, preventing false matches from aggravating more advanced users.  Several other kinds of fuzziness could also be applied, though such possibilities are only speculation at this point.  For instance, fuzzy matches based on thesaurus entries could turn up items tagged with "funny" even when the child searches for "humorous".  Likewise, translation fuzziness could return an entry tagged with "cat", even though the child searched for "gato."  These advanced fuzziness algorithms could prove invaluable in a laptop community that has been built with sharing and collaboration in mind.
      
=====Filtering=====
 
=====Filtering=====
Line 105: Line 108:  
====Implicit Versioning System====
 
====Implicit Versioning System====
   −
As mentioned before, the laptops automatically save, or "keep", Objects in the Journal at regular intervals.  This eliminates the need for the children to constantly worry about saving, and reduces the chances that an unexpected circumstance will cause data loss.  These individual keep events are incremental, meaning that the changes within the file are kept in a nondestructive manner.  Therefore, the Journal not only stores Objects as children create them, but also keeps track of the revision history for each one.  This allows the Journal to function as a versioned filesystem.
+
As mentioned before, the laptops automatically save, or "keep", objects in the Journal at regular intervals.  This eliminates the need for the children to constantly worry about saving, and reduces the chances that an unexpected circumstance will cause data loss.  These individual keep events are incremental, meaning that the changes within the file are kept in a nondestructive manner.  Therefore, the Journal not only stores Objects as children create them, but also keeps track of the revision history for each one.  This allows the Journal to function as a versioned filesystem.
    
The space limitations on the laptop cause some concern with the mention of revision history.  However, the differences between revisions will often be small.  Additionally, Objects with large revision histories provide one easy way for the journal to regain valuable space when memory becomes tight, since it can collapse the history, storing only every few automatic revisions in addition to those explicitly kept by the child.
 
The space limitations on the laptop cause some concern with the mention of revision history.  However, the differences between revisions will often be small.  Additionally, Objects with large revision histories provide one easy way for the journal to regain valuable space when memory becomes tight, since it can collapse the history, storing only every few automatic revisions in addition to those explicitly kept by the child.
Line 127: Line 130:     
{{hig-subnav-intra|p_page=View Source|c_section=The Laptop Experience|c_page=The Journal|n_page=Global Search}}
 
{{hig-subnav-intra|p_page=View Source|c_section=The Laptop Experience|c_page=The Journal|n_page=Global Search}}
 +
</div>

Navigation menu