I have a strong sense that the app "Sprint ID" is maliciously written to freeze or crash Sprint-branded phones which are being used on Sprint's network via third-party providers like Ting.com, and Sprint policies are custom-geared to shield Sprint from accountability for unfriendly and unfair software-deployment practices on phones they have access to, owned by people who don't happen to be monthly Sprint customers.
There is no reason for outrage to cease until concerns have been addressed and remedied. There is no reason for outrage not to grow and for the harm of these practices of neglect (or active abuse) to cease.
I have received refusal to assist because I am not a Sprint customer. But this is a moral problem area if Sprint is the only responsible party and the only party in a position to address and resolve the issue, and if I own my device outright. Not to mention the obvious dirty implications of deploying and causing (or neglecting to address) issues with "non-customer" use of your phones. Let's also point out that just because I am not a monthly customer of Sprint service, this does not mean that I am not a customer. I have purchased a Samsung GS2 which is in some sense Sprint's phone - Sprint has a contractual or other kind of binding connection to the phone, which they enforce through proprietary software on the phone. Sprint presumably has profited from its sale, at least the first-hand sale. And materially, Sprint has some ownership of the phone whether you like it or not because they have some degree of control over the software that resides on it. And finally Sprint indirectly profits off of my USE of Ting.com since Sprint profits from Ting.com's paid use of the Sprint network, and since my Ting.com customership promotes and validates their use of Sprint.
I am looking for a human mind, personally confident and free of paid constraints and manipulations, to acknowledge the moral problems of shielding accountability and causing human beings great stress by malicious software deployment practices and robotic cold customer service direction.
As a software developer and tester (not that that is needed for this issue) I see a very obvious (100% repeatability) pattern that Sprint ID will cause the phone to freeze whenever 3G connectivity is activated. The phone immediately freezes for 30 seconds, then up comes a message that "Unfortunately, Sprint ID has stopped." Often this immediately happen a second time for 45 seconds to a minute before it is established. If 3G is lost and regained, this will repeat so this is extremely problematic in spotty service areas.
This leaves my phone unable to make emergency calls and has become a daily nuisance for not only me but my friends and family who deal indirectly with the problems Sprint is causing me through unaccountable channels of control upon MY personal hardware.
Ting is using Sprint's network. I am not a Sprint customer. Sprint still has accountability and responsibility if they are delivering software and software updates to my phone, especially ones which I cannot refuse and cannot reverse. Otherwise there is no limit whatsoever to the amount of trouble you can cause the third-party providers, and their customers, who happen to use your towers.
I wanted to at least partially substantiate the claim in the title that the crashes are "avoidable". I have to invoke my intuition as a programmer, but the fact that Sprint ID does not cause this result for normal customers is an assumption I am making.
It seems very likely to me (and I could be mistaken here) that therefore THIS is the key issue is that "Sprint ID" fails ungracefully (and in a way which indicates ill-advised programming) in a situation for which designers were unconcerned. I sense two obvious means (regardless of language or software platform) of fixing this. One is by failing gracefully once Sprint ID recognizes that it does not have the access, or type of user account necessary, for the function it is trying to perform. The other would be to fail unobstructively without recognizing the problem, but in any case NOT freezing the entire Android OS, which is not good practice - you are performing long operations on the main thread. You should only be interrupting once you have detected this failure. If your software is dependent upon blocking the main thread for 30 seconds (which is clearly an artificial timeout), then you MUST make all reasonable checks beforehand to ensure that you can expect success. You clearly cannot expect your app to work if it's purpose is exclusive to direct Sprint monthly service customers. Sprint ID must be either corrected to handle this case, or it must be changed to be uninstallable.
I would be shocked if the bug were not easily fixable, and within the realm of charitable choices Sprint could make as a company out of pure non-profitable human sensibleness & compassion. I am quite sure I am not the only one affected by this and it has been going on for at least a year or two. There are many competent people who would fix it for you if they could. It's no small cost to real people in the world.