Category:GSoC

From Audacity Wiki
Jump to: navigation, search
Google Summer of Code  (GSoC) is Google's program for promoting Open Source Software development. Audacity was a mentoring organization for five students for Google Summer of Code 2008, and mentored two students in 2009.


  • These three tables come from GSoC Ideas where there is a discussion of how to interpret them.

Personality Matrix

Icon Profile Catch Phrase Mentor BOLO
Refiner
Refiner.png

  RISKIER / SAFER
  CORE / EDGE

Lower risk, on core components.
Safe incremental improvement.
"Steady as she goes" Good progress early on.
Miner
Miner.png

  RISKIER / SAFER
  CORE / EDGE

Higher risk, and on core components.
Possibly big payoff.
Hoping to 'hit gold'. Good fallback, if main plan does not work out.
Explorer
Explorer.png

  RISKIER / SAFER
  CORE / EDGE

Fun, low risk changes, away from core. We'll find the route. Useful spin offs, early on.
Magician
Magician.png

  RISKIER / SAFER
  CORE / EDGE

Fun, higher-risk-of-failure work, away from core.
Possibly radical transformation. Possibly big payoff.
Abracadabra! Tangible benefits to project at Mid-Term, to keep project rooted in reality.


Seed Project Ideas

In a GSoC proposal, a key element is the 'Show us You can'. We need to be convinced you have what it takes to complete the project successfully.

Name Personality Type Speciality? Idea High Level Benefit Show us you can...
Nouns and Verbs
Refiner.png

  RISKIER / SAFER
  CORE / EDGE

Architecture Audacity classes often mix data (nouns) and functions (verbs).
  • Propose and, after approval, implement specific refactoring that enhance the distinction.
More interface flexibility and fewer special cases.
  • Show us which classes would benefit most from this and say why.
Redux
Miner.png

  RISKIER / SAFER
  CORE / EDGE

Maths Find ways to code Audacity at a higher more mathematical level.
  • These changes must have measurable benefits, such as reducing code size, or providing more options with the same amount of code.
More Audacity functionality for less code.
  • Show us where we have repetitive code that could be reduxed.
Build Systems
Explorer.png

  RISKIER / SAFER
  CORE / EDGE

SCONS or CMake Fix and document our build system Less time wasted on build-system gotchas.
  • Explain to us what would change with the new system.
RTL
Refiner.png

  RISKIER / SAFER
  CORE / EDGE

An RTL Language Get Audacity working well with a Right-To-Left language. Support for Hebrew or Arabic
  • Show us which classes would benefit most from this and say why.
WIT
Explorer.png

  RISKIER / SAFER
  CORE / EDGE

Integration Enhance our homegrown (MIT Licensed) WIT system that we use in-house for easing test, production of images and documentation. Improve our web-based tools for developers and support.
  • Spell out how the enhanced system would save us more time or enable us to do more with the same effort.
Hard Test Automation
Magician.png

  RISKIER / SAFER
  CORE / EDGE

Test Identify the hardest things to test automatically, and propose and implement solutions. Increased confidence in hard to test areas.
  • Show us something you could do in this line.
Bear Traps
Refiner.png

  RISKIER / SAFER
  CORE / EDGE

User Interaction Fix our various (User) Stuck-in-a-mode Issues. Fewer traps for the unwary in our GUI
  • Organise the bear-traps showing your preferred option for fixing each.
  • Fix one to show you can.
BlockFiles
Miner.png

  RISKIER / SAFER
  CORE / EDGE

SQL Offer SQLITE as a BlockFile alternative. Problem with fragmented projects gone.
  • Show where it would slot in to existing code.
Wavenet
Magician.png

  RISKIER / SAFER
  CORE / EDGE

Machine Learning Offer GUI enhancements for working with machine learning
  • Aim to entice researchers. They plug in ML feature detectors etc, and don't have to write GUI.
  • The GUI enhancements MUST have relevance to ordinary users too.
Text-to-Speech and Speech-To-Text GUI support. Present a plan that shows:
  • What GUI features would be provided, and why.
  • How GUI would be developed and tested.
Error Analysis
Refiner.png

  RISKIER / SAFER
  CORE / EDGE

Cause Analysis Find patterns in the kinds of bugs we report. Implement measures to fix categories of errors, and avoid them in future. Whole error categories identified, and preemptively fixed.
  • Do a small part of it already.
Headroom
Explorer.png

  RISKIER / SAFER
  CORE / EDGE

Metering Design and implement measures that monitor and report on headroom, rather than as now, detecting failure when it happens. Measurements of leeway, and hence earlier warnings.
  • Set out a plan of what you would measure, and where in the code you would measure it.