- Overview
-
Getting Started
- What is Adium?
- Installing
-
Accounts
- Creating Accounts
- Personal Settings
-
Contacts
- Managing Contacts
- Managing Groups
- Combining Contacts
- Blocking/Privacy
-
Chatting
- Fonts & Colors
- Message Tabs
- Chat Transcripts (Logs)
-
Advanced Features
- Voice & Video Chat
- File Transfer
- Direct Connect
-
Support
- Troubleshooting
- FAQ
- Bug Reports
- Feature Requests
- Contact Us
-
Development
- Contributing to Adium
- Getting the Code
- Contributing Code
- Following Development
- Sparkle Statistics
- Adium Sponsors
Is there an iPhone/iPod touch version of Adium?
Not at this time. Adium is currently only available for Macintosh computers running Mac OS X.
Are there plans to make one?
We want to, but it will be a lot of work and we're not sure that we can even start on it.
There are two things in our way.
The NDA prevents us
We had planned to analyze how easy or hard the job will be once the official SDK came out. Now it is out, but it's under a non-disclosure agreement, so we wouldn't be able to get the SDK and then be specific about what we'll need to do.
The NDA presents another problem. (Note: We are not lawyers.) The Registered iPhone Developer Agreement says:
3. Confidentiality. As a Registered iPhone Developer, you may be receiving information from Apple. You agree that all information disclosed by Apple to you that relates to Apple’s products, designs, […], or third-party confidential information, will be considered and referred to collectively as “Confidential Information.”
There's a similar clause in the Mac developer agreement, but it doesn't apply to the Mac OS X programming interfaces because those interfaces are available to the public. The agreement also says:
4. Access to iPhone Materials. Apple may provide you with certain benefits and materials, including, but not limited to, […] (“Pre-Release Software”), documentation, reference libraries, […], and other items (collectively, “iPhone Materials”) as a Registered iPhone Developer. Except as expressly permitted herein, all iPhone Materials are provided solely for your own personal use in connection with your participation as a Registered iPhone Developer and not for the use or benefit of any third party and you agree disclose the iPhone Materials.
These two clauses mean that we probably wouldn't be able to reveal our Adium-for-iPhone source code, because that would reveal (disclose) the interfaces.
But we must reveal our source code for any release, because the GPL requires it (and the GPL doesn't just apply to Adium: we use a number of GPL libraries, including LibPurple). So it would be a breach of contract to release an iPhone version (because we would be violating either our NDAs or the GPL).
There is hope, however. The SDK is beta, which is probably why it's NDA'd (“confidential information”, as the agreement puts it); when the SDK comes out of beta in June, maybe it will also become public. If Apple releases it publicly, then there will be nothing completely stopping us from releasing Adium for iPhone.
However…
Developing for the iPhone is much harder than developing for the Mac
The NDA doesn't cover anything that Apple says publicly. Scott Forstall said a lot of useful things during the SDK announcement, so we can talk about some things.
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 also 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. And we can't release it until Apple makes the iPhone interfaces public or lifts the NDA on it.
By the way: Even once we make a version of Adium for the iPhone, you should know that you won't be able to be online all the time. The iPhone doesn't allow third-party applications to run in the background, so Adium will have to disconnect you when you switch to another application (including the Home screen), because the iPhone will make Adium quit when you do that. We wish it weren't so, but there's nothing we can do about it.
We're not going to make one using the unofficial iPhone SDK (software development kit), because it's not an officially-supported programming interface. It could break at any time, and we couldn't predict what would happen if it did.
We also will not be making a web app (a client that you could use from Safari).
Alternative suggestions
We currently recommend Apollo IM, an existing instant-messaging application that's native to the iPhone. Apollo IM uses LibPurple for its support of the instant-messaging protocols, just as we do.
If you don't want to jailbreak your iPhone, you can also use Meebo, a web-based IM client. You may also be able to use Google Talk from the Google Mail web interface, although this may be tricky in the iPhone Safari.
AOL's ICQ2Go (a web-based client for AIM, .Mac, and ICQ) will not work, because it requires Flash or Java, and neither of those is present on the iPhone.