Tux Paint

Epiphanies, frustrations, l10n, cross-platform considerations,
web scripting, automation, project management,
and other things you need to worry about
to create a popular and award-winning software replacement for crayons

Bill Kendrick
Lead Developer, Tux Paint

Sonoma State University
September 11, 2008



* Generated using David A. Wheeler's 'SLOCCount'

Project management

Google Summer of Code (all of Tux4Kids)

Cross-platform considerations

l10n ("localization")

Translating the program

Translating the website

Translating Stamps

Web scripting

PO status

  1. Shell script grabs latest from CVS, copies POs to FTP site for quick download by translators, runs another script...
  2. ...processes PO files to determine percentage of translation, drops results into a tab-delimited TXT file...
  3. ...PHP code on website sucks PO translation percenatages in, creates nifty, sortable table with graphs on website.
  4. Result: tuxpaint.org/help/po

Website look-and-feel

(I avoided depending on a Real Database(tm), to keep the site portable.) All home-grown, all hand-maintained. Equals: I do it all myself!



Double-shot mocha + bike ride = brainstorm.


  1. Create Tux Paint
  2. ???
  3. Profit!

Bill Kendrick <bill@newbreedsoftware.com> graduated from Sonoma State University's Computer Science department in 1998.