The Undiscoverable

From Sugar Labs
Revision as of 21:57, 8 October 2009 by Mokurai (talk | contribs) (→‎Journal: Problems saving work subsection)
Jump to navigation Jump to 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. 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.

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.

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.
  • Community Jabber servers (Listings and how to change):

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

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

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.

TA Colors.png

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

TAShadesAndColors.png

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

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

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

Jukebox

  • Where is the music?

IRC

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

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-F). Unfortunately, this shortcut does not work in SoaS in VirtualBox.

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

OLPC XO-1

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

Open Firmware

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

On an unlocked XO,

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

Subpages