Sugar Network/Concept
This page is a guide to basic Sugar Network concepts. See also introduction page and technical implementation pages.
Summary
This initiative is tailored by the following decisions:
- There is a real need to support Internet-less environments (but not only those);
- The list of provided services should cover the full circle of collaboration behavior within the Sugar community to make Sugar Network the central place for collaboration;
- Not trying to reinvent the Internet by duplicating all services available there making them off-line;
- The list of provided services should be thought to make the Sugar Network useful also when operating on-line;
- Support decentralized collaboration model to stimulate direct contacts (e.g.: between software creators and users);
- Stimulate a "doing" workflow.
Overview
The Sugar Network is all about:
Needs
The needs that Sugar Network is trying to solve. They might be explained by the following selection from the Fundamental human needs:
Need | Being (qualities) |
Having (things) |
Doing (actions) |
Interacting (settings) |
---|---|---|---|---|
Understanding | critical capacity, curiosity, intuition | literature, teachers, policies, educational | analyse, study, investigate, | schools, families, communities, |
Participation | receptiveness, dedication, sense of humour | responsibilities, duties, work, rights | cooperate, dissent, express opinions | associations, parties, churches, neighbourhoods |
Leisure | imagination, tranquillity, spontaneity | games, parties, peace of mind | day-dream, remember, relax, have fun | landscapes, intimate spaces, places to be alone |
Creation | imagination, boldness, inventiveness, curiosity | abilities, skills, work, techniques | invent, build, design, work, compose, interpret | spaces for expression, workshops, audiences |
Identity | sense of belonging, self-esteem, consistency | language, religions, work, customs, values, norms | get to know oneself, grow, commit oneself | places one belongs to, everyday settings |
Freedom | autonomy, passion, self-esteem, open-mindedness | equal rights | dissent, choose, run risks, develop awareness | anywhere |
Identity
Each player should be able to create and manage a unique identity in the network. Every interaction of the player with the network should be accounted on the player's metrics, as eventually this may be part of the player dashboard. Each player may have an individual reputation, according to other players ratings made to his contributions.
Understanding
A player should be able to view all objects and apply the optional filters including the resource type, the Network Zoom level, tags or the associated player/team. In this preview, we may be able to offer basic statistics of the object in order to give analytical perspective to the selection. The player should be able to select the object in order to participate in a deeper level where he should be able to explore the associated resources. As a player, I might receive events from the objects I'm subscribed to as well as personal events like invitations made by other players.
Participation
Any player might be able to comment any object, rate any contribution, edit any wiki, create any issue, attach any object to any gallery, become a follower of any object.
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.
Freedom
Once an object have been selected by the player, he should be able to filter any type of contributions according to its ratings.
Players
These are real people that take part in the Sugar Network.
Attributes:
- nickname, set by Sugar Shell;
- colors, set by Sugar Shell.
Actions:
- Send private message.
Events:
- Attribute is changed.
Reputation
Any particular Resource, i.e., contributions of some Players, (including Comments) might be rated by another Players. The Reputation of particular Player depends on how other Players appreciate him.
Statistics
Basing on Events, it is possible to measure particular Player's behaviour. It might be useful, e.g., for researchers.
Resources
The whole experience within the Sugar Network is about Player's interaction with resources. The major resource is Projects that contain all other resources:
When it is possible, Resources support the history. Resources can't be physically removed, only stated as removed and hidden from the default observing.
Network Zoom
A basic conception that should allow the Sugar Network to better scale depending of Player's purpose. The Network Zoom levels are similar to The Shell Zoom levels (only the first three levels) and describe exactly the current zooming level of Sugar Network from an observer point of view. There are three Network Zoom levels:
- Worldwide, the whole Network;
- Neighborhood, accessible only if observer connected not to global server, e.g., to the one localed in school;
- 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 applying to all Project's resources.
Projects
The composite Resource that is a container for the rest 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.
Attributes:
- Type:
- 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.
- Type:
Actions:
- Create new Project;
- Change Zoom level attributes;
- Owner of project (initially, creator) can add/remove another Players from owners list;
- Delete Project;
Events:
- Attribute is changed.
Questions
General question about the Project. The users friendly interface to ask questions regarding current Project. The workflow is much simpler in comparing with regular bugs trackers, just ask your question and wait for answers. It might look like simplified stackoverflow workflow.
The rest of non-developers needs are covered by Ideas and Problems. The developers needs are covered by the Objectives and its advanced view in particular.
Attributes:
- Topic, one line;
- Description, multi-lined text.
Actions:
- Create;
- All Players can Vote for a comment with "Works for me"/"Doesn't work for me", might be multiple.
- "Works for me" Vote given by Question creators means having an Answer for the Question.
Events:
- Created.
- A vote is added/removed;
- An answer is added/removed.
Ideas
Any ideas regarding the Project. The users friendly interface to propose your idea to the current Project developers. The workflow is much simpler in comparing with regular bugs trackers, just offer you suggestion, look how other people will rate it and wait for the implementation. It might look like simplified ideatorrent workflow.
The rest of non-developers needs are covered by Questions and Problems. The developers needs are covered by the Objectives and its advanced view in particular.
Attributes:
- Topic, one line;
- Description, multi-lined text.
Actions:
- Create;
- Idea poster chooses the one of Releases as a solution for the Idea;
Events:
- Created;
- Solution is added/removed.
Problems
Any problem Player met working this this Project or using it. The users friendly interface to complain about an error Player met working with the Project. The workflow is much simpler in comparing with regular bugs trackers, just complain and wait for fixing. It might look like getsatisfaction workflow.
The rest of non-developers needs are covered by Questions and Ideas. The developers needs are covered by the Objectives and its advanced view in particular.
Attributes:
- Topic, one line;
- Description, multi-lined text.
Actions:
- Create;
- Any Player can choose one of Releases as a Solution for the Problem, which means "This Release works for me";
- Any Player can Vote for chosen Releases to Vote for "Doesn't work for me";
- Releases chosen by Problem poster will mean having a Solution for the Problem.
Events:
- Created.
- Release is added/removed.
- Solution is added/removed.
Todo:
- Simplify logs attaching, e.g., "Share the log" button on activity fail dialog.
Wiki
A collection of Wiki pages that use MediaWiki markup language, wikitext. Pages might be represented by a tree of pages. There is all time the root page. The idea to have a root page is to let it possible to merge these wiki pages to the standalone MediaWiki server.
Attributes:
- Topic, one line.
Actions:
- Create new Wiki page in hierarchy of pages;
- Upload arbitrary file to place a link on it on Wiki pages.
Events:
- Created;
- Modified;
- File uploaded.
Todo:
- Modify existing page;
- View the history of modifying.
Gallery
A collection of activity objects of types depended on Project type. This is exactly the gallery to share your creatures. Using the Browser it will be possible to explore Gallery entities directly on the top level.
Attributes:
- Topic, one line;
- Description, multi-lined text.
Actions:
- Create by Project owners.
Events:
- Created.
Todo:
- Simplify creating new Gallery entries having a UI way to fast share just created activity object, e.g., from in Naming alert or from Journal.
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.
Attributes:
- Version number;
- Release date;
- Stability level.
Actions:
- Project owners can create new Version;
- Launch.
Events:
- Created.
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.
Objectives
These are the exactly objectives that Project 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 full functional project management interface for people who are owners of the Project and take care of implementation.
Attributes:
- Topic, one line;
- Description, multi-lined text.
Actions:
- Create by Project owners;
- Any user can Vote for Objectives.
Events:
- Created;
- Implemented.
TODO:
- Project management functionality.
Comments
All kinds of resources might be commented by any users. The Sugar Network does not provide any restrictions or permissions, the model is leaving responsibility to a viewer.
Events
If some Resource has been changed, e.g., as a result of Player interacting, Resource sends global notifications. These notification might be seen while investigating this particular object or by Following this Resource. In the last case, events will go to followers' queue of global events.
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
These are kinds of workflows that Roles can take part in. The particular activity might involve several Players and several Roles.
Issues
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;
- Go to Browser and click Home Project button;
- In the Project View, describe your problem in Problem entry widget as full as possible;
- The supporters will be notified and and will reply with request for further information or with an answer;
- On the Network screen, you will be notified about gotten reply.
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;
- 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;
- In the Project View, describe your problem in Problem entry widget as full as possible;
- The supporters will be notified and and will reply with request for further information or with an answer;
- On the Network screen, you will be notified about gotten reply.
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;
- In the Project View, describe your problem in Problem entry widget as full as possible;
- Any Project Contributor can reply with request for further information or with an answer;
- On the Network screen, you will be notified about gotten reply.
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;
- Any Activity Project Contributor can reply with request for further information or with an answer;
- On the Network screen, you will be notified about gotten reply.
Content
Sharing arbitrary education related media content.
- Teacher (or any other Player) creates new (or reuse existing) Wiki Project;
- Set appropriate, to the purpose, Tags and Project description;
- Create initial Wiki page, populate it and attach media content;
- Students, using Tags and full-text search, explore the Project in the Browser;
- Being in the Browser, activate the found Project and being moved to the Wiki page.
Sharing Activity object.
- In after-creation dialog, there should be a button to share newly created object with the Network;
- Journal should have a way to share any object by one click.
Sugar activities
Fast launch of an activity.
- Go to the Browser and explore the activity you want to start, maybe using the Activity Tag or full-text search;
- Click found entity.
Launch particular activity version, e.g., to help with testing non-stable version or fallback to previous one because the recent doesn't work for you.
- Go to the Browser and explore the activity you want to start, maybe using the Activity Tag or full-text search;
- Click Home button for found entity;
- You should find the list of Releases with the recent stable Release chosen, select any version you want;
- Click the Launch button, or run it from the Browser, to run newly selected Release.
Teaching
TODO
Developing
Fork me.
- Go to the Browser and explore the activity you want to start, maybe using the Activity Tag or full-text search;
- Click Home button for found entity;
- 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
- Support translation workflow for Projects, it might be different workflow, e.g., for Wikis, and Sugar Activities;
- Class type for projects to support regular class behaviour from teachers' pov.
- Support coding workflow for projects.