If you are not already a regular reader of Mike Ash’s Friday Q&A blog, then you should immediately subscribe to his RSS feed.
Mike typically takes a very narrow topic and explores it to the ultimate depth. This week’s topic is about something seemingly as simple as what happens in the CPU when it loads a byte of memory. It’s not something that you worry about every day as you’re writing Objective C code. Although there is a good explanation of what causes the dreaded EXC_BAD_ACCESS crashes. For me it was a fun trip down memory lane from the days when I was designing hardware and software at this low level.
Even if this week’s particular topic is not of great interest to you, I’m sure you will learn a lot from Mike’s weekly column. I certainly do. If you want to catch up on his past column in a convenient ebook format, and at the same time support his writing, you can buy his book from the iBookstore as well as Amazon.
We all enjoy reading the latest rumors about upcoming Apple products and play the guessing game of what Steve will unveil next. But this week Gizmodo went over the line. (If you have been immersed in coding this past week, here’s an excellent recap.) By their actions Gizmodo have caused great harm to an Apple engineer who made an unfortunate mistake. And they seem to take great pride in this.
The Apple engineer is one of us. He probably works 100-hour weeks building the gadgets we love to use and which we ultimately make our living from.
Therefore I encourage you to follow Craig Hockenberry’s advice and boycott Gizmodo. Since it’s clear that the only thing they care about is page views, let us all deprive them of the same.
An excellent article by Bruce Tognazzini (Apple employee #66) on Apple’s design process that leads to great products like the Mac, the iPhone and the iPad.
A very smart technique for testing and finding the most effective name and icon for your app.
If you haven’t looked at Core Data for your apps yet, you should. This article is the third part in a series, and deals with NSFetchedResultsController. This controller is by itself one of the best arguments for using Core Data in an iPhone app. (Although beware of this gotcha.)
I’ve written about Google Analytics for iPhone apps before. This is a nice tutorial with screen images. (Although given the recent change to paragraph 3.3.9 in the iPhone Developer Agreement, you may want to hold off on adding analytics to your app.)
Using Multiple OpenGL Views And UIKit
In the Mobile Zodiac application for Chicago Tribune I started out using standard views for all animations but that turned out to be too choppy on the device, so I used OpenGL to animate the zodiac, but kept the rest of the views intact. I wish I could have read this article before I embarked on that project…
9 iPhone Memory Management Links and Resources
You can’t learn too much about memory management on the iPhone.
14 Essential Xcode Tips, Tricks and Resources for iPhone Devs
When you spend so many hours per day living in Xcode, every little trick that can save me some time is welcome. This article has lots of them.
iPhone dev: Retrieving user phone numbers
I have to admit that I did not know it was possible to retrieve the phone number of the device. And it turns out to be so simple. Nice detective work Erica!
This is not directly iPhone related, but it brings up an important point that a 0.5 second delay has a great impact on usability. And it’s very easy to end up with 0.5 second delays in your iPhone app if you’re not careful.
Debugging tips for Objective-C programming
Great debugging tips from Matt Gallagher.
Jeff LaMarche does a great job explaining affine transforms.
Adventures in Cocotron
This is intriguing: Write a Cocoa app, add Cocotron, stir, and out comes a Windows version. Several projects require an application on the desktop computer to interact with the iPhone. I’ve always hesitated to embark on this due to the hassle of maintaining multiple code bases. This might just be the ticket.
Site helps devs monitor App Store ratings across the globe
Once you have your app in the App Store you want to check on reviews and ratings in other App Stores around the world.
Stanford Course CS193P is free online
Want to learn iPhone programming at Stanford? The goal of CS193P is to teach you how to write object-oriented applications for iPhone and iPod touch, using the Cocoa Touch framework on Mac OS X. Download the complete course material here.
Timely UI Updates
Getting the iPhone UI to update when you want it to is hard. Erica Sadun presents several good tips.
3D Transformations on iPhone with Core Animation
3D graphics on the iPhone is fun. Bill Dudney provides some useful code examples.
iPhone “Optimized” PNGs
Have you ever examined an iPhone .app file? You can view the contents of most files in the app bundle, except PNG images. This article explains why.
Creating a Full-Screen Camera Preview
An interesting trick to modify the camera preview screen. By the queen of iPhone SDK hacking: Erica Sadun.
UIScrollView is one of the most frustrating classes in the SDK due to the lack of control you can impose on it. I’m glad I’m not the only one who’s stumped.
Craig Hockenberry’s battles with improving the scrolling performance of UITableView.
Cocoa for Scientists (Part XXVIII): Bonjour and How Do You Do?
A great article on low level networking: How do you find and talk to another iPhone or Mac?
iPhone Developer’s Cookbook, The: Building Applications with the iPhone SDK, Adobe Reader
Erica Sadun’s book is now published. It’s a very good read. My only complaint is that there’s more emphasis on private APIs then I’m comfortable with.
Sample code for the book is available here.
Update: The sample code contains a description on how to use the coverflow API hidden in the bowels of the iPhone. Apple has since rejected apps that use this private API.
The How and Why of Cocoa Initializers
While not specifically an iPhone topic, there has been a long ongoing controversy among Cocoa developers on how to properly write init methods. Bottom line is to follow Apple’s example. This article explains why.
Now that the NDA has been lifted it’s going to be a lot easier to find interesting links to other blogs discussing iPhone Development.
Erica Sadun has posted sample videos accompanying her upcoming iPhone Programmer’s Cookbook.
Some great advice on improving the performance of table views.
Managing the keyboard and ensuring that text fields are visible when you enter text is painful. Matt Gallagher presents a generic solution to this problem.
A very nice tutorial from Matt Long on creating your first iPhone application using Interface Builder.
A series of articles describing the software internals of the iPhone.
This week Apple displayed their control over all iPhone developers by bricking all iPhones and iPod Touch devices used for development. The installed firmware expired at 12:01 am on April 8th. Much, much later in the afternoon Apple released an updated firmware.
Pete begins a new trail, this time about graphics. Great stuff as usual.
More and more integration type features are added to Safari for the 2.0 release.
Five good iPhone related blog posts from around the web this past week:
RoughlyDrafted Magazine publishes great, in-depth articles. Next time you grumble about the iPhone code signing process, consider the alternative.
Pete continues his excellent iPhone SDK audio trail. Lots of source code. My favorite type of post.
AppStoreDeveloper.com is a growing forum for SDK developers. Here’s one of the livelier threads from the past week.
That’s a promising title for a blog. I just discovered Chris’ blog this week. Definitely worth adding to your RSS reader.
There were many iPhone related April Fools jokes this week. TUAW has a good roundup.