April 23, 2005

1.0.5, 2.6, and 24

Posted at April 23, 2005 10:07 AM in BitWise .

The new web site is only about a week or ten days away from launch, and the new 1.0.4 client is scheduled for May 5th. Even amidst this, I started procrastinating, I mean, experimenting, with icons in the client. Lyrion has created some really nice new lightbulbs, and we have access now to over a thousand icons from the icons purchased for the web site. I thought to myself, "Self, wouldn't it be great if the web site and the client were visually unified?"

So I started a little experiment: I started with the icons used on the site and culled a few more to fill in the gaps and put together a theme using these icons and the new lightbulbs from Lyrion. I quickly learned that the detailed icons like the ones on the site simply do not look very good at 16 x 16, and that wxWidgets has a couple of deficiencies when it comes to rendering PNGs.

What to do? The first thing I did was tried using 24 x 24 toolbars on the contact list and conversation window. The larger 24 x 24 icons look much better, and while it takes a bit of getting used to, the larger icons do look more like other major applications these days. However, the icons looked suboptimal, like they needed anti-aliasing. I knew the originals didn't appear this way, so I figured it was a problem in wxWidgets 2.4.

While we've been using wxWidgets 2.5 on Mac OS X and Linux, 2.4 was good enough for Windows (it's the most stable and mature port of wxWidgets). Not too long ago I tried BitWise on Windows with wxWidgets 2.5 and it was pretty good; BitWise 1.0.5 will switch to wxWidgets 2.6, which was released just this week. (For those of you not familiar with these numbering schemes, odd versions are testing versions, even numbers are "stable" versions, but stable means "API stable" not "doesn't crash" stable.)

Thinking that the image handling might be improved in 2.6, I tried again. They looked marginally better, but investigating further revealed that support for alpha transparency still hasn't been added to wxWidgets, and the icons have alpha transparency. I will have to flatten every image and re-add the transparency by hand, which will take a bit of time.

The bottom line is that this isn't going to happen for 1.0.4 with everything else going on, plus I don't want to make such significant changes without any wider testing. But I do want to release 1.0.5 much quicker after 1.0.4 than 1.0.4 is coming out after 1.0.3 (there have been 7 months since 1.0.3). Here's what we have to look forward to in 1.0.5:

  • New window icons matching the look & feel of the icons on the web site.
  • Larger 24 x 24 toolbar icons on the contact list and conversation windows.
  • Unified contact and client status icons, no longer will there be two sets of similar but different lightbulbs.
  • Newer, more modern-looking lightbulbs that will better match the look of the other new icons.
  • No flickering when windows are drawn and resized... resize any window and you'll see a lot of flicker (only on Windows).
  • Maybe, just maybe, depending on how thing go, smilies. No promises, but for the first time it will be a possibility.
Geez, I can't even get 1.0.4 out the door without dreaming about 1.0.5. :)