This Is Why People Shy Away from Jailbreaking the iPhone

As most of you know, I’m a big fan of jailbreak. Have been since way back in its earliest days, when I was still running 1.x firmware. Right about now I find jailbreak apps more useful than ever – especially on the rock solid and ultra-speedy iPhone 3GS – because they provide me with a great range of app switching and multitasking options that are not available at all on a stock iPhone.
But over the last several weeks I’ve come across several jailbreak apps that have caused very severe instability and major problems almost immediately upon installing them. Apps that cause the now all-too-familiar ‘Sad iPhone’ crash of springboard. Apps that cause continuous Sad iPhone crashes on every attempted restart of springboard, and after phone restarts. Apps that immediately cause other apps not to work.
Because I’ve been around jailbreaking for a while, and because I always have plenty of good resources for help and so on, I always manage to get past these issues without any need to restore my iPhone – generally just by uninstalling the offending application.
Three apps that have caused me these sort of issues, and forced me to remove them, over recent weeks are: AnyRing, Front Contacts, and iAccounts.
Now to be fair, the issues I’ve seen may not be ones that would impact a big percentage of users of each app (though AnyRing seems to have a number of bad stories associated with it) – they may be caused by ‘conflicts’ with the set of existing jailbreak apps I have on my iPhone.
Having said that, I do not have a very large number of jailbreak apps installed. In fact, I have very few.
I should also point out that the developer of Front Contacts has contacted me and let me know about an updated version of his app, and I’ve been running it for two days now with no problems.
Back to my main point though. Some crashes and instability are not going to scare me off jailbreaking. They’re a nuisance, no doubt, when they are occurring – but the benefits I get from jailbreaking are more than outweighing that bother for now.
What about users who are newer to jailbreak than I am though? My bet is that these sort of hard crashes are just the sort of thing that drive many users right back to running their iPhones stock. I would venture to guess that the majority of ‘dabblers’ with jailbreak would have very little tolerance for the instability caused by some of these apps.
I’m not a programmer and really don’t know how much can be done to try to make jailbreak apps more stable. The very nature of jailbreak means apps have access to springboard and to system areas that App Store apps do not – so maybe it’s a losing battle straight away. But if there is anything that jailbreak devs can do to improve things – do more beta testing, test with more combinations of installed JB apps, – anything at all would be a very good thing I think.
Not because guys like me will go away from jailbreak – because we likely won’t – but more because if they ever want to see that 8-10% figure for percentage of jailbreak users go up then I think this just has to improve.
What do you all think? Have you hit on many sad iPhone / crash situations recently? Is this the sort of thing that drives new users away?

I tend not to jailbreak for this exact reason. I'm not a small time iPhone user either. I use my iPhone constantly throughout the day and backgrounding and other useful jailbreak-only features would be great. But I want my iPhone to JUST WORK. All the time. i don't want to have to deal with crashes and slowdowns. So I stick to non-jailbreak.
Pfft that’s hardly a reason to NOT jb. Seeing the sad iPhone is not rly a bad thing [it's the equivalent of safe mode] as it says on the next page after you slide to unlock. The apps that you tried to install are ghey anyway so it’s good that you got rid of them. As far as the other commenter saying he wants his phone to just work don’t be deterred by the noobness that the authors go though. I’ve been jb forever and I see the sad iPhone rarely. My iPhone does just work..better even jailbroken.
Here's the deal though – it's also the equivalent of a mode a new jailbreaker has likely never seen on their stock phone, and likely one they don't fancy seeing again. One of the apps you might want to install is a spellchecker – so when you want to spell happy or gay or whatever you were going for, you perhaps come somewhere close.
As for noobness, yeah guess you've got me there. As I said in the post I've only been jailbreaking since 2007 / the first ever jailbreaks. You sound far more knowledgeable.
What you refer to as ‘applications’ are actually extensions (or ‘tweaks’); a normal stand-alone application would not be able to crash SpringBoard. An extension latches onto and (dynamically) modifies an existing application, such as SpringBoard. Unfortunately, writing an extension often takes more work than writing an application, as a developer has to take make sure that s/he understands how the host app – an app that s/he did not design – works in all situations, and must take care not to call methods that, for example, exist in version 3.0 of the app but not in version 3.1.
One thing to keep in mind is that MobileSubstrate’s Safe Mode is simply SpringBoard without any extensions loaded – in other words, it’s like SpringBoard on a non-jailbroken device (albeit with a grey background). And while crashing is never a fun experience, we should all be thankful to saurik for creating Safe Mode… without it, a bad extension could cause your device to wind up in an endless restart-loop.
As for beta-testing, it does not always work. It can be difficult to find people that are actually willing to report feedback; often volunteers simply want “the latest version”. There have also been cases where testers have leaked beta versions to the public, which ended up causing trouble for end-users and support requests (and headaches) for the developers. Believe me, I wish there was a proven beta-testing system in place; no matter how much I test my software, I always worry that I might have missed something.
Hmmm. IAccounts and AnyRing strike me as apps, not extensions. Front Contacts may be an extension – I'm not sure.
And yes I'm sure there are no easy solutions – I was just passing comment on the fact that things like this will not encourage newer jailbreakers to stick with it.
IAccounts and AnyRing are both extensions (or, at least, include an extension component). Front Contacts is a lockscreen widget that uses Cydget, which is itself an extension.
Normally anything that requires mobilesubstrate is an extension (technically apps *could* require it, but there would be little point).
Perhaps what is needed is a way, in Cydia, to show if a package is an extension or an application. The trouble, though, is that it's possible (but not recommended) to make extensions without using mobilesubstrate, so while one could say that "this is an extension as it requires mobilesubstrate", that statement would not catch all extensions.
I do think an indication of which are extensions would be helpful – because I have to say that something like iAccounts does not feel at all like an extension. I understand the reasons you state why it is, but for a user, that does not seem intuitive at all. The idea of user accounts on the iPhone is brand new, it is not extending an existing concept or capability etc. – doesn't 'feel' right to call it that, while it may well be technically right.
If I couldn’t jailbreak my iPhone, I would not have one. The biggest pain for me right now is that since I have a newer 3GS, I have to use a tethered jailbreak. Honestly Apple needs to enable a “developer mode” or some sort of side-loading for apps with gigantic warnings that by doing it you may kill your phone to scare away the people that can’t handle it.
I do not use any of the jailbreak apps that you have listed, but I have a ton on my iPhone and I do not see any stability issues at all. It all comes down to the fact that jailbreak apps have little to no quality control and there is also not a good community review system for them. If an app is released that crashes an iPhone, there should be a way for the community of users to vote it down until it gets fixed.
In the absence of that community vote, I think posts like this help bring some of this discussion to the table – or I hope they do anyway.
Reporting the app to the repository owner and the devloper (at the same time) helps a lot. As a repository owner, if I get enough reports in a specified amount of time on a crashing app, I take action. If the app causes springboard to crash or something more serious than "dont tap the icon to run it then", I will take action quickly.
Yup, good point – I need to do this more often.
Jailbreaking is a fantastic resource. I have weather and time/date in my status bar, status bar updates for emails, texts, phone calls etc, i have completely replaced my sms app with irealsms because it offers photos, quick send and reply, theming, sbsettings…I could never go back to a stock iphone. I am a power user, but damn guys its as easy as a little research, find some reviews, and trial and error. I’ve had app store apps crash my phone, and app store apps i’ve spent a lot of money on that just did not work. I like that most cydia stuff is free
This is one reason why I support Apple's App Store review process… you don't get crappy apps that crash your phone, and crap like that.
But you also don’t get the good apps.
You don't see crappy apps in the app store? Really? There are an insane number of crappy apps in the app store. There are also apps in the app store that do cause crashes. I will not argue that Cydia isn't somewhat of the wild frontier and could use some better control and organization, but in my opinion this is far from a reason to support Apple's TERRIBLE review process.
Also, Apple does not do any extensive review. Their process takes a lot of time, but apps with bugs get released all the same. The reviewer spends a few minutes with your app and if it "looks good to me" then it goes live. They compare it to a checklist of things not allowed, and if it does any of those things, it's declined. DO not be fooled into thinking that there is some rigid quality control in Appstore. There is not.
I’ve been jailbroken since jailbreakme.com … If you know what you’re doing, then no need to worry. I very rarely get the sad iPhone, and I have the iPhone 2G. Please; to consider this a reason not to Jailbreak should be illegal
I've never said I was worried, and it is not a reason not to jailbreak for me / for experienced users. But … I think this is definitely a reason why less experienced users would shy away.
In process of restoring right now after big freeze and being stuck in Safe Mode. Had to go thru all the mess with restoring from 3.1.2. Questioned my desire to re-jailbreak. Then I thought of all the things I would totally miss. If all goes well, I will be JB by this evening.
Being in safe mode, you would have been able to solve that problem without restoring. In fact, if you have SSH installed on your device, you can fix almost any problem without restoring. If you dont know how, you can always ask the author for help or join some of the support IRC channels like #iphone on irc.osx86.hu. There are people that will help you.
A lot of people jump to the conclusion "I had to restore" when they did not have to restore.
I USED to Jailbreak, and I did for a long time. I went through many bouts of lag, buggy response, random crashes, and horrible battery life. After running a jail broken iPhone for over a year, and going back to “stock” it works like a brand new phone again. The issues has stopped. Sure, some of the features of Jailbreaking are nice, but I rely on my phone on a daily basis, and jailbreaking caused me too many headaches. I doubt I’d go back…
Please cut off your balls and send them to Apple.
I totally agree with both Robert and David. All you need to do is to read some of the reviews provided by sites such as JAiB just like what you are doing now and you might avoid from crashing the iPhone. IMHO users should know the capability of you iPhone ie if it's a iPhone 2G or 3G avoid those memory sucking app/ext like Winterboard and Lockinfo. They often slow the iPhone down and erode the "iPhone experience".
iRealSMS/BiteSMS and ProSwitcher (and Backgrounder) are the two main reason iPhone should be jailbroken! Try them, they are wonderful apps.
I don’t think you can blame jailbreaking for instability, you just have to nail down the apps that are causing the issue, as you have done in the article.
I run a bunch of jailbroken apps and little UI things. I started noticing that the livetime mod that changes your clock icon to a live LCD was crashing my 5 icon dock and springboard when I clicked the iPod icon. Once I figured out the cause, I disabled it in Winterboard and now my phone is stable as ever.
I am seriously debating giving up jailbreaking. This blog introduced me to it, and I started very slowly, and absolutely enjoyed the experience. But in the last month, I feel like my phone has aged 2 years. First, I had a total restore crash from a failed install through Cydia. I get that sad face once a day. I get fluctuating signal frequently. I have had several times where I tried to answer an incoming call and it crashed forcing a restart. One thing I've never been able to overcome (not sure if its jailbreaking), but 2 system notifications force a hard restart each time (e.g., warning for battery is 20 % low, and notification from Orbit, or something else). I am thinking about going to stock and forgetting all the benefits, and hoping that 4.0 will correct the shortcomings.
Sadly, the comments to this post show why jailbreaking can't go 'mainstream' more than the post itself does. Users, in general, are not intelligent. Not only did a very large number of people somehow COMPLETELY miss the point of your post, but they then continued to go on and just personally bash you instead of post civilized and/or intelligent rebuttals. Then there are many more comments showing the side of the userbase that is completely unable to manage things on their own. This side is not at fault. I don't look down upon them. But it's a very large number of iPhone users. They have no technical knowledge. They have no understanding that running a large number of things at once is going to slow their device down. They have no desire or knowledge of how to dig through a few forums or other websites in order to find a very simple process to perform to recover their device if it begins having issues. They have no grasp of the concept that if they are seeing a continuous crash or performance issue, there is very likely ONE single app they installed which is causing it. They lump the entire experience into one single issue. They see the many misinformed posts on well known syndicated news sites that push the fear mongering attitude that jailbreaking is bad, so they assume it's the jailbreak itself that causes all their problems when, in fact, that is NEVER the case.
@All: The point of this blog post was not that Patrick is scared of jailbreaking, has no experience doing so, or does not know the merits of having a jailbroken device. As he explained in this post and has shown in countless other posts, he has been jailbreaking for a very long time. The point, I believe, that he was trying to make is that the vast majority of iPhone users in the world are not technical people. They do not want to spend ANY time researching apps before trying them to find all the reviews that explain whether the app is stable or not. They do not want to spend ANY time trying to find a solution to problems they are having due to conflicting MobileSubstrate plugins. They want their device to just work. Always, and without any thought. Jailbreaking is not for everyone and never will be. It shouldn't be. Patricks point was these very issues do drive people away and give the scene bad press. These (rare or not) crashes and other user experience effecting issues do indeed drive users away and give cannon fodder to the press and other parties that are interested in showing how evil jailbreaking is.
Those of us with a great deal of jailbreak experience know that if you are very careful in which jailbreak apps and extensions you install, you will have NO problems. Your phone will be just as stable as it was before being jailbroken. That is a simple fact that a very large number of people are not able to grasp. They see something on Cydia and they install it without a seconds thought on what performance impact it may have. Then when things start crashing, they just restore and start over instead of attempting to narrow down the one app or extension that was causing issues. Patrick is not saying jailbreaking is bad. He is saying he believes people in general are just not interested in putting any effort into keeping things smooth. I absolutely agree. These issues turn people away from jailbreaking, and that's a good thing. They are the type of people that should not be doing it in the first place.
@ashikase: Your contributions to the community are well appreciated and your comments were spot on. There is no easy solution to the problem such as more testing or better control. The solution lies with the end user. If they just want everything to work without the possibility of any issues, they should not jailbreak. If they are willing to put in a little effort and put up with some conflicts and spend some time working through such conflicts, the jailbreak world is their playground.
@Patrick: Think of an extension as anything to changes the way any other part of the phone or software works. If it slightly tweaks your address book or the way something else looks, it's an extension. If it does anything outside of its own self contained little sandbox, it's an extension. If it is completely self sustaining and doesn't touch anything else (Springboard, ringtones, contacts, lockscreen, ANYTHING), it's an application.
@Bryan, John Steele, and metalheadreview: You do not EVER need to restore. If you spend a little time there are many many guides that explain to you how you can disable extensions that are causing issues to get your phone back to a working state.
As always, a great contribution to the discussion, thanks. I agree with much of what you've said, though not all. You got it right on the main point of the post. I do think there are a number of newer jailbreakers, or would-be jailbreakers who are not very tech-savvy, or who have no desire to take the time to become tech-savvy. That's fair enough – nobody is a lesser person for that. And I believe a lot of those users will not want to 'mess with' figuring out which extensions conflict with which others and so forth, they'll just either opt out of ever doing a JB, or run from it fairly quickly when they see these issues.
Thanks for the further take on how to think of extensions – think I've got it now.
I think one of the trickiest parts of all of this is that whole bit about being very careful about which apps and extensions you install, to ensure max. stability. That's a principle I tried for a long while to follow. Of late, I've not been so good at it, and that's probably the single biggest factor leading to having some more issues recently. But … quite often the apps that most interest me are the ones that do not look like the safest bets, the ones that do require something via mobile substrate, that do interact with springboard etc. Most of my app switching and multitasking apps fall into this category I would say.
On other occasions, just the fact that I'm a reviewer / writer on iPhone apps leads me to try out apps that I don't have enormous interest in in terms of my own personal use. Front Contacts is an example of one of those. I'm not a heavy enough phone user for it to be hugely useful for me – but I find it a potentially attention-worthy app for JB users in general – so I want to give it a go (and in fact I am, for the second time, the last few days).
The more I think about it, the more I think mobile substrate's Safe mode is quite a handy thing, but I still think less 'dedicated' jailbreakers will likely not see things that way.