0.88/Turtle Art

Turtle Art

Introduction
Turtle Art is an activity with a Logo-inspired graphical "turtle" that draws colorful art based on snap-together visual programming elements.

Turtle Art is intended to be a stepping stone to the Logo programming language, but there are many restrictions compared to Logo. (Only numeric global variables and stack items are available, no lists or other data-structures. The conditionals and some of the functions only take constants or variables, not expressions. Limited screen real-estate makes building large programs unfeasible.) However, you can export your Turtle Art creations to Berkley Logo. The Arduino fork of Turtle Art also has a facility for sensor input, so, for example, you can move the Turtle based upon sound volume or pitch.

Turtle Art is in the same tradition as Etoys, Scratch, Lego Mindstorms™, and Lego Microworlds™.

Turtle Art is used extensively in Sugar deployments and numerous materials for support in the classroom have been developed. Of course, since Turtle Art is a Logo derivative, many of the classic Logo exercises are well suited for engaging students in Turtle Art. For example, Tony Forster has been blogging about a wide variety of Turtle Art activities. Gonzalo Odiard has written a short introduction to Turtle Art.

Turtle Art will let you export your project as PNG, HMTL, SVG or Logo. In other words, you can use Turtle Art to make presentations and as an SVG generator.

More Info:


 * Turtle Art Sugar Activity homepage
 * Turtle Art gallery (See )
 * Turtle Art Manual (See )
 * Turtle Art teacher guides from Uruguay (See )
 * Turtle Art teacher guides from Peru (See )
 * Turtle Art student guide (See )
 * Tony Forster blog on Turtle Art (See )
 * Bill Kerr blog on Turtle Art (See )
 * Barry Newell worksheet (See )

What is new for users
The most visible change is the incorporation of the new scalable block design.

Minor bugs and feature changes include:

83


 * added new user-interface features
 * support for multiple turtles
 * expandable blocks
 * collapsible stacks
 * runtime block highlighting
 * error highlighting
 * trash palette (with restore)
 * palette better integrated into Sugar toolbar
 * variable-length string blocks
 * editable string blocks
 * paste text from Sugar clipboard to string blocks
 * new prefix boolean logic
 * showblock to compliment hideblock
 * fullscreen block
 * Cartesian and polar coordinate blocks
 * color blocks
 * editable macros (used for presentation blocks)
 * labels on coordinate-grid overlays
 * more complete support in non-Sugar environments
 * new (and improved) sample code
 * Logo code for project added to View Source
 * save SVG block lets you generate SVG with Turtle Art
 * improved export-to-HTML logic
 * new translations (hi)
 * multi-variable in-line Python-code blocks
 * traceback for checking errors in in-line Python code


 * completed a major refactoring of the code
 * download bundle-size is only 40% of previous versions
 * faster first-time launch
 * greatly simplified i18n maintenance
 * easier to extend with new blocks and palettes

82


 * minor updates to Spanish translations

81


 * fixed keyboard input bug introduced in v79

80


 * new Finnish translations

79


 * backspace enabled when entering numbers
 * arbitrarily long numeric strings enabled
 * fixed Python error in sample code
 * clean up of en artwork
 * fix bug in load_image
 * detecting XO 1.5 hardware for font-scaling problem
 * keyboard and gamepad navigation
 * expanded hover help
 * better logic for block selection used by copy/paste

78


 * new artwork for pen palette
 * color blocks

77


 * hide status block on start up
 * save reference to Python code loaded from the Journal

76


 * fixed import error in project
 * fixed bullets in exporthtml
 * added proper scaling for coordinate blocks
 * moved status layer forward

75


 * Cartesian coordinates overlay
 * polar coordinates overlay
 * coordinate display on View Toolbar
 * Option to rescale coordinate system to 100x100 on View Toolbar
 * Reordered the palettes (moved misc. down)

74


 * load start block for new projects
 * fixed bug with reloading descriptions from Journal
 * added hover help to command line version
 * initiate the import Python chooser when Python block is clicked
 * saving pastable code to html export
 * fixed some problems in export to HTML code

What is new for developers
Raúl Gutiérrez Segalés and I completed a major refactoring for 0.88 which includes a block factory--a more object-oriented approach that should facilitate a more decentralized development approach.

Internationalization (i18n) and Localization (l10n)

 * added fi, hi

Compatibility
Compatible with all versions of Sugar although some functionality is lost with pre-0.82 versions and sharing is incompatible with previous versions.

Detailed changes
As of Version 83
 * COPYING file is missed
 * turtleart: en.po syntax error, breaks build
 * [portfolio] named variables cause errors in "+="
 * Permissions for TAPortfolio samples not set correctly?
 * Remove unexpected 'save/load' tab from toolbar
 * Turtle Art text entry should use Entry widget
 * Turtle Art sharing needs new logic
 * Logo program should be displayable in the document View Source
 * missing mime types
 * sugar 85 olpc fedora11 jhbuild 20aug9 turtle art doesn't start. No log for sugar art in log dir.
 * turtle art clean brick
 * add a start brick upon launching new project in Turtle Art
 * add a trash can to turtle art
 * Turtle Art Activity crash
 * TurtleArt-71 canvas lockup if you enter a number block with a decimal point
 * Moving tiles in TurtleArt let a trace on the screen
 * TurtleArt creates strange tamyblock.py journal entry
 * Marking strings as "not to be translated" and so forth
 * Numeric and text input fails on Turtle Art v81 under Debian 5.0
 * Turtle Art has some .png images
 * Problem with Spanish translation of "random"
 * activity title should be set to sample name after a sample is loaded

Open tickets

 * Turtle Art with Sensors has different requirements for non-XO hardware
 * Turtle Art: read and write to text file
 * Turtle art: reinstate sensor input
 * Turtle Art feature to add support for "pages"
 * Load samples from turtleart.org
 * Rebase Turtle Art graphics on Cairo
 * Colors used for block highlighting (current running block vs. error-reporting)
 * sound brick only sounds once inside a template

Credits

 * Walter Bender and Raúl Gutiérrez Segalés (with help from Simon Schampijer, Matt Gallagher, and Jamie Boisture)
 * Especially helpful community feedback from Tony Forster, Ed Cherlin, Jeff Elkner, and Bill Kerr
 * Brian Silverman is the first author of Turtle Art