I skipped my customary monthly link roundups in September and October simply because I did not have the time to compile them. Not only did the composition of the interesting links at the end of the month take up an increasing amount of time (which I would be fine with), but the fact that I felt I had to stay up to date with my Twitter timeline every single day in order not to miss anything made this impossible.
Perhaps not surprisingly, the amount of positive feedback I got the roundups increased tremendously once I had stopped doing them. Thanks to everybody who told me they liked these posts. The feedback encouraged me to make another attempt at continuing the series, though note that I am not making any promises. It is quite possible that I abandon the whole thing again as soon as next month.
iOS 5.0.1
Apple released iOS 5.0.1. The update contains, among other small improvements, a way for developers to specify files that should remain on device, even in low storage situations. iOS 5.0.1 thereby fixes the “Cleaning” issue faced by many offline content apps, illustrated by Marco Arment.
To prevent your offline files from both being backed up and deleted by the system, put them anywhere in your Documents or Library folder except /Library/Caches
and set an extended attribute to mark them as “should not back up”.
Thanks to Apple for providing such a quick fix. It shows that Apple is indeed willing to make changes to their policies when they realize the consequences for consumers are bad.
Programming
Siri
The guys from Applidium reverse-engineered Siri’s protocol. Basically, Siri uses binary plists over a non-standard-conforming HTTPS to talk with the server. It seems to require an iPhone 4S device ID to authenticate against the server. The binary plists contain raw audio data using the Speex audio codec. Applidium also published a collection of tool.
Using these as a basis, someone named Pete created SiriProxy, a proxy server that allows you to inject custom handlers for certain keywords into Siri’s vocabular. Pete’s demo video is worth watching.
In the meantime, several SiriProxy plugins have been published or demoed, such as one for Spotify from Simon Maddox.
Components and Libraries
-
MKNetworkKit by Mugunth Kumar is an interesting new iOS networking library,
inspired by
both ASIHTTPRequest and AFNetworking. -
SVGKit by Matt Rajca is a library for rendering SVG files as Core Animation layers. All shapes are represented by instances of the
CAShapeLayer
class and are animatable. -
GMGridView is a promising new grid view component for iOS, written by Gulam Moledina. Supports horizontal and vertical layouts, reordering via drag and drop, and the pinch-to-fullscreen gesture. Requires iOS 5.
-
Sam Vermette published SVStatusHUD, a replica of Apple’s HUD overlays in iOS. I especially like how Sam prescribes the situations in which you should use the component to stay in accordance with Apple’s usage:
It should only be used in response to hardware or other important notifications (for instance when an accessory is detected by your app).
-
Matthijs Hollemans wrote MHTabBarController, a custom tab bar controller that illustrates the new view controller container APIs in iOS 5.
Tutorials and How Tos
-
Matthijs Hollemans has another nice trick up his sleeve: combine two JPEG images (the actual picture and a separate alpha mask) into a single JPEG to make it transparent. Great for the rare case when a PNG file would be too large. Matthijs provides a simple
UIImage
category that lets you do this. -
The folks around Ray Wenderlich published multiple tutorials about some of the new iOS 5 features, such as Storyboards, ARC, and iCloud.
-
Keith Harrison shows how to replicate the sliding master view of Mail.app in iOS 5. In a follow-up post, Keith illustrates how to create the necessary gesture recognizers directly in Interface Builder.
Miscellaneous
-
The GNUstep project has release version 1.6 of the GNUstep Objective-C Runtime, bringing it to a level with iOS 5.0 and OS X 10.7. The GNUstep runtime also includes an interesting feature:
Support for prototype-style object orientation
, Javascript-style. -
The LLVM team has started a series of posts outlining major changes in LLVM 3.0. So far, they have published two articles on the type system rewrite and exception handling redesign. This is pretty in-depth stuff that you probably don’t need to know about but it never hurts to understand how the compiler works.
-
Martin Pilkington continued his series of Xcode reviews, this time with Xcode 4.2.
-
Nathan de Vries discovered how to enable WebGL (which is publicly only available for iAds since iOS 4.2) in
UIWebView
(using private APIs). -
An article titled Parallel Implementations by John Carmack:
If the task you are working on can be expressed as a pure function that simply processes input parameters into a return structure, it is easy to switch it out for different implementations. If it is a system that maintains internal state or has multiple entry points, you have to be a bit more careful about switching it in and out. If it is a gnarly mess with lots of internal callouts to other systems to maintain parallel state changes, then you have some cleanup to do before trying a parallel implementation.
-
Daniel Jalkut in response to an old Linus Torvalds e-mail about his hatred of C++: Objective-C is the Language
-
Chrashalytics is a new contender in the iOS Crash Reporting field.
-
VendorForge by Keith Pitt is one of several third-party package managers for Cocoa developers that popped up over the last few months. Other similar projects include CocoaPods, kit and vendor. Since managing third-party libraries in Xcode is currently an absolute pain, this is an area where the Cocoa community could really benefit. My hope is that we end up with one great package manager that everybody can agree upon instead of an ugly mess of multiple different approaches.
Design
-
Wonderful article by Rob Beschizza at Boing Boing about the fundamental differences in the design approach of Apple and its competitors, namely Sony:
Apple competitors are obsessed with copying Apple’s tastes without copying its central design habit, which is solving a problem and then refining the solution until the problem changes.
-
Former Apple employee Bret Victor published A Brief Rant on the Future of Interaction Design, in which he encourages designers to not be satisfied with a future of
Pictures Under Glass
(the touchscreen). The future of interaction should bea dynamic medium that we can see, feel, and manipulate
.David Barnard replies: “Pictures Under Glass” is Revolutionary, Not Transitional:
My 2 year old son, Luke, is incredibly adept at using the iPad precisely because it doesn’t require tactile feedback to master, not in-spite of it.
To Edward Tufte, Victor’s essay is
a celebration of the hand rather than about interface possibilities
. -
Andy Mangold sees skeuomorphism as
the opiate of the people
and argues that’s the underlying reason for the recent trend towards skeuomorphism in UI design:But what hadn’t occurred to me is that it doesn’t matter if it actually does make it easier to use, all that matters is that it makes the average person think it’s easier to use.
-
Devin Coldewey: In Defense of the Stylus
-
Mobile Design Pattern Gallery is another one of those sites that collect design patterns for mobile apps and examples of successful implementations. Looks good. Oliver Drobnik has compiled a list of similar sites showcasing design patterns or outstanding app designs.
Community
-
Charlie Miller found a serious security hole in iOS that allows apps to download code and execute it outside of their sandbox. The result: Apple removed the offending demo app from the App Store and threw Charlie Miller out of the developer program for 1 year. Federico Viticci wrote about it for MacStories.
-
Chris Schilling did a fantastic interview with Matt Mills of ustwo, creators of Whale Trail. So much insight about the state of the App Store and the game industry in this one. (Their Making of Whale Trail video is also worth watching.)
-
Copycats is a great article by Matt Gemmell:
There’s nothing new under the sun, as they say - we’re all inspired and affected by other things. All of our design takes place under constraints. So, be influenced. Incorporate elements. Agree with implementations. Understand an approach. Realise the purpose and function of a design decision. Address a need. Renew something. Be an innovator, not a copycat.
-
David Barnard talks openly about the rather disappointing launch of this beautiful new app, TweetSpeaker.
-
The guys from Shifty Jelly wrote a post that describes pretty well how life is as an indie developer.
-
In A Letter to the Developer Community, Brittany Tarvin raises an important problem: what can we all do to make women feel more welcome in this community? For example, at Apple’s iOS 5 Tech Talk in Berlin this month, less than 1% of the participants were women. It felt just wrong, regardless if you were a man or a woman.
-
Great, encouraging quote from John Gruber’s keynote speech at the Çingleton Symposium in October:
If you think this app store platform is big now, you really haven’t seen anything yet. … But I say to you, “This is an extraordinary time to be an Apple developer”. This is the right time and the right place. This is a once in a career opportunity. … If things go right, if things go the way I think they are going to go, these next five years, we are never going to work harder, we are never going to be under more pressure, we’re never going to be more stressed, we are never going to feel like we have to work faster and we are never going to have to solve tougher problems. We’re never going to have to move this fast. But the only thing any of us are going to regret is if we don’t aim big enough.
The whole talk is worth watching.
App Store
Sandboxing Deadline Extended
Apple extended its deadline for Mac App Store apps to be sandboxed from the planned November 2011 to March 1, 2012. The nearer the original deadline came, realization probably grew in Cupertino that developers need more time to assess the impact of the sandboxing requirements on their apps and adapt them accordingly. And hopefully, Apple provides enough leeway to allow Mac apps to exist under sandboxing without impairing functionality that users take for granted.
On the occasion of Apple’s announcement, an interesting discussion about the merits (or not) of sandboxing sprung up in the blogosphere:
-
Wil Shipley wrote a long article about the benefits and drawbacks of sandboxing and other security measures such as code signing and code review. Wil concludes that sandboxing is not the right way and suggests that Lion only run code signed by an Apple certificate. At first, Apple would allow any developer to sign code with their certificate, but could then revoke it on a per-developer basis in case of a security problem.
It’s an interesting idea and I certainly concur that Apple’s sandboxing model is not a good measure against malware. I’d add, however, that sandboxing has other merits, e.g. in the field of privacy.
-
Pauli Olavi Ojala makes a very convincing case against sandboxing from a functionality perspective: it seems to mean the end of app plugins.
-
John Martellaro from The Mac Observer interviews MarsEdit developer Daniel Jalkut about his opinion on the Mac App Store and especially sandboxing.
Pricing and Marketing
-
Oliver Reichenstein experimented with the pricing for iA Writer on iPad and Mac:
No matter what price we choose, we always make the same revenue.
-
Great story by Nathan Barry how you can make money on the App Store not only without prior programming knowledge but also with a high-priced niche product.
-
Ben Rooney reports on a talk by Greg Joswiak, part of the product marketing team at Apple, about four keys to Apple’s success:
Focus, Simplicity, Courage, Best
. There is a lot of great quotes in this short piece. -
Nicholas Lovell about the tendency of the gaming market towards free: Who Will Survive the Digital Tsunami?
-
King Sidharth wrote a good post called Apps vs. Business. It takes more than just a good app to take down another business. You need to create a business:
Solve a problem, then sell the solution
. -
Confusion of the month: some company announced that Apple approved a subscription-based gaming app but Apple quickly removed it from the App Store. Probably just a mistake by an app reviewer.
-
Laugh of the month: Rich Jones reports that the US government apparently paid $200,000 to have an absolute piece of crap app developed (for three mobile platforms). Take a look at the source code yourself.
Update December 1, 2011: Marco Arment updated his regular device and OS version stats. As of the end of November, 45% of Instapaper users have updated to iOS 5. I would have expected a higher adoption rate.
Competition
-
Adobe finally kills the Mobile Flash Player. Opinions on the decision:
-
John Gruber: Everybody wins.
-
Matt Drance: It is a victory for Adobe.
-
-
Apple Insider reports an estimate by Piper Jaffray analyst Gene Munster saying that the Android Market has generated only 7% of the revenue that Apple’s App Store has made since its inception. This analysis is flawed on so many levels (different launch dates of the two stores; is the Mac App Store included?) that it is hard for me to believe in the numbers, though.
-
Related to this, Ben Brooks attempts an explanation
why Android developers don’t make great looking apps
– generally speaking. -
Jay Greene from CNET with the story how and why Microsoft killed its promising Courier tablet. I still think this thing could have been a hit.
-
Nathan de Vries explains the improvements that Android 4.0 made in its rendering pipeline, which should bring graphics performance into the same league as iOS and Windows Phone.
Steve Jobs Biography
Walter Isaacson’s Steve Jobs biography came out in late October and many of you have probably already read the book. If you haven’t, I think you should do so because it really is quite good (although probably not as good as it could and should have been).
-
In episodes 42 and 43 of the Hypercritical podcast, John Siracusa makes some very strong and well-founded arguments against the book and its author:
Jobs picked the wrong guy
. The podcasts are not short but if you make the effort to read the book, I think you should also listen to these episodes, it’s worth it. -
Jean-Louis Gassée reviews the Jobs biography from his insider perspective as one of the top Apple employees in the post-Jobs era.
-
A recent Churchill Club panel about Steve Jobs’s Legacy is a very good companion to the book. The panel’s participants Bill Atkinson, Jean-Louis Gassée, Andy Hertzfeld, Regis McKenna, Deborah Stapleton, Larry Tesler are some of the people you also get to know in the early chapters of the biography.
-
John Gruber, criticizing Malcom Gladwell’s take on Jobs’s personality: Getting Steve Jobs Wrong.
-
Nick Bilton did a short interview with Walter Isaacson about the book.
He had three things that he wanted to reinvent: the television, textbooks and photography. He really wanted to take these on.
-
Luke Wroblewski: Memorable quotes from Robert X. Cringely’s rediscovered 1995 interview with Steve Jobs