Oct 16, 2009
The piracy statistics I posted earlier this month have gathered some attention, and Nick Spence at Macworld.co.uk is running an article about the price of piracy for independent software developers. Check it out!
iPhone App piracy: Small time developers feel the pinch
UPDATE: The article was pushed to Macworld.com as well! More...
Jul 25, 2009
Alright, I have a rant. Bear with me...
Layers just came out this past Monday, and it has this great feature that allows you to add a layer to a drawing from your iPhone's photo library. Simple enough - right? Apple provides the UIImagePicker API, we call a couple functions and get an image back.
For most purposes, that would work great! Write some code, test, commit, done. The problem ... More...
Jul 5, 2009
I've become a huge fan of Stack Overflow over the last few weeks. The community there is helpful and fast and there are quite a few questions about Cocoa and Objective-C! It's gotten to the point where I visit SO whenever my code is compiling - so I thought it was time to take matters into my own hands and make things easier to follow.
I've made a Stack ... More...
May 25, 2009
The PackBits algorithm is one of the TIFF data compression methods, and it's also used for pixel data in Photoshop PSD and TGA files. It was originally developed for MacPaint, and although it's still widely used, there isn't a whole lot of information online about it. I spent some time this weekend writing a category to extend the NSData class and support the packBits algorithm, and I think ... More...
Mar 31, 2009
So I've been messing with compiler flags in XCode for the last hour or so, and it turns out I was totally misunderstanding things. If you get info on a project or target in XCode, there's a "User-Defined" section at the bottom that allows you to create your own flags for use at compile time. However, these flags are not actually passed into GCC! (Mistake 1!) I assumed ... More...
Feb 8, 2009
CGLayers are great for drawing - especially when things need to be drawn over and over again. Converting a CGLayer to a UIImage is another story, though. NetSketch uses CGLayers for the drawing canvas, but converts them to UIImages when you go to upload your drawing or email it to a friend. The code below shows how it's done. The CGLayer is drawn into a bitmap CGContext of ... More...
Feb 8, 2009
I was finishing up work on an iPhone app earlier today and needed to add a check box to the interface. Interface Builder provides a "checkbox-ish" control that slides between "On" and "Off" states but it didn't fit in well with the rest of the app. I needed a smaller one like the one that Mobile Safari provides for web forms.
It was pretty easy to create using a ... More...
Jan 10, 2009
Earlier this month, I put the finishing touches on Mathomatic and published it to the App Store. Mathomatic is a pretty small app for doing symbolic math. I needed it for a class I took in Signal Processing, and I figured it'd be useful to others as well. It expands and simplifies complex polynomials, takes derivatives and integrals, and a couple other cool things. I built it around ... More...
Nov 24, 2008
Download Drill Down Example
+ Controller Source (1.6MB .zip)
The next version of NetSketch will include a community browser, allowing you to view uploaded drawings, watch replays, and leave comments without leaving the app. When I started working on the community interface, I looked to other apps for inspiration. Almost every app I've used on the iPhone use a sliding navigation scheme, giving you the feeling that you're drilling down ... More...
Nov 9, 2008
It turns out, all of the WebViews you create on the iPhone are managed by a central object called WebCore. It seems to be some sort of singleton that takes care of loading content and managing resource loading threads - but it can lead to some interesting problems if you try to rapidly create, display, and release a series of WebViews.
The upcoming version of NetSketch uses WebViews to ... More...