Woopsi 0.99 Released

Woopsi 0.99 is now available from the usual place:


This version has had a significant version bump because it is considered complete. I’m holding off from releasing a “version 1.0” to allow more time for any bug reports and for me to finish writing the documentation.

Changes in this version include some minor cosmetic improvements to the ProgressBar, bugfixes to the slider gadgets, and some more gadget test projects. I’ve added in the compiled libfreetype.a file that was missing from all previous releases.

Some preliminary documentation can be found here:

Woopsi Docs 20100520 (PDF)

One of the ongoing problems I’ve had with Woopsi’s documentation is that it becomes obsolete as soon as it is written. Before I wrote this document, for example, I hadn’t added UTF-8 support to the WoopsiString class. Nor had I decided that WoopsiStrings, not char arrays, would be the official way of working with string data. I set about documenting Woopsi’s string support assuming that they were too fundamental to change, and then had to re-write the entire string chapter once the UTF-8 changes were in place.

The document above is at a very early stage. Comments and criticisms are welcome. Once the documentation is finished, it should hopefully be both a complete guide to developing with Woopsi and a description of how the library works:

  • What to install to get it running, ie. devKitARM, etc (installation instructions for 3rd-party components will just include links back to their sites);
  • How to create user interfaces;
  • How to create new gadgets;
  • The internal workings of Woopsi (co-ordinate systems, gadget painting algorithms, etc).

Now that Woopsi is essentially finished, here are some interesting Woopsi stats:

  • Over 91,000 lines of code;
  • 600MB for a full repository checkout;
  • Source distribution is 37MB when unarchived;
  • 5 other contributors;
  • 9MB of Doxygen-generated documentation;
  • 399KB for a “Hello World” app (twice the size I’d hoped for, but WPaint - a simple paint program - is only 397KB);
  • Development spanned 2 years 8 months, though for at least half of that time no development was undertaken;
  • 5 released projects using Woopsi:
  • 2 unreleased projects that may be using Woopsi:

Judging by the Google search terms collected by this blog, I know that there are many more projects out there using Woopsi. At the very least, there are plenty of people who try to use Woopsi but balk at the lack of documentation. Strangely, they don’t post on the forum for assistance.

Whilst on the subject of stats, here are some from the blog itself:

  • 367 posts;
  • 132171 words in posts;
  • 100834 words in comments;
  • 37 months blogging.

That works out as roughly 120 words a day for 3 years.