Today I jailbroke my phone, using the stupidly named blackra1n, and following the step-by-step guide here. There were a couple of points during the jailbreak at which iTunes tried to start - presumably something it did made the iPhone appear to have been just plugged in and so iTunes tried to start, and so I killed iTunes each time with extreme prejudice before it had a chance to communicate with the iPhone and potentially brick it. In retrospect, I should have turned that off in iTunes first before doing this.
Everything seems to have worked just fine.
So far I've found and installed the following apps:
Backgrounder
Categories
some five-icon dock thing
some five-icons-per-line launcher thing
SBSettings
OpenSSH
What other apps should I try out?
The quality of non-Appstore apps is definitely lower than that of officially sanctioned ones in the Apple Appstore - a few others that I've tried, in particular Winterboard and Terminal, have been quite buggy and I've removed them. Even so, it's the user's choice to install dodgy software from third parties, and Apple shouldn't make it so hard for people to shoot themselves in the foot if they want to do that. Either they should allow unvetted apps into the Appstore (and have it pop up a gigantic warning every time you try to install one, and segregate them in a ghetto so that you don't accidentally stumble across them) or they should officially support installing apps from third-party sources (again with warnings).
In previous installments I have touched briefly on the App Store and on multi-tasking. I shall now criticise in more depth.
In the past, I have criticised attempts to put Linux (for example) on phones, saying that for the sort of limited user interface that is possible on such a small device, a full-blown multi-user OS like Linux is pointless overkill. I now realise that I was - at least a little bit - wrong. While multi-user is indeed pointless, with multi-user comes multi-tasking, which is far from pointless. Yes, a small screen means you can only realistically expect to see one app at a time, but that doesn't mean you don't want to have more than one running at a time. On the iPhone, some of the built-in apps can run in the background, demonstrating that it can indeed multi-task*. And this is useful. I can, for example, start a large web page downloading, then switch to another app for a bit, and then when I later switch back to Safari, the page has loaded. Most apps wouldn't benefit from this. There is, for example, nothing for my to-do list to get on with when I'm not interacting with it. But some apps really would benefit from being able to run in the background. An ssh client, for example, for those times when I want to switch to another app to look up a password.
There is no good reason for Apple to prevent third-party applications from being backgrounded. Oh, people might talk about there being insufficient memory to run lots of applications at once, or how much battery it would suck, but those are bogus arguments. Safari will let you have as many complex web pages open as you like, sucking up all the memory, and you can run the battery-hungry iPod application in the background. And if resource constraints really were a problem, it could always notify the user when he asked his phone to do something it couldn't.
Onto other matters for which there is no good reason for Apple to behave the way it does. The App Store. Unless you jailbreak your phone, the only way to get applications onto it is via Apple's online "App Store". And to get your app onto the App Store, you need to pay Apple an up-front fee, let them vet your application, and - if you charge for the application - pay Apple a percentage. Of these, only the third one is entirely justified.
First of all, the up-front fee: this supposedly acts as a barrier to keep free crap off the phones. But it doesn't. There are lots of crappy applications, both free and payware. And in any case, that's what Apple's application vetting procedures are meant to be all about. All the fee does is prevent people from giving away really good apps. On PalmOS, there were loads of really good free apps, often very specialised. One of my favourites was Tide Tool, which I used to figure out when would be a good time to go to the beach. I know that if I had a similarly cool app that I wanted to give away, I wouldn't pay USD100 for the privelege.
Second, their vetting of applications: this would be a good idea if done right. For example, someone's first application should be vetted rigourously for spyware and bugs, and it's reasonable to expect this to take a certain amount of time - even several weeks. Second and subsequent apps should likewise be vetted for obvious bugs. But Apple also take several weeks to approve of bug fixes. Within the first week of me getting my iPhone, I reported serious bugs in two applications. One crashed and lost data under certain circumstances, the other is a public transport route-planner that contained out-of-date routing data. That was two months ago. Both application authors thanked me for the bug reports. Both apps are still buggy, because the fixed versions are still awaiting Apple's blessing. So because of Apple's disfunctional "quality control" vetting procedure, Apple's users are at danger of losing their data and being sent to the wrong places. They really need to sort that out.
But notwithstanding all those criticisms, there are some very good applications available. I'll list just a few of them that I think you might find useful:
To-do list. Shouldn't need to exist because this functionality should be built-in to the phone, but it's very well done and integrates very well with the same company's online service;
Route planner for London public transport. Not just for buses, although it has special features for them, it also works for tubes and trains, looking at timetables to find the quickest route for your chosen departure/arrival time;
Live scorecards from internationals and English domestic first-class games. I'm really surprised that Cricinfo don't have something like this, but their app is rubbish, only covering internationals;
There are also loads of good games. I found this quite surprising, but the iPhone turns out to be a very good video games platform. This is mostly because it is so resource-constrained - a small screen, limited controls, limited CPU - that game designers are concentrating on game play again, and not just on who can shit out the most pixels per second in yet another tiresome sub-standard overly-complex Doom-clone with eleventy-million controls. I'm particularly fond of Flight Control, Harbor (sic) Master, Geared, Tower Bloxx, and Brick Breaker, all of which are dirt cheap and I encourage you to visit the EVIL BROKEN HATEFUL App Store and check them out.
* if you jailbreak your phone, other apps can be made to do this too
Posted at 14:50:17
by David Cantrell keywords: iphone | phone | review
Over all, the user interface is good. It's uncluttered, and navigation is easy, but some features are rather poorly implemented.
Managing settings could be better organised. Apple provide a way for applications to drop their own "preference panes" into the global Settings application. Unfortunately, not all apps actually do this - some have it as a seperate screen inside the app - so unless you remember which app works which way, you have to guess which is which. I can see why Apple let apps stuff their preferences into the Settings app, but if that's what they want developers to do then they should enforce it. That sort of quality control is what their acting as gatekeeper to the App Store should be all about. My own preference, however, would be for apps to not do that. Given that third-party apps can't run in the background, then changing settings inside the app is most sensible, as when you realise you need to change a setting, you wouldn't have to quit the app, go elsewhere to fiddle with it, then start the app again.
Those poorly implemented bits of the user interface are many, and I'll just mention a couple of them. Most of them are simply to do with features being entirely undocumented, with no visual cues that they might exist. For example, if you want to type é, it's easy, you just hold your finger down on e on the on-screen keyboard until a little menu pops up, then slide your finger to the right letter. This is so useful, but I only discovered it by accident.
And then there's the terrible implementation of copy and paste. The much-vaunted cut-n-paste that Apple unaccountably left out of earlier versions but now trumpet as being a reason to buy from them (as if no-one else offered it!) relies on you double-tapping the screen very precisely. Given that you have to use the fleshy part of your fingertip and not a stylus, this is almost impossible, and so it's a lottery whether you get the cut/copy/paste popup, or the select all popup, or whether it selects some random blob of text and gives you the cut/copy/paste popup. Madness. What's wrong with having a drop-down menu at the top of the screen and mandating that applications leave that area alone? That area normally contains a clock, battery level indicator, and signal strength indicator, so that's Useful Information that should be left alone anyway.
Posted at 19:39:28
by David Cantrell keywords: iphone | phone | review
PIM stands for Personal Information Management, one of the key features of any smart-phone. I am perhaps rather spoiled by coming from the Palm world, which is generally very highly regarded for the quality of its PIM applications. But even so, the iPhone is supposed to be better than the Palm, and it certainly competes with Palm - even if Palm haven't released a new smart-phone in years - and so I think it's fair to compare the two.
There are three main categories of data that a PIM needs to handle: a diary, a list of contacts, and to-do lists. A modern smart-phone also normally adds email. Of those, to-do lists are completely missing from the iPhone. The list of contacts is done well, and integrates nicely with the phone side of things and with email. The diary is adequate, although with problems, and the email client is just awful.
Thankfully, you can fix one of those problems by downloading one of many third-party to-do list applications from the App Store. I chose Toodle-do, mostly because it's about the cheapest you can find that has the crucial feature of notifying me when one of my tasks is overdue.
The diary works, but has one fairly serious problem compared to the Palm. Namely, it isn't possible to add an alarm to all new events by default - you have to remember to add them by hand; and when you do add an alarm, you are restricted in when you can have them. In the Palm world, you can set an alarm for anything between 1 and 99 minutes, or 1 and 99 hours, or even 1 and 99 days before an event. On the iPhone you are restricted to 5 minutes, 15 minutes, 30 minutes, one or two hours, or one or two days. Ludicrous! It's especially ludicrous when the iPhone does in fact support other alarm times, you just have to set them using iCal on your desktop. How hard could it have been to let the user set them on the phone too?
The email application is just terrible. And it could be fixed so easily. When you configure it to use an IMAP mail server, the first thing it does is scan all the folders it can find, and build up a tree of what's available so that you can then subscribe to those mailboxes you want to have on your phone. Trouble is, if like me you have a lot of mailboxes (and things it thinks are mailboxes but aren't, they're just stored alongside them) it takes a long time to build that tree, and sometimes the app crashes. Worse, if it does successfully build the tree, it then displays it with everything fully expanded. This is obviously unusable when there are several thousand items in the tree it has erroneously built! A simple solution, one used by other clients such as Thunderbird, would be to only scan the level of the tree that is currently selected. This would save memory (which is in short supply on the iPhone) as well as improving the user experience by making it appear faster and be easier to navigate. Thankfully, it can cope with a Gmail account. And while I would never use Gmail to receive mail - what? give a company that might lose interest in the service, in a foreign country which has no effective privacy laws, access to all my personal mail? I think not! - it's usable for sending the occasional message.
Posted at 14:00:36
by David Cantrell keywords: iphone | phone | review
Fed up with waiting for Palm to release their shiny new phone which has been promised for ages but doesn't actually exist yet, and being impressed by some of the apps available, I decided to get myself an iPhone 3GS. Over the next few days and weeks I'll post several short reviews of various bits of its functionality.
First up, the "iPod" functionality. Apple claim that the iPhone is also an iPod - "it's a phone, an iPod and an internet device in one". I suppose this is the first and most obvious lie I've found in all their blurb about it. It quite clearly can not be used as an iPod, because it doesn't have the capacity to store all my music (unlike an iPod) and has no "shuffle albums" feature. So I'll need to carry an iPod as well. Not that that's a problem, I knew I'd have to do that because of the very small storage capacity, but having no album shuffle is a serious design flaw. I'm sure that the sort of achingly hip people who work at Apple don't realise this, because they only listen to "hip-hop", and so 99% of their songs sound exactly the same. But it's kinda important for those of us who listen to actual music. It is important to listen to a symphony from start to finish before automatically moving on to the next work.
But good news on the ipod front, having an ipod-like device with a big screen has made me realise what podcasts are all about. My journeys to work for the next few days are going to be enlivened by Mr. Deity.
I am ill. I've been ill since Thursday, with a cold. You're meant to be able to cure a cold with [insert old wives tale remedy here] in 5 days, or if you don't, it'll clear itself up in just under a week. So hopefully today is the last day.
So what have I done while ill?
On Friday I became old (see previous post), and went to the Byzantium exhibition at the Royal Academy. It was good. You should go.
Saturday was the London Perl Workshop. My talk on closures went down well, and people seemed to understand what I was talking about. Hurrah! I decided that rather than hang around nattering and going to a few talks, I'd rather hide under my duvet for the rest of the day.
I mostly hid on Sunday too, and spent most of the day asleep. In a brief moment of productivity, I got my laptop and my phone to talk to each other using magic interwebnet bluetooth stuff. I'd tried previously without success, but that was with the previous release of OS X. With version X.5 it seems to Just Work, so no Evil Hacks were necessary.
The cold means that I can't taste a damned thing, not even bacon. So now I know what it's like to be Jewish. Being Jewish sucks.
And today, I am still coughing up occasional lumps of lung and making odd bubbling noises in my chest, although my nasal demons seem to be Snotting less than they were, so hopefully I'll be back to normal tomorrow.
I just installed a Thing on my phone that lets me use MP3 files for ringtones. This is getting dangerously close to me being chav scum. Thankfully, unlike chav scum, I actually have pleasant tunes on my phone. For callers who are in my address book, it will play the Soviet national anthem. For those who aren't, Dueling Banjos.
But, even though I've not really descended, please keep an eye on me. If I ever start wearing jackets made of artificial fibre, or don't wear my hat straight, you have my permission to stab me in the face, to put me out of your misery.
Posted at 23:40:53
by David Cantrell keywords: music | phone
My trusty old 6310i is giving up the ghost so I need a new phone. And I might as well combine it with a PDA. Being a long-term Palm user I'm inclined to go for the Treo 680 (or whatever is the studliest Palm OS version is - not Windows because I'm not stupid).
Specific questions I'd like answers to, and which I can't find on Palm's webshite, are:
Can the mail client talk imap(s) and smtp, or is it crippled by being MS-ware only?
Can the web browser do the Google Maps dance?
How zoomy is the interwebnet connection?
Is there a decent ssh client and terminal emulator?
What's battery life like when (and when not) using it as a phone?
And of course, is it any good and where should I get it from?
Your time starts now, please use both sides of the paper.
Posted at 19:09:34
by David Cantrell keywords: geeky | palm | phone