Here is my summary of the past month in links:
Lion and Xcode 4.1
Apple released OS X Lion on July 20th. If you haven’t read John Siracusa’s epic Lion review yet, I encourage you to do so. Reading it takes some time but it’s worth it.
I listed some of the exciting new developer APIs in an earlier post, with a follow-up article still in the works. Together with OS X 10.7, Apple also launched the final version of Xcode 4.1. Read Martin Pilkington’s extensive Xcode 4.1 review to learn what’s new on that front.
Programming
-
Twitter released TwUI, the Core-Animation-based and UIKit-inspired UI framework for the Mac that they used to build Twitter for Mac. It is the second open source framework (after the Iconfactory’s Chameleon) that more or less ports UIKit to the Mac.
-
One new feature in Lion is XPC, a low-level messaging API for interprocess communication. This might sound as if most of us won’t ever need to deal with it, but XPC is a fundamental building block of Apple’s concept of privilege separation, desgined to make the most out of application sandboxing. Steve Streza has already written an Objective-C wrapper for the XPC C API.
-
Another new thing in Lion are tagged pointers: Apple uses the fact that Objective-C objects are allocated at 16-byte aligned addresses to represent certain
CFNumber
s directly through their memory address, thereby not having to allocate memory. Bavarious has the nitty-gritty details. -
CSSApply is a very interesting project that was started by Zac Bowling, Sam Stewart, Jonathan Dalrymple and Julie Silverman at iOSDevCamp. It allows you to style UIKit and AppKit views as well as
CALayer
s with CSS. Sounds cool. -
Eric Firestone at Square introduced KiF, an iOS framework for integration testing that looks very interesting.
-
Mike Ash gives tips how to write good unit tests.
-
Chris Wilson published a nice tutorial on creating data with Photoshop. The idea is to read the color values of a file created in Photoshop into an array and interpret them as data in your app. One potential use case for this is to define hot spot areas in photos, as Chris explains in a follow-up post.
-
JMSlider by Jason Morrissey is a cool-looking iOS control to model a multi-state button.
-
Andy Finnell: How to implement boolean operations on bezier paths.
-
Doug Sjoquist discusses several approaches how to handle the fact that Xcode overwrites any changes you made in your model classes whenever you change the data model. I like his approach of using categories for all custom changes to the code generated by Xcode.
-
Joris Heuberger explains
UIView
’scontentStretch
property with a set of visual examples, which is probably the only possible way to make readers actually understand its effect. -
Nice tutorial by Cesare Rocchi on creating a socket-based iOS app and server by using
NSInputStream
andNSOutputStream
. -
After years of development, Cocos2D, the popular game framework, has reached v1.0.0. At the same time, the Cocos2D 2.0 branch (based on OpenGL ES 2.0) has reached a state where it is
ready to use for early adopters
.
Design
-
Matt Gemmell: Apps vs. the Web
-
Twin brothers Semyon and Efim Voinov share the story of Cut the Rope.
-
Steve Streza highlights a problem with iCloud: not only do developers implementing iCloud bind themselves to Apple platforms, it also prevents them from creating a web-based component for their app. At least unless Apple made a server-to-server API for iCloud available: iCloud and Ecosystem Lock-In.
App Store
-
For the first time since the inception of the App Store, Apple has adjusted international app prices for exchange rate fluctuations. People in Mexico, Norway and the UK pay a bit more than before while App Store customers in Australia, Japan and Switzerland profit from the change.
-
Apple introduced a Volume Purchasing Program for the App Store, currently only available for businesses in the United States. Part of the program is the ability for developers to write and distribute custom apps for a single client. Sounds great until you realize that Apple still gets its 30% cut of such a transaction.
-
Mike Lee blogged about an Appsterdam lecture by Raul Portales on new directions in app marketing. The main lesson: having a main, full-featured app available to purchase and accompanying it with several feature-limited, free spin-off apps can be a very successful marketing approach.
-
Noel Llopis: One Price Does Not Fit All. Lesson: finding a way to let your app’s heaviest users and biggest fans pay you more than the (low) standard app price can significantly increase your revenues.
-
Philip Elmer-DeWitt: iOS users buy more apps and pay more for them.
-
A recent tweet by @pilky pointed me to a blog post from January 2011 where someone named Tige describes the process a developer has to go through to get an export certification for an app that uses SSL (HTTPs) encryption. Very useful reference.
Community
-
Mike Lee on How to Fail:
Make a game. … Start a social network. … Run a server. … Let me stop you.
-
There were so many new developments in the patent landscape that I cannot link to them all. As always, Florian Mueller has excellent coverage of all stories over at FOSS Patents.
-
If you still thought that Lodsys was the only problem for the app community, an Indian company named Kootol proved you wrong by charging the Iconfactory and many other companies in the Twitter client business with patent infringement.
-
In light of the patents madness, Craig Hockenberry fears the end of the indie developer lifestyle that has worked out so well for so many of us until now.
-
Software patents were featured prominently in the July 22 episode of This American Life: “When Patents Attack!”. The show does a great job of telling the story of Intellectual Ventures and the likely connection to Lodsys. You can listen to it on the web, download a transcript (PDF) or buy the episode from iTunes for $0.99. Highly recommended.
Update August 27, 2011: The Planet Money podcast also discussed the pros and cons of software patents in its August 2, 2011, episode.