Changes

10,362 bytes added ,  11:13, 20 February 2016
no edit summary
Line 125: Line 125:  
;Knowledge Prerequisite: A strong background in Python.
 
;Knowledge Prerequisite: A strong background in Python.
 
|}
 
|}
 +
 +
== Sugar on the Ground ==
 +
 +
A number of real-world issues crop up in deployments of Sugar, especially where resources are limited (bandwidth, CPU speed, battery life, local storage, etc.) These tasks are related to making Sugar more usable under such circumstances.
 +
 +
{| border=1 cellpadding=3 style="border: 1px solid white; border-collapse: collapse; background: #e3e4e5;"
 +
|-style="background:#787878; color: white;"
 +
!  !! Title !! Mentor !! Project
 +
 +
|-
 +
!valign=top | [[File:Debugging.png|90px|thumb|center]] ||valign=top width="15%" style="background:#e3e4e5;" | Sugar Journal save option ||valign=top width="15%" | Tony Anderson ||align=left valign=top|
 +
 +
The Sugar Journal should provide a 'save/save as' interface which should enable a user to choose whether to save the current document when an activity is closed. The interface should require a name change from 'current.activity' to a user supplied name. If the document is derived from one currently saved in the Journal, the user should be allowed to save (overwrite) or save as (create new document) by giving a new name to the document. This could be accomplished by showing a modal dialog at close time requesting the user to supply a name or not save the document. If the document has a user supplied name, the dialog could request the user to save or to provide a new name to create a new document.
 +
;Note: this approach satisfies the needs referenced in the git task. Git is a little like a hammer looking for a nail. Using git for this function will likely double the size of the data stored in the Journal (based on normal experience using git). Unfortunately, we don't have this space on the XOs. The standard save/save as gives the user the ability to manage versions by using unique names.
 +
|}
 +
 +
|-
 +
!valign=top | [[File:Debugging.png|90px|thumb|center]] ||valign=top width="15%" style="background:#e3e4e5;" | Sugar Journal as a service ||valign=top width="15%" | Tony Anderson ||align=left valign=top|
 +
 +
The Journal activity is currently implemented as an activity. It should be changed to a 'service'. This means the Journal icon on the frame should be to the left of the zoom group icons to match the sequence on the keyboard. The Journal is always running as a service when the Sugar is running. It is accessible by the Journal key on the keyboard and also by the Journal button in the frame. When the view is switched to the Journal, clicking on the activity view (right most key of the zoom group) should switch the screen back to the current activity.
 +
|}
 +
 +
|-
 +
!valign=top | [[File:Debugging.png|90px|thumb|center]] ||valign=top width="15%" style="background:#e3e4e5;" | Sugar Journal backup and restore ||valign=top width="15%" | Tony Anderson<br>Ignacio Rodriguez||align=left valign=top|
 +
Sugar provides a method to backup and restore the Journal (one method to a USB key and one method to the school server). The Journal also provides a select box to enable an action to be taken for all selected objects. This mechanism should be sufficient for the USB key case. However, the school server backup currently is based on taking a snapshot of the current Journal state. This means the size of the objects in a user's Journal cannot exceed the available local store on an XO (300MB for an XO-1, 1.9GB for other models). A mechanism is needed to save on the school server all documents created by the user and to restore a selected object to the Journal from the school server. Since many documents may represent library objects (e-books, audio, image or video media), the mechanism should recognize these and not save them as user documents. However, the metadata saved should enable the system to download the library items again as needed (and, as available).
 +
;For example: the mechanism may be to upload Journal documents to an OwnCloud repository. The user could then select an item in the OwnCloud repository to be downloaded to the Journal. The user could also share any item in OwnCloud with other user groups or individuals
 +
;Note: This would essentially accomplish the intent of the group/buddy task. Further, OwnCloud could be provided on a school server or on the internet. as appropriate.
 +
;Note: There is a Sugar interface for saving to other cloud services, such as Google Docs, Dropbox, et al. that could be exploited.
 +
|}
 +
 +
|-
 +
!valign=top | [[File:Debugging.png|90px|thumb|center]] ||valign=top width="15%" style="background:#e3e4e5;" | Sugar Journal session data management ||valign=top width="15%" | Tony Anderson ||align=left valign=top|
 +
One goal of Sugar is to record information about user sessions. This is currently accomplished by creating statistics from the metadata stored in the Journal.
 +
Unfortunately, a consequence is that the Journal view fills with essentially meaningless links to this metadata (mine fills with Terminal Activity and Log entries).
 +
This makes it much harder for the user to identify meaningful Journal objects (documents, images, items from the library, ...). A mechanism is needed to that session data can be logged independently of the Journal view (i.e not shown on the screen). This logged information should be transferred to a backup repository (e.g. school server or USB drive) as soon as possible and deleted from the local store to free up space. The available reporting activities should be modified to use this new mechanism.
 +
|}
 +
 +
|-
 +
!valign=top | [[File:Debugging.png|90px|thumb|center]] ||valign=top width="15%" style="background:#e3e4e5;" | Sugar Journal quota management ||valign=top width="15%" | Tony Anderson ||align=left valign=top|
 +
The Journal icon provides information the amount of free space in the user's store. if this amount is less than 50MB, a dialog is shown requiring the user to switch to the Journal view and claiming that the 'Journal is Full'. This message is, at best, misleading. The available storage can arise from several causes - the fact that an activities 'instance' store was not deleted, the space required by installed activities, or space required by data files in /home/olpc/Library, or data stored by activities in 'data', 'instance' or 'temp'. Currently, Sugar provides no guidance or help to enable a user to deal with this problem short of reflashing the image. The goal of this task is to provide a quota management system on storage with a way for the user (e.g. by a special Sugar activity) to analyze the usage of storage and to save by usb key or school server or cloud storage large or currently unneeded items and then delete them. The system should show the user the size of items and provide updates on how much storage has been made free by his/her actions.
 +
|}
 +
 +
|-
 +
!valign=top | [[File:Debugging.png|90px|thumb|center]] ||valign=top width="15%" style="background:#e3e4e5;" | Sugar Journal activity resume feature ||valign=top width="15%" | Tony Anderson ||align=left valign=top|
 +
In Sugar's Home View, a click on an activity icon by default resumes the most recent instance of the activity. This capability is designed into the Journal and is redundant in the Home View. A Sugar activity is a tool to enable the user to accomplish some task. If that task is not completed, the user can resume it via the Journal. If the tool is to be used on a new task, the user can launch it from the Home View. The current Home View assumes that the intent of the user is to continue the most recent task with that tool.
 +
 +
This task should set the Home View default to launch a new instance of the activity. The Alt key should be set to enable resuming a selected instance of the activity.  By serendipity, this also shows the Home View with black and white icons. Icons with color signifying a resumable instance use the colors associated with the laptop. Unfortunately many of these color combinations make the icon much more difficult to distinguish than the black and white version.
 +
|}
 +
 +
|-
 +
!valign=top | [[File:Debugging.png|90px|thumb|center]] ||valign=top width="15%" style="background:#e3e4e5;" | Sugar Activity resume feature ||valign=top width="15%" | Tony Anderson<br>Ignacio Rodriguez ||align=left valign=top|
 +
Sugar provides a 'web services' capability. However, these services are only available to an XO which has connection to the internet. This is not useful to a large number of users who do not have internet access. The school server (e.g. XSCE) provides an alternative to the internet for many deployments. This task is to provide a capability on the school server to support some or all of the Sugar web services (e.g. by OwnCloud or ELGG).
 +
|}
 +
 +
 +
|-
 +
!valign=top | [[File:Debugging.png|90px|thumb|center]] ||valign=top width="15%" style="background:#e3e4e5;" | Sugar offline ||valign=top width="15%" | Tony Anderson ||align=left valign=top|
 +
There are a number of Sugar activities which currently require access to the internet (InfoSlicer, GetBooks). These activities should have an option to function with the school server. For example, GetBooks could access books on the school server and InfoSlicer could create slices from Wikipedia on the school server as Journal objects.
 +
|}
 +
 +
 +
|-
 +
!valign=top | [[File:Debugging.png|90px|thumb|center]] ||valign=top width="15%" style="background:#e3e4e5;" | Sugar "on-boarding" ||valign=top width="15%" | Tony Anderson ||align=left valign=top|
 +
Sugar users are often new to computers and not familiar with other operating systems. We need a mechanism to allow users to more quickly develop skills in using the capabilities of the XO ('onboarding'). One proposal is to develop scripts which lead the user through a series of interactive steps illustrating common usage of the XO with Sugar ([https://www.sam.today/blog/sugar-onboard-design.html]). This task is to implement an interpretive system that allows
 +
deployments or experienced users to create an 'onboard' script that guides the user to carry out a task. The referenced proposal suggests some user tasks where this mechanism could be employed. Since there is no finite list of these tasks, an interpretive approach enables the scripts to be created as necessary.
 +
;For example: how does a user switch to the Gnome desktop? A script could be created guiding the user through the necessary steps. How does the user make a screen shot, use Gimp in the gnome desktop to crop and resize, and then insert it as an image in a Write document? How does the user initiate or join a chat?
 +
|}
 +
 +
    
==Subpages==
 
==Subpages==
 
{{Special:PrefixIndex/{{PAGENAMEE}}/}}
 
{{Special:PrefixIndex/{{PAGENAMEE}}/}}