Changes

Jump to navigation Jump to search
8,066 bytes added ,  15:24, 3 December 2014
m
no edit summary
Line 45: Line 45:     
It’s not about being the student who completes the most tasks, that only gets you to the top 10 to be reviewed, it doesn’t mean you will be a grand prize winner. We have had quite a few students who completed the most tasks for their organization yet were not named as Grand Prize Winners because they did everything solo and didn’t get involved in the community or think about the health of the project as a whole, they just kept completing task after task like a machine. If you actively participate in the community then you not only feel the camaraderie that comes with working as a team but you become committed to making the project better for everyone.
 
It’s not about being the student who completes the most tasks, that only gets you to the top 10 to be reviewed, it doesn’t mean you will be a grand prize winner. We have had quite a few students who completed the most tasks for their organization yet were not named as Grand Prize Winners because they did everything solo and didn’t get involved in the community or think about the health of the project as a whole, they just kept completing task after task like a machine. If you actively participate in the community then you not only feel the camaraderie that comes with working as a team but you become committed to making the project better for everyone.
 +
 +
== Some basics about Sugar Labs ==
 +
 +
For some basics about the project, see [http://people.sugarlabs.org/walter/docs/Learning-to-Change-the-World-Chapter-4.pdf Chapter 4 of Learning to Change the World].
 +
 +
=== Getting started with coding ===
 +
 +
Sugar development is in either Python or Javascript.
 +
 +
* You will need knowledge of Python and GTK (See http://python-gtk-3-tutorial.readthedocs.org/en/latest/);
 +
* or Javascript/HTML5;
 +
* and then the basic of Sugar development (See http://www.flossmanuals.net/make-your-own-sugar-activities/);
 +
* and to have a Sugar development environment running (See http://developer.sugarlabs.org).
 +
 +
Please note that you must run [http://legacy.python.org/dev/peps/pep-0008/#introduction pep8] and pyflakes on your code ''before'' submitting your patches.
 +
 +
=== Getting started with GIT ===
 +
 +
Some knowledge of git is important as your work will be submitted to our git repository (https://github.com/sugarlabs). The basic mechanism is a pull request (PR), which is detailed in [http://developer.sugarlabs.org/contributing.md.html].
 +
 +
GitHub provides a tutorial (See https://try.github.io/levels/1/challenges/1), although there are many others as well.
 +
 +
Note that our bug tracker is http:bugs.sugarlabs.org.
    
== Tasks ==
 
== Tasks ==
Line 53: Line 76:  
Tasks must fall within one of these five categories: [[#Documentation/Training]]; [[#Outreach/Research]]; [[#User Interface]]; [[#Quality Assurance]]; and [[#Code]].
 
Tasks must fall within one of these five categories: [[#Documentation/Training]]; [[#Outreach/Research]]; [[#User Interface]]; [[#Quality Assurance]]; and [[#Code]].
   −
===Beginner Task===
+
===Beginner Tasks===
 
We have several tasks that are targeting people new to Sugar and Sugar development. This is a category new to GCI for 2014.
 
We have several tasks that are targeting people new to Sugar and Sugar development. This is a category new to GCI for 2014.
 
{| border=1 cellpadding=3 style="border: 1px solid white; border-collapse: collapse; background: #e3e4e5;"
 
{| border=1 cellpadding=3 style="border: 1px solid white; border-collapse: collapse; background: #e3e4e5;"
Line 61: Line 84:  
|Install the Sugar development environment||Following the instruction at [http://developer.sugarlabs.org/dev-environment.md.html], set up the Sugar development environment. Submit a screen-shot of the development environment running to complete this task. You can get help on our irc channel should you run into any difficulties.|| 48 || all || beginner
 
|Install the Sugar development environment||Following the instruction at [http://developer.sugarlabs.org/dev-environment.md.html], set up the Sugar development environment. Submit a screen-shot of the development environment running to complete this task. You can get help on our irc channel should you run into any difficulties.|| 48 || all || beginner
 
|-
 
|-
|Install Sugar in a virtual machine||If your intention is to focus on documentation and training or outreach, then you may want to install Sugar in a virtual machine. Following the instruction at [http://wiki.sugarlabs.org/go/Downloads#Virtual_Machines_on_all_platforms], set up the Sugar development environment. Submit a screen-shot of the development environment running to complete this task. You can get help on our irc channel should you run into any difficulties.|| 48 || all || beginner
+
|Install Sugar in a virtual machine||If your intention is to focus on documentation and training or outreach, then you may want to install Sugar in a virtual machine. Following the instructions at [http://wiki.sugarlabs.org/go/Sugar_Creation_Kit#Tutorials][http://wiki.sugarlabs.org/go/Sugar_on_a_Stick/Virtual_machines][http://wiki.sugarlabs.org/go/Downloads#Virtual_Machines_on_all_platforms], set up the Sugar development environment. Submit a screen-shot of the development environment running to complete this task. You can get help on our irc channel should you run into any difficulties.|| 48 || all || beginner
 +
|-
 +
|Create an example program in Turtle Blocks||We distribute examples with the Turtle Blocks programming environment. Create your example -- some art, some geometry, some multimedia, a simple game -- to be included with the package. Deliverable is a Turtle Blocks project file to be reviewed by Sugar Labs designers and educators. || 48 || all || beginner
 
|}
 
|}
   Line 72: Line 97:  
|-
 
|-
 
|Update the Sugar Labs entry in Wikipedia|| The Sugar Labs entry in Wikipedia is very old. Please bring it up to date. || 48 || Walter || Documentation
 
|Update the Sugar Labs entry in Wikipedia|| The Sugar Labs entry in Wikipedia is very old. Please bring it up to date. || 48 || Walter || Documentation
 +
|-
 +
|Update the Sugar Labs wiki page on git||The [[Activity Team/Git Tutorial]] is out of date: we have migrated to GitHub. Please update the page to reflect the GitHub workflow. See http://developer.sugarlabs.org/contributing.md.html for more details || 48 || Walter || Documentation
 
|-
 
|-
 
|Help for MusicKeyboard activity|| Create a page in Help activity for the MusicKeyboard activity || 48 || GOdiard || Documentation
 
|Help for MusicKeyboard activity|| Create a page in Help activity for the MusicKeyboard activity || 48 || GOdiard || Documentation
Line 98: Line 125:  
|-style="background:#787878; color: white;"
 
|-style="background:#787878; color: white;"
 
!Title !! Description !! Hours !! Mentor !! Tag
 
!Title !! Description !! Hours !! Mentor !! Tag
 +
|-
 +
|Turtle Art Day||Organize a Turtle Art Day in your community. Details at [http://people.sugarlabs.org/walter/Guia_Ingles_10-08-2013.pdf]||96||Walter||Outreach
 +
|-
 +
|Promo Video||Create a 60 second promotional video on Sugar and its community.||96||Mariah||Outreach
 +
|-
 +
|Hangout Q&A||Host a Question and Answer (Q&A)/Information session about Sugar on Google Hangouts. Invite friends, family, peers, as well as academic and community leaders.||96||Mariah||Outreach
 +
|-
 +
|Local Lab Wiki||Create/update a "Local Lab" page for your area/country. Fill in the page with information on the Sugar community in your area. This could include contact information, mailing lists, events and any other information that may be relevant. ||96||Mariah||Research
 +
|-
 +
|How-To Guide||Create a guide for how to host your own DIY Sugar on a Stick party. The guide should include at least two promotional item designs (like a sticker, brochure, flyer). Feel free to change the name to something else. ||96||Mariah||Outreach
 +
|-
 +
|DIY Sugar on a Stick||Organize and host a Sugar on a Stick party where you show people how to make their own Sugar on a Stick. Then, hold a workshop on the basics of using Sugar. Take pictures to document the experience. Post a blog about it.||96||Mariah||Outreach
 +
|-
 +
|Potential Users||Gather information on who could benefit from using or knowing about Sugar. Look at non-profit organizations, academic institutions, the home-school community. Build a database including contact information, website URLS, social media profiles, and any other relevant information.||96||Mariah||Research
 +
|-
 +
|Sugar Tools & Resources||Find the resources that people are using throughout the world to learn about or teach Sugar Activities. This can include manuals, teacher guides, YouTube videos, blogs, etc. Document what type of resource it is, the URL for the resource, the target audience of the resource and whether it is up-to-date.||96||Mariah||Research
 +
|-
 +
|Introduce Yourself||Write a blog post about why you are participating in Google Code-In, what you hope to learn from the GCI and how Sugar Labs can help you. Include a picture. Share blog post through social media.||48||Mariah||Outreach
 +
|-
 +
|Interview a GCI Peer||Interview another Sugar Labs GCI participant. Ask them questions about how they are selecting/completing tasks, any successes/struggles they are having, etc. Post on participant blog. Share blog post through social media.||48||Mariah||Outreach
 +
|--
 +
|Interview an Educator||Find an educator who is using open-source educational software to teach. Interview the educator about their experience as an educator and why they are using open-source software to teach. Post about it on the blog, include a picture. Share the blog post through social media and with the educator.||48||Mariah||Outreach|
 +
|-
 +
|Review an Activity||Write a review about an Activity in Sugar. Explain how you use it, what kind of project you could do with it, any bugs it might have, etc. Post your review. The review can be a video review or a written review with screenshots. Share the blog post through social media.||48||Mariah||Outreach
 +
|-
 +
|Women in the Sugar Community||Create a 10-minute presentation celebrating at least three women within the Sugar community and/or the open-source community at large. Write a blog post about what you learned when making this presentation and include a link to the presentation.||48||Mariah||Outreach
 +
|-
 +
|Wrap-Up||Write a blog post about your experience as a GCI participant for Sugar Labs. Share your thoughts on what was successful and what can be improved for next year's participants. Feel free to include pictures, videos, links to work that you are most proud of. Share the post through social media.||48||Mariah||Outreach
 
|}
 
|}
   Line 110: Line 165:  
|-
 
|-
 
|Classroom management 2|| Sugar provides only a few tools for classroom management, e.g., the Share With Teacher webservice. Which of the results from the Classroom management 1 task would be useful to incorporate into the Sugar ecosystem? Evaluation should include s description of the service and a sketch of how the user interaction would work. || 72 || Walter || UI, pedagogy
 
|Classroom management 2|| Sugar provides only a few tools for classroom management, e.g., the Share With Teacher webservice. Which of the results from the Classroom management 1 task would be useful to incorporate into the Sugar ecosystem? Evaluation should include s description of the service and a sketch of how the user interaction would work. || 72 || Walter || UI, pedagogy
 +
|-
 +
|Sugar on a small screen|| Sugar was originally designed as a desktop environment for small computers. But these days, many children have access to smart phones rather than computers. This task is to make some sketches as to how Sugar might be redesigned for a smart phone form-factor. A series of annotated sketches should be made as part of completing this task. || 72 || Walter || UI
 +
|-
 +
|Programming on a small screen|| We put an emphasis on programming in Sugar. One popular programming environment is Turtle Blocks. Recently we made a Javascript version that can run in a browser (and hence on a smart phone). How should the UI change to accommodate that form-factor? A series of annotated sketches should be made as part of completing this task. || 72 || Walter || UI
 +
|-
 +
|End-user customization||We try to encourage our users to re-imagine Sugar as they'd like it. Users can change the icon layout, the background screen, and the XO avatar. What else should be made easier to customize with minimal programming? || 72 || Walter || UI
 
|}
 
|}
   Line 119: Line 180:  
!Title !! Description !! Hours !! Mentor !! Tag
 
!Title !! Description !! Hours !! Mentor !! Tag
 
|-
 
|-
|Behavior diff for Turtle Blocks JS||Turtle Blocks Javascript is a port from the Python version of the activity. The goal of this task is to document any differences in behavior between the two versions.||72||Walter||QA
+
|Behavior diff for Turtle Blocks JS|| [https://turtle.sugarlabs.org Turtle Blocks JS] is a Javascript port from the Python version of the activity. The goal of this task is to document any differences in behavior between the two versions.||72||Walter||QA
 
|-
 
|-
 
|Unit tests for JS activities||We have no unit tests for our Javascript activities. This task is to investigate approaches to unit testing in Javascript||72||Walter||QA
 
|Unit tests for JS activities||We have no unit tests for our Javascript activities. This task is to investigate approaches to unit testing in Javascript||72||Walter||QA
 +
|-
 +
|Test Sugar on a Stick || Help test the latest Sugar on a Stick on Fedora (F21). See [http://dl.fedoraproject.org/pub/alt/stage/21_Beta_RC4/], [https://fedoraproject.org/wiki/Test_Results:Fedora_21_Beta_RC4_Desktop#Sugar_.28non-blocking.2C_all_arches.29] #fedora-qa (freenode IRC). Deliverable is a report of the major Sugar features, e.g., desktop, journal, collaboration, and the core activities, e.g., Write, Browse, Turtle, Chat, Speak, etc. || 48 || Satellit || QA, SoaS
 +
|-
 +
|Interview a teacher|| Ultimately the quality of our work is determined by our end users. Interview a classroom teacher who is using Sugar and solicit feedback about what works, what doesn't. || 72 || Walter || QA
 +
|-
 +
|Interview a student|| Ultimately the quality of our work is determined by our end users. Interview a student who is using Sugar in school and solicit feedback about what works, what doesn't. || 72 || Walter || QA
 
|}
 
|}
   Line 131: Line 198:  
!Title !! Description !! Hours !! Mentor !! Tag
 
!Title !! Description !! Hours !! Mentor !! Tag
 
|-
 
|-
| Beagle Board plugin for Turtle Blocks || The [http://beagleboard.org/ Beagle Board] is a low-power, open-hardware computer that facilitates experimentation with a large family of sensors. The task is to get [[Activities/TurtleBlocks|Turtle Blocks]] running on a Beagle Board and then write an example [[Activities/TurtleBlocks#Plugins|plugin]].|| 72 || Sugar || Code, UI, Python
+
| PO -> INI conversion || We use gettext and PO files for internationalization in our Python programs. In Javascript, we are looking at [https://github.com/fabi1cazenave/webL10n webL10n]. This task is to write a Python script to convert PO files into the INI format used by webL10n. || 72 || Walter || Code, i18n, Python
 +
|-
 +
| Beagle Board plugin for Turtle Blocks || The [http://beagleboard.org/ Beagle Board] is a low-power, open-hardware computer that facilitates experimentation with a large family of sensors. The task is to get [[Activities/TurtleBlocks|Turtle Blocks]] running on a Beagle Board and then write an example [[Activities/TurtleBlocks#Plugins|plugin]].|| 72 || Gary || Code, UI, Python
 +
|-
 +
| Munsell colors || The [http://en.wikipedia.org/wiki/Munsell_color_system Munsell color system] is a visually uniform color system. There is a decent [http://search.cpan.org/~tonodera/Color-Model-Munsell-0.02/lib/Color/Model/Munsell.pm Perl module for Munsell], but no Python module as far as I know. Would be great to have a Python version so we can use Munsell in Sugar activities. || 72 || Walter || Code, UI, Python
 
|-
 
|-
| Munsell colors || The [http://en.wikipedia.org/wiki/Munsell_color_system Munsell color system] is a visually uniform color system. There is a decent [http://search.cpan.org/~tonodera/Color-Model-Munsell-0.02/lib/Color/Model/Munsell.pm Perl module for Munsell], but no Python module as far as I know. Would be great to have a Python version so we can use Munsell in Sugar activities. || 72 || Sugar || Code, UI, Python
+
| Sharing Palette Highlight Bug || GTK3 Sharing Palette does not highlight the current selected option. The palette should highlight the icon of the selected option. This worked fine in GTK2.   You can test with Chat (gtk2) and Browse (gtk3). Ticket: http://bugs.sugarlabs.org/ticket/4467  Relevant code: gtk3 themes at github.com/sugarlabs/sugar-artwork || 48 || devel team || UI, Code, Python
 
|-
 
|-
| Sharing Palette Highlight Bug ||  GTK3 Sharing Palette does not highlight the current selected option. The palette should highlight the icon of the selected option. This worked fine in GTK2.  You can test with Chat (gtk2) and Browse (gtk3).  Ticket: http://bugs.sugarlabs.org/ticket/4467 Relevant code: gtk3 themes at github.com/sugarlabs/sugar-artwork || 48 || Bug, Sugar, GTK, Theme || UI, Code
+
| Magic Tool For Paint ||  The kids want the magic tools from TuxPaint in the sugar Paint activity.   The teachers in Uruguay say the kids like the magic tools from TuxPaint.  Ticket: http://bugs.sugarlabs.org/ticket/2838 Relevant code: https://github.com/godiard/paint-activity  || 72 || GOdiard || Code, Python
 
|-
 
|-
| Magic Tool For Paint ||  The kids want the magic tools from TuxPaint in the sugar Paint activity.   The teachers in Uruguay say the kids like the magic tools from TuxPaint.  Ticket: http://bugs.sugarlabs.org/ticket/2838 Relevant code: https://github.com/godiard/paint-activity || 72 || Feature, Magic, Paint, Activity || Code
+
|| Clear Browse Cache on Crash ||  Browse cache can bloat up with time consuming valuable space on the laptop.  On one laptop me and tch checked, there were 400MB of unaccessible files (mostly multimedia) in the Browse instance folder. We need a procedure to clean instance/ when starting browse (needs to check it is the only instance to avoid corner case of more than one browse instance). Another option is to check the date of partial files...  Ticket: http://bugs.sugarlabs.org/ticket/2659#comment:6 Relevant code: https://github.com/sugarlabs/browse-activity || 48 || GOdiard || Code Python
 
|-
 
|-
|| Clear Browse Cache on Crash || Browse cache can bloat up with time consuming valuable space on the laptop. On one laptop me and tch checked, there were 400MB of unaccessible files (mostly multimedia) in the Browse instance folder. We need a procedure to clean instance/ when starting browse (needs to check it is the only instance to avoid corner case of more than one browse instance). Another option is to check the date of partial files...  Ticket: http://bugs.sugarlabs.org/ticket/2659#comment:6 Relevant code: https://github.com/sugarlabs/browse-activity || 48 || Browse, Activity, Bug, Cache || Code
+
|| On Screen keyboard Covers Terminal ||  On terminal activity, the OSK is covering the text entry area. This means that they cannot be used in tablet (full-touch) mode, meaning that they cannot meet Objective #2487.  Ticket: http://bugs.sugarlabs.org/ticket/4542 Relevant code: https://github.com/godiard/terminal-activity || 48 || devel team || Code, UI, Python
 
|-
 
|-
|| On Screen keyboard Covers Terminal || On terminal activity, the OSK is covering the text entry area. This means that they cannot be used in tablet (full-touch) mode, meaning that they cannot meet Objective #2487. Ticket: http://bugs.sugarlabs.org/ticket/4542 Relevant code: https://github.com/godiard/terminal-activity || 48 || Terminal, Bug, OSK, Touch, XO-Required, Activity || Code, UI
+
|| Pippy does not load example if no tabs present || Steps: open pippy, close all tabs, open an example (any), nothing will happen and is confusing, the log shows an ugly error. Ticket: http://bugs.sugarlabs.org/ticket/4782 Relevant code: https://github.com/walterbender/Pippy || 48 || walter || Code, Python
 
|-
 
|-
|| Pippy does not load example if no tabs present || Steps: open pippy, close all tabs, open an example (any), nothing will happen and is confusing, the log shows an ugly error. Ticket: http://bugs.sugarlabs.org/ticket/4782 Relevant code: https://github.com/walterbender/Pippy || 48 || Pippy, Bug, Activity || Code
+
|| XO sleeps while Spirolaterals is drawing || The Spirolaterals activity should ask XO builds not to suspend while its drawing routine is active.  Since it takes more than 15 seconds to complete a drawing cycle based on many user-entered patterns, and drawing is done in a step/pause/step manner which doesn't use much CPU, a XO laptop can decide to suspend before the completed image is drawn.   Use the inhibit suspend routines in the toolkit to fix this bug.  Ticket: http://bugs.sugarlabs.org/ticket/3417 Relevant code: https://github.com/walterbender/spirolaterals || 48 || walter || Code, Python
 
|-
 
|-
|| XO sleeps while Spirolaterals is drawing || The Spirolaterals activity should ask XO builds not to suspend while its drawing routine is active.  Since it takes more than 15 seconds to complete a drawing cycle based on many user-entered patterns, and drawing is done in a step/pause/step manner which doesn't use much CPU, a XO laptop can decide to suspend before the completed image is drawn.   Use the inhibit suspend routines in the toolkit to fix this bug.  Ticket:  http://bugs.sugarlabs.org/ticket/3417 Relevant code: https://github.com/walterbender/spirolaterals || 48 || Spirolaterals, Bug, Activity || Code
+
| Warn users before installing bundles for newer Sugar || Currently, Sugar will happily install a bundle marked as not being compatible with that version (the activities minimum sugar version is too high). You should add a prompt to warn users about installing that bundle.  Ticket:  http://bugs.sugarlabs.org/ticket/1442 Relevant code: https://github.com/sugarlabs/sugar and https://github.com/sugarlabs/sugar-toolkit-gtk3 || 48 || || Code, Python, UI
 
|}
 
|}
    
== Unsorted tasks ==
 
== Unsorted tasks ==
=== Test Fedora SoaS for #fedora-qa (freenode IRC)===
  −
*Help test the latest Sugar on a Stick in Fedora
  −
:f21 -Beta RC4 is the Beta release for f21
  −
::http://dl.fedoraproject.org/pub/alt/stage/21_Beta_RC4/
  −
::Available on Tuesday
  −
:https://fedoraproject.org/wiki/Test_Results:Fedora_21_Beta_RC4_Desktop#Non_release-blocking_desktops:_x86_.2F_x86_64
  −
   
=== Sugar enhancements from bugs.sugarlabs.org ===
 
=== Sugar enhancements from bugs.sugarlabs.org ===
 
Each of these open tickets is potential task-worthy.
 
Each of these open tickets is potential task-worthy.
Line 161: Line 225:  
|-style="background:#787878; color: white;"
 
|-style="background:#787878; color: white;"
 
!Ticket !! Description !! Type !! Component
 
!Ticket !! Description !! Type !! Component
|-
  −
| [http://bugs.sugarlabs.org/ticket/1442 1442] || Reject activity bundles which require a newer version of Sugar || enhancement || Sugar
   
|-
 
|-
 
| [http://bugs.sugarlabs.org/ticket/1646 1646] || No way to force-close (kill) an activity || enhancement || Sugar
 
| [http://bugs.sugarlabs.org/ticket/1646 1646] || No way to force-close (kill) an activity || enhancement || Sugar
Line 492: Line 554:  
|}
 
|}
   −
=== Enhancements from bugs.sugarlabs.org ===
+
=== Activity enhancements from bugs.sugarlabs.org ===
 
Each of these open tickets is potential task-worthy.
 
Each of these open tickets is potential task-worthy.
 
{| border=1 cellpadding=3 style="border: 1px solid white; border-collapse: collapse; background: #e3e4e5;"
 
{| border=1 cellpadding=3 style="border: 1px solid white; border-collapse: collapse; background: #e3e4e5;"
Line 724: Line 786:     
* Walter Bender - also org admin for GCI
 
* Walter Bender - also org admin for GCI
 +
* Gonzalo Odiard
 +
* Martin Abente
 +
* Mariah Noelle Villarreal
 +
* Gary Servin Cardozo
 +
* Rajul Srivastava

Navigation menu