Month

June 2014


As you’ll hear on this Monday’s episode of Release Notes, some of the new features of iOS 8 have me wondering about the future. Based on what we saw at WWDC, it seems pretty clear that Apple intends to introduce devices this fall with screens of different dimensions. The introduction of size classes and other features all point in this direction. The rumor mill has also been hinting at larger iPhones for some time. In particular, rumors have been flying about a new iPhone that will come in both 4.7-inch and 5.5-inch sizes. No one knows for sure what Apple has planned, but at this point I think the rumors of a larger phone are likely true. Assuming that’s the case, what might that mean for the iOS ecosystem?

iPhone and iPad size comparisonThe most obvious change, as this image from MacRumors makes clear, is that we would no longer be dealing with two distinct device sizes as we have to this point. Instead, the addition of a 4.7-inch and 5.5-inch iPhone would blur the lines between “iPhone-size” and “iPad-size” devices. We’d have a spectrum of sizes, with the 5.5-inch iPhone almost the size of the iPad mini. In fact, a 5.5-inch iPhone in landscape mode might actually be wider than an iPad mini in portrait.

[pullquote align=”right”]”I find it entirely plausible that a 5.5-inch iPhone in landscape would have a horizontal size class of ‘Regular,’ just as the iPad presently has.”[/pullquote]This brings us back to the new iOS 8 size classes. (If you’re not familiar with iOS 8 size classes, you might check out this post by Justin Williams for a primer.) I find it entirely plausible that a 5.5-inch iPhone in landscape would have a horizontal size class of “Regular,” just as the iPad presently has in both orientations. We’ve already seen that a 5.5-inch iPhone would be almost the same physical width as a portrait iPad mini, and notably, both rumors I’ve seen for a 5.5-inch iPhone would provide more horizontal pixels for a landscape 5.5-inch iPhone than exist in today’s portrait iPad. (The screen width of an iPad in portrait is 1536 pixels. The width of a 5.5-inch iPhone in landscape mode is rumored to be either 1704 pixels or 1920 pixels, depending on who you believe.)

As the lines between “iPhone-size devices” and “iPad-size devices” blur, interface conventions might blur as well. Taking the assumed 5.5-inch iPhone as an example, it might have a “compact” horizontal size class in portrait mode, and therefore conform to the interface conventions that we today associate with the iPhone (e.g. single table view presentations, no popovers). In landscape, it might have a “regular” horizontal size class and take on some interface conventions that we today associate with the iPad (e.g. split view controllers with both a master and detail view). In short, the bright line that has always existed in the minds of developers between an iPhone interface and an iPad interface may start to become not so distinct. And this is where things start to get really interesting from a business perspective.

Since the introduction of the iPad, Apple has consistently pushed developers to create “Universal apps,” or apps that run on both the iPhone and the iPad with a single purchase. A lot of developers view that as leaving money on the table, though. Today in the App Store, it’s not uncommon to find the same app present in both iPhone and iPad flavors that are available for separate purchase. This is especially true in the Productivity category, where top apps such as OmniFocus, Things, Launch Center Pro, and even my own apps are available with separate versions intended for the iPhone and iPad.

Having separate iPhone and iPad versions makes perfect sense from the perspective of a developer. It takes effort to provide a great experience on both the iPhone and iPad. Why shouldn’t we be compensated for the extra value that we provide? Contributing to that line of thinking has been the clear dichotomy between the iPhone and the iPad. Up until now, the iPhone interface was seen only on the iPhone, and the iPad interface was seen only on the iPad. As a result, it was a fairly straightforward to explain to customers why they had to purchase an app twice: “They’re two different devices.”

[pullquote align=”right”]”As the lines between the iPhone and iPad start to blur, the argument becomes harder to make that an app should be a separate purchase on the iPhone and iPad.”[/pullquote]But as the lines between the iPhone and iPad start to blur – as we start to see interface elements appear on the iPhone that heretofore were considered iPad interface conventions (e.g. a split view controller in a landscape 5.5-inch iPhone) – the argument becomes harder to make that an app should be a separate purchase on the iPhone and iPad. In fact, I think that it makes it harder to argue that there is such a thing as an “iPhone app” or an “iPad app.” If an app on the iPhone has to be ready to present a split view controller, is it really “an iPhone app?” If an app on the iPad has to be ready to collapse itself down to a single table view when displayed in the rumored split screen mode, is it really “an iPad app?” Or are they instead, just iOS apps?

Developers who currently sell separate iPhone and iPad versions of their apps would be well advised to start thinking about how they plan to handle the blurring of lines between these devices. If your customers no longer see a difference between the iPhone and iPad, how will you justify to them the need for separate purchases? If Apple no longer sees a clear dichotomy between the iPhone and iPad, might they no longer accept app updates that are not Universal? If you find yourself in the position of having to give away what you once were paid for, how will you make up the lost revenue? I don’t have answers to these questions, but I’m convinced that I need to find some. Maybe sooner than I’d like.

Posted on June 25, 2014

Read More


At last week’s Worldwide Developer Conference (universally referred to as WWDC), Apple gave independent developers a lot to be thankful for. In fact, Apple gave us many of the things we’ve been requesting for a long time – things like app bundles, preview videos in the App Store, better options for beta testing, and App Store analytics. One thing that Apple didn’t give us, though, is upgrade pricing, or the ability to charge owners of our current software a reduced price for the next major version of that software.

Upgrade pricing is a staple of the non-App Store software market, and its absence from the App Store has long been considered one of the biggest obstacles to creating a sustainable software business within Apple’s ecosystem. Wil Shipley wrote the seminal piece on the subject back in 2012, but complaints about the omission of upgrade pricing in the App Store go back much further. It seems clear at this point that Apple has no desire to add upgrade pricing to the App Store, so conventional wisdom has been that developers had better adjust to the new reality and get on with the business of building software.

But Apple may have unintentionally cracked the door to upgrade pricing with one of its announcements last week. In the latest episode of Release Notes, you can hear my podcast co-host Joe Cieplinski wonder aloud at the possibility of using app bundles as a form of upgrade pricing. His comment was off-the-cuff, so the idea wasn’t fully developed, and we both quickly dismissed it, but upon further consideration it appears that it might be possible to simulate upgrade pricing through the use of app bundles.

First, a little background. In the WWDC Keynote, and later in Session 302: The New iTunes Connect, Apple announced that they will soon allow developers to create bundles of their apps. The gist of the information provided is that developers will be permitted to bundle up to 10 of their apps and make them available to be purchased as a group for a reduced price. One of the key features announced about app bundles is that consumers will be able to complete a bundle at a “discounted price” if they already own some of the apps in the bundle. It was never defined what exactly was meant by a “discounted price,” but it seems reasonable to assume the simplest case – that customers will just have to make up the difference in price between the cost of the bundle and the cost of the sum of the individual apps that have already been purchased. For example, if an app bundle costing $14.99 contains two apps, App A (priced individually at $9.99) and App B (priced individually at $9.99), then a person who already owns App A could “complete the bundle” and receive App B at a cost of $4.99.

But what if instead of bundling two different apps, we instead bundled two different versions of the same app, released as two different SKUs? Modifying the example above, what if our $14.99 app bundle contained My App (priced individually at $9.99) and My App version 2.0 (priced individually at $9.99)? That would allow people who owned My App to purchase the new version 2.0 at the reduced price of $4.99, while still requiring new customers to purchase version 2.0 for full price. This is exactly the effect that we have been seeking with upgrade pricing all along!

Using app bundles to simulate upgrade pricing would not be without its pitfalls, though. Bundling two versions of the same app would probably require that the old version remain available for sale individually. This would inevitably lead to customer confusion and probably cause some customers to purchase the wrong item. It seems like this problem could be alleviated, though, by being generous with promo codes (or app gifting) with customers who contact you with problems. Nonetheless, it’s probably desirable to limit the time that the app bundle is available so that the original version can in a timely manner be removed from the App Store and officially discontinued.

While I still hold out hope for genuine upgrade pricing in the App Store, I realize that it’s unlikely to be introduced any time soon. Until that time, app bundles appear to offer many of the advantages of upgrade pricing with manageable disadvantages. I’m hopeful that Apple will not take action to prohibit this type of bundling, and that this type of simulated upgrade pricing will allow more complicated, higher priced apps to find a sustainable market in the App Store. So thank you Apple!

Posted on June 9, 2014

Read More


The Alt Alt Dub Dub schedule for Friday, June 6 is below. If you’d like to join us in the Parc 55, please contact Charles Perry by email at charles@metakite.com or on Twitter at @DazeEnd. In order to offset the cost of renting the room and equipment, there will be a $25 per day charge for admission. Sessions are already showing, so come on over.

9 AM 409: Introduction to LLDB and the Swift REPL
10 AM 406: Integrating Swift with Objective-C
11 AM 404: Advanced Swift
Noon Lunch Break
1 PM 226: What’s New in Table and Collection Views
2 PM 223: Prototyping: Fake It Till You Make It
3 PM 304: Creating Great App Previews
4 PM 411: What’s New in Interface Builder

Posted on June 6, 2014

Read More


The Alt Alt Dub Dub schedule for Thursday, June 5 is below. If you’d like to join us in the Parc 55, please contact Charles Perry by email at charles@metakite.com or on Twitter at @DazeEnd. In order to offset the cost of renting the room and equipment, there will be a $25 per day charge for admission. Sessions are already showing, so come on over.

9 AM 214: View Controller Advancements in iOS 8
10 AM 403: Intermediate Swift
11 AM 302: The New iTunes Connect
Noon Lunch Break
1 PM 221: Creating Custom iOS User Interfaces
2 PM 216: Building Adaptive Apps with UIKit
3 PM 212: Storyboards and Controllers in iOS 8
4 PM 406: Integrating Swift with Objective C

Posted on June 5, 2014

Read More


tl;dr: Come join us in the Parc 55 to watch WWDC sessions as they they are released. Space is limited and there is a small daily fee to offset the cost of renting a room.

I came to WWDC 2014 without a ticket, as did a lot of other developers this year. Even if you don’t have a ticket, just being in San Francisco for WWDC is a great time, but not having a ticket makes it tougher to watch all the sessions you want to watch. Apple addressed this issue last year by releasing the videos of many WWDC sessions the same day that they were presented. But it’s no fun to hole up in your hotel room and watch technical videos. Alone, you miss out on the discussions and the shared insights of your fellow developers. Because I and a group of friends wanted a more social experience while watching videos, I rented a meeting room in the Parc 55, arranged for a projector, screen, and audio, and dubbed the result Alt Alt Dub Dub.

But yesterday, Apple made a big improvement to our WWDC experience. They dropped the non-disclosure agreement on WWDC sessions. That means that we can discuss what we learned in WWDC without legal worries hanging over our head. What that means for Alt Alt Dub Dub is that I don’t have to be as careful about who joins us for WWDC sessions. And so we are opening our doors to other ticketless developers who happen to be in San Francisco this week.

Space in our meeting room is very limited, but if you would like to join us to watch WWDC sessions as they are released, we would love for your to join us. In order to offset the cost of renting the room and equipment, there will be a $25 per day charge for admission.

We expect seats at Alt Alt Dub Dub to be in great demand. If you want to reserve a seat, please contact me by email at charles@metakite.com or on Twitter at @DazeEnd. We’re showing sessions starting right now, so the sooner you sign up, the sooner you can join us for sessions.

Our schedule for Wednesday, June 4 is:

9 AM 202: What’s New In Cocoa Touch
10 AM 402: Introduction to Swift
11 AM 401: What’s New in Xcode 6
Noon Lunch Break
1 PM 211: Designing Intuitive User Experiences
2 PM 205: Creating Extensions for iOS and OS X, Part 1
3 PM 209: Adapting Your App to the New UI of OS X Yosemite
4 PM 208: Introducing CloudKit

Posted on June 4, 2014

Read More