Oct 17

The new announcements were pretty much as expected. A few things stood out to me.

iOS 8 Adoption

I thought it was interesting that they put up a pie chart showing the iOS 8 adoption numbers when they are so much worse than the adoption for prior iOS releases. To compare favorably with Android this year they had to combine the numbers for iOS 7 and 8.

Why does Apple care about the adoption numbers at all? So much that they dedicate time and a slide every year to it. Is it just to get a jab in at Android? Apple really cares about selling new devices. Having the best OS in the market on new devices justifies the expense of releasing new iOS versions each year. Allowing customers who purchased an iDevice in the last year or two to upgrade to the latest iOS version gives customers peace of mind that they are still being taken care of. But if those customers chose not to upgrade, Apple couldn’t care less. It’s of course a big pain for us developers to support older versions of iOS. Apples own free apps like Pages and iMovie are not in the same boat. They just need to work great on the latest iOS in order to sell new devices.

I thought it was noteworthy that Craig Federighi admitted, albeit in a humorous way, that iOS 8.0 was less than stellar. That shows awareness at the highest levels of Apple. Awareness is the first step to fixing a problem.

iPad Lineup

Actively selling 56 different iPad models seems very unlike Apple. In the iPhone lineup, the options have always been quite clear. Historically you bought the current model with all the new fancy features, or you could save money and buy the prior year’s model. This year you pick the iPhone screen size that fits you. It also used to be a simple size choice for iPads as well. But now, how do you choose? As developers and app business owners we of course collect them all! (Under the thin guise that we need them for testing…) But what would you tell a friend who asks for your advice on which iPad to get?

And what’s up with selling a 16 GB iPad in 2014? Other than greed? Granted that decision was made many months before Apple was criticized for the same thing with the iPhone lineup. And before limited memory hampered the upgrade rate for iOS 8. In hindsight I think this decision will be looked upon as one of the less insightful ones in recent Apple history.

Old Models Still For Sale

From an app development perspective having these old devices still for sale is problematic. Since we can’t prevent the sale of an app based on specific models you always have to develop for the lowest common denominator. In this case it’s the original iPad mini with the A5 CPU and a non-retina screen. Also known as the iPad zombie.

Don’t get me wrong, the iPad mini is an amazing device that was unthinkable just a few years. But technology moves forward at a dizzying pace. And in this case I think Apple should revert to its more aggressive self and retire the older devices. That will make customers’ experience so much better when they try to use cutting edge apps.


I thought it was curious that they included the M8 motion chip in the new iPad Air 2. Are people going to use an iPad to count the number of steps they walk during the day? But there are probably better use cases for games and for image stabilization with the camera.


Apple is really embracing the trend of using an iPad as a camera.

Touch ID & Apple Pay

The new iPad is going to be a shopping machine for the upcoming holidays.

Carrier Aggregation

This was mentioned in a single sentence when Phil Schiller explained how the new iPad Air 2 is able to get 150 Mbps speed on cellular. I was intrigued. Would that require multiple SIMs in the iPad?

Part of the answer came when the product specs went up on the website. Take a look specifically at the Apple SIM section. This is a huge innovation. One that will further diminish the power of the carriers.

In the future the purchase of your device will be even more disconnected from the selection of a carrier. You will be able to switch carriers effortlessly without having to track down a new SIM card. International travel will be much easier. You bring your device and when you get to your destination you just pick a carrier and a plan from the competing offerings. Carriers are going to hate this because it removes several of their lock-in levers and actually promotes competition between them. But they don’t have a choice unless they want to walk away from a huge chunk of profitable customers.

I wonder why Apple SIM is not in the new iPhone 6 models? Perhaps Apple wanted to do a softer launch with the iPad before hitting the carriers with this new brave world for the much more important iPhone.

Update: It turns out that carriers can still play shenanigans with the Apple SIM. AT&T for example will lock the Apple SIM to their network as soon as you activate their service on your iPad. Talk about incentive to not use AT&T! Sprint apparently plays a different game where an iPad that you buy in one of their stores does not come with the Apple SIM at all. Instead you get a “legacy SIM” that, surprise, only works on the Sprint network.

Retina iMac

I remember sitting in the auditorium at WWDC when the retina MacBook Pro was introduced. I think every developer in the room wanted to click the Buy button right then and there. The new iMac has a similar drool factor for developers. Very nice!

Apple Watch

Tim Cook of course iterated how very, very excited they are to release the Apple Watch in early 2015. I found it interesting that it appeared that he was only wearing the Apple Watch during that particular segment of the event. Shouldn’t the executives and the developers wear the prototypes around the clock?

We developers are of course very excited that WatchKit will be released in November.

It’s been a long time

I still don’t know what the title of the invitation means. The only hardware that saw a refresh for the first time in a long time was the Apple Mini. And that was appropriately given just a few minutes of stage time. The title could be an inside joke, perhaps referring to the fact that it wasn’t that long since the big September event. I think Apple is just having fun with Apple watchers who try to read the tea leaves and parse everything that comes out of Cupertino.

written by Nick

Sep 12

Much has been written already about Apple’s event this past Tuesday. I will try to not repeat everyone else’s opinions, but instead focus on what the news means for you as an app business owner and an app developer.

iPhone 6

Let’s start with the least surprising announcements. The new phones were almost exactly what we had expected.

There was an interesting change in how the iPhone 6 Plus renders views to its screen. An app sees a native screen resolution of 1242 x 2208 but the resolution of the screen panel is just 1080 x 1920 pixels. The phone hardware downsamples from the larger screen buffer to the physical screen. This doesn’t sound like a good idea, but people who have seen it in real life claim that the result is not a fuzzy screen. I think we have reached the point where pixels are now so small that you cannot see any imperfections resulting from this downsampling. For app designers it means that you should not try to draw single pixels lines or depend on your UI to be pixel perfect. The trend away from skeumorphic pixel perfect designs has been very clear since iOS 7, so this should not be news. Focus on the content of your app, and it will look beautiful on these new HD screens.

Introducing this downsampling technique also provides a lot more flexibility for Apple in future screen sizes. They are no longer constrained to just 2x and 3x multiples of the original iPhone screen from 2007. The screen sizes seen by the app can remain nice multiples so developers don’t go totally insane when creating image assets for apps. Then Apple can pick an appropriately sized screen panel for the device they want to build.

Of course there are now two more screen sizes to deal with. The writing on the wall has been written with flashing neon paint for quite some time. By now you should be using auto layout and be getting familiar with the new screen size classes. If you have to maintain compatibility with iOS 7 (and earlier) then there will be pain.

I have yet to research if it’s possible to include/exclude specific iPhone models from installing your app. It seems that the old iPhone/iPad selector is too crude of a switch now that we have an iPhone that is quite close to the iPad mini size. I can imagine iPad only apps today that would work on the iPhone 6 Plus, look ok on the iPhone 6, but be totally unusable on the smaller iPhones. (Before you say “adapt the layout to the screen size”, imagine an app that displays a PDF file or any other asset that has a large fixed size.)

The new phones look like they have new keyboard layouts to make good use of the extra screen space. If you are developing a keyboard extension then you have some extra work to do. Maybe that was why no keyboard was visible in the variable sized simulators in Xcode betas.

Both iPhone 6 models support the new, more efficient H.265 video format. If you are streaming video to iPhones you should definitely check the device type that is requesting the video stream and where possible serve an H.265 stream since that will considerably save bandwidth for you and provide a better experience for the customer. Since the old iPhone devices do not support this new format it’s too early to replace any embedded video files you may have in your app.

Apple Pay

The real story here is about security and not about convenience. Physical credit cards and credit card terminals are in a sorry state in the United States. It’s probably the only country in the world where just the knowledge of the numbers on the card are sufficient to make a purchase. Most civilized countries require a chip on the card which proves to the terminal that you actually have a valid card and not a generic piece of plastic that you just magnetized with data from a credit card dump. Apple Pay is at this level basically a secure chip to guarantee the authenticity of the payment card.

In 2015 merchants will become liable for fraudulent transactions made at their POS terminals. Therefore they will become reluctant to take the old magnetic stripe cards in the future. iPhone 6 customers will be very welcome because the risk of fraudulent transactions will be much, much lower. Payment terminals will be replaced because of this shift in liability and new ones will include NFC. Apple’s timing here is perfect.

Apple likes to make plastic obsolete (floppy disks, CDs and DVDs, etc) and that’s really what they’re doing with Apple Pay. They are not replacing banks or credit card institutions, they are working with them. Apple brings trust and security to the equation in a way that no other company has been able to offer to the industry before. And it doesn’t hurt that they bring along a few hundred million highly valued customers…

Reports indicate that Apple is receiving a %0.15 fee on all transactions that go through Apple Pay. And it’s almost entirely profit for Apple. Of course they have spent years building up their products and infrastructure to put them in a position to be able to offer this service. Another example of Apple’s long term thinking.

What’s in it for you as an app business owner? There will be an API (in iOS 8.1) to add Buy buttons inside your apps. This will make it very easy for you to sell physical goods inside an app. You just add the Buy button and Apple takes care of the whole checkout process. So you can sell fluffy toys of your game characters easily from within your app. Or if your app requires a hardware accessory, then your customers no longer have to find your website to place their order.

If there’s some form of affiliate tracking capability built into Apple Pay, then you could earn extra revenue in your apps by selling other peoples’ stuff from within the app. Many podcasters print custom t-shirts and sell to their fans. Say you have a podcast app you could easily have buy buttons for such real goods in the app. This is a huge revenue opportunity for apps.

While there will soon be an API for Apple Pay, there will not yet be an API to access the underlying NFC hardware. Apple’s usual pattern is to introduce new hardware, keep the APIs internal for a while to better formulate a public API for 3rd party apps. The Touch ID sensor is a perfect example of this. If you have specific use cases in mind for NFC let Apple know via Bugreporter. See this article for some ideas of what they’re doing with NFC over in Android land.

I’m assuming that Apple will not allow you to sell digital items with Apple Pay. They still want their 30% on In-App Purchases, not the 3-6% that you would pay for a credit card transaction. I foresee some interesting gray areas and boundary drawing here in the future.

Apple Watch

Two things struck me about the presentation of the Apple Watch.

  1. There was no explanation for why you would want the Apple Watch before it was revealed. Compare this to the extensive preamble both in the iPhone and iPad introductions.
  2. The presentation and especially the demo was very geeky. Definitely more directed to a tech audience than the invited fashion editors.

I think both items stem from the fact that Apple doesn’t really know what the Apple Watch will become. Just like they didn’t really know how the iPhone and iPad would eventually be used. (Installed any web apps recently?) They showed some of the things they have come up with internally that they thought seemed cool. But with Apple’s secrecy the developers in the know could probably not walk around all day with an Apple Watch on their wrist to experience daily life usage. Apple has a great advantage because of the developer community who loves to take their beautiful devices and make them magical with new software. This is of course a great opportunity.

With the top of the line watches probably costing many thousands of dollars, you would think there could be a profitable market for high-quality apps. At least I can hope for a higher bar when it comes to UI design. Please, if you are going to develop for the Apple Watch, invest in good UI and UX design. Nobody is going to want to show off their new solid gold watch with crappy looking apps.

How do you get started as an app developer with a great idea for a watch app? First get familiar with iOS 8 Extensions. It seems very likely that extensions will be the way apps are delivered to the Apple Watch. Build a simple today widget with a very simple UI and limited interactivity. Now strap your iDevice to your wrist and you’re up and running. 😉 At least that should give you a sense of WatchKit Glances and Actionable Notifications. Native WatchKit apps will coming later as well, opening up more possibilities.

One of the more intriguing hardware aspects of the Apple Watch is the large button below the crown. It was barely mentioned in the keynote and the only thing it appears to do is bring up the communication feature on the watch. Apple must really think that will be an important aspect of using the Apple Watch. Don’t we have enough ways to send messages from person to person on our iPhones? Is it a game changer to be tapped on your wrist instead of having your phone buzz in your pocket? It’s probably one of many things that you cannot theorize about; you have to try it out in real life. Which is why all of us developer will line up and by an Apple Watch as soon as it goes on sale.

Why is it called Apple Watch and not the much rumored iWatch name? I think it’s obvious. Apple is one of the most valued brand names on the planet. It’s synonymous with fine design and high quality. The letter ‘i’ does not connote any of those qualities. An iWatch would be placed in the same mental category as Swatch.

Wait, There’s More

Apple really played up this event like few other events. It appears that Apple sees the Apple Watch as a seminal product for the company. However I have a hard time seeing Apple Inc. hanging its future on becoming a watchmaker, even if it is the coolest watchmaker on the planet. With all the build up and all people they have hired in the last year, there has to be more. I’m guessing that this is just their first foray into wearable computers. Just like Apple introduced the iPhone before the iPad because people immediately understood what a phone is; people have an existing mental model for a watch. I can see how there could be future, specialized variations of the watch concept. For example a medical device with more sensors. And there could be computers without a display that act as accessories in the Watch/iDevice ecosystem.

In Closing

With these new announcements, iOS 8 and all the new stuff released at WWDC it’s been quite a year for app entrepreneurs. And we probably have one more event later this year for the traditional iPad refresh before the holiday season. I wish Apple would take a breather now and just focus on execution and fixing the cracks in the existing tools and infrastructure before unleashing another avalanche of new cool stuff. But I doubt that will happen.

written by Nick \\ tags: , ,

Dec 27

If you’re tired of watching holiday themed movie reruns, you can now watch the iOS 7 Tech Talk Videos. These Tech Talks are like a very concentrated version of WWDC. Coming several months after WWDC Apple can assume that most developers by now have some experience developing for iOS 7, so they don’t have to start at the beginner level.

You should watch the “App Store Distribution and Marketing for Apps” video. It provides general advice on app marketing, from Apple’s perspective. (Keep in mind that when it comes to the App Store, Apple always has the best interest of Apple in mind. Which may not necessarily be in the best interest of indie developers and small app businesses.) The video also shows email addresses for the App Store marketing team. If you don’t already have a personal contact on the team, you should make a note of these addresses. When you release a new app that you think is worthy of being featured in the App Store, you should let them know. Of course they can only promote a very small number of apps, so the odds are not in your favor. But the odds are even worse if you don’t tell them about your app in the first place. Showing Apple that you have a marketing plan outside of the App Store helps to get their attention. In addition to the usual “only on iOS” and using the latest iOS technologies.

The marketing video also mentions the “App Store Code Program”. This was the first time I heard about this program. It’s a way to give away your paid app to a large number of people. It’s not designed for when you run out of promo codes and you need a dozen more. Instead think 100,000+ redemption codes. Think big!

written by Nick \\ tags:

Oct 22

Today Apple revealed the new iPad generation. But before we get to that, let’s take a brief look at today’s other tablet announcements. 

Nokia Lumia 2520

Nokia began the day by announcing the Lumia 2520 Windows RT 8.1 tablet. It looks very nice, but with a price tag of $499 plus $149 for the power keyboard who is going to buy it? If you are a developer developing for the Windows tablet market then you would probably buy the ‘official’ Surface tablet as your reference development device. If you are an enterprise deploying the full Microsoft stack, then it seems the Surface would be the natural choice too. Maybe this is Microsoft’s way of providing some (artificial) competition in the Windows tablet market. It will be interesting to see what happens to the Nokia Lumia product line once the merger with Microsoft is complete.

Microsoft Surface 2

Short on the heels of a $900 million dollar writeoff and several attempts at giving away the first generation Surface tablets, Microsoft launches the next generation Surface. It should be clear to everyone that Microsoft is going to spend whatever it takes to get into this market.

What would a Microsoft product launch be without some rebranding. This time they got rid of the confusing RT branding for the Arm based Surface. Now it’s just called Surface 2. (And plain Surface for last year’s model. Apparently they still have some of those in stock.) The version with an Intel processor is called Surface Pro. This model can run your regular Windows software. At $899 that’s a rather expensive Windows portable computer.

Who is the target consumer? If you are looking to replace your aging Windows laptop, it might be worth a look. But if you do a lot of typing, then the keyboard cover might not be the best ergonomic choice. Anecdotally a lot of people purchase an iPad instead of, or as an upgrade to, an old home computer. Apparently all those people do not feel tied to the Windows software ecosystem. Will the Surface take a bite out of that market? I don’t see any compelling reason to buy a Surface with an anemic catalog of apps, over the more mature iPad.

On the enterprise side things probably look brighter for Microsoft. Many enterprise customers that I talk to say that they are planning on deploying Windows tables within their organization. Most IT departments feel a lot more comfortable staying in the Wintel world.

As an app entrepreneur, the Surface could be a interesting opportunity. Microsoft is going to sell (or give away) a large number of these devices. With comparatively very little competition in the Windows Store (currently at around 110,000 apps) you can become a big fish in a small pond. (I’m actually working on a port of an existing iPad app to Windows. I’ll report back on how that turns out.)

New iPads

Maybe the main event of the day was Apple’s introduction of the next generation iPads. With the many rumors leading up to the event, there were very few surprises this time. Maybe that’s why it felt a bit off.

iPad Air

Smaller, lighter, much faster and the same battery life as previous models. This may seem like small incremental improvements, but taken together this year’s generation is no small achievement!
I think the name Air is interesting. First it gets rid of the old confusing line of model names (iPad, iPad 2, The New iPad, iPad (4th generation)). Second, if you look at the model names of the Mac laptops, there might be a place for an iPad Pro.

No Touch ID

If you have become used to the convenience of Touch ID on your iPhone 5S, you are going to miss the lack of Touch ID on the new iPad. Why did Apple not include a fingerprint scanner on the iPads? Some analysts have suggested that the hardware components that make up Touch ID are supply constrained. Or maybe Apple wants to observe the success and challenges of Touch ID in the “consumer” devices that iPhones mostly are, before they bring it to the iPad which is going to be used more in corporate environments. Or perhaps they are just saving that feature for the iPad Pro.

iPad 2

Apple is still keeping the iPad 2 for sale. Many pundits are shocked at the thought of buying a tablet generation that was released in 2011. But many industries do not move as fast as the tablet business and they have very lengthy testing and approval processes. Take schools and airline pilots, for example. Other businesses may incorporate the iPad in a solution that still requires the 30-pin connector. These customers, who may buy large quantities of iPads, can rest assured that their standardized device will still be available for another year. As long as customers keep buying the iPad 2 (it accounted for 22% of all iPads sold last quarter), it doesn’t cost much for Apple to keep those production lines working.

iPad mini

The big question for the new iPad mini was if Apple was going to pull off a retina display this year. The answer is fortunately yes, but its just barely. The challenge is being able to produce sufficient number of display panels for the very large quantities of iPad minis that Apple sells every month. The iPad mini goes on sale “later in November” and there is no pre-ordering. It’s pretty clear that these devices are going to be supply constrained for the rest of this year. So if you’re planning on getting an iPad mini for the holidays, grab one as soon as you can.

What does it mean for app developers and app business owners?

There was no new category of device introduced today, so there’s no new screen size or other device capabilities that you need to consider. The iPad Mini went retina, but the old model remains on sale, along with the non-retina iPad 2. So you can’t drop your @1x assets quite yet.

The new iPad Mini has the new 64-bit A7 chip as well as the M7 chip. This certainly broadens the market for apps that take advantage of this new hardware. (Update: David Smith discovered that the new iPads don’t do step counting, even though they have the M7 chip.)

The iOS train keeps charging forward. Apple has sold over 700 million iOS devices to date. A great, and growing, target market. Even more important is that 64% have already upgraded to iOS 7. This makes the case even stronger for developing new apps for iOS 7 only, and leaving behind old iOS 6 code bases sooner rather than later. Your overall code will be so much simplified, resulting in lower maintenance costs and more time to focus on new features.

written by Nick \\ tags: , , ,

Jul 05

If you are a registered Apple developer you may have found that locating and downloading this year’s sample code from  WWDC is quite a challenge…

The first place I looked was the Sample Code section of the iOS Developer Library. But no dice.

Then I found a link on the WWDC Resources page, but that was broken at the time I tried it.

Finally I found this direct link to all the WWDC 2013 downloads: https://developer.apple.com/downloads/index.action

If you’re looking for sample code for a specific session, you can find it this way:

  1. Go to the WWDC Schedule page at https://developer.apple.com/wwdc/schedule/
  2. Find the session that you’re interested in.
  3. Click on the View Details link.
  4. At the bottom of the session detail screen there is a section called Related Resources. If the session has any sample code, it will be listed here. Just tap the link to download the zip file.

There’s also a Ruby script by Johannes Fahrenkrug that will automatically download all WWDC videos and sample code in one fell swoop. I haven’t tried this since I didn’t want all the videos too.

written by Nick

Jun 12

$10 Billion Paid to Developers
This is an astounding number. How many businesses have gone from zero to $10B in less than 5 years? And $5B was paid out in the last year alone, which means that the growth is still accelerating.

Apple also mentioned that they have 6 million registered iOS developers. I have a hard time getting my head around this number. Does this mean that 5 million people decided to register as a developer but never managed to ship an app? However, if you are selling a service to app developers, then this number shows that there is a large target audience for your product.

Transfer Apps in the App Store
This is really good news if you ever want to sell one of your apps. Previously there was an unofficial manual process that you could go through with Apple, but now there’s much less friction with iTunes Connect. This opens up new app business opportunities.

93% Are on the Latest iOS Version
Another really nice number. What this means in practice is lower development costs. In the past you typically had to support the current iOS version, plus the prior one. With these numbers it will be difficult to justify that extra cost for such a small market share. The over-the-air iOS update introduced with iOS 5 essentially means that almost all customers update to the most recent release, up to the point permitted by their hardware generation.

With the update to iOS 6, the first generation iPad was left behind. This was a bit controversial at the time since that hardware had been on sale not too long prior. Today I don’t see much reason to keep supporting iOS 5. The main question in my mind is if you should go iOS 7 only at this point.

But your actual circumstances and the devices that your current customers use, need to guide your decision. 7% of 500 million devices is still a very big number.

iOS 7
A lot has already been written about the look of iOS 7. See below for some good articles on this topic.

iOS 7 shows how touch devices have matured. When Apple introduced the first iPhone with one of the first touch user interfaces, people did not have any experience interacting with this type of UI before. Therefore they had to use metaphors that would be familiar. For example: buttons that really looked like old fashioned buttons and behaved like buttons when you pushed them.

With iOS 7 Apple is betting that most of their customers are now used to touch interfaces and are not afraid to explore a little to figure out how an app works. If there is an item in a top corner of the screen, where there used to be buttons, but the item no longer looks exactly like a traditional button, it’s not a stretch to think that this item might do something if you tap on it. Especially if it’s offset with a different color than the content on the screen.

But that’s just the skin appearance changes in iOS 7. The more advanced changes in iOS 7 are much deeper than that. One example is the new, much more consistent layering in the UI. Most people will not consciously notice this, but subconsciously it will provide much better clues to where you are in the OS and inside an app.

With the extensive UI changes in iOS 7 it is not a small matter to do update an existing app to iOS 7. To to a good job of this you have to change your thinking: Start with your content as the star of your app, then add the chrome and navigation only as needed around the content. You should really make an effort to re-imagine the UI to make a great iOS 7 app, one that makes intelligent use of all the new features and capabilities.

When you have finished your re-imagined iOS 7 UI design, you can then port it back to iOS 6 (if you still have to support this). Of course this will significantly increase the cost of your project. Not only do you have to make changes for iOS 7, but also make changes to your existing iOS design.


Another important and deep change is the new multitasking model. Previously only certain types of apps were allowed to run in the background. With iOS 7 the OS will observe the behavior of apps to determine if and when they might benefit from running in the background. The canonical example is that you check the news in an app the first thing when you wake up in the morning. iOS will learn this and can wake up the app 5 minutes before you wake up, so that the app may start downloading data with the goal of having updated data available when you yourself launch the app a few minutes later. This is a great compromise between user experience and battery life. And it avoids the problems of letting any app run unfettered in the background at any time it wants.

More multitasking options opens up the possibility for new types of apps that were not allowed previously.

App Updates

In iOS 7 apps update automatically without user intervention. This is a great convenience for customers and it can also be a benefit to you as an app developer because more of our customers will be running the latest version of your app. But this can also be a curse. You really, really don’t want to push out a bad update to the App Store. Because very quickly that update will be automatically pushed out and installed onto all of your customers’ devices. Good thing that the latest version of Xcode has improved unit testing features. You do have unit tests for your apps, right?

Good Times

This is a really good time to be an iOS consultant or freelance developer. Customers are going to need a lot of help in adapting their old apps for iOS 7.

I think the transition to iOS 7 will separate the pros from the amateurs and the cheapskates in the App Store. Creating great iOS 7 apps will require experimentation and a lot of iteration to get right. This is difficult to do on a fixed budget and without passion for your app.

App Store Improvements
Finding popular apps near me is a new feature in iOS 7. This is a step in the right direction along the lines I outlined last week. It will be great specifically for apps that have a geographic home, e.g. city tours, language apps, local events.

A lot of the app store content is displayed in the App Store app as HTML. So hopefully they can add more, different ways to discover apps in the App Store without waiting for a whole new iOS release.

More Car Integrations
This is an oddball on the list. But maybe you can think of some new app ideas for your car. I don’t know what you need to build apps that integrate with a car. Maybe you need to be a member of the MFI program.

iWork for iCloud
This was one of the most under-appreciated announcements at the keynote, judging from the audience reactions. From a technical perspective, it was some really cool stuff. You can drag an MS Office document into your browser and it is automagically converted and uploaded to iCloud, and is then also available for continued editing on all your connected devices using native Apple apps. My head hurts when I think how much JavaScript must be involved in iWork in the browser.

iWork for iCloud looks amazing and the rich documents you can create and edit in your browser certainly puts Google Docs to shame. But iCloud is still just personal. That means you can edit and sync a document on all your Apple devices, but you cannot collaborate with other people on the documents.

To be a serious contender in cloud services, Apple needs to have a solution for collaboration between individuals and inside companies. But for this year I would be happy to see just the basic, existing iCloud services just work. All the time.

If you look at the App Store, a significant portion of the most downloaded apps are games. If you look at the APIs available to developers there are very few specifically designed for gaming. You wouldn’t think that iOS is such a popular gaming platform. (A fellow attendee and hard core game developer, whispered in my ear that Apple used to have a real bias against gaming.) With iOS 7 there are several new APIs that will be great for gaming, and gaming has been emphasized several times. There is even a production quality source code example for a graphical multiplayer game available to developers to use as a starting point for their own game development. Or use it as is. I expect that we’ll soon see several slightly reskinned versions of this code on the App Store.

What We Did Not See
No new platforms, i.e. iWatch or Apple TV SDK, were announced. While this was disappointing, all the new stuff in iOS 7 will keep us busy for quite a while. And given how much overtime Apple engineers must have worked on this release (and will continue to work to refine it over the next few months), I don’t see how they could possibly also have created a brand new software platform.

Get Featured by Apple
Apple likes to feature apps that showcase new technologies. With the release of iOS 7 this is a golden opportunity to increase your chances of being featured by Apple. Take a look at your existing apps, and your long list of app ideas, and see if you can make great use of some of the new APIs.

Related Posts

written by Nick

Jan 20

Yesterday Apple introduced iBooks Author at an education event in New York City. Almost immediately people were up in arms: How dare Apple introduce an application for free that does not meet all of their own personal needs? And the audacity of insisting on a EULA that favors Apple’s own devices and markets. Not to mention the fact that iBooks Author only runs on Macs. Of course I would also prefer a tool that solves more of my issues related to publishing, along with unicorns and free beer. But, since I’m not footing the bill for the development of iBooks Author, my opinions on this don’t carry much weight. So let’s move on and look at what iBooks Author really is.

iBooks Author is intended to solve a very narrowly defined problem: How to easily create and publish great looking interactive eBooks for the iBookstore to be read on iPads. From what I’ve seen, it solves this problem very well.

iBooks Author is not intended to be a general purpose ePub authoring tool. This is of course disappointing. Most people don’t know that Apple already has one of the very few commercial, easy to use tools for creating ePub files in the iWork Pages application for the Mac. It’s not all that great, but Pages solves the problem of writing a book containing mostly text, adding some images and saving it as an ePub. A disappointing consequence of the introduction of iBooks Author is probably that Pages will not see many future improvements to it’s ePub capabilities.

.ibooks vs. ePub

The output from iBooks Author is like ePub but not quite. If you open up the .ibooks file (it’s a zip archive just like ePub files are) you will see the same structure as an ePub. Each page has it’s own xhtml file, and there are a couple of XML files that describe the structure of the book.

Creating an ePub reader for iOS is not terribly difficult since the individual pages or chapters are pretty standard HTML files which can be displayed in a UIWebView. I believe that iBooks v1.x in essence was built around a UIWebView. But that has changed significantly with iBooks 2.

Examining xhtml files generated by iBooks Author in more detail and you’ll find a lot of non-standard CSS: -ibooks-layout-hint:, -ibooks-list-text-indent:, -ibooks-strikethru-type:, etc. I know there are several WebKit specific CSS extensions with the prefix -webkit, but I don’t know what WebKit, and much less a UIWebView would do with these new -ibooks extensions.

But it gets worse.

When you use one of the built-in widgets you will get code like this:
<object type=”application/x-ibooks+anchored” data-anchor-ref=”danchor-gallery-0″> This code must trigger something in the iBooks 2 binary that renders the widget. It would have been nicer if iBooks Author generated standard JavaScript+CSS here instead. The native approach was probably done for performance reasons, as anyone who has tried to develop complex, interactive animations with JavaScript and CSS can attest to.

A consequence of these design decisions is that it’s no longer possible to load the xhtml files into a UIWebView and see a fully rendered page. This begs the question of how did they implement these new features in iBooks 2? I don’t see any way to just use the public APIs of a UIWebView to accomplish this. But given the debacle when iBooks was caught using a private API for adjusting the screen brightness, it seems unwise to go down that path again. Maybe they started from scratch using the WebKit open source code? They would certainly have the talent at Apple to pull that off.

So why did Apple choose proprietary extensions to ePub instead of fully conforming to the standard? We can only speculate.

  • They want to lock in publishers to the iBookstore to boost the lagging number of titles.
  • They want to ensure only iPads sales benefit from this free tool.
  • They want full control over the format themselves.
  • Time and budget constraints forced them to take the easier path.
  • The current ePub standard does not provide all the functions and features they wanted to include.

I think there is some truth in all of the above, but I would put my money on the last one. See also John Gruber’s insightful analysis.

Given that the output format is closed, it would be possible for Apple to switch to a fully ePub compliant format as soon as the standards catch up. I don’t think this is very likely. But keep in mind that this is just the first version of iBooks Author.

Lack of iPhone compatibility

Curiously iBooks Author only generates ebooks for the iPad. I don’t think there are any technical reasons for excluding the iPhone and iPod touch. It’s more likely to be a content production issue. Creating the page layouts for these enhanced ebooks for the iPad is expensive enough. Forcing publishers to do the work twice to also target the iPhone, would probably be too much to ask.

For the educational market, the iPad is probably the right target. But if you are contemplating using iBooks Author to create ebooks for a wider audience, then the lack of support for iPhone and iPod touch is definitely a factor to consider.


One seemingly obvious application for iBooks Author is to create magazines to be distributed via Newsstand. Jason Snell of MacWorld wishes for this. The current EULA forbids content created with iBooks Author to be distributed via Newsstand (unless you give it away for free), but that is something it shouldn’t be too difficult to get an exception from Apple for, or conceivably see Apple change the EULA to include Newsstand in addition to iBookstore.

But given the architecture of iBooks 2 and the files generated by iBooks Author, it will be a challenge for third party developers to create magazine reader apps to display content generated by iBooks Author.

So should Apple create a generic magazine reader app, e.g. iNewsstand, that has similar features as iBooks, but also handles subscriptions and delivering content using the Newsstand infrastructure? That would be a bit odd to introduce now, as it would become a newsstand within the Newsstand folder. (Apple has actively discouraged third party magazine aggregators from making their apps Newsstand enabled.)

How about a sample project that magazine publishers can download and expand for their own use? This also seems unlikely as that would diminish some of the benefits Apple is achieving (deliberately or as a side effect) from the new proprietary file format.


An elegant solution to the problem of giving third party developers the ability to display content generated by iBooks Author would be to provide a new view controller that can read and display .ibooks files. It would be like a UIWebView on steroids. We can debate wether it should be a view or a view controller. Given the fixed page layout nature of ebooks created in iBooks Author, I think a view controller would be more appropriate.

Imagine the cool apps that can be created by developers if the creativity unleashed by the free iBooks Author tool could be harnessed in iOS apps. If Apple’s true intention is to keep the file formats proprietary and the technologies exclusive to the iOS platform, that is still achieved and further promoted with this solution.

I like this idea. I think I’ll go right now and submit a Radar for it.

written by Nick \\ tags: , ,

Oct 07

Apple announced the iPhone 4S and as usual many pundits are proclaiming their bitter disappointment. Let’s take a rational look at what Apple announced.


The iPhone 4S has the following new or improved hardware:

  • Significantly faster processor.
  • A much improved camera.
  • 1080p HD video recording.
  • A new image signal processor.
  • AirPlay audio and video streaming and screen mirroring.
  • GSM and CDMA combined in one phone.
  • A redesigned system for managing the antennas.
  • Data download rates approaching 4G speeds over 3G networks.
  • Despite more and faster hardware, maintains industry leading battery life.

Wow, those hardware engineer slackers at Apple. What have they been doing for the past 15 months?

Why did they not give us:

  • A larger screen. Never mind that it would either lower the pixel density of the retina screen, or change the number of pixels and thus breaking most apps.
  • A 3D screen. Those devices are cool, but their sales numbers are not exactly approaching iPhone 4 levels.
  • A 3D camera. Ditto.
  • NFC. Consumers and merchants are not lining up for a new way to pay with a phone. The biggest cheerleader for NFC is Google, who wants to "manage" your purchase history data.
  • Solar powered. When there’s a quantum leap in solar cell efficiency, I doubt that cell phones will be the first application.
  • A new case design.
  • An "iPhone 5" label.

Since Apple only recently managed to fully meet demand for the iPhone 4, does it not make sense to continue to use as much as possible of the existing case and assembly materials and processes for the new phone? Which would in turn make it possible to roll out the iPhone 4S more quickly to more countries?

In the future you might as well get used to the incremental hardware improvements for the iPhone. Which is just what Apple has done for the past four iPhone generations.


Software does not suffer from the same pesky physical laws and limitations that hardware has to abide by. As long as we continue to see incrementally faster processors and more memory, there’s really no limit to software innovations.

So what did we get along with the iPhone 4S:

  • iOS 5 – Many significant improvements over the current OS.
  • iCloud – A new way to manage your data across multiple devices and computers.
  • iMessage – A clever end-run around the phone carriers. I bet they didn’t see this coming as a software update to millions of their current customers.
  • Siri – A very sophisticated personal assistant with AI-like qualities.

Of course many of these software innovations require and depend on the incrementally better hardware. This is what Apple does so well: integrating hardware and software.

In the future the new smarts in Smartphones will continue to come from the software. The pundits can shed tears over the lack of fantasy hardware. In the meantime, we developers are more than happy to welcome the next 100 million iPhone 4S owners as our customers.

written by Nick \\ tags:

Jun 14

No New Hardware

Apple had been unusually proactive in hinting that there would be no new hardware announced at WWDC. But still the gadget blogs were disappointed. The original iPhone hardware was exciting, I’ll admit that. But since then, the hardware changes have been minor and incremental. A new iOS version will also have significantly larger impact on the iPhone ecosystem since more than a hundred million customers will enjoy the new features and benefits immediately, whereas a new iPhone will only benefit a small fraction of that.


The architecture decisions Apple made with iCloud are quite interesting and are in many cases in stark contrast to their competitors’ vision of “the cloud”.

  • The PC has been demoted to just another device that syncs with the cloud. The PC is no longer the center of the universe (Microsoft’s dogma). iCloud is another big step towards the post-PC world.
  • Syncing is between smart devices and these devices are the primary means to access your data. Compare this with Google’s idea that you put all your data on their servers and then access it via a browser. Yes, Google provides APIs to access your data, but in the big picture they really want you to use a browser so they can shovel ads at you along with your data.
  • There is no streaming of audio or video from iCloud. A one-time sync of data places a lot less load on the network. This reduces the operating costs of Apple’s server farm, as well as the mobile operators’ wireless networks. Since you need to still keep your media on all your devices, you are “encouraged” to keep upgrading to larger storage capacity every year or so. More hardware sales for Apple.
  • iCloud is primarily a storage cloud and not a computing cloud like Amazon’s EC2 and many other companies’ computing cloud offerings.
  • With the iCloud API Apple will harness the energy and ingenuity of the iOS developer community to tie customers even closer to iCloud and Apple’s ecosystem.
  • In the context of iCloud it makes total sense that Apple recently released versions of Pages, Numbers and Keynote for the iPhone and iPod Touch. Many reviewers were at the time asking: why would you want to compose large documents on such a small device. The idea is that you should be able to pick up any one of your devices, or sit down at your computer, and continue working on your document. With the API Apple wants us developers to do the same with our apps for iOS and Mac. The emphasis in OS X Lion on not having to explicitly save your documents, also makes a lot more sense in the iCloud context.
  • Since the basic iCloud service is free, developers can assume that practically all of their customers will have iCloud. This is very important. Compare this with the “workarounds” developers have resorted to in the past with using MobileMe or Dropbox for syncing data.
  • Another interesting iCloud benefit is backups for iOS devices. How this will work in practice over wireless networks remains to be seen. Obviously you will not be sending 8/16/32/64 GB of data for the backup. In checking my current iTunes backups (~/Library/Application Support/MobileSync/Backup) it looks like I have 0.5 – 1.5 GB of data backed up for each of my 32 GB devices that are filled to the limit with apps and data. App binaries are not part of the backup. Just as your local iTunes has a copy stored of all your apps, Apple certainly has a copy too on their iTunes servers. I just hope they keep old versions of apps around so that you’re not forced to upgrade to the latest version if you need to do a restore.
  • What will happen to battery life when your device is constantly syncing iCloud data and making backups in the background?
  • Apple did not talk about sharing iCloud data between customers. This severely limits the use of iCloud for collaborative work. I’m sure Apple is already thinking about this. But for now services like Dropbox still have a niche.
  • iCloud is the next big step in the platform evolution. First Apple perfected app sales and distribution with the App Store, and they still have the most number of apps. But Apple has moved on. Even if/when the Android Marketplace reaches or surpasses the number of iOS apps, it matters less if the Android platform can’t do what iCould offers.

iOS 5

Lots of new and interesting stuff in iOS 5. As Marco Arment calls it: The iPhone feature-checklist steamroller.

  • iMessage – Mostly interesting because it transparently bypasses the carriers’ antiquated and ridiculously expensive SMS system. Another land grab by Apple. Nice touch that the carriers first learned about this at the keynote, just like everybody else.
  • Newsstand – One of our larger clients is in the magazine business, so this announcement caused some heart palpitations before we realized that Newsstand is mostly a glorified folder that shows recent magazine covers from other apps that you have installed on your device. The background downloading is nice though. Wish Apple would extend that as a general service to all apps.
  • Reminders – This is an odd app from Apple. Geolocation aware reminders/alerts is certainly cool. But what’s the bigger play for Apple here?
  • Twitter integration – Single sign-on to Twitter is nice. From the screenshots it looks like you can add multiple Twitter accounts. I think this opens the path for single sign-on to multiple other services in the future. Facebook is the obvious one. Now that Twitter received a boost in the battle for global identity management, maybe Facebook will come to terms with Apple too.
  • Safari Reading List – Another feature pioneered by third party developers becomes part of iOS. I don’t see any reason to switch from Instapaper.
  • Cut the cord – This is probably the most important new feature in iOS 5. It will open the market to millions of people who want to use an iPad as their only home computer. And to millions (billions?) more who live in countries where computers are generally uncommon.

WWDC Sessions and Labs

Everything that took place after the public keynote is under NDA so I cannot talk publicly about it. But there is even more new and exciting stuff under the hood for us developers, than what has been revealed publicly. I encourage you to view the WWDC session videos as soon as they come out.

Personally I did not spend very much time in the sessions. I don’t want to learn and get excited about new APIs that I realistically cannot use for several months. And as I mentioned before, the sessions will be available on video soon. For me, the most valuable part of WWDC is the labs. There you can ask pretty much any technical question about iOS (or Mac OS X) and it’s very likely that you’ll end up talking to the engineer who wrote the code in question. You can bring code, and they will help you debug it. Even if your question is not very precisely formulated, they are happy to talk to you to get a sense of how developers are using their APIs and what issues we are struggling with. Invaluable!

Other News

Apple decided to relax the rules for in-app subscriptions. I’m happy to say that I was wrong in my earlier prediction that Apple would not change and publishers would have to accept the new rules or walk away. Imagine being a fly on the wall listening in on the internal debates at Apple over these changes. Lacking such access, here are a few reasons postulated by an analyst.

Apple has filed a motion to intervene in Lodsys’ lawsuits against seven small developers in the court in Eastern District of Texas. Short of Lodsys crawling back into the hole they came from, this is the best news iOS developers could have hoped for. Keep your fingers crossed that the court will allow Apple to intervene.

written by Nick \\ tags:

Mar 02

The iPad 2 introduced today brought few surprises. The obvious new hardware was there (camera) and obviously unrealistic rumors were confirmed to be false (e.g. retina screen).

The CPU and graphics speed bump is nice, and in line with Apple’s customary incremental improvements in performance for new hardware models. But pure specs and statistics don’t mean much. It will be interesting to see how much this will be noticeable when you’re interacting with the new iPad. The speed improvements in the first generations of the iPhone were really noticeable, the later ones, not so much. The question that many developers is asking is if there’s more RAM memory to go with the other hardware improvements?

HDMI output and screen mirroring is also very nice. I can see a new category of social games you play gathered around your large TV with an iPad as the central game machine, and each player using their iPhones and iPod Touches as game controllers. (If you add up all the hardware costs this seems like an ridiculously expensive console game, but I think that we’re at the point were many people have older generation of iDevices laying around – perfect for game controllers.) But even though this setup sounds cool to us geeks, it still feels that there’s something essential missing in the Apple entertainment system ecosystem.

The new thinner and lighter iPad 2 design will make the iPad shine when you’re comparing tablets side by side. But it’s hardly specs that you’ll base your purchasing decision on. And the iPad 2 is not yet close to Kindle territory in this aspect. But hold on to the “comparing tablets” thought, well get back to that.

Apple knows that the relentless Android copy machine will churn out many new devices this coming year. They will come in every conceivable combination of hardware specs, form factors and price levels. With the iPad 2 revision, Apple is ahead of, or on par with, the major competitors’ announcements. So when they eventually ship their devices, they cannot claim hardware superiority against the iPad. Thanks to Moore’s Law it’s very unlikely that any competitor will be able to launch a competing tablet in the next year with twice the hardware at the same price as the iPad, or similar hardware at half the price. So over the next year there will mostly be small, incremental changes in theses areas.

The major differentiating factor between competing tablets will be software. Consequently this was the theme of Apple’s event.

You can always argue if the number of iPad optimized apps (65,000) vs. the number of Android Honeycomb apps (100) are the right numbers, or if they are even the right categories to compare.
(We know that Steve has an affinity for nice, round numbers.) But it’s a fact that the iPad has a huge lead in tablet OS maturity and third party software.

Today Apple expanded that gap into a chasm, with the introduction of iMovie and GarageBand for the iPad.

These apps are fantastic in their scope, polish, target audience and aggressive price. How long will it take for equivalent apps to appear on Android? Or anything even remotely close? At the $4.99 price point those apps will have to be sponsored (especially given the size of the Android market for paid apps). Google are not exactly known for creating product with this level of finish. Who’s going to step up to the plate? Motorola? HP? Asus? Dell?

The notion that the iPad is just for consuming content is becoming increasingly silly. (But not as silly as Microsoft’s idea of differentiating tablet OS brands by this criteria.) The ease of creating music and video with these new apps is going to usher in a new era similar to the desktop publishing revolution started by the first Macs. And the cool creative people, teenagers and moms are all going to learn how to do this stuff on an iPad.

Back to comparing competing tablets: Imagine a store with the iPad on display next to several other tablets. The iPad runs iMovie, GarageBand, Pages, Numbers and several of the great 3rd party apps. With similar hardware specs, who in their right mind would pay more (a few hundred dollars more?) for one of the other tablets with a lot fewer apps, and definitely no apps as cool and as polished as the top of the line iPad apps?

Game over?

written by Nick