iPhone Impression & Notes

I just picked up a newly discounted 4GB iPhone. I haven't filled my 6GB PhatBox with MP3s, and I don't have any online videos to watch, so the $100 in my pocket was worth more than 4GB. I'm very pleased with my experience with the actual iPhone. There were a few stumbling blocks on the PC side.

Switch from old phone

AT&T Account

After several failed attempts to connect with a recently updated iTunes to activate my phone, I restarted iTunes, then got through right away, entered all my information (already an AT&T customer), and everything looks like it went OK. Though, five hours later, the iPhone doesn't have signal and my old phone still works fine (so the number hasn't switched over). The iPhone will get onto my 802.11 network, so I can do everything that doesn't involve the cell network. 24 hours later, my old phone stopped working, and the iPhone can make/recieve calls after 2 reboots.

Contacts

All my phone numbers are stored on the SIM card in my old phone, which I have no way of syncing onto the computer. I found out that you can bring it into an AT&T store, and they'll copy it onto a USB flash drive for you. I brought a flash drive with me, but they'll only do it on a new drive that they sell you. After a pretty quick process, I had a new 512M flash drive with all my contacts on it for $15. Not too bad, this drive is physically much smaller than my other one, so I may actually keep it on my keychain.

Next I need to get those contacts onto my phone. They're stored as Backup_DATE_.pbb on the USB drive. I found this link to AT&T's support site, pointing to another program to download to import the contacts. After downloading the program, then finding out I need to download the .NET 2.0 runtime (which takes a _long_ time to install, I could have written a perl script to extract the info into vcards faster than the download/install), I open the program, the .pbb file, then export it to Outlook Express (I don't have Outlook). It exports the names just fine, but not the numbers. These names sync to the iPhone just fine.

I ended up writing a program to extract the ASCII strings from the pbb file, massaged it a little into a csv, then imported that into Outlook Express, which worked great. I now have all my old contacts on my iPhone. This program is online here.

Ring Tones

With my old phone, I put small mp3 files on my website, downloaded them to the phone, and used them as ringtones. With the iPhone, not so much. I knew I'd have to jump through more hoops to get this done, and I'll update when I've got it.

Update - iBrickr does it. After a jailbreak with Installer.app, I can just scp ringtones into place. mp3s work fine.

Email

Setting the iPhone to use my IMAP/SSL server went pretty well, and worked great, with the exception that the settings dialog would crash when I try to change the "Sent Messages" and "Deleted Messages" folders to "Sent" and "Trash", like every other IMAP client I have. This is likely due to the large number of IMAP folders and subfolders I have. Mail.app downloads the whole list. My base folder list isn't so bad, but the subfolder list is. There's no way to filter these out, so it chokes on them. I bet I could work around this by making a separate iphone folder, pointing the phone to use that, and symlinking the folders I want in there... er, maybe not. Still crashes. The Inbox works great, and the overall email experience is great. I really like how it works as a normal IMAP/SSL client.

Syncing Content

I want to put pictures and mp3s on the iPhone. Unfortunately, I can't just drag and drop them from my hard drive (or better, networked drive since they're on my server) to the phone. I certainly don't want to auto-sync everything on my Windows laptop. For Pictures, I created an iPhone folder in My Pictures (the only place it seems to want to get them), and put individual pictures there. For mp3s, I created an iPhone playlist, and can drag/drop songs into there. It doesn't pick up the album art of CD's I've ripped into mp3 (not with iTunes).

Transcoding Video

Using ffmpeg, I've almost got video transcoding working. These options work well with width at 480, height calculated for correct aspect ratio, but with a small band of garbage on the right side of the screen.
ffmpeg -f mp4 -vcodec mpeg4 -maxrate 1000 -qmin 3 -qmax 5 -async 48000 \
       -bufsize 4096 -g 300 -acodec aac -i "$infile" \
       -s ${width}x${height} -ab 128 -b 400 "$outfile"