Changes

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.
 +
 +
Most of us have heard the "save early, save often" mantra, largely ignored it, and incurred the consequences.  Sugar aims to eliminate this concern by making automatic backups.  This lets the children focus on the activity itself.
   −
====The Notion of "Keeping"====
+
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 JournalOutside of software culture, such rapid and perfect replication has few physical analogs, and perhaps so has been a point of confusion.
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 devicesInstead, 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.
+
: '''* 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.
hello 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.
      
For simplicity, the search field will employ OR logic to all terms entered, which ensures the least amount of confusion when used by children who don't yet understand boolean logic.  As such, a search for "orange cat" will return a list of everything orange and also every cat.  Of course, any entries tagged with both orange and with cat will match more strongly, and will automatically filter to the top of the results.  However, in keeping with a primary goal of the laptops, this won't eliminate the possibility for more complex boolean searches.  Full support for AND, OR, NOT, and parenthetical grouping of terms will be built into the search engine, providing advanced functionality for those who desire to enter more complex queries.
 
For simplicity, the search field will employ OR logic to all terms entered, which ensures the least amount of confusion when used by children who don't yet understand boolean logic.  As such, a search for "orange cat" will return a list of everything orange and also every cat.  Of course, any entries tagged with both orange and with cat will match more strongly, and will automatically filter to the top of the results.  However, in keeping with a primary goal of the laptops, this won't eliminate the possibility for more complex boolean searches.  Full support for AND, OR, NOT, and parenthetical grouping of terms will be built into the search engine, providing advanced functionality for those who desire to enter more complex queries.
Line 104: 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 126: 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>