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.

Newsstand

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.

IBooksPageViewController

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.

Hardware

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

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.

iCloud

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

Oct 21

On October 20th Apple announced several new products and technologies. Here are some thoughts and comments on how they might relate to us iOS developers.

Facetime

In the past 4 months Apple has sold 19 million Facetime capable devices (iPhone 4 and 4th generation iPod Touch). This is an astounding technology introduction rate. Does any other video conferencing technology come close to such a rapid expansion rate? Does any communication technology at all?

Apple is of course aware of Metcalfe’s law, so they need to spread Facetime to as many customers as possible to achieve the beneficial network effects. So it’s no surprise that they introduced Facetime for the Mac. Most people had probably assumed that Facetime would be a feature added to iChat, instead of a separate app. My guess it that they wanted to keep simplicity of Facetime: no setup, nothing to configure. Try to explain to your grandparents how to configure a Jabber account or an AIM account in iChat and then get the two of you connected via an audio chat.

A great way to further expand the network of Facetime nodes would be to provide an API to it. Let us initiate a Facetime call from within our own iOS apps, within an arbitrary view. Think of it as GameKit chat on steroids.

OS X Lion

The title of the event turned out to be a fun word play: they’re bringing some of the iOS features back to the Mac.

Some of the “features, like the iOS style app home screen, seem to be a bit gimmicky to bring to the Mac. But I will reserve judgement until I’ve tested it. At least it’s an interesting upgrade path for someone who starts with an iOS device to quickly learn to navigate OS X.

Auto save and auto resume are great features to have in an app. But just like in iOS, I’m assuming that the developer will have to do most of the heavy lifting. If Apple brings full auto resume to all of the iLife products, I’ll be impressed.

Mac App Store

The Mac App Store is intriguing. It takes all the benefits of distribution, payment processing and discovery from the iOS App Store and brings it to the Mac. It also comes with very similar App Store Review Guidelines. The best part is that it’s entirely optional. If you can live with the restrictions, then give it a try. There doesn’t seem to be any exclusivity clause in what I’ve seen.

One of the major drawbacks of the App Store is that developer’s don’t know who their customers are. For Mac indie developers, having a direct connection to their customers is often the lifeblood of their business. I wonder if Apple will allow a user registration screen in the apps?

The frictionless iOS App Store quickly led to rockbottom prices. Will the same scenario play out in the Mac App Store?

As primarily an iOS developer, I wonder if the same app review team resources will be used for both App Stores and will that lengthen the approval times for my iPhone and iPad apps?

MacBook Air

It’s interesting how Apple is out-engineering and out-muscling its competitors. Can any other company create a notebook with similar dimensions and match the build quality of the new MacBook Air? I’m probably well immersed in the reality distortion field, but to me the Air looks like a tough act to copy. And how are competitors going to follow suit with very large SSDs when Apple controls 40% of the flash memory market?

written by Nick