All this discussion of iPhone vs. Pre vs. Blackberry, and not a single mention of Google Android? Android is a cell phone OS that consists of Java-based phone software on top of ARM Linux. The whole shebang is open source and extremely hackable -- you can write your own GPS software, or install Emacs! And it even makes phone calls. I'm quite happy with my HTC G1, one of the two Android phones available now. I wouldn't recommend it to my non-geek friends, who might not put up with the occasional glitch. But it's a lot of fun for us curious folk who like to fiddle with our phones.