The Undiscoverable

Revision as of 19:20, 9 April 2011 by Mokurai (talk | contribs) (→‎Screen capture: Downloading and installing activities)


Some ideas are not easy to discover; the concept of guided discovery, where a mentor helps point a learner in a fruitful direction, can greatly 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.

Eventually, as editors have sufficient material, the official documentation at FLOSS Manuals should be updated. (It's a wiki, too.)

New project: Discovering Discovery in the FLOSS Manuals Booki software.--Mokurai 11:44, 29 September 2010 (EDT)

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. In teaching science, Alan Kay calls this a "Galileo moment". Is this an an adequate standard of discoverability for software, or should features be discoverable by a child in isolation? Where they are not, we want teachers to know that, and we want to 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.

Again, all of these items should be clearly documented and even specially called out in the FLOSS Manuals Sugar and XO documents.

Sugar UI

  • Views: Neighborhood, Friends, Home, current Activity
  • Wireless mesh channels and access points

Icon colors and user names

Personalized icons? Drawings? Pictures? How can kids make their own icon? It's a surprisingly big thing to est. an iconic identity for many... just look at forums where kids(and adults!) hang out.--Dennis Daniels 16:13, 4 August 2009 (UTC)

Search wireless connections and people by name

Easier to find your friend if you recognize their icon. --Dennis Daniels 16:15, 4 August 2009 (UTC)

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.

Nice if view source was there too. --Dennis Daniels 16:15, 4 August 2009 (UTC)

Activities

In home view (hotkey F3), 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 which deletes that activity!

For a school admin trying to keep machines uniform for the next wave of kids to descend upon the computer lab the erase key can pose problems, right? --Dennis Daniels 16:08, 4 August 2009 (UTC)
  • 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.

Downloading and installing activities

Using Browse, you can download .xo files from the Sugar Labs Activities repository to the Journal. Go into the Journal, using the icon under the XO logo on the home screen, if it is there, or the Journal icon on the frame, which is always available. Right-click the .xo file entry, and select Start from the dropdown menu. Sugar will install the Activity and open it.

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.

What's the hotkey to view source? Is there a hotkey to view the log for that specific acitivity?--Dennis Daniels 16:10, 4 August 2009 (UTC)
  • Copy and paste between activities? (Sometimes)

How to quit an activity

Most activities have a "stop-sign" icon under the Activity Tab on the toolbar at the top of the screen. (GCompris activities have a "exit-door" icon in the toolbar on the bottom of the screen. Some other activities may have a quit menu item.) Every activity has Stop in the hover menu associated with the Activity icon in the Frame.

Not all activities respond to the 'stop-sign' especially when there are system/activity crashes caused by bugs. How do users and teachers(!) kill _that_ activity?--Dennis Daniels 16:09, 4 August 2009 (UTC)
  • Start an Activity without resuming last session: Select Start from hover menu.

Activities are located in 2 places

1-) in /usr/share/sugar/activities

or
* Locations of activities in sugar versions: 
soas-v2-Blueberry :         /home/liveuser/Activities
soas-i386-Nightly composes: /usr/share/sugar/activity
F12-EDU-spin:               /home/{user}/Activities
These files are part of the original installed files or updates using the Control Panel/update software
THESE FILES HAVE PRIORITY BY VERSION NUMBER OVER .xo files in the Journal, and cannot normally be erased.

2-) In the sugar-journal as .xo files

a downloaded through sugar-browse from ASLO (Activities)
b Drag-dropped into the sugar journal from a 2nd USB or CD
these files can be erased (uninstalled) by => from journal enrty then (-) at top
  • ie: It is not possible to run browse-119.xo installed in the journal, if Browse-120 has been installed in an update.
The entry for the Activity in /usr/share/sugar/activity must be erased in root terminal before the (lower version .xo) file will run
  • comment from sugar-devel@lists.sugarlabs.org 03/19/2011
"Some activities (eg turtleart) are protected and cannot easily be removed to allow a downgrade. In this case
switch to Gnome
chmod 777 Activities
in file browser show hidden files
remove Activity's subdirectory in Activities
return to Sugar
install the older version"

Screensaver will not turn off

Fix:
In terminal
sudo su
password____
xset -dpms
xset s off
exit
restart

Sugar-Emulator Screen Size Adjustment

  • In Terminal:
    sugar-emulator -i 600x500 (fits the screen for a 10" Netbook as a window)
    sugar-emulator -f (Full Screen) fit screen size and display entire sugar-emulator window
  • Help for sugar-emulator
    sugar-emulator --help
  • Modify the menu item Applications->Education->Sugar
    Use 'Main Menu' utility (alacarte) or edit a separate launcher
    1. [right click]->[add launcher to desktop]
    2. right click on icon on desktop
    3. Properties, Command:/usr/bin/sugar-emulator -i 832x624
    4. Close
  • Now a smaller Xephyr window will launch
    • 832x624 matches the XO display proportions (Pages in Browse will mimic the layout of those on an XO.)

Localization

Remote collaboration

Using Community Jabber servers (Listings and how to change):

  • [OLPC:Community_Jabber_Servers OLPC Community Jabber servers]

Icons

Although there is no such thing as an intuitive icon, it is sometimes possible to use icons that relate to experience, and it is generally possible to make icons mnemonic, so that they don't have to be explained more than once. Note that the common icon for saving a file in GUIS for Linux, Mac, and Windows is the obsolete floppy disk. A billion people have learned it, so it has become almost unchangeable. We have started over in Sugar.

  • File types.
  • InfoSlicer

Journal

  • 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.
  • Copy file to Journal entry. With the appropriate file name and MIME type:
copy-to-journal tamyblock.py -m text/x-python
  • When you download an image, it doesn't have a preview. Open it and close it immediately to generate one. Ticket #1106

Saving Work

Basically, we need a Save as... functionality, not just a Save that overwrites the previous version and a clumsy Save on Exit where you have to go roundabout to start up again. All of this should be bugged as a Feature Request.

On Thu, Oct 8, 2009 at 6:42 PM, Caroline Meeks <caroline@solutiongrove.com> wrote:
> Today we worked with two groups on multiplication. They made squares with
> each side being a different multiplication problem that had the same answer.
> http://screencast.com/t/sUbiof2H
>
> We also had them reflect in their Journals about what they did. 
> All of this went well.
>
> What was horrible was trying to get the right point in the project saved to
> the Journal and then navigating to the correct place to write.
> The solution I suggest is when you click the Keep button (Journal Icon) from
> an activity that the Journal reflection dialog box appears.
> Here are the problems we had.
>
> Hard to get to the Journal, no easy F# short cut.
> Hard to find the little arrow that gets you to where you can write.
> Especially since if the Frame is active, which it has to be to get to the
> Journal, the little bitty arrow you need to click is covered.
> When students did their assigned task they were eager to go back to
> exploring with Sugar and wrote over their work without it being saved, or
> using the same name as the assigned activity.  This was probably the worst
> outcome because then it was like they hadn't done the assignment, they had
> nothing to show for their work and we'll want to use it later for a
> portfolio.
>
> clicking the Activity Tab to write down the name is a PITA (this one is
> fixed in .88 I think).
>
> After they reflected they wanted to immediately go back to exploring in TA
> and we had to stop them, make them change the name again. They were very
> perplexed by this because they didn't know what to name their new file
> because they hadn't done anything yet.
>
> The word "Description" is not very friendly. I like "What did you do?"
> Walter wants to expand it even further, I'm not sure about that, its pretty
> challenging for the students to type so I'm not sure we want more boxes.
> Confusion between the Keep button and the samples and the snapshot icons.
> No feedback when you click Keep so there is a tendency to click it
> repeatedly.

Activities

  • 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.

xo-get

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

Terminal

  • XO laptop keyboard sends screen the "erase" key as the ascii code NULL (back erases) and sees "fn+erase" as code DEL (forward erase)
  • 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 available functions.
sugar-control-panel -l 
  • File browser: Install Midnight Commander (mc)

See FLOSS Manuals Terminal and Introduction to the GNU/Linux Command Line for a gentle introduction to these functions and features.

Etoys

  • 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?
  • Program tiles
  • Make tile
  • Objects
  • Code viewer
  • Multimedia
  • Presentations
  • Link: http://squeakland.org/
  • Hint: to share an Object or the desktop in e-toys
Drag over a buddy it should highlight

Pippy

  • 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 tamyblock.py. 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.

 

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

 

Write

  • 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.
  • When text is selected, and the color palette opened, clicking outside the palette window dismisses the palette. Not a problem so far. However, if the user clicks in the edit window, the previously selected text is deselected and no color applied. Clicking anywhere on the toolbar applies the color and leaves the text selected. It has been suggested in mailing list thread that adding 'OK' and 'Cancel' buttons, as in the color palette in Paint, would solve this problem.

Calculate

  • Graphing
  • Help

Measure

  • Frequency and amplitude settings

Library

  • 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?

Browse

Jukebox

  • Where is the music?

IRC

  • Change name: click on name in right bottom corner, edit, hit <enter>
  • /join #channel command
  • How to change the autologon channels on the XoIRC application in sugar:
*in terminal  enter gedit then open and edit the file ircactivity.py 
in .../Activities/IRC.activity subdirectory. ( install gedit with yum install.)
*add "client.add-channel ('sugar') "lines with the different #channels 
inside quotes that you want to open on startup, Then save the changed file.

Now autologon to those channels works on startup

Programming

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)

Hardware

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-Shift-F).

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

OLPC XO-1

  • Power button: In many target countries, many will not be familiar with international symbols.
  • 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: The latching mechanism is a hidden part of the antennae. 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. They work better in a generally upright position, parallel to each other.
  • 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.
  • Keyboard sends screen the "erase" key as the ascii code NULL (back erase) and sees "fn+erase" as code DEL (forward erase).

Open Firmware

This is presently only relevant to OLPC XO hardware, which uses Open Firmware instead of a BIOS.

On an unlocked XO, either

  • At boot time, press and hold the escape key to get into Open Firmware.
  • In the Terminal activity, execute the command
echo y > /proc/sysrq-trigger

See olpc:FORTH for a brief introduction to the FORTH programming language, which Open Firmware is written in, plus links to other resources.

Be careful with OFW. You can seriously mess up or brick your XO with it. You might want to experiment in gForth first.

Trouble reports

There is a bit of an art to writing descriptions of problems so that others can tell what went wrong when you don't know. It is part of the more general art of asking useful questions.

You can apply these lessons to writing bug reports on various bug trackers, trouble reports to the Support Gang forum, and discoveries of more of The Undiscoverable here. In brief,

  • Identify the hardware and software, including the versions used.
  • For the undiscoverable, describe the person who could not make the discovery (age, education, language...)
  • State what you did.
  • State what you expected to happen.
  • State what happened instead.
  • What did you try to fix the problem?


Subpages