The Undiscoverable

From Sugar Labs
Revision as of 19:19, 3 August 2009 by Dennis Daniels (talk | contribs) (Sugar UI)
Jump to: navigation, search

Some ideas are not easy to discover; the concept of guided discovery, where a mentor helps point a learner in a fruitful direction, can accelerate the pace of learning. Some Sugar features are not easy to discover and while we are working to improve upon this, we provide some guides to discovery below.

No matter how well we do in making Sugar discoverable, there are necessarily some things that even a born lever-puller and button-clicker will not find easily, or will not understand fully. This page contains a list of such things, ranging from the almost but not quite obvious to the entirely opaque. We can consider whether some of these can be improved, but we know that there is a limit. So we have to alert teachers to these issues, and assist them to alert the children.

Nothing is 100% discoverable or 100% undiscoverable. There are many features of Sugar that can be discovered, without their use cases being in any way obvious. The question, then, is how to provide discovery projects where we know that a particular usage is appropriate, and include a hint on the feature in the lesson plan. In other cases, the children understand immediately what a function is for, as soon as they know it exists. In those cases, you generally don't have to show them twice.

Many things that would not be discovered by one individual before getting frustrated will be rapidly discovered by one child in the group and shared before any of the group get frustrated. Is this an an adequate standard of discoverability or should features be discoverable by a child in isolation? Where this is the case, we want teachers to know that, and plan accordingly.

Many of the Activities would benefit from a Help feature.

We should probably create a subpage for each of these issues, or point to an existing Wiki page that has the information.

Sugar UI

  • Views: Neighborhood, Friends, Home, current Activity
  • Wireless mesh channels and access points
  • Icon colors and user names
  • Search wireless connections and people by name
  • Right-click/hover menus: Point to an icon and wait a second for its name to appear. Wait a bit longer for the accompanying menu to appear. Or, without having to wait, just right-click (o-button on an XO) to see the name and menu.
  • Activities: In home view, there are buttons to switch between the view of favorites in a ring and a list of all installed Activities. Select the star by an Activity to make it a Favorite. The hover menu for a Favorite includes the option to remove it from favorites without deleting it, and also an Erase option.
  • Frame: Views and Activities on top; Friends on the right; hardware on the bottom; open documents on the left.
  • Use of Keep button: Keep places a checkpoint of the current state of your application in the Journal, including a screen shot, Activity state, and metadata. The user can rename the session from the name of the Activity to something specific to the session, and add a description and tags. Users do not agree on why and when to use Keep.
  • Screen capture: An important use case for the Keep button. How do we store just the image, without the software state? Some Activities, including Turtle Art, have a button for this purpose.
    <Alt> 1 captures the screen and stores a screenshot in the Journal.
  • View source?: Not fully implemented. On the menu in several applications.
  • Copy and paste between activities? (Sometimes)
  • How to quit an activity: Click the stop-sign icon on the Activities tab, or select Stop from the hover menu of the Activity icon in the frame.
Not implemented in all activities.
  • Start an Activity without resuming last session: Select Start from hover menu.
  • Community Jabber servers (Listings and how to change):


  • The default text in each entry is the name of the Activity used to create it, or the name of a downloaded file. Users can edit this text to provide a meaningful title. The Description does not display in the main Journal view. Renamed sessions saved in the Journal show up on the right-click/hover menu for that Activity's icon in the Home view.
  • Tags: Poor man's database. You can tag by topic, by project, or whatever else meets your needs.
  • Searches examine the unnamed Title field, the Description, and the Tags texts. You don't have to examine entries one at a time to look for particular tags.
  • Resume session: Left-click a Journal entry to start where you left off the last time. Right-click to get the list of Activities that can open this file. Save in Record, open in Paint, for example.
  • Install Activities: Cannot install .xo over yum package. Delete Activity from /usr/share/sugar/activities, then download .xo from Activities repository. Where is the result installed?
  • Copy to and from USB stick: Drag Journal entries to USB icon.
  • When you download an image, it doesn't have a preview. Open it and close it immediately to generate one. Ticket #1106


  • What version of this activity am I running? The list view in Home gives the number.
  • Add and Remove Favorites. WARNING: Erase is not Remove Favorite.


The obsolete xo-get script and Activity accessed a repository of Activities for installation and updates. Use instead.


  • The entire command line repertoire plus scripting
  • Documentation: man, info, apropos
  • Linux file system: /, ., .., cd, pwd, mkdir, rmdir, cat, touch, rm, mount, umount, /etc/fstab
  • Standard IO: >, >>, <, |
  • Users and groups: root, /home, su, sudo, /etc/sudoers, sudoedit, visudo, chown
  • Permissions: chmod drwxrwxrwx ugoa
  • Regular expressions: [0-9][a-zA-Z]?, grep
  • File globbing: *
  • Editors: vi, pico. The emacs editor is not installed by default.
  • copy-from-journal copy-to-journal: Journal entries are in ~/.sugar/default/datastore. Each entry has a metadata subdirectory.
  • sugar-control-panel command: (aboutme/network/datetime/aboutcomputer/Frame/power/language) settings. Use this command (small L) to list.
sugar-control-panel -l 
  • File browser: Install Midnight Commander (mc)


  • It's a programming language.
  • It's huge.
  • The tutorials are excellent as far as they go, but they stop short.
  • Projects? What are projects? How do I do that?
  • Code viewer
  • Program tiles
  • Make tile


  • You can edit the programs and run the changed versions.
  • You can create your own programs. Click Clear, enter a Pythonic name to replace Pippy Activity, and Keep.
  • You can import libraries.
  • Turtle Art has a programmable tile that holds a single Python expression.
  • Turtle Art has a programmable tile that reads Right-click on it in the Journal to open it in Pippy.
  • Python is a large programming language. How do I learn it?
  • How do I tackle the Sugar API?
  • What is the difference between Keeping as a Python file and as a bundle?

Turtle Art

  • Color space: The image below shows the colors that the Turtle draws for inputs in the range 0-399. The range repeats after 200. The 100-199 and 300-399 ranges are the reverse of the 0-99 and 200-299 ranges.

TA Colors.png

  • Shades: The image below shows all color and shade combinations in the ranges 0-99.


  • Programmable tiles (proposed tool tips will aid discoverability)
  • (")
  • Portfolio tiles (")


  • When unformatted text is selected the Style menu appears with only one item visible: None. Unless the user notices the little up arrowhead and moves the cursor up to reveal the rest of the menu, Styles remain a mystery.


  • Graphing
  • Help


  • Frequency and amplitude settings


  • I'm sorry, what is this for? Oh, wait, is this what the Journal was supposed to be? No, it only shows one entry for each activity. I can't list individual sessions or documents. So what is it for?


  • Bookmarks
  • You can use browse to browse the file system and .py files
  • Uploading from Journal
  • about:config (Enter this in the address bar to see and set Browse configuration values.)


  • Where is the music?


  • Change name: click on name in right bottom corner, edit, hit <enter>
  • /join #channel command


We have activities for the Smalltalk, Python, and Logo languages. Etoys includes a different version of turtle graphics. We have to provide an appropriately graded curriculum on the basic concepts of programming, starting with simple actions, such as Turtle Art drawing commands. Then we have to deal with variables, subroutines, control flow, functions or methods, and so on up to object class definitions and libraries. The laptops also have FORTH and Perl installed, and we will want materials for those, starting no doubt in later grades.

We also need to bring in the Computer Science idea that the deep structure of a program is not the surface syntax, but is much more like the trees that we build in Turtle Art.

Subject matter

Whether in math, science, music, art, or any other subjects, there is much that cannot be discovered in unguided exploration, that has taken thousands of years of human history to achieve. The chief task in building new learning materials will be discovering ways to structure learning to maximize the amount of discovery the children can achieve, with the minimum of direction.

We also need to be clear about skills that need practice more than discovery, as in music and sports, or keyboarding or language. What is the proper balance? On this point, see Muska Mosston, The Spectrum of Teaching Styles: From Command to Discovery. Longman, 1989. ISBN 0801303508 (out of print)


Sugar runs on hardware and there are some hardware specific interactions that can be difficult to discover. For example, the function keys (F1–F4) map to the Sugar zoom levels/neighborhood views. This mapping is evident on the OLPC XO-1 hardware, which has dedicated symbols on those keys, but not as easy to discover on generic keyboards. Similarly, there is a key dedicated to the Frame on the OLPC XO-1 keyboard. The Frame is accessed through a keyboard shortcut on a generic keyboard (Alt-F). Unfortunately, this shortcut does not work in SoaS in VirtualBox.

Listed below are some of the undiscoverable features specific to hardware.


  • Left and right "mouse" buttons: Young children may have even more trouble with left and right than grownups. For this reason, the left button is marked 'x', and the right button, 'o'.
  • Opening: Readily discoverable by children, but not by all adults, some of whom have to be shown more than once. This puzzle aspect of the XO is actually beneficial in some ways.
  • Position of antennae
  • Rotate screen button: Easy to find, but what's it for?
  • Book reader mode and page controls: You also need to know about screen rotation to make this work properly.
  • Keyboard switching key, replacing ×÷ on keyboards for countries and languages using a non-Latin alphabet or other kind of writing system.