openSUSE:GCI tasks 2011

Jump to: navigation, search
Google Code-In is program that should help students in age between 13 and 17 to learn about open source coding and communities around open source projects. For openSUSE it is opportunity to attract more active contributors.


Google Code-in 2011 digest

Digest is meant as help for busy people considering to become mentors.
It is GCI in a few words without pretension to be comprehensive, so if something is not clear read pages with more details.

Categories

Google published following categories for Code-in:

  • Code: Tasks related to writing or refactoring code
  • Documentation: Tasks related to creating/editing documents
  • Outreach: Tasks related to community management and outreach/marketing
  • Quality Assurance: Tasks related to testing and ensuring code is of high quality
  • Research: Tasks related to studying a problem and recommending solutions
  • Training: Tasks related to helping others learn more
  • Translation: Tasks related to localization
  • User Interface: Tasks related to user experience research or user interface design and interaction

Task creation

Any task should be created with this in mind:

In other words:

  • Tasks must be suitable for 13-17 years old participants that have no educational background to solve complex tasks.
  • It must be possible to accomplish one or more tasks from Nov 21st 2011 to Jan 16th 2012. This includes:
    • time to analyze problem, and contact mentor for details
    • learn about tools and methods used to solve similar problems, and
    • actually solve a problem.

One very useful resources for task ideas can be found at Junior jobs. However it is not good for tasks that suit GCI participants, as described in above digest. First and foremost it must be split in tasks that 13-17 years old students can work with.

Task definitions

This 4 points are mandated by Google.

  • identify the problem
  • give general background
  • set time frame to complete
  • set requirements to consider task completed

Difficulty assessment

Tasks are grouped in 3 levels by difficulty:

  • Easy = 1 point to participant
  • Medium = 2 points
  • Difficult = 4 points

Participating projects are responsible to set difficulty level.
When doing that have in mind that last year top ranked participants made around 300 points in 2 months, which makes 5 or more points a day. See:

For details on this see again GCI Admin and Mentor Information.

Tasks

Code refactoring and writing



Evaluating and extending spybot irc bot

The student should evaluate, adapt, document or write a factoid plugin for spybot for our openSUSE IRC channels and also import the existing factoids from SUSEHelp to the newer bot

  • Mentor:
  • Status: OPEN
  • Difficulty: Hard

Replace CSS style with CSS classes in the wiki

  • The problem: About 80 templates in the wiki contain CSS style instead of using a CSS class which will unify the styling and reduce the maintenance effort in case we want to change some styles in the whole wiki one day.
  • Background: Wiki is this http://en.opensuse.org . Styles should be moved to CSS classes, temporarily to MediaWiki:Common.css, to test how they work, and later to the bento CSS file. As student will have no admin access to server, or wiki, mentor has to take care that solutions are included in MediaWiki:Common.css and later moved to server.

Student can update templates to use new defined classes. This is even more important for templates that are used as page templates because those are copied to the new page, which means we'd have to change all pages based on this template. See Help:CSS_cleanup for more details.

This task is listed under coding, as it doesn't deal with with artwork and layout design, but coding elements that control browser behavior.

  • Time to complete: 1 weeks
  • Completed when:
    • all Template:* pages use class= instead of style=
    • a list with the exact style= code and the new CSS class name used in page templates exists
  • Mentor: Thomas Schmidt
  • Status: OPEN
  • Difficulty: Medium

Replace CSS style with CSS classes in the wiki - in each language wiki

  • The problem: Not only http://en.opensuse.org uses hardcoded style= in the templates. The other *.opensuse.org wikis in various languages have the same problem. The templates in those wikis need to be changed to use the same CSS classes as defined in the english wiki.
  • Background: This task can be started after the task "Replace CSS style with CSS classes in the wiki" (in the english wiki) is completed. You can then do the same for one or more language wikis.
  • Time to complete: 2 days per language
  • Completed when:
    • all Template:* pages use class= instead of style=
    • a list with the exact style= code and the new CSS class name used in page templates exists
  • Mentor: Thomas Schmidt
  • Status: OPEN
  • Difficulty: Medium

Add support for xz compressed archives to osc collab

The osc collab is a plugin for osc that helps people deal with their packages. One of the features is "collab update", which will download the new tarball and generate useful diffs for some files. However, due to the fact that python doesn't support xz archives by default (it will be added in the future), "collab update" doesn't work as well as it could with tarballs using the xz format.

The student will write some function to work around the lack of xz support in python, so that relevant files can be extracted and diffed.

Documentation



Review Wiki Howtos (SDB Portals) for accuracy

The student should test 10 pages on SDB Namespace ( that is the address on the page is something like http://en.opensuse.org/SDB:XXXX )on an openSUSE 12.1 machine. After testing the student should document all the results in the wiki as per the wiki guidelines. This task can be reopened ( by a different student who has not done this before ) . In the process, the student gets to test new applications, and gets to learn simple howtos that are needed regularly

Mentor: Manugupt1 Talk - Contributions

Status: OPEN

Difficulty Medium

Assign Proper Categories to uncategorised pages

A list of Uncategorized pages can be found here. The student must assign proper category to each of these pages, so that no uncategorised pages remain. The student learns the organisation of the openSUSE wiki in the due course.

Mentor: Thomas Schmidt

Status: OPEN

Difficulty Easy

Review Wiki 12.1 Portals for accuracy

Description of idea goes here, try and be as detailed as possible.

Mentor:

Status: OPEN

Difficulty Medium

Review and build all KIWI examples as documented on the wiki

This task involves reading and exercising the examples found in the KIWI cookpook at Portal:KIWI. Anything that is not sufficiently explained should be improved, anything that is not working needs to be fixed.

Mentor: Robert Schweikert

Status: OPEN

Difficulty Hard

Propose improvements to openSUSE main page to improve navigation and usability

During the "What we need to improve session" at OSC11 the navigation of the web site was raised as a point that needs work. This task involves research of other distribution web sites, see what works and what doesn't. Compare with the existing site and provide a basic proposal of a design for the openSUSE page.

Mentor: Robert Schweikert

Status: OPEN

Difficulty Hard

Write 12.1 wiki documentation based on older version documentation pages

Research SDB pages from previous versions of the distribution that do not exist on 12.1 and create new wiki pages and rewrite them by making the needed corrections and adaptions to 12.1.

Mentor: Efstathios Agrapidis, Kostas Koudaras

Status: OPEN

Difficulty Hard

Update GNOME wiki pages

Our Portal:GNOME wiki pages currently link to a lot of obsolete and irrelevant information, and currently omits much information about the new features and capabilities of GNOME 3.x. The student will either use openSUSE 12.1 to produce documentation covering new features in GNOME 3.2 or openSUSE 11.4 and 11.3 to identify documentation that is no longer relevant and either update it or suggest its removal.

This task can be reopened ( by a different student who has not done this before )

Mentor: RBrownCCB Talk - Contributions

Status: OPEN

Difficulty Medium

Update osc collab documentation

osc collab is a plugin for osc that helps people deal with their packages. It is documented on the wiki (openSUSE:Osc_Collab) but some features have been added, and some removed since the documentation was last updated. The student will look at the plugin and update the documentation, especially documenting the workflows that "osc collab" enables.

Mentor: Vincent Untz

Status: OPEN

Difficulty Medium

Write documentation on how to add upstream metadata to osc collab

osc collab is a plugin for osc that helps people deal with their packages. It can help track upstream releases if some metadata is known first. However, the process of adding this metadata is not well-documented.

The student will write such documentation, with examples, based on inline documentation in the collab tool.

Mentor: Vincent Untz

Status: OPEN

Difficulty Easy

Communty and Outreach tasks



Contact Ambassadors and determine their response time

  • The problem: Write report about openSUSE Ambassadors availability.
  • Background: Contact list is not always accurate. When we have some action it is good to know that all ambassadors are responsive. Students should contact openSUSE Ambassadors, for instance by sending a polite email giving them 2 weeks to respond. After 2 weeks compile list with response times or remark "not responded" if there is no answer. Also, note all difficulties that you encountered and solutions you applied.
Note: We consider that most of the time in this task will be spent waiting responses so with this task participant can take some other task.
  • Time to complete: 2 weeks, or shorter if all ambassador answer earlier.
  • Completed when: Student submits report.
  • Mentor: Kostas Koudaras
  • Status: OPEN
  • Difficulty: Easy.

Assess and recommend improvements to workflow of online shop

Review the current path for visitors determining how to purchase and request openSUSE materials. Recommend and demonstrate a workflow that reduces barriers and increases visibility to reach those relevant pages.

Investigate online resellers for online openSUSE Shop

Research and create recommendations for best online shops to resell openSUSE materials, such as t-shirts and mugs, etc. Take into consideration costs of service, service areas (what parts of the Globe are covered by services), items that can be sold, and possible use of multiple shop sites to fit global needs.

Create Geeko Plushie Campaign

We intend to have a special one-time campaign to distribute and sell large-sized Geeko plushies (similar to what is at openSUSE Conferences). The task here will be to investigate the feasibility cost of the production/shipping and design a marketing campaign that promotes the Plushie as well as promotes the message of openSUSE Project. This will be an interesting project for a student interested in developing marketing experience from start to finish.

Write in-depth review of openSUSE 12.1 for tech website

  • The problem: Reaching out to media is important way to let people know about new openSUSE version.
  • Background: openSUSE 12.1 could use a nice, in-depth review. Something which goes deeper than the usual "it looks nice". Go into things like YaST and it's functionality, the available software on http://software.opensuse.org and one-click-install, the several desktops, things like that...

You will have to install openSUSE 12.1 and give it a serious work-out; test many of the tools in YaST, play with all desktops (including taking screenshots) and go over at least some of the major features. You will need to describe the process, your thoughts and difficulties you encounter.

You will learn how to write a technical articles and get some in-depth coaching on how to keep a text interesting and how to keep your audience in mind.

Write review of OBS for tech website

OBS could always use a good write-up. Something like a commented step-by-step of how to build a package. There are plenty of how-to's which can be used to write an article like that so it's not even that hard...

You will need to use OBS to build a reasonably complicated package, do a submit request and some of the other functions of OBS. You can of course use the documentation and ask people for help! You will need to describe the process, your thoughts and difficulties you encounter.

You will learn how to write a technical articles and get some in-depth coaching on how to keep a text interesting and how to keep your audience in mind.

Write review of Studio & KIWI for tech website

SUSE Studio and KIWI are awesome tools, allowing you to build your own operating system from a browser or customizing and building images on your own computer. Studio is like a GUI for KIWI and allows you to export an KIWI xml file for further fine tuning or automated building. An article about how to do these things would be great!

You will need to use SUSE Studio to build an image, then export the KIWI XML file and play with it on your own system including building the same image. You will need to describe the process, your thoughts and difficulties you encounter.

You will learn how to write a technical articles and get some in-depth coaching on how to keep a text interesting and how to keep your audience in mind.

Create Marketing Materials Artwork

Description of idea goes here, try and be as detailed as possible.

  • Mentor:
  • Status: OPEN
  • Difficulty Hard

Review marketing and ambassador wiki pages (moved to melnage)

  • The problem: The openSUSE wiki has a lot of pages related to ambassadors and marketing that contain many useful information. Some of them are old and need to be renewed and some of the are not linked anywhere so it is almost impossible to be found while you navigate though the wiki pages.
  • Background: From time to time many useful ambassador and marketing pages have been created by people not so experienced with the wiki.


Review the marketing and ambassador wiki pages and see if there is something that needs to be renewed, Locate any duplicated pages or any related pages that are not linked anywhere and make a report

  • Time to complete: 1 week
  • Completed when: The student submits the report and the mentor reviews it.
  • Mentor: Kostas Koudaras
  • Status: OPEN
  • Difficulty Medium

Make a presentation in a school about 12.1

The student will make a presentation about 12.1, probably in his school or other. He or she will have to study the existing slides and even make changes expanding them. Finally, the actual presentation will be made and feedback will be given to the community in the form of a written report. The student will learn how to organize and perform to Presentations, also how to give reports on such events back to the community

Mentor:Kostas Koudaras

Status: OPEN

Difficulty: Medium

Quality assurance



Test SaX3 extensively

  • The problem: SaX3 was recently developed in Google Summer of Code and as a new software it needs testing.
  • General background: The idea is to check sax3 extensively and find possible bugs. In this process, the student will learn to write xorg config files or have a basic idea how to write them, read log files to look for relevant information.
  • Time to complete:
  • Completed when:
  • Mentor: Manugupt1 Talk - Contributions
  • Status: OPEN
  • Difficulty: Hard

Test GNOME Shell Extensions

  • The problem: GNOME 3.x has introduced the concept of extensions to allow users to customise their GNOME shell experience. Many of these extensions have not been fully tested with openSUSE. This may include testing the new extensions.gnome.org web service if it is launched during the GCI timescale.
  • General background: The idea is to download and extensively test publicly available gnome shell extensions and find possible bugs. In this process, the student will learn to read various log files to look for relevant information, and learn a working knowledge of javascript, the language these extensions are written in.
  • Time to complete:
  • Completed when:
  • Mentor: RBrownCCB Talk - Contributions
  • Status: OPEN
  • Difficulty: Medium

Test GNOME Shell On Multiple Monitors

  • The problem: GNOME 3 has been extensively tested on single monitor systems and somewhat on dual monitor systems. Further testing of multiple monitors is required to identify issues.
  • General background: You will need to be able to run openSUSE 12.1 on a machine with at least 2 (ideally more) monitors.

You will be testing GNOME shell with multiple monitors, looking for both bugs and usability issues.

You learn how to investigate complex issues that blend both technical and UX elements. Any issues found will need to be documented and possible workarounds/solutions proposed.

Test GNOME Shell On Tablets

  • The problem: GNOME 3's design has made some considerations for tablet computing, but due to the limited availability of x86 based tablets, little testing has been done of GNOME 3 in a tablet environment.
  • General background: You will need to be able to run openSUSE 12.1 on an x86 based tablet.

You will be testing GNOME shell on this tablet, looking for both bugs and usability issues.

You learn how to investigate complex issues that blend both technical and UX elements. Any issues found will need to be documented and possible workarounds/solutions proposed.

With an openSUSE ARM build on the way, the results of this testing could prepare GNOME 3 for use of many more tablet devices in the not-too-distant future.

check old bugreports against openSUSE 12.1

  • The problem: There are lots of bugreports open for old versions of openSUSE. We need to check if those bugs still exist in openSUSE 12.1.
  • Background: Check if the bugreports are still are valid for openSUSE 12.1. If yes, change the product to "openSUSE 12.1" and add a comment like "This bug was reported for openSUSE x.y and is still valid in 12.1". If a bug is fixed in openSUSE 12.1, add a comment saying "This bug is fixed in openSUSE 12.1"

Note: A student can pick his favorite component in bugzilla, and we have enough old bugs for everybody ;-) Time needed and difficulty depend on the bugs chosen - I'd say checking 20 bugs a day (or 40 enhancement requests) is doable.

Research



Find the target users of openSUSE medical (clinic or private practice) and type of software they need

  • The problem: openSUSE medical project supports the use of openSUSE in doctor's practices and other clinical environments. We want to know what type of software a doctor needs (depending on specialty) so next version of openSUSE medical will include it.
  • Background: You must create a survery of 10-15 questions (you can use Google Docs) and then ask 10-15 doctors. When you will have the results, you will check the list of the provided open source software and choose the one or more that fill the needs of the most doctors
  • Time to complete: 1 week
  • Completed when: You will have the name of the software descibed above
  • Mentor: Diamond_gr Talk - Contributions
  • Status: Open
  • Difficulty Hard

Research about community and distribution

  • The problem: Many people started using SUSE but over the years changed to other distributions. With this survey we can find out some reasons, we can learn new ideas how to improve the community and the distro.
  • Background: The student must promote to mailing lists, forums or ask people he/she knows to fill the survey. When he/she will have 20 replies (or when the time to complete the task passed), he will be given Libre Office file with the answers. He/she must write a report with the results.
  • Time to complete: 3 days
  • Completed when: You will have the report ready
  • Mentor: Diamond_gr Talk - Contributions
  • Status: Open
  • Difficulty: Medium

Training



Create a screencast showing how to use osc collab

osc collab is a plugin for osc that helps people deal with their packages. However, most people are not aware of how this plugin can change their life.

The student will create a screencast showcasing osc collab, especially how to configure it and how to use the todo, update, setup subcommands as well as the reservation system. The screencast can potentially be split in a series of screencasts if needed.

Mentor: Vincent Untz

Status: OPEN

Difficulty Medium

Create a screencast showing how to add upstream metadata to osc collab

osc collab is a plugin for osc that helps people deal with their packages. It can help track upstream releases if some metadata is known first.

The student will create a screencast showing how to add upstream metadata, including how to create the patch for integration in git.

Mentor: Vincent Untz

Status: OPEN

Difficulty Medium

Create a Video Tutorial showing how to access Linux filesystems in Windows

Many users have dual boot systems with Linux and Windows. There are many solutions to share data and files between the operating systems. However, there will allways be the need to access some data in a linux fs.

The student will create a video tutorial on what linux filesystems can be accessed from windows and the procedure a user has to follow in order to accomplish that. The final video should have subtitles in .srt or other easy to translate format.

Mentor: Efstathios Agrapidis

Status: OPEN

Difficulty: Easy

Create a Video Tutorial showing Desktop customization tips

Most users, either new or more experienced, don't know a lot about the potential of their openSUSE linux system. They are just used to simple use cases and don't know how to ease their life when it comes to the full desktop experience that the modern GUIs can offer.

The student will create a video tutorial on general Desktop customization tips that can make the final user feel "at home". The final video should have subtitles in .srt or other easy to translate format.

Mentor: Efstathios Agrapidis

Status: OPEN

Difficulty: Easy

Create a Video Tutorial on how to install a guest operating system on Virtualbox

The Virtualbox is a very popular and easy to use virtualization platform for end users. It can be used in order to ease the tester of a new openSUSE rc or beta without endangering his or her base system setup.

The student will create a video tutorial on how to install a guest operating on Virtualbox. During the video some of the basic configuration details and other options must be briefly explained. The final video should have subtitles in .srt or other easy to translate format.

Mentor: Efstathios Agrapidis

Status: OPEN

Difficulty: Easy

Create a Video Tutorial on how to install openSUSE as dual boot system

The standard situation for new users in the world of linux is a dual boot system setup. However as easy as it might look it can also be a horrible experience for the newcomer.

The student will create a video tutorial on how to install openSUSE as a dual boot system on a windows preinstalled pc. If the student doesn't have a windows license to make an installation of windows fist on Virtualbox, then another version of openSUSE can be used instead, in order to simulate the existance of another preinstalled system. The final video should have subtitles in .srt or other easy to translate format.

Mentor: Efstathios Agrapidis

Status: OPEN

Difficulty: Medium

Create a Video Tutorial on how to create a photo slideshow dvd

Typical use case scenario: A user has a lot of pictures taken from summer vacations with family and friends and wants to share it with them but they are not really keen to computer usage. So a nice photo slideshow dvd is the best option.

The student will create a video tutorial on how to create such a dvd using various gui tools that come with the default installation of openSUSE. Any desktop environment can be used.The final video should have subtitles in .srt or other easy to translate format.

Mentor:Kostas Koudaras

Status: OPEN

Difficulty: Easy

Create a Video Tutorial on how to add package repositories

The first thing after the first update of a new installation is the adding of package repositories. However, the question that come up are, where to find, what repos and how to add them.

The student will create a video tutorial on how to add package repositories on an openSUSE linux system. The online sources should be briefly demonstrated about how to find a package, in which repo, how to and why add that repository on the system. The final video should have subtitles in .srt or other easy to translate format.

Mentor:Kostas Koudaras

Status: OPEN

Difficulty: Easy

Create a Video Tutorial on how to create a live openSUSE usb stick

It is always useful to have a live usb system with you. Plus it can be very convenient to have all your applications installed on it with all your files.

The student will create a video tutorial on how to install live iso images on a usb stick using openSUSE and imagewriter. The final video should have subtitles in .srt or other easy to translate format.

Mentor:Kostas Koudaras

Status: OPEN

Difficulty: Easy

Create a Video Tutorial on how to install openSUSE with a custom partition setup

It is truth that everyone can do the installation part in almost every distribution. The same thing applies for the openSUSE distribution, as it is really easy to do so. However there will allways be a particular part of the installation that will be scary and of course that thing is partitioning.

The student will create a video tutorial on how to successfully complete the installation procedure of openSUSE creating a custom partitioning scheme. Any desktop environment can be used.The final video should have subtitles in .srt or other easy to translate format.

Mentor:Kostas Koudaras

Status: OPEN

Difficulty: Easy

Translation



Learn how to use translation tools and translate .po files improving the localization of the Project

  • The problem: openSUSE supports 62 languages (according to the Lokalize it site). It would be nice if every citizen of the world can use openSUSE in his/her language.
  • Background: Learn how to use translation tools (gtranslator, lokalize, poedit), translate .po files, download and upload the translated files and work with a translation team, improving the localization of the Project.
  • Time to complete:
  • Completed when: after review of the file
  • Mentor: * Diamond_gr Talk - Contributions
  • Status: Open
  • Difficulty Medium

Learn how to create and translate wiki articles improving the localization of the Project (in Greek)

  • The problem: openSUSE wiki is huge and it is very hard for local communities to translate all wiki pages themselves. Translation of Documentation is critical for users that are not fluent with the English language
  • Background: Translating Documentation is more than knowing the langouage. Learn how to translate wiki pages in your native language that do not already exist, from scratch, improving the localization of the Project .
  • Time to complete: 3-5 days
  • Completed when: 8 new wiki pages are created, translated and reviewed

Mentor: Kostas Koudaras

Status: OPEN

Difficulty Medium

Translate a set of wiki pages in Greek part1

There are some wiki pages that need to be translated in the Greek language. This set of pages includes: Portal:YaST and from the Resources section of the same page the links from the Documentation and Research & Development subsection.

The student will have to translate those pages in the Greek language.

Mentor:Kostas Koudaras

Status: OPEN

Difficulty: Easy

Translate a set of wiki pages in Greek part2

There are some wiki pages that need to be translated in the Greek language. This particular set of pages includes the Package management page and the links to the pages from its navigation bar.

The student will have to translate those pages in the Greek language.

Mentor:Kostas Koudaras

Status: OPEN

Difficulty: Easy

Translate a set of wiki pages in Greek part3

There are some wiki pages that need to be translated in the Greek language. This particular set of pages includes:

The student will have to translate those pages in the Greek language.

Mentor: Efstathios Agrapidis

Status: OPEN

Difficulty: Easy

Translate a set of wiki pages in Greek part4

There are some wiki pages that need to be translated in the Greek language. This particular set of pages includes the SDB:Installation_12.1 pages.

The student will have to translate those pages in the Greek language.

Mentor: Efstathios Agrapidis

Status: OPEN

Difficulty: Easy

User interface



Create Wallpaper/Artwork Designs for 12.2

  • The problem: openSUSE 12.2 will require new/updated artwork and wallpaper, to be used as the default in the distribution and across marketing and promotional materials.
  • General background: You will create concept art and draft proposals for wallpapers which will be considered for inclusion in openSUSE 12.2

You will need to use Inkscape and GIMP (or similar tools) to create artwork, keeping in mind our openSUSE:Artwork_guidelines, openSUSE:Artwork_brand and openSUSE:Trademark_guidelines

You will learn the mixture of technical and artistic skills required to create artwork that is both appealing and reusable across a multi-faceted project like openSUSE