Archive for the ‘iPhone’ Category

Apple will discontinue the iPhone NDA

Wednesday, October 1st, 2008

Apple has announced on
its iPhone Developer Program page that they will drop the NDA covering the iPhone APIs. This means that we should, at some point, be able to start work on an iPhone version of Adium.

Some important points:

  • Apple has not dropped the NDA yet. The announcement says that Apple will distribute a new developer agreement “within a week or so”. Until they do, the NDA is still in effect.
  • We don’t yet know what the new developer agreement will say. It’s always possible that the new agreement will include some other clause that prevents open-source software. We won’t know until we see it.
  • An iPhone version of Adium will not happen immediately, nor soon. From the little public information that Apple released (and the many tidbits that iPhone developers leaked in defiance of the NDA), we know that the iPhone development interfaces are significantly different from those on the Mac. We will need to rewrite almost the entire application. The Adium for iPhone page has more information.

This is a long-overdue step by Apple, and we’re glad they’ve taken it. We look forward to one day writing and using the iPhone version of Adium.

Thank you, Apple.

Adium and the iPhone

Friday, March 7th, 2008

Today, Apple released the iPhone SDK. And, as we expected, we’re already being asked whether we intend to write a version of Adium for the iPhone.

The short answer is “yes, but…”.

Developing for the iPhone is similar in many respects to development for Mac OS X. Some of the same frameworks, such as Core Audio, are present. But a lot of them aren’t. For example:

  • QuickTime (which we use to play sounds) is missing entirely. There’s a new Core Audio API to play sounds, but it’s Leopard-only, and we don’t know whether it’s available on the iPhone.
  • The Application Kit (on which our interface is built) is replaced with UIKit.
  • The iPhone probably does not have Apple Events nor Open Scripting Architecture. In other words, no AppleScript.
  • Animation works a bit differently, and is dramatically different from how animation currently works in Adium on Mac OS X.

The hardware poses challenges as well. The iPhone has less memory than Adium tends to use, and has a significantly slower processor (and only one of them). Also, maintaining a network connection over WiFi uses a significant amount of battery, which could pose a problem for long-term use.

So porting Adium to the iPhone will certainly be a lot of work. Large portions, if not almost everything, will need to be completely rewritten or scrapped. Other parts will survive, but undergo extensive changes. This is a lot of work.

Currently, Adium’s base system requirement is Tiger (Mac OS X 10.4). Some of the iPhone’s features, such as Core Animation, were introduced in Leopard (10.5). Therefore, it’s likely that we won’t start work on Adium for iPhone until sometime after Adium for Mac requires Leopard.

Also, keep in mind that we’ll want to release that version of Adium for Mac and have it proven by users (that means you) before we go applying that knowledge to Adium for the iPhone. You wouldn’t want us to port an unstable version, would you? ☺

So, in summary: We want to do it, but it will be a lot of work. We want to put it off for a little bit so that it can be done with less effort and won’t interfere with other development priorities. We don’t know how long we’ll put it off and we don’t know how long it will take once we start.