I did a Google search for NetSketch a couple minutes ago (c’mon – I have to do it every day, right?) and I found this great review: http://www.appleiphoneapps.com/2008/07/review-netsketch/. 4.75 stars out of 5! I’m psyched :-) . It’s a bummer that the App Store pushes traffic off the web into iTunes, because I think people don’t read a whole lot online about the apps they buy. Could be wrong though – and good reviews certainally can’t hurt!

I’ve made some pretty huge changes to the app this week, including a few fixes that will give it a nice big performance boost :-) I was using an NSDictionary to store the strokes in memory, and then sorting them by key (a timestamp) when I needed to do a full redraw. The sort was necessary, because strokes coming across the network might be placed out of timestamp order, causing incorrect layering. I scanned through the entire drawing architecture, and it turns out I wasn’t performing key->value lookups in the dictionary very often. When they were being performed, the stroke being requested was usually one of the last few added to the drawing. I converted the NSDictionary to two NSArrays – one of keys and one of values. I decided to keep the entire structure sorted all the time, and wrote a modified binary search function so the most popular key-value lookups were really fast.

Should be a good update :-)