Taxonomy

From Sugar Labs
Jump to navigation Jump to search

Benjamin M. Schwartz has proposed a taxonomy for the various Sugar components to remedy an ongoing naming problem.

"I think Sugar has a naming problem. There are a lot of different digital objects being produced by this project, and referring to all of them as Sugar is becoming increasingly confusing. For example, the discussion about "Sugar on Windows" has been all but incomprehensible, because each author means something entirely different by the term "Sugar". Similarly, the recent proposals for "inclusion in Sugar" are extremely confusing, since these components will not be required to run Sugar.

"To resolve this, I am going to attempt to list a number of important, distinct digital objects that this work has produced. I will also introduce cutesy codenames. I hope that the Sugar developers will adopt a clear set of distinct names, and I do not care if they choose these names or other names."

Sweet: The abstract design of the interface

(the taste of sugar)

Description: "Sweet" is the abstract design of the interface's appearance and behavior, independent of any code actually implementing this style. The mockups at http://wiki.laptop.org/go/Designs represent this component's second major release, or perhaps 2.0-alpha.

Glucose: The base Sugar environment

(the fundamental, simple sugar used by all life forms)

Description: Glucose is the minimal system that must be added to a standard Linux distribution in order to enable Activities to run. This includes all the python code and graphics files that implement the shell, as well as the Journal. Glucose's dependencies may include xorg-server, xulrunner, squeakvm, rainbow, etc. Some of these dependencies may be marked optional by distributions. Glucose does not include any Activities except those like the Journal that are non-optional.

Fructose: A set of demonstration activities

(the main sugar in fruit, which is how we're supposed to get our sugar)

Description: The Sugar developers will need some example set of activities with which to demonstrate Sugar. This set is Fructose. The packages in Fructose should be selected to make the resulting environment as impressive as possible for a potential client or user. Packages should therefore be stable, polished, and exercise the widest possible range of features. Fructose may also serve as an example for people constructing their own Activity sets.

Sucrose: The interface, plus a set of demonstration activities

("table sugar", the kind you buy in the store. It consists of glucose and fructose, combined)

Description: Sucrose consists of both Glucose and Fructose. It therefore represents a complete example Sugar environment, ready to be installed through a package manager. The purpose of Sucrose is so that prospective deployers can install the "sugar-sucrose" package, and immediately say "Wow! Look at all the cool capabilities that this system has!".

Ribose: The base Linux distribution being used by Sugar

(the sugar used by all lifeforms to control their hardware, in the form of RNA. It's important, but not sweet)

Description: Ribose is the set of hardware-centric software components that have been developed throughout this project. It includes the XO kernels, OHM, any init-script customizations, etc. Ribose should be construed as including all components necessary to boot the system, enough to install Glucose if it has not yet been installed.

Starch(es): A complete disk image for Sugar

(starch is composed of multiple sugars bonded together)

Description: We often distribute complete disk images for Sugar, ready to boot. These images are composed of multiple elements of the above stack. ~ For example, the current Joyride images are composed of Ribose (the non-graphical work) and Glucose (the shell) but not Fructose (the activity package). Each image series should be named separately, to minimize confusion. For cutesy codenames, we could have a development build ("glycogen", a starch used to produce Glucose) and a stable build ("cellulose", an extremely stable starch).


The SUGAR stack: block diagram view

   +---------------------------------------------------------------+
   | SWEET: The abstract design of the interface                   |
   |                                                               |
   +---------------------------------------------------------------+
   
   +---------------------------------------------------------------+
   | STARCH: A complete disk image for Sugar                       |
   |                                                               |
   |  +---------------------------------------------------------+  |
   |  | SUCROSE:  The interface, plus a set                     |  |
   |  |           of demonstration activities                   |  |
   |  |                                                         |  |
   |  | +------------------------------+ +--------------------+ |  |
   |  | | FRUCTOSE: A set of demo      | |                    | |  |
   |  | |           activities         | |                    | |  |
   |  | |                              | |                    | |  |
   |  | +------------------------------+ |                    | |  |
   |  | +--------------------------------+                    | |  |
   |  | | GLUCOSE: The base Sugar environment                 | |  |
   |  | |                                                     | |  |
   |  | +-----------------------------------------------------+ |  |
   |  +---------------------------------------------------------+  |
   |                                                               |
   |  +--------------------------------------------------------+   |
   |  | OPERATING SYSTEM               +-----------------+     |   |
   |  |                                | RIBOSE          |     |   |
   |  |                                |                 |     |   |
   |  |                                +-----------------+     |   |
   |  +--------------------------------------------------------+   |
   +---------------------------------------------------------------+
   
   +---------------------------------------------------------------+
   | HARDWARE                                                      |
   |                                                               |
   +---------------------------------------------------------------+

Note: See discussion for details about the OS/Ribose stacking


deepening the concept

Lead acetate: An implementation of Sweet on Windows

(often called sugar of lead, lead acetate tastes better than sugar but isn't good for children)

Description: "Lead acetate" is the proposed implementation of Sweet on Windows XP. Lead acetate may provide better performance than Glucose, but it is obsolete and toxic to young brains. It causes learning disability, behavioral tendencies toward violence, and even brain damage.

I know this is tongue-in-cheek, but how about aspartame - once thought better than sugar, but possibly connected with brain tumors... --Morgs 11:44, 17 May 2008 (UTC)

Honey, activities developed by 'in the wild' vendors

a sweet fluid made by bees, mostly Fructose

Description: Activities that are packaged by outside developers, sometimes ports of activities to Sugar from other OS. It might enhance Sugar and the Sweet experience, but "honey frequently contains dormant endospores of the bacterium Clostridium botulinum, which can be dangerous to infants" Wikipedia. ~ For example, Skype, printer capability, IM software

as a former beekeeper I can tell you that not all honey is organic, though we all wish it were so (antibiotics taint a lot of it, especially in developing countries) Yamaplos 15:04, 17 May 2008 (UTC)

Memorable one-liners

So you're saying Sugar is now suite?