Changes

Line 59: Line 59:     
* The OLPC developers guide extols the Journal as a replacement for file hierarchies, and suggests that such hierarchies are unnatural.  This is not true:  containers are very intuitive, especially for children.  Even in the most primitive hut, there is an area for cooking, which contains a larder which contains food items.  The cooking area also contains a storage area for utensils and an area for food preparation.  The hut itself contains a sleeping area, a cooking area, a latrine area and a social area, even if it is only one room.  Moreover, the hut is contained in a community, itself contained in a nation.  To assert that hierarchical organization is unnatural borders on blind hubris.  Hierarchical organization of information is no exception: bearing witness are the containers library, collection, shelf, volume, and page within the volume.  Indeed, the entire internet, the new global library, is intrinsically and irretrievably hierarchical.  Depriving children of these fundamental organizational tools is tantamount to crippling them.
 
* The OLPC developers guide extols the Journal as a replacement for file hierarchies, and suggests that such hierarchies are unnatural.  This is not true:  containers are very intuitive, especially for children.  Even in the most primitive hut, there is an area for cooking, which contains a larder which contains food items.  The cooking area also contains a storage area for utensils and an area for food preparation.  The hut itself contains a sleeping area, a cooking area, a latrine area and a social area, even if it is only one room.  Moreover, the hut is contained in a community, itself contained in a nation.  To assert that hierarchical organization is unnatural borders on blind hubris.  Hierarchical organization of information is no exception: bearing witness are the containers library, collection, shelf, volume, and page within the volume.  Indeed, the entire internet, the new global library, is intrinsically and irretrievably hierarchical.  Depriving children of these fundamental organizational tools is tantamount to crippling them.
 +
:Arguably this request is overstated–"crippling them"–but [http://dev.sugarlabs.org/ticket/584 Ticket 584] presumably will address this.
    
* With reference to the previous point, it would be nice to have something like the triangle by directories on Macs, or in the example listings in pippy: click on the triangle, and the contained information is toggled between hidden and expanded states.  A child could create a container in the Journal, and drag different Journal entries into it to organize the log of his activities according to his own choosing, and then click on the triangle to hide those that are distracting to the activity at hand.  This is conceptually no different than putting toys away in a toy box, and it ''is'' perfectly natural to all human beings, children or otherwise.  Moreover, this functionality is already present, but only for 'hard' containers like USB and SD devices.  Is it such a stretch to allow 'soft' user created containers as journal entries?
 
* With reference to the previous point, it would be nice to have something like the triangle by directories on Macs, or in the example listings in pippy: click on the triangle, and the contained information is toggled between hidden and expanded states.  A child could create a container in the Journal, and drag different Journal entries into it to organize the log of his activities according to his own choosing, and then click on the triangle to hide those that are distracting to the activity at hand.  This is conceptually no different than putting toys away in a toy box, and it ''is'' perfectly natural to all human beings, children or otherwise.  Moreover, this functionality is already present, but only for 'hard' containers like USB and SD devices.  Is it such a stretch to allow 'soft' user created containers as journal entries?
 +
:See above.
    
* I have discovered that a journal entry is really a saving of the state of an activity comprising data, activity, view state (not always restored properly), etc.  This notion of a saved state that may be identically resumed is very good, and very convenient, when it has been fully implemented by an activity.  It should extend to power cycles.  When I turn the machine back on, all my running activities should be resumed and the clipboard should have all my clips, and the machine view should be restored to the most recent active activity before power cycling.
 
* I have discovered that a journal entry is really a saving of the state of an activity comprising data, activity, view state (not always restored properly), etc.  This notion of a saved state that may be identically resumed is very good, and very convenient, when it has been fully implemented by an activity.  It should extend to power cycles.  When I turn the machine back on, all my running activities should be resumed and the clipboard should have all my clips, and the machine view should be restored to the most recent active activity before power cycling.
 +
:This feature request is being tracked in [http://dev.sugarlabs.org/ticket/585 Ticket 585]
    
* With reference to the previous point, this distinction between what a journal entry really is and a file or directory (which are very useful containers, not at all obsolete) should be made clearer.  Downloads are implicitly files (documents or data if you prefer), not activities.  Often, there is no natural activity for working with a download, or the default activity may be cumbersome or unworkable.  The only workable means for accessing a download that I have discovered is to copy it to a USB or SD device, and then use the command line to manipulate it.  The rudimentary task of managing development files has required me to repeatedly resort to the command line, which I detest, being a primitive legacy of the days in the 1970's when 64kbyte mini-computers ruled.  It should be possible to copy, delete, rename, and execute files from the browser activity.  This is the 21st century after all.
 
* With reference to the previous point, this distinction between what a journal entry really is and a file or directory (which are very useful containers, not at all obsolete) should be made clearer.  Downloads are implicitly files (documents or data if you prefer), not activities.  Often, there is no natural activity for working with a download, or the default activity may be cumbersome or unworkable.  The only workable means for accessing a download that I have discovered is to copy it to a USB or SD device, and then use the command line to manipulate it.  The rudimentary task of managing development files has required me to repeatedly resort to the command line, which I detest, being a primitive legacy of the days in the 1970's when 64kbyte mini-computers ruled.  It should be possible to copy, delete, rename, and execute files from the browser activity.  This is the 21st century after all.
 +
:This is being worked through in a slightly different way as discussed in [http://dev.sugarlabs.org/ticket/574 Ticket 574]
    
* The simple task of saving a module created with pippy into a suitable library directory turns into an ordeal because of these limitations on necessary functionality which ultimately serves not to educate, but to handicap children.
 
* The simple task of saving a module created with pippy into a suitable library directory turns into an ordeal because of these limitations on necessary functionality which ultimately serves not to educate, but to handicap children.
 +
:Please provide a more detailed description of this problem.
    
As a final remark, I am very aware that this is not a laptop project, nor is it a developer project, but an education project.  Consider: children get older.  They become more sophisticated.  They begin to desire to express themselves and collaborate in more complicated ways, and engage in more complicated activities, which can not be linearized temporally.  Activity development is just one instance of those possible future activities.  Temporal state saving at the GUI level is a new and useful idea, but it is not sufficient.  Usability will ultimately make or break this project.
 
As a final remark, I am very aware that this is not a laptop project, nor is it a developer project, but an education project.  Consider: children get older.  They become more sophisticated.  They begin to desire to express themselves and collaborate in more complicated ways, and engage in more complicated activities, which can not be linearized temporally.  Activity development is just one instance of those possible future activities.  Temporal state saving at the GUI level is a new and useful idea, but it is not sufficient.  Usability will ultimately make or break this project.