Changes

Jump to navigation Jump to search
m
Line 1: Line 1:  
<div style="background-color: #FFF; margin-left:auto; margin-right: auto; width: 95%;">
 
<div style="background-color: #FFF; margin-left:auto; margin-right: auto; width: 95%;">
{{hig-subnav-inter|p_link=Activities/Activity Basics|p_label=Activity Basics|c_section=Activities|c_page=Activity Bundles|n_link=Security|n_label=Security}}
+
<noinclude>{{Translations}}{{GoogleTrans-en}}</noinclude>
 +
{{hig-subnav-inter|p_link=Activities/Activity Basics|p_label=Activity Basics|c_section=Activities|c_page=Activity Bundles|n_link=Security|n_label=Security}}{{TOCright}}
    
===The Activity Bundle===
 
===The Activity Bundle===
Line 7: Line 8:  
!style="background:#D6784C"|API Reference
 
!style="background:#D6784C"|API Reference
 
|-
 
|-
|[[Activity Bundles|Activity Bundle technical specifications]]
+
|[[Development_Team/Almanac/Activity_Bundles|Activity Bundle technical specifications]]
 
|}
 
|}
 
Activities will exist in the form of bundles.  These bundles will manifest as groups of related files&mdash;source code, images, documentation, etc&mdash;that compose a given activity.  As self-contained modules, the distribution and installation of an activity distills to a simple transfer of the activity bundle to a laptop. Properties stored within a bundle provide information about its version and its creator(s).
 
Activities will exist in the form of bundles.  These bundles will manifest as groups of related files&mdash;source code, images, documentation, etc&mdash;that compose a given activity.  As self-contained modules, the distribution and installation of an activity distills to a simple transfer of the activity bundle to a laptop. Properties stored within a bundle provide information about its version and its creator(s).
Line 23: Line 24:  
OLPC aims to provide a platform which encourages expression through creation.  In support of this idea, activities &mdash; not applications &mdash; provide the main tools through which objects are created.  Whenever possible, activities should be named with descriptive verbs, or suitable pseudo-verbs, in order to emphasize their function as ''things you do.''
 
OLPC aims to provide a platform which encourages expression through creation.  In support of this idea, activities &mdash; not applications &mdash; provide the main tools through which objects are created.  Whenever possible, activities should be named with descriptive verbs, or suitable pseudo-verbs, in order to emphasize their function as ''things you do.''
   −
More specifically, the phrase "<activity> with my friends" should make sense.  For instance "draw with my friends," "browse with my friends", "chat with my friends" and "edit text with my friends" all make much more sense than "text editor with my friends."  Similarly, "Tam-tam with my friends" reads as an action, even though you may have never heard "tam-tam" before.  Treating the activity as an action (verb) and not as a thing (noun) maintains the interaction model that the laptop tries to embody.
+
=====Activities as Verbs=====
 +
 
 +
Activities ''are'' verbs.  As such, the phrase "<activity> with my friends" should make sense.  For instance "draw with my friends," "browse with my friends", "chat with my friends" and "edit text with my friends" all make much more sense than "text editor with my friends."  Similarly, "Tam-tam with my friends" reads as an action, even though you may have never heard "tam-tam" before.  Treating the activity as an action (verb) and not as a thing (noun) maintains the interaction model that the laptop tries to embody.
 +
 
 +
=====Meaningful Naming=====
   −
Of course, we don't mean to impose arbitrary limits on the types and number of activities that the platform has the potential to support.  Just because there is a "Draw" activity doesn't mean that one must either find a synonym or come up with a different activity.  (However, note that the former can be a very reasonable approach, as a synonym might actually have subtly different connotations which better support the concept of the activity. For instance, drawing and painting typically imply two very different types of media, dry and wet respectively.  Much is gained when these types of differences are reflected in the nature of the activity, and are not simply arbitrary.)  In modern language, [http://en.wikipedia.org/wiki/Verbing verbification] has become common practice in speech.  Many words function as both nouns and as verbs, indicating the action of creation and the resulting product of that action; additionally, many nouns can also function as verbs.  For instance, you've probably "Googled" something in the past few days.  Many nouns, not just proper ones, can be used in a similar manner.
+
Of course, we don't mean to impose arbitrary limits on the types and number of activities that the platform has the potential to support.  Just because there is a "Draw" activity doesn't mean that one must either find a synonym or come up with a different activity.  (However, note that the former can be a very reasonable approach, as a synonym might actually have subtly different connotations which better support the concept of the activity. For instance, drawing and painting typically imply two very different types of media, dry and wet respectively.  Much is gained when these types of differences are reflected in the nature of the activity, and are not simply arbitrary.)  In some languages, [http://en.wikipedia.org/wiki/Verbing verbification] has become common practice in speech.  Many words function as both nouns and as verbs, indicating the action of creation and the resulting product of that action; additionally, many nouns can also function as verbs.  For instance, if you speak English, you've probably "Googled" something in the past few days.  Many nouns, not just proper ones, can be used in a similar manner.
   −
Additionally, while straightforward names can simplify the interface and provide a means of understanding an activity before entering it, compound names may also be used.  Providing a modifier, such as an adjective, can personalize the activity and provide that extra bit of information which differentiates it from similar ones. For instance: "Finger Paint."  However, please refrain from resorting to simple one-upsmanship in the form of "Super Sketch" or "Ultra Paint," especially if another activity already uses the modified base.  Such names only serve to indicate superiority, and don't provide any useful feedback about the particular activity which makes it unique or useful.  Providing a meaningful name goes a long way to making the activity intuitive and enticing to the children using it.
+
Additionally, while straightforward names can simplify the interface and provide a means of understanding an activity before entering it, compound names may also be used.  Providing a modifier, such as an adjective, can personalize the activity and provide that extra bit of information which differentiates it from similar ones. For instance: "Finger Paint."  However, please refrain from resorting to simple [http://en.wikipedia.org/wiki/One-upmanship one-upmanship] in the form of "Super Sketch" or "Ultra Paint," especially if another activity already uses the modified base.  Such names only serve to indicate superiority, and don't provide any useful feedback about the particular activity which makes it unique or useful.  Providing a meaningful name goes a long way to making the activity intuitive and enticing to the children using it.
 +
 
 +
=====Credit=====
 +
 
 +
Finally, please avoid integrating the name of yourself or of your company into the name of your activity.  As an open-source initiative we fully believe in giving due credit, but the name of your activity doesn't provide the appropriate place for accreditation.
    
====Activity Tags====
 
====Activity Tags====
   −
Though not yet supported, the .info file for an activity will require a list of associated tags.  These tags provide additional information about the context of a specific activity, enabling powerful searching on the Mesh for generalizations or categories of activities.  For instance, searching for "game" should return the "Memory," "Chess," and "Tic-Tac-Toe" activities.  Likewise, searching for "drawing" should return any activities that relate to drawing, painting, sketching, etc.
+
Tags provide additional information about the context of a specific activity, enabling powerful searching on the Mesh for generalizations or categories of activities.  For instance, searching for "game" should return the "Memory," "Chess," and "Tic-Tac-Toe" activities.  Likewise, searching for "drawing" should return any activities that relate to drawing, painting, sketching, etc.
    
====Obtaining Activity Bundles====
 
====Obtaining Activity Bundles====
Line 38: Line 47:     
While personal bundles are slightly more restricted, current thinking would limit distribution of personal bundles amongst a child's friends only. This should help limit the destructive power of a malicious bundle from spreading across the Neighborhood, yet still allow people to open up their bundle source code, improve it and share it explicitly.
 
While personal bundles are slightly more restricted, current thinking would limit distribution of personal bundles amongst a child's friends only. This should help limit the destructive power of a malicious bundle from spreading across the Neighborhood, yet still allow people to open up their bundle source code, improve it and share it explicitly.
 +
 +
We may wish to allow distribution to any Group rather than just to Friends,
 +
so that if a child wrote an activity that is useful for her whole class, she
 +
does not have to add everyone to her Friend group, breaking the metaphor.
 +
    
=====Implicit Bundle Sharing=====
 
=====Implicit Bundle Sharing=====
Line 61: Line 75:     
{{hig-subnav-inter|p_link=Activities/Activity Basics|p_label=Activity Basics|c_section=Activities|c_page=Activity Bundles|n_link=Security|n_label=Security}}
 
{{hig-subnav-inter|p_link=Activities/Activity Basics|p_label=Activity Basics|c_section=Activities|c_page=Activity Bundles|n_link=Security|n_label=Security}}
 +
</div>

Navigation menu