I've had my iPhone for about a month now, and although the novelty has not worn off, my mind has been on pushing this little computer. I have been slowly been designing some AI-centric iPhone apps, although more than anything else the idea of jail breaking my iPhone has been weighing on me - coaxing me, slowly wearing me down.
Before taking the leap, I had some questions that needed to be addressed.
Would I loose my current configuration and apps? (no) Could I still use AppStore? (yes) Could I still manage and sync with iTunes? (yes), Could I restore to a virgin un-jailbroken state? (yes), Could I upgrade when future apple updates come down the pipe? (yes) Could I use the phone for development after the break? (yes)
I found these answers mostly piecewise, some on mentioned on guides, some from direct searching, and generally most of the answers came from iPhone/jailbreak-focused forms such as Hackint0sh, Whirlpool iPhone, and iPhone Hacks. There are some bad stories on some of those forums, which I tried to ignore, although reading through fixes for potential problems armed with some level of confidence if things went south.
Jailbreaking was all about changing small properties in software the runs the phone. Software like iTunes doesn't know or care about such modifications after they are made, allowing you to restore, restore from backup, sync, and continue life as per normal. I was satisfied about the process in general and turned my attention to the software used for the breaking. Who wrote it and where are the latest versions?
There may be a few iPhone cracking movements out there, although I focused on the most popular of the few who call themselves the iPhone Dev Team. They have a blog, a wiki, are on twitter, and most importantly maintain a list of the most recent versions of the required software. Some further reading taught me jailbreaking refers to acquiring the ability to install and execute unsigned code on the iPhone (basically homebrew apps and modified versions of proprietary apps). Another concern of this dev group is "unlocking" that refers to modifying a more specific aspect of the phone (it's modem or talking to the network thingo) and acquiring the ability to use sim cards from additional carriers (sim unlocking).
I was already familiar with jailbreaking although under a different name. I knew about modding in the context of game consoles, and had enjoyed the freedoms of watching movies across my network with a modded first generation XBOX for the 6 or more years.
I was only interested in jailbreaking my phone, not unlocking it. I discovered that there were two software tools to assist me with the process of liberating my phone: PwnageTool which is a is a wizard-like program for jailbreaking an iPhone by installing custom firmware through iTunes, and Quickpwn which is a tool to quickly and easily jailbreak an IPhone without as many steps (or as much control) as with PwnageTool. I believe PwnageTool is all about designing and constructing a custom firmware to push to the phone, whereas quickpwn is all about going with the defaults or the best practices.
I already had the most recent firmware installed on my 3G phone, and for the sake of simplicity I went with Quickpwn, using this outdated guide for the Quickpwn on OSX. I chose this guide for the clear and visual presentation of the steps required to get the firmware on the phone, specifically the combination and timing of button presses needed to get the phone into DFU mode. In retrospect, a quick read through the guide prior to running the software would have been all that would have been needed, as the wizard in the software provides sufficient detail.
I followed the instructions and still messed up the button combinations needed to get into DFU mode. I left iTunes running in the background, and it complained halfway through the process with a big ugly error message, which I ignored. Finally, at the end of the process, after the new firmware was uploaded, and after it rebooted and ran some on-phone updates, the phone sat in a cycle of rebooting and vibrating. After an impatient 10 minutes, I assumed the process was finished and pulled the cable out of the phone. It completed another reboot cycle and started up as per normal, although with the new Cydia and Installer homebrew apps installed. Success!
I've been jailbroken for a few days and have not had a single problem. Immediately after the jailbreaking process I tested wifi, 3G, inbound, and outbound calls. I proceeded to install an array of pre-researched/recommended homebrew apps through Cydia, not limited to: Cycorder, bossprefs, SBSettings, Doom, Quake, MXTube, mobilefinder, SSH, winterboard, Backgrounder, and many others. I have not yet installed any game console emulators, but they are high on my todo list. There are a lot of homebrew apps our there, and I'm always open to recommendations! In fact this has been the only way I have been able to navigate the avalanche!
From what I could read, the core application-centric motivation to jailbreak is to acquire functionalities such as recording video, streaming video from the phone, a zoomable camera, to use the phone as a modem (tethering), adding themes, and customizing the base system. They are fair reasons. In all truth think 'taking control' of the device and its software was a core motivation for me, and I think AppStore Piracy (and installation) is the core reason why an average Joe would jailbreak their phone.
I am really interested in pushing my own unsigned apps to my phone, and there are guides available. I am also interested in more edge homebrew apps that I have to compile and deploy myself. I'm thinking about getting involves in a few, just as learning exercise - maybe I'll port an open source game or two. We'll see.
If you are even remotely technical, jailbreak your iPhone already! You will know you made the right decision when you're killing processes from the command line and browsing the file system in MobileFinder. Just feels good knowing you can go there if you need to. Safe.