rfunk: (phone)
Add MemoryShare This Entry
posted by [personal profile] rfunk at 07:48pm on 05/06/2008 under , , , , , , , , , , , , , , ,
This week we gained possession of a pair of 8GB iPod Touches, through a surprisingly generous rebate program.

The iPod Touch is unlike any previous iPods, but is very similar to the iPhone. It's basically an iPhone without the phone, camera, or bluetooth. That doesn't sound like it leaves much, but what it leaves is high-resolution video iPod functionality, plus wi-fi networking, built on top of a miniature Mac OS X complete with web browser, email client, and other programs.

Apple's firmware doesn't allow adding apps that aren't already there, other than using web apps designed for the iPhone/iTouch platform. (A new firmware version coming soon will open this up a bit, but not by much.) However, people have figured out ways of fixing ("jailbreaking") the firmware to allow installing third-party apps, and there's even a de-facto standard packaging/installing system to make it easy to get and install programs.

A Linux guy gets started with iPod Touch
Of course, my first hurdle was that the box says "requires Mac OS X or Windows XP or Vista", and I run Linux exclusively. Having already found some information online about using the iPhone and iPod Touch with Ubuntu, I didn't see that as a big problem until I turned on the thing and got only a solid image that I later learned meant "plug this into iTunes". The Touch won't do anything until it's activated with the iTunes program. I tried messing with a Linux program for hacking into the iPhone/iTouch (xpwn), but didn't get very far even after finding firmware images to download.

So I realized I really had to use the iTunes program to get the Touch running. That's OK, I thought, Wine should be mature enough by now to handle it. And indeed I found some instructions for getting iTunes to run on Wine. Of course, those instructions were for iTunes 7.3 rather than the latest 7.6 (at least there was a link to earlier versions), and left out some important links to supplemental DLLs (not to mention that it talked about an earlier version of Wine than I had, and the version I had wasn't the latest version). After trying two different versions of iTunes on two versions of Wine (I never did try the latest version), I did manage to get the program running. Very slowly. But it still didn't do anything with the iPod. I finally learned that even the latest version of Wine (1.0-RC-something) doesn't have the necessary USB support to talk to the iPod.

So I finally gave up, and installed iTunes on [livejournal.com profile] duriyah's Windows XP machine. I was quite impressed with the functionality the program appears to have, but all I cared about was activating the iPod, which I managed to do without having to sign up for anything.

That left me with an iPod Touch that I could use for a lot of things, including web and mail and YouTube and Google Maps and weather and a calculator and notes, but not for music or movies unless I wanted to be tied to the Windows machine. Since I couldn't put any music on it yet, the first music I played was from YouTube: Oingo Boingo's "Dead Man's Party" video.

Next I realized that plugging the iPod Touch into the Linux machine didn't properly enable charging. Apparently, unlike previous iPods, Apple requires some weird USB handshaking to happen in order to charge the iPhone and iPod Touch. I had to add a kernel module to make it work; I expect that this module will be integrated into standard Linux kernels in the future. (It's also a little strange that plugging the iPod Touch in makes Ubuntu think I've plugged in a camera.) Anyway, I ended up buying a power adaper so I can charge from wall power.

Jailbreak for the good stuff
Non-Touch iPods have had direct Linux support for years, but as I said before, this one's different. There's some ongoing effort to add better support to the standard Linux programs, but for now the instructions say "start with a jailbroken iPod." I tried that Linux program for doing it, but it's still in early development, I didn't entirely understand yet what needed to happen, and I'd already given up on the no-Windows-at-all route for getting started. So I used "ZiPhone" on the Windows machine to open the iPod to further fun. After that I didn't need Windows anymore.

Besides "jailbreaking" the iPod/iPhone, ZiPhone installs a couple extra things on the iPod/iPhone -- some BSD Unix utilities for working with the underlying OS, ssh for accessing the iPod/iPhone over the network (which is the current way to get music onto this iPod from Linux), and most visibly, the Installer app. Installer is the gateway to just about everything else; there's a whole ecosystem built up of third-party applications built for the iPhone and iPod Touch to be installed with Installer. One can add arbitrary repositories of applications to get, in a way reminiscent of the Linux "apt" or "yum" systems, so there are many different sources of programs easily accessible.

Some added applications
Of course, some things needed to be installed to do minor fixes to the system, like putting all these applications on the larger part of the available storage space, or fixing backspace in the Unix shell. But others are far more interesting.

Many of the interesting add-on applications use iPhone features that the iPod Touch doesn't have, but most work on both.

Some of those I've installed are oriented toward giving functionality that doesn't require a network connection:
- A dictionary program
- An e-book reader
- A sketch program (shake to erase, like an Etch-A-Sketch! It can also email your sketches.)
- A player for Infocom games (I now have Hitchhiker's Guide and Zork!)
- Various HP calculators (more advanced than the simple built-in calculator)
- A periodic-table viewer
- A moon phase viewer
- A units converter
- A magic 8-ball (shake to get a new answer)
- A text editor
- A local file browser for viewing files that have been copied to the iPod
- A tool to allow playing audio and video files that have been copied to the iPod without being entered into the database
- A password saver
- A Terminal program for typing commands on an internal shell, (or even using ssh to access another machine!)

And others use the wireless network connection, when it's there:
- A program to synch the Touches internal calendar with my Google calendar
- A Last.fm scrobbler/player (scrobbling all my music playing even when I'm offline when it's played)
- A podcast downloader
- A Livejournal posting program
- An RSS feed reader
- An IRC client

I even have a Ruby interpreter on there (and could add Perl and possibly Java).

There are some IM programs too, but I haven't quite figured out the right one yet. And there's supposedly an internet radio player, but it crashes whenever I try to use it. If I bought a $50 microphone/headset interface I could add a VoIP program and be able to use it for phone calls after all.

There are also two different offline wikipedia programs, that rely on a dump of the entire wikipedia database saved on the iPod. The only trouble is that the database dump takes 2-3 GB of the available 8GB, and creating that dump in the proper format isn't necessarily straightforward yet. I'll get to that soon.

Music!
So then I finally got Amarok sending music to the iPod. Only trouble is that cover art didn't get sent to the iPod without some contortions -- including downgrading to a version of Amarok that ironically doesn't seem to get cover art from Amazon properly. This is more of a packaging issue than anything, so it will be fixed in a matter of months, if it hasn't and it has already been fixed in the latest version of Ubuntu.

Apparently there's a program dedicated to getting cover art onto the iPod Touch embedded into the music files, which I should look into.

Video
Finally, this thing has a high-res (163 dpi!) 480x320 screen (3:2 aspect ratio) for playing videos, and I've managed to get mencoder to re-encode videos for playing on it (I tweaked the encoding command to always give me videos at 320 pixels high and the appropriate width for that height, changing "scale=320:240" in the script to "scale=-3:320"). The player gives the option of zooming to full-height or full-width. Soon I'll probably buy a cable to connect the iPod to a TV monitor for playing on a big screen; unfortunately cables made for older iPods won't work.


So yeah, quite the fun toy here.....
Mood:: 'geeky' geeky
There are 3 comments on this entry. (Reply.)
 
posted by [identity profile] anivair.livejournal.com at 12:16am on 06/06/2008
I had similar issues with a program the other day. I finally broke down and copied the VMWare version of XP that I have at work to my home system. It made me feel dirty, but at least I could take solace in the fact that VMware doesn't work well with the newest version of ubuntu, so I had to make a patch and move some gcc files around. i felt more like a proper geek after that.
 
posted by [identity profile] tesinth.livejournal.com at 04:24am on 06/06/2008
In a meeting yesterday with my College's Dean and a couple of our administrators, I learned that the College of Medicine will be using the Touch as a PDA for drug information and other medical stuff. Our IT manager predicted that in a couple years most doctors and pharmacist will be using the Touch instead of the current (mostly Palm) PDA's (this was sorta a tangent in our meeting, but when the Dean goes on a tangent, you go along for the ride of course). I don't know, hope this is somewhat relevant to your post, I just never really thought of the Touch as a PDA but more as a iPod, guess I'm becoming an old man and letting technology get ahead of me (although I've never, ever, been an Apple fan)
 
posted by [identity profile] rfunk.livejournal.com at 11:06am on 06/06/2008
Yeah, it's pretty cool that the Touch is so useful as much more than just the usual iPod, and it's interesting that the College of Medicine has recognized that. The wi-fi and web browser make it amazingly useful without any music on there, and in many ways it's what a modern PDA should be, minus the phone. There are some indications that Apple has tried to cripple the Touch software slightly compared to the iPhone (beyond the limitations of the hardware), though they may be relenting on that.


I have really mixed feelings about Apple. On the one hand they're amazing at paying attention to lots of little details to make things work well and easily. But on the other hand they do a lot to keep things under their control, stifling things a bit. Of course, the two are related; they can be assured of making the experience consistently good (and preserving their reputation for that) only if things are under their control.

I was continually reminded of this situation as I got started with the Touch. First I was repeatedly impressed with the details that Apple had taken care of. But at the same time the functionality was somewhat limited (though still much greater than the traditional iPod), sometimes intentionally. Then after I broke in and started installing third-party apps, I was first impressed at the many options available that were not provided by Apple, and then repeatedly disappointed that those other programmers hadn't paid as much attention to the details as Apple.

April

SunMonTueWedThuFriSat
        1
 
2
 
3
 
4
 
5
 
6
 
7
 
8
 
9
 
10
 
11
 
12
 
13 14
 
15
 
16
 
17
 
18
 
19
 
20
 
21
 
22
 
23
 
24
 
25
 
26
 
27
 
28
 
29
 
30