Pete Davis - 2007-08-06

I've been working on Version 2.0 today and finally got to Preview page working. Unfortunately, though it technically works, it's way to CPU intensive and once you switch to the preview page, you can't switch away or do anything else until the download completes.

I've tried a bunch of different things, including using the FreeImage library to load the images. It looks great while you're on the page and the previews look very cool and I want to make it work because, well, it's just cool being able to see the images as they come down.

So, one way or another, I'll figure out how to get it to work, but it's definitely slowing down development. I was really hoping to get a lot more stuff done today, but here I am, 10:00 at night and I'm still screwing with it.

Right now, all the jpeg decoding happens on the GUI thread and that's really the crux of the problem. So I think what I'm going to do is try to do all the decoding in a limited number of separate threads. That will at least allow it to take advantage of hyperthreading and it will also allow the GUI to remain responsive.

Since the existing threading already complicates certain aspects, I kind of dread throwing in a completely new set of threads, but I don't really see what alternative I have. The GUI needs to be responsive...

I've spent a little time working on and investigating the updating stuff as well. I'd like to incorporate automated updating of the app as well. But if I'm going to do that, then I want to use signed assemblies so that there's no concern about DNS hijacking and people downloading viruses onto their machines. By signing the assemblies, the updated code can be verified to be coming from me. The problem is, there are parts of the code that can't be signed. In particular, the Jpeg verifier. I believe I've come up with a way around this as well, however, and will investigate that further down the road.

All-in-all, I'm starting to think I'm not going to have anything in beta by next weekend. I just don't think that's realistic at this point given the hurtles I'm running into.

At least we got the 1.1 update out this weekend. Assuming there aren't too many bugs in it, that will probably tide people over for a while.