Codex

Interested in functions, hooks, classes, or methods? Check out the new WordPress Code Reference!

Google Code-in 2010

Google Code-in is a Google program similar to Google Summer of Code (GSoC), but aimed at pre-university students. The code-in is different from GSoC in that it operates as a task-based contest rather longer pre-determined mentorships, and includes more than just code projects, to help expose students to "the many kinds of contributions that make open source software development possible."

WordPress is in the process of applying to be a participating organization in the 2010 Code-in; Google will announce the chosen organizations on November 5, 2010, and the contest begins 17 days later on November 22, 2010. Students will work from November 22 until January 10, 2011, and contest winners will be announced on February 14, 2011. Participating students will "produce a variety of open source code, documentation, training materials and user experience research," based on a task list provided by the organizations. Task types include:

  • 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

Code

Beginner

  • Bug tickets. List of approved tickets to be provided closer to contest start to ensure freshness. Good understanding of PHP and WordPress core code required.
  • UI patches. Often, developers are not interested in making UI fixes if there are functionality tasks that need completing. A list of approved UI tickets requiring patches will be provided closer to contest start to ensure freshness. Good HTML & CSS skills required.

Intermediate

Better understanding of WordPress code required for all tickets, and JavaScript/jQuery required for UI patches in addition to solid HTML and CSS skills.

  • Bug tickets as above, but for more difficult problems.
  • UI patches as above, but for more difficult problems.
  • Enhancement patches for WordPress core, based on list of approved Trac tickets.
  • Basic plugin development. List of approved plugin ideas to be added before contest starts.
  • Child theme creation based on the Twenty Ten theme. List of specific concepts to be added before contest starts. (May base some on completed student design tasks.)

Advanced

  • New feature development, based on approved Trac tickets for features slated for the 3.2 release in early 2011.
  • Contribute to core plugin development. Specific chunks of functionality to be identified prior to contest start.

Documentation

Beginner

  • Take new screenshots of the WordPress dashboard screens for WordPress 3.1 documentation based on the 3.1 version that will be available during the Code-in as either a beta or a final release (release is scheduled for mid-December).

Intermediate

  • Review existing Codex articles for accuracy, edit outdated information and/or mark "retired" pages as such and add links to more current replacements.

Advanced

  • Write articles for our new documentation handbook series under the guidance of the handbook editors. Articles will be needed on plugin development, theme development, writing core patches, and system administration for WordPress installations.

Outreach

Beginner

  • Volunteer at a WordCamp if there is one coming up near you.
  • Attend a local WordPress meetup and give a presentation on how you're using WordPress.
  • Write an article for your school newspaper about WordPress and the Code-in.

Intermediate

  • Set up an after-school 1-2 hour WordPress meetup at your school. Make flyers, publicize it, decide the agenda, and run the meeting. Record the meetup on video and submit the video and a write-up about your meetup.
  • Monitor public community communication channels (twitter, facebook, forums, other sites) and provide welcoming and helpful replies to new users.

Advanced

  • Organize a small one-day WordCamp for a Saturday at your school. Make flyers, publicize it, decide the agenda, get people to be speakers, and run the WordCamp (get other students and teachers to help!). Record the sessions on video and write a summary of your event.
  • Be an assistant at WordCamp Central for one week. Monitor organizer applications, send responses, post about upcoming WordCamps on Twitter and the wordcamp.org website.
  • Create a community guide for wordpress.org to help new users navigate available resources. Details to be added before contest begins.
  • Create a new contributor welcome packet. Details to be added before contest begins.

Quality Assurance

Be a wp-tester!

Beginner

  • Download the current development version of WordPress and try your best to break it (find bugs). Submit testing reports to show what you've covered, and submit bug reports to Trac if you encounter errors.
  • For bug tickets in Trac that are waiting to be confirmed, see if you can reproduce the bug. Report your findings on the Trac ticket.

Intermediate

  • Download the development version of WordPress and get set up to test patches for bug fixes submitted by contributors. Report on what happens when you apply patches, reporting on the Trac tickets.
  • Run unit tests. Need more detail here.

Advanced

  • Write new unit tests. Need more info here (cough, Peter).

Research

Tasks related to studying a problem and recommending solutions (not ux). Is there anything we want students to look into and make recommendations on? Source control? Code approaches? Comparisons with other open source CMS architecture? Have at it.

Beginner

Intermediate

Advanced

Training

Beginner

  • Compose how-to guides that include text and screenshots. This project's tasks are closely tied to the documentation category.

Intermediate

  • Made video tutorials for how to do things in WordPress, using screencasting software. A list of topics for desired tutorials will be posted prior to contest start.
  • Help someone in your area set up their first WordPress blog. Record the process on video, and write up a summary of how it went, including the biggest challenges you faced.

Advanced

  • Lead a class on how to use or develop for WordPress at your school, local library etc. and teach 5 or more people how to use WordPress. As opposed to the one-on-one setup task, this task requires you to create a curriculum in advance. Record your class on video, and write up a summary of how it went, including the biggest challenges you faced.
  • Write part of a training guide aimed at teenagers who want to learn WordPress. (Will break into smaller tasks, like creating an outline, authoring specific sections.)

Translation

Beginner

  • Help translate WordPress in your language.
  • Start translation of WordPress in your language if there isn't one.

Intermediate

  • Help translate WordPress in your language.
  • Compile translation guidelines for your language, if there aren't any.
  • Proof-read current translations in your language and suggest corrections.

Advanced

User Interface

Tasks related to user experience research or user interface design and interaction. Will work with Jane and the UI Working Group.

Beginner

  • Be a usability test subject for the new version of WordPress. You will be asked to do various things in your WordPress installation, and share your screen with the test moderator while you do it. Depending on your location, this testing will likely be done via skype, though could be in person if you happen to live in the same area as a testing volunteer.
  • Graphics creation. Create any icons, UI element graphics, logo versions etc needed. List of current graphics production needs will be posted closer to contest start. Expect to produce initial graphic and up to two rounds of revision based on feedback from the UI group.

Intermediate

  • Conduct usability testing on new WordPress features with your friends, family, neighbors, or volunteers. Test scripts will be available for both desktop and mobile versions of WordPress. Videotape your sessions and write a summary of the findings.
  • Create mockups for specific UI improvements needed in WordPress. Specific tasks list to be posted closer to contest start, will address specific UI issues on settings screens, comments, dashboard modules, etc. Expect to produce initial mockup and up to two rounds of revision based on feedback from the UI group.
  • Review plugin UIs and submit recommendations for improvment that will make plugins more usable and/or more compatible with the core WordPress UI. List of plugins eligible for this task will be posted before contest starts.

Advanced

  • Write a usability test script for a feature in development, execute it, and revise based on quality of user feedback until you have a test script that will get the most useful information with the least amount of bias and difficulty.
  • Screen layouts. Some sections of the WordPress dashboard will be getting a facelift in the next version or two. For this task take on the job of redesigning a specific screen and going through two rounds of revision based on feedback from the UI group.
  • Storyboarding/diagramming. Diagram the interaction model of the WordPress dashboard and identify interactions you think could be improved. Include your improvement suggestions.
  • Site design for wordpress.org. As we improve the site, we will be restructuring the information architecture and possibly updating the visual design. Will list tasks related to both IA and graphic design.
  • Theme design