Line 1: |
Line 1: |
| This page is a guide to basic Sugar Network concepts. See also [[Sugar_Network|introduction page]] and [[Platform_Team/Sugar_Network|technical implementation]] pages. | | This page is a guide to basic Sugar Network concepts. See also [[Sugar_Network|introduction page]] and [[Platform_Team/Sugar_Network|technical implementation]] pages. |
| | | |
− | == Summary == | + | == Overview == |
| | | |
− | This initiative is tailored by the following decisions:
| + | The whole initiative is tailored by the following decisions: |
| | | |
− | * There is a real need to support off-line environments; | + | * The Sugar Network should be useful in off-line environments; |
− | * The list of provided services should cover the full circle of collaboration behavior for students and teachers; | + | * The list of provided [[#Resources|resources]] should cover the full circle of low level collaboration behavior between Network participants; when ''low level'' means that [[#Resources|resources]] are all time the same kind for all types of collaboration [[#Context|contexts]]; |
− | * Not trying to reinvent the Internet by duplicating all services available there making them off-line;
| + | * The list of provided [[#Resources|resources]] should be thought out so that the Sugar Network is equally useful operating on-line; |
− | * The list of provided services should be thought out so that the Sugar Network is equally useful operating on-line; | |
| * Stimulate a "doing" workflow. | | * Stimulate a "doing" workflow. |
| | | |
− | == Overview == | + | The whole Sugar Network picture is described on the following graphics. |
| + | |
| + | {| border="0" |
| + | |- valign="top" align="let" |
| + | | [[File:Sugar-network.png]] |
| + | | Where: |
| + | * '''Server'''<br>Server side in general. It might be a server accessible from the Internet (on-line case) or various distributed servers located, e.g., at schools (off-line case). See [[Platform_Team/Sugar_Network|technical pages]] for more details. |
| + | * '''Conceptual level'''<br>What this page is exactly about. This is how Sugar Network looks like on conceptual level. From the technical side, this level is represented by Server [[Platform_Team/Sugar_Network/API|application programming interface (API)]]. |
| + | * '''Client'''<br>This is what Network participants are interacting with. This is a software that let people get access to the Sugar Network. User experience, that these clients provide, might be too different from client to client. Starting from a couple of elements in [[Wikipedia:Graphical_user_interface|GUI]] (when people even don't suspect they are interacting with the Sugar Network) and ending with clients that represent conceptual level as close as possible. |
| + | |} |
| + | |
| + | == Summary == |
| | | |
| The Sugar Network is all about: | | The Sugar Network is all about: |
| | | |
| * [[#Players|Players]], | | * [[#Players|Players]], |
− | * play different [[#Roles|Roles]], | + | * in different [[#Contexts|Contexts]], |
| * interacting with [[#Resources|Resources]], | | * interacting with [[#Resources|Resources]], |
| * to accomplish their [[#Needs|Needs]], | | * to accomplish their [[#Needs|Needs]], |
Line 40: |
Line 50: |
| '''Creation''' | | '''Creation''' |
| | | |
− | : Any player might be able to create a new project by defining a name, the type of project and the project objective(s). A project creator may be able to invite other players to follow/contribute to his project. | + | : Any player might be able to create a new Context by defining a name, the type of Context and the Context objective(s). A Context creator may be able to invite other players to follow/contribute to his Context. |
| | | |
| == Players == | | == Players == |
Line 63: |
Line 73: |
| Basing on [[#Events|Events]], it is possible to [[#Understanding|measure]] particular Player's behaviour. It might be useful, e.g., for researchers. | | Basing on [[#Events|Events]], it is possible to [[#Understanding|measure]] particular Player's behaviour. It might be useful, e.g., for researchers. |
| | | |
− | == Resources == | + | == Contexts == |
| + | |
| + | This is exactly the context of Players' behaviour. Being in the current Context, Player are interacting with Resources associated with this Context (or, Contexts linked to the current one). |
| | | |
− | The whole experience within the Sugar Network is about Player's interaction with resources. The major resource is [[#Projects|Projects]] that contain all other resources:
| + | There is a predefined Context, the Global Context that contains all other Contexts (according to the current [[#Network_Zoom|zoom level]]). So, Players can interact with all Resources accessible on this [[#Network_Zoom|zoom level]]. |
| | | |
− | * Feedback related:
| + | Context types might be too different. But for now, these are only: |
− | ** [[#Questions|Questions]],
| |
− | ** [[#Ideas|Ideas]],
| |
− | ** [[#Problems|Problems]],
| |
− | * [[#Wiki|Wiki]],
| |
− | * [[#Gallery|Gallery]],
| |
− | * Development related:
| |
− | ** [[#Sources|Releases]],
| |
− | ** [[#Objectives|Objectives]].
| |
| | | |
− | When it is possible, Resources support the history. Resources can't be physically removed, only stated as removed and hidden from the default observing.
| + | * Sugar Activities, |
| + | * Various content (might be {{Code|.xol}} libraries). |
| | | |
| === Network Zoom === | | === Network Zoom === |
Line 87: |
Line 92: |
| * Private, observer himself. | | * Private, observer himself. |
| | | |
− | The whole Projects are associated with particular Zoom level, i.e., can be visible only on this particular level and all levels below. This level is also applied to all of the Project's resources. | + | The whole Contexts are associated with particular Zoom level, i.e., can be visible only on this particular level and all levels below. This level is also applied to all of the Context's resources. |
| | | |
− | === Projects === | + | == Resources == |
| | | |
− | The composite Resource that is a container for the other types of Resources. Projects might be created with highlighting some particular type of Resources. It might be useful to, e.g., simplify usage when it will be possible to activate particular sub-Resource directly from the [[#Browser|Browser]]. | + | The whole experience within the Sugar Network is about Player's interaction with resources. Resources are tied to the current Context and might be different types: |
| | | |
− | Attributes:
| + | * Feedback related: |
| + | ** [[#Questions|Questions]], |
| + | ** [[#Ideas|Ideas]], |
| + | ** [[#Problems|Problems]], |
| + | * [[#Wiki|Wiki]], |
| + | * [[#Gallery|Gallery]], |
| + | * Development related: |
| + | ** [[#Sources|Releases]], |
| + | ** [[#Objectives|Objectives]]. |
| | | |
− | :* Type:
| + | When it is possible, Resources support the history. Resources can't be physically removed, only stated as removed and hidden from the default observing. |
− | :** General;
| |
− | :** Activity, Sources is the default Resource when activating this Resource mean launching this activity;
| |
− | :** Wiki, Wiki is the default Resource;
| |
− | :** Gallery, Gallery is the default Resource;
| |
− | :** Support, Objectives is the default Resource.
| |
− | :* Network Zoom level:
| |
− | :** Worldwide;
| |
− | :** Neighbourhood;
| |
− | :** Private.
| |
− | | |
− | Actions:
| |
− | | |
− | :* Create new Project;
| |
− | :* Change Zoom level attributes;
| |
− | :* Owner of project (initially, creator) can add/remove another Players from owners list;
| |
− | :* Discuss the Project;
| |
− | :* Vote for the Project;
| |
− | :* Delete Project;
| |
− | | |
− | If related Resource creator is a team member, they can choose themself or the team as a Resource creator. If the creator is a team, all votes for this Resource will go to the Project instead of a Player who created this resource.
| |
| | | |
| === Questions === | | === Questions === |
| | | |
− | General question about the Project. A user-friendly interface for asking questions about the current Project. The workflow is much simpler when compared to typical bug trackers (Trac, RT, etc.). It is intended to be more like "forums" or wiki "discussion" pages, just ask your question and wait for answers. Besides, Questions might be treated as a kind of simple [[Wikipedia:Knowledge base|knowledge base]] for the Project (in comparing with bug trackers, Questions are not being closed after getting answers). The most useful Questions might be picked up to compose the [[Wikipedia:FAQ|FAQ]] for the Project. | + | General question about the Context. A user-friendly interface for asking questions about the current Context. The workflow is much simpler when compared to typical bug trackers (Trac, RT, etc.). It is intended to be more like "forums" or wiki "discussion" pages, just ask your question and wait for answers. Besides, Questions might be treated as a kind of simple [[Wikipedia:Knowledge base|knowledge base]] for the Context (in comparing with bug trackers, Questions are not being closed after getting answers). The most useful Questions might be picked up to compose the [[Wikipedia:FAQ|FAQ]] for the Context. |
| | | |
| The rest of non-developers needs are covered by [[#Ideas|Ideas]] and [[#Problems|Problems]]. The developers needs are covered by the [[#Objectives|Objectives]] and its advanced view in particular. | | The rest of non-developers needs are covered by [[#Ideas|Ideas]] and [[#Problems|Problems]]. The developers needs are covered by the [[#Objectives|Objectives]] and its advanced view in particular. |
Line 141: |
Line 134: |
| === Ideas === | | === Ideas === |
| | | |
− | Any ideas regarding the Project. A user-friendly interface to propose your idea to the current Project developers. The workflow is much simpler, compared to typical bug trackers, just offer your suggestion, look how other people will rate it and wait for the implementation. | + | Any ideas regarding the Context. A user-friendly interface to propose your idea to the current Context developers. The workflow is much simpler, compared to typical bug trackers, just offer your suggestion, look how other people will rate it and wait for the implementation. |
| | | |
| The rest of non-developers needs are covered by [[#Questions|Questions]] and [[#Problems|Problems]]. The developers needs are covered by the [[#Objectives|Objectives]] and its advanced view in particular. | | The rest of non-developers needs are covered by [[#Questions|Questions]] and [[#Problems|Problems]]. The developers needs are covered by the [[#Objectives|Objectives]] and its advanced view in particular. |
Line 159: |
Line 152: |
| :* Discuss a Solution; | | :* Discuss a Solution; |
| :* Vote for Solutions; | | :* Vote for Solutions; |
− | :* Project team member attaches one of Objectives to one of Solutions, the Idea's status becomes the same as Objective's. | + | :* Context team member attaches one of Objectives to one of Solutions, the Idea's status becomes the same as Objective's. |
| | | |
| === Problems === | | === Problems === |
| | | |
− | Report a problem with the Project. A user-friendly interface to complain about an error that the Player encountered when working with the Project. The workflow is much simpler, compared to typical bugs trackers, just complain and wait for a fix. | + | Report a problem with the Context. A user-friendly interface to complain about an error that the Player encountered when working with the Context. The workflow is much simpler, compared to typical bugs trackers, just complain and wait for a fix. |
| | | |
| The rest of non-developers needs are covered by [[#Questions|Questions]] and [[#Ideas|Ideas]]. The developers needs are covered by the [[#Objectives|Objectives]] and its advanced view in particular. | | The rest of non-developers needs are covered by [[#Questions|Questions]] and [[#Ideas|Ideas]]. The developers needs are covered by the [[#Objectives|Objectives]] and its advanced view in particular. |
Line 206: |
Line 199: |
| === Gallery === | | === Gallery === |
| | | |
− | A collection of activity objects of types depending on Project type. This is exactly the gallery to share your creatures. Using the [[#Browser|Browser]] it will be possible to explore Gallery entities directly on the top level. | + | A collection of activity objects of types depending on Context type. This is exactly the gallery to share your creatures. Using the [[#Browser|Browser]] it will be possible to explore Gallery entities directly on the top level. |
| | | |
| Attributes: | | Attributes: |
Line 225: |
Line 218: |
| === Releases === | | === Releases === |
| | | |
− | For software Projects, this Resource is about released versions of this Project software. This is exactly what Player can execute. There might be several versions with different stability levels. By default, Players execute only recent stable version, but it is possible to choose any version. | + | For software Contexts, this Resource is about released versions of this Context software. This is exactly what Player can execute. There might be several versions with different stability levels. By default, Players execute only recent stable version, but it is possible to choose any version. |
| | | |
| Attributes: | | Attributes: |
Line 235: |
Line 228: |
| Actions: | | Actions: |
| | | |
− | :* Project owners can create new Version; | + | :* Context owners can create new Version; |
| :* Launch. | | :* Launch. |
| :* Discuss the Release; | | :* Discuss the Release; |
Line 242: |
Line 235: |
| Todo: | | Todo: |
| | | |
− | :* Support Experiments workflow when people can make a copy of existing Project and start experimenting with the code and use on regular basis, e.g., share with the rest of Sugar Network. | + | :* Support Experiments workflow when people can make a copy of existing Context and start experimenting with the code and use on regular basis, e.g., share with the rest of Sugar Network. |
| :* Convenient method to attach log reports with errors to the particular Release, e.g., "Share the log" button on activity fail dialog. | | :* Convenient method to attach log reports with errors to the particular Release, e.g., "Share the log" button on activity fail dialog. |
| | | |
| === Objectives === | | === Objectives === |
| | | |
− | These are the exactly objectives that Project is trying to achieve. This type of Resources has two faces: | + | These are the exactly objectives that Context is trying to achieve. This type of Resources has two faces: |
| | | |
− | * The view for Players that are not the part of Project implementers, they see this Resource as a list of, e.g., features that project is trying to provide; | + | * The view for Players that are not the part of Context implementers, they see this Resource as a list of, e.g., features that Context is trying to provide; |
− | * The full functional project management interface for people who are owners of the Project and take care of implementation. | + | * The full functional project management interface for people who are owners of the Context and take care of implementation. |
| | | |
| Attributes: | | Attributes: |
Line 259: |
Line 252: |
| Actions: | | Actions: |
| | | |
− | :* Create by Project owners; | + | :* Create by Context owners; |
| :* Discuss the Objective; | | :* Discuss the Objective; |
| :* Vote for the Objective; | | :* Vote for the Objective; |
Line 265: |
Line 258: |
| TODO: | | TODO: |
| | | |
− | :* Project management functionality. | + | :* Context management functionality. |
| | | |
| == Comments == | | == Comments == |
Line 276: |
Line 269: |
| | | |
| Events might be personal, e.g., personal invitations or personal messages. | | Events might be personal, e.g., personal invitations or personal messages. |
− |
| |
− | == Roles ==
| |
− |
| |
− | These are roles, not the definition of particular people. Each person can play different roles in different time.
| |
− |
| |
− | === Student ===
| |
− |
| |
− | === Teacher ===
| |
− |
| |
− | === Project Contributor ===
| |
− |
| |
− | === Project Coordinator ===
| |
| | | |
| == Workflows == | | == Workflows == |
Line 297: |
Line 278: |
| A need for general help from the local community supporters. | | A need for general help from the local community supporters. |
| | | |
− | :* You need to be a part of a community with local support, thus, you will have the default place to complain, the Home Project; | + | :* You need to be a part of a community with local support, thus, you will have the default place to complain, the Home Context; |
− | :* Go to Browser and click Home Project button; | + | :* Go to Browser and click Home Context button; |
| :* Try to search if your problem was already reported using text search string or tags; | | :* Try to search if your problem was already reported using text search string or tags; |
| :* If search is not successful, describe your problem in Problem (as well for Questions and Ideas) entry widget as full as possible; | | :* If search is not successful, describe your problem in Problem (as well for Questions and Ideas) entry widget as full as possible; |
Line 306: |
Line 287: |
| Something goes wrong with the system and it is not clear where the problem is. | | Something goes wrong with the system and it is not clear where the problem is. |
| | | |
− | :* You need to be a part of a community with local support, thus, you will have the default place to complain, the Home Project; | + | :* You need to be a part of a community with local support, thus, you will have the default place to complain, the Home Context; |
− | :* Since there is no any ideas what the place in the system is affected, thus, no way to decide what project to choose to complain, go to Browser and click Home Project button; | + | :* Since there is no any ideas what the place in the system is affected, thus, no way to decide what Context to choose to complain, go to Browser and click Home Context button; |
| :* Try to search if your problem was already reported using text search string or tags; | | :* Try to search if your problem was already reported using text search string or tags; |
| :* If search is not successful, describe your problem in Problem (as well for Questions and Ideas) entry widget as full as possible; | | :* If search is not successful, describe your problem in Problem (as well for Questions and Ideas) entry widget as full as possible; |
Line 315: |
Line 296: |
| Something goes wrong with the system and it is possible to specify the place where it happens. | | Something goes wrong with the system and it is possible to specify the place where it happens. |
| | | |
− | :* Go to the Browser and try to find the Project that is associated with problem place; use Tags and full text search; after finding, click its Home button; | + | :* Go to the Browser and try to find the Context that is associated with problem place; use Tags and full text search; after finding, click its Home button; |
| :* Try to search if your problem was already reported using text search string or tags; | | :* Try to search if your problem was already reported using text search string or tags; |
| :* If search is not successful, describe your problem in Problem (as well for Questions and Ideas) entry widget as full as possible; | | :* If search is not successful, describe your problem in Problem (as well for Questions and Ideas) entry widget as full as possible; |
− | :* Any Project Contributor can reply with request for further information or with an answer; | + | :* Any Context Contributor can reply with request for further information or with an answer; |
| :* On the Network screen, you will be notified about gotten reply. | | :* On the Network screen, you will be notified about gotten reply. |
| | | |
Line 324: |
Line 305: |
| | | |
| :* Skilled people, somewhere on the Mothership level, create a set of Wiki pages; | | :* Skilled people, somewhere on the Mothership level, create a set of Wiki pages; |
− | :* Since initial Sugar Network won't support Wiki editing, using special tools these wiki pages will be uploaded to the Sugar Netowork to some Project, e.g., to Home Project; | + | :* Since initial Sugar Network won't support Wiki editing, using special tools these wiki pages will be uploaded to the Sugar Netowork to some Context, e.g., to Home Context; |
− | :* Teachers/students can all time get these materials going to the Home project and click Wiki. | + | :* Teachers/students can all time get these materials going to the Home Context and click Wiki. |
| | | |
| Sugar activity fails to start or fails on exit. | | Sugar activity fails to start or fails on exit. |
| | | |
| :* The activity fail dialog should have a complain field, describe your problem in there as full as possible; | | :* The activity fail dialog should have a complain field, describe your problem in there as full as possible; |
− | :* If Submit button was clicked (might be default), the repost with text message and activity logs will be attached to particular Release of the Project; | + | :* If Submit button was clicked (might be default), the repost with text message and activity logs will be attached to particular Release of the Context; |
− | :* Project Contributor, browsing uploaded reports, can reply with request for further information or with an answer; | + | :* Context Contributor, browsing uploaded reports, can reply with request for further information or with an answer; |
| :* On the Network screen, you will be notified about gotten reply. | | :* On the Network screen, you will be notified about gotten reply. |
| | | |
Line 338: |
Line 319: |
| Sharing arbitrary education related media content. | | Sharing arbitrary education related media content. |
| | | |
− | :* Teacher (or any other Player) creates new (or reuse existing) Wiki Project; | + | :* Teacher (or any other Player) creates new (or reuse existing) Wiki Context; |
− | :* Set appropriate, to the purpose, Tags and Project description; | + | :* Set appropriate, to the purpose, Tags and Context description; |
| :* Create initial Wiki page, populate it and attach media content; | | :* Create initial Wiki page, populate it and attach media content; |
− | :* Students, using Tags and full-text search, explore the Project in the Browser; | + | :* Students, using Tags and full-text search, explore the Context in the Browser; |
− | :* Being in the Browser, activate the found Project and being moved to the Wiki page. | + | :* Being in the Browser, activate the found Context and being moved to the Wiki page. |
| | | |
| Sharing Activity object. | | Sharing Activity object. |
Line 367: |
Line 348: |
| Sugar Network is all about being connected to a Sugar Network server, placed in the Internet (on-line case) or in a schoolserver (off-line case). But limited workflow is supported for server-less case. | | Sugar Network is all about being connected to a Sugar Network server, placed in the Internet (on-line case) or in a schoolserver (off-line case). But limited workflow is supported for server-less case. |
| | | |
− | Being at school and connected to its Network server, prepare Projects to work at home when Network won't be accessible: | + | Being at school and connected to its Network server, prepare Contexts to work at home when Network won't be accessible: |
| | | |
− | :* Go to the Browser and explore the Project you want to work at home; | + | :* Go to the Browser and explore the Context you want to work at home; |
− | :* Pick up these Projects (depends on implementation); | + | :* Pick up these Contexts (depends on implementation); |
− | :* Being at home when Network is not accessible, you will see all picked up Project in the Browser; | + | :* Being at home when Network is not accessible, you will see all picked up Context in the Browser; |
− | :* Limited functionality (depends on implementation) will be supported for these Projects. | + | :* Limited functionality (depends on implementation) will be supported for these Contexts. |
| | | |
| === Teaching === | | === Teaching === |
Line 385: |
Line 366: |
| :* Click Home button for found entity; | | :* Click Home button for found entity; |
| :* ''TODO'' | | :* ''TODO'' |
− |
| |
− | == Users Interface ==
| |
− |
| |
− | From users point of view, The Sugar Network is represented by several kinds views:
| |
− |
| |
− | === Player's page ===
| |
− |
| |
− | * Global events queue;
| |
− | * Personal events queue;
| |
− | * Send personal events;
| |
− |
| |
− | === Browser ===
| |
− |
| |
− | * Will be useful to a special state of the Browser to let people see a summary, hints, etc.
| |
− | * Switch between Network Zoom levels, e.g., similar to Shell's Zoom levels;
| |
− | * Expose additional metadata about currently selected item;
| |
− | * Home/default project, might be useful to, e.g., having default support project for this deployment to point any questions there.
| |
− |
| |
− | === Project view ===
| |
− |
| |
− | * The top of participants
| |
− | * View for particular Project resource, Wiki, Tracker, Gallery, etc.
| |
− | * (?) Having fast widget to start typing new Question/Idea/Problem
| |
− |
| |
− | === Resource view ===
| |
− |
| |
− | * The top of participants
| |
− | * See the full history of resource changes (no need all time have history like Wiki pages have);
| |
− | * Follow/NotFollow the Resource changes;
| |
− | * Send personal invitation events to Players to make them Followers of this Resource;
| |
− | * Two audience view for Objectives Resource;
| |
− |
| |
− | === Comments view ===
| |
− |
| |
− | * Restrict comments by Player's rating;
| |
| | | |
| == Todo == | | == Todo == |
| | | |
− | * Support translation workflow for Projects, it might be different workflow, e.g., for Wikis, and Sugar Activities; | + | * Support translation workflow for Contexts, it might be different workflow, e.g., for Wikis, and Sugar Activities; |
− | * Class type for projects to support regular class behaviour from teachers' pov. | + | * Class type for Contexts to support regular class behaviour from teachers' pov. |
− | * Support coding workflow for projects. | + | * Support coding workflow for Contexts. |
| | | |
| == Getting involved == | | == Getting involved == |