Sunday, January 27, 2013

Family help desk then and now

I have been doing family help desk support for a long time. Once people in the family know you have any sort of computer expertise you become the help desk. That role has changed a lot over the years.

It used to be about installing printers. Every printer did something weird and had to have special drivers. Now they pretty much install by themselves. Everything is USB making it so much easier.

Occasional someone would branch out to a scanner. Again USB could save the day but there was generally a driver to find, testing to do and configuration to be done so they did not scan at a super high DPI making for massive images.

You got to install a new version of Windows every so often. Plus you had to manually install updates to drivers - sound, printer, video and other hardware. You also had to install updates to software manually too.

Now no one changes Windows versions unless they upgrade their machine. When I say they I mean you as they call your for a recommendation on a new machine usually when they are standing in Best Buy, Sams Club, Costco or someplace you would never by a machine from. You would generally do some research and find the proper machine but today it is a "hey, this one is on sale, should we get it moment?" and you know you can't talk them out of it.

I have noticed people don't even ask about new versions of Windows. Not a single family member has asked about Windows 8. None of them care. What they have for hardware runs just fine. They hardly ever install a new program but instead spend most of their time on the web. Instead of installing something they open a new tab. They use Word and Excel but really the web browser has become the only piece of software they need with the requirement of an occasional plug-in to support something.

In the past a newly purchased machine was pretty clean. You got their existing hardware to work and it was done. Now you need a couple of hours to get past the first boot and to kill all the stupid crap that loads on the box eating up all the RAM just starting up. Man I hate this process. Really HP, Dell, ASUS and others - just screw you. You are not adding value, you are adding pain. Your machines take forever to boot. You are not adding to the user experience you are ruining it. After I dump all that crap that machine it not too bad. Then I have to go about updating Windows and updating all the software they actually use. I keep a list of things to install like a PDF reader, Flash, Shockwave, QuickTime, 7Zip, Java, Notepad++, Picasa and Paint.NET to name a few. Just saves me the time of waiting for them to visit a web site that needs one of these and confuses them.

Speaking of allowing a family member the gift of installing a required web program themselves - NEVER DO THIS. They will always click through everything and get 10,000 toolbars installed. If you are a programmer who codes this up or the person who originally thought of this I F'ING HATE YOU! Look everyone does this, you are all scum, with 20 toolbars running they don't use ANY OF THEM. The battle is over, STOP IT NOW. You can't be getting hits off this crap. But I hate ever last one of you and refuse to use any of your crap and tell every family member how much I hate your guts any chance I get. Great marketing on your part isn't it? This is a total failure. Every time I visit a family member I have to clean up more of this crap. They hate it but are too stupid to avoid it no matter how hard I try to train them. Burn in hell the lot of you.

Everyone and their pet cow has a smartphone now. Guess who is the new help desk for that? Yep it is you again. To add to the fun there is a new group of people to hate. The bloatware that is installed by Verizon, T-Mobile, AT&T and Sprint to every phone. Unlike the PC you can't uninstall this junk. Seems the same set of a-holes are in charge here. I don't want nor will never use any of this crap. It clutters every phone out there. Just to add insult to injury the stupid crap wants to update all the time too.

Just when you thought you were done learning all sorts of weirdness about about PCs you get to learn all sorts of weirdness about smart phones. iOS does it this way, Android that way, Blackberry some other way that makes no sense at all.

When it all came to a head I got to learn how to root a phone. Since Android phone manufactures don't update to the latest from Google because the bastardized it so bad. They refuse to atone for their shoddy skills and let you suffer. Guess what you get for doing this to me T-Mobile and Samsung? You get to lose every single piece of that bloatware. And you lose it from now and into the future. Once you forced me to root I phone that means I will keep doing it forever. I see no need to stick with your crap.

This came up when my niece was unable to run her banking software because Samsung and T-Mobile did not support updating her phone. I rooted it and went from Eclair (shudder) to JellyBean. She can now run everything and does not have stupid junk on her phone. I rooted and updated my son's phone and my wife's phone too. I got to kill tons of stupid programs and the movie Avatar off the phone. Not a one of us ever watched that movie on the phone. Who thought that was a good tie in? A 3D movie on a phone? Thanks for wasting space on my device for a couple of years.

Everyone is very happy with the rooted phone. It is like a new device. Tons of new features to explore and it runs faster. Now they brag up the Samsung again. Not that Samsung deserves this as they blocked me from improving their hardware until I rooted things.

Now we get back to help desk support. Family installs Gmail, Calendars, FaceBook, Words with Friends, Hanging with Friends and all sorts of programs that want to notify you every second of every day that there is an update. They all want to light up the LED, vibrate and play a sound. You never get a moments rest. All of this is enabled by default. I have to go in and shut off half this crap just so the battery is not eaten in 3 seconds after a recharge. Some apps suck so bad you can't control individual notifications - sound, vibrate, LED - but it is all or nothing. They want to be notified but by vibration only. So I get no real solution to these very popular but poorly written applications. If you are a developer that cheats and does the all or nothing setting then get the hell back in there and fix it!

A PC has your attention while you are sitting at it. The cell phone is on you at all time. Now all these crazy bastards want our attention all the time 24x7. This is getting crazy.  I have a life, I don't want to be uninterrupted by my phone all the time. I don't have a Facebook account nor do I play any of the games associated to it. I have a couple of email accounts and a calendar. I try to reply to text messages because they generally have a short answer. Only my immediate family contacts me that way so those don't happen very often. I don't know how some of these people live with the constant be-boop and vibration of the phone. Most hate it so I help them disable what I can.

Everything is enabled by default of course. They want you on their site all the time. It is getting to the point you overwhelmed them and now they hate you and want to kill and your alerts. These vendors have gone too far and there is a backlash against it. Just means they will find some other way to annoy us, they don't stop, they just get worse. People get fired because they don't do their real job. If some one does not have a job they can't have a phone and wont have your stupid apps. You are destroying your user base for short term attention. These games are free so you are getting false profits from ad viewing. This can't keep going.

Some of the apps don't even use the standard menu buttons to show an options menu allowing you to kill this. Instead they hide it somewhere in their interface. Screw you bastards. If you want to be on the Android then be a good Android citizen. I have had to find all kinds of bizarre ways to get to settings menus. Thanks for wasting my time!

Yep, I am pissed off at all of this crap and I have the right to be. I get hauled into long sessions of fixing things because some marketing jerk off decided all of this was a good idea. It is not, you are pissing off your clients and you are pissing me off so I find ways to totally kill everything about your app.

Being the family help desk is getting harder. I have to support the PC and the smartphone. I have to clean up tons of stupid crap instead of solving real problems. I have to make things work faster by killing programs that do nothing. None of us own anything anymore. Everyone tries to get a piece of the pie by installing something that just annoys us. I am rarely installing something that helps out a family member, I just spend time removing crap. Computers were meant to make our life easier but that is not happening. Instead they are getting in the way and eating up time for non-useful activities.

Saturday, January 19, 2013

Root 'n ROM a Samsung Vibrant

I got a new Samsung Note 2 for myself. That means family trickle down for old devices. My son got my original Samsung Galaxy S Vibrant. On the same day he got the phone my niece asked why her Samsung Galaxy Vibrant could not see her online banking application in the Play Store while her old phone could.

I explained how Samsung was a group of weasels and did not upgrade the original S past 2.2 Froyo but you could root and install a new ROM to fix that. She asked the risks and I explained them. I had been thinking of rooting and installing a ROM on the S when I had it but did not want to go through the hassle. Now that she was asking and my wife, who also has an S, was complaining about various issues that have been fixed post 2.2 and I had a basically virgin phone on my hands I figured what the heck.

What the heck indeed. It took me 7 hours of searching the web and trying all sorts of things to finally get it rooted with a ROM on it. That got my son up to Chimera / Jellybean. It took another couple of hours because I had not take good enough notes to get my niece's device updated then another couple of hours to do my wife's phone. Actually this should all take under 1/2 an hour if you have all the right tools. I hope I can lay out what I did to help others. I don't have a phone that I want to redo to try all these steps again thus I plan to layout why you need each piece to help you trouble shoot an installation.

First up, am I happy with the results? Generally yes, the phone is so much more functional and configurable. All software now runs on it. There is one BIG issue, the speakerphone is useless. Just static and noise. Very disappointed in that. I hope they fix this soon. It was not an issue in older versions but now is. In the end it really feels like a totally new phone and I wish I had done it while I still was the primary user. I don't plan to root and update the Note 2 as I use the stylus and other features plus the Android version is really new. That phone rocks without needed to do this.

From this point on I take no responsibility to what happens to your phone. While I was able to Root 'n ROM three devices without issue you may brick your phone making it totally unusable.

PROCEED AT YOUR OWN RISK!


Software you MUST have to pull this off

Superuser from the play store

https://play.google.com/store/search?q=superuser

If you don't have this some of the other software will fail with less than useful error messages.

ROM Manager from the play store

https://play.google.com/store/apps/details?id=com.koushikdutta.rommanager&feature=search_result#?t=W251bGwsMSwyLDEsImNvbS5rb3VzaGlrZHV0dGEucm9tbWFuYWdlciJd

This allows you to install a custom ROM after your phone is rooted. It requires SuperUser to be installed.

SuperOneClick rooting software 

Officially here http://shortfuse.org/

That seems to be down more than up so try here
http://download.cnet.com/SuperOneClick/3000-2094_4-75447027.html

This allows you to root the phone

Root Browser Lite

From the play store
https://play.google.com/store/apps/details?id=com.jrummy.root.browserfree&feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5qcnVtbXkucm9vdC5icm93c2VyZnJlZSJd

You will need extra space on the phone for the ROM manager to run. You use this to delete that crappy bloatware on your phone to make space to install the new ROM.

3E Recovery Installer

From the XDA developers forums
http://forum.xda-developers.com/showthread.php?t=1243106

With out this you will see installer failure error messages when you boot into the special phone menu. You will only need this if you are on the 3E ROM on your phone.

Root Check Basic

From the Play Store
https://play.google.com/store/apps/details?id=com.joeykrim.rootcheck&feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5qb2V5a3JpbS5yb290Y2hlY2siXQ..

Not technically required but it will tell you if your phone is actually rooted saving you from attempting to move on installing a ROM which will fail if the phone is not rooted.

Rooting your phone

Without rooting you can't install a new ROM. This is the part that took me the longest to research and get working fully but really should not take very long at all especially with all the proper software loaded.

On your phone
  1. Install SuperUser from the play store. Lots of other pieces depend on this being installed.
  2. Install Root Browser Lite. You will need to delete system files to make room.
  3. Install Root Check Basic. Sanity checker used in a minute.
On your PC
  1. Download 3E recovery
  2. Download SuperOneClick
Configure your phone for USB Debugging. Usually under Settings -> Applications -> Developer Options -> USB Debugging. This must be enabled for the next items to work.

Unzip and run SuperOneClick and choose to root the phone. It will run ADB commands to get things rolling and root the phone.

Unzip and run 3E recovery install.bat from a command line window if you have a Samsung Phone with 2.2 installed. The next steps will fail with crappy error messages if you don't do this.
  1. Power off your phone.
  2. Power your phone back on. It should be rooted. You must do this reboot for the root to "take".
Run the Root Check Basic app on your phone. Verify it is rooted by pressing the Verify Root button. If not redo the steps above. Your phone might be rooted here but if you did not install SuperUser this step will fail but not really tell you why. You must be fully rooted for the next area to work.

DON'T DO THE FOLLOWING IF YOU REQUIRE SPEAKERPHONE FUNCTIONALITY

Installing Chimera Jelly Bean ROM

Back up everything on your phone. Do this over USB or install and run AirDroid from the Play Store if you have a wireless network. This makes copying files to and from the device super easy.


If you don't back it up / copy it off the phone, especially if it resides in internal memory, you WILL lose it when you install the new ROM. You have been warned.

We need to delete some files off the phone to make room for the custom ROM to run. We will start with deleting bloatware installed by your wonderful wireless provider. 

Start the Root Browser Lite app and navigate into the System / Apps directory. Here you will see a number of APK files. Long press on one and select Delete. Super User will prompt if it should allow this action. If it does not then you are not rooted or forgot to install Super User. 

I removed Avatar files, never did watch that movie and did not care to see it on that screen, the Amazon MP3 player and the MobiTV player which gave me enough room. You may need to delete more or you may need to delete camera images / movies from the DCIM directory. If you have had an SD memory card in your phone the whole time you owned it you probably don't have images or videos stored in internal memory.

Run the RomManager app on your phone. Choose the option Flash Clockwork ROM Recovery. Pick your exact phone from the list then have it download and install itself. If will then user the SuperUser program you installed before to prove it ran properly. SuperUser should pop-up on your device asking for permission to perform a super user operation. If it does not then you did not install the program, which I said you had to, or your phone is not properly rooted. If it does install ask it to reboot into recovery mode.

If you don't reboot into recovery you will need to get into that mode yourself. With the phone powered off, press and hold the power + volume up + volume down buttons as same time until the word Vibrant appears on screen. Release them. If you did this right, and it make take a couple of attempts, your phone will show a text based menu.

Once you see the yellow text based menu we are nearing the land of no going back. We are going to wipe out data on your phone. You will lose contacts not stored in the Google Cloud. You will lose images and videos installed on the internal memory.

ROM Time


Watch this video as it does a great job covering what I explained above (but it does miss steps to verify the root which I provide and never talks about installing SuperUser which caused me no end of trouble). It shows the steps it takes to boot into recovery and to get a new ROM installed. Much easier than my typing it all back in.

Keep in mind:
  1. The phone must be properly rooted to install the ROM
  2. You need to update to Passion / ICS first then to Chimera / Jellybean second
  3. Once the phone is rooted you have done the hard part
  4. Follow all the steps to clear cache etc. for things to work
  5. Enjoy your phone with the super speedy and feature rich Jellybean installed
I hope something I covered here makes your Root 'n ROM life easier. Heck maybe I talked you out of doing it because you must have the speakerphone or maybe you did all the steps but one and I save you a ton of hassle.

Let me know if I missed something critical so I can update the steps.

Sunday, January 6, 2013

Ordered a Note 2

I have owned a Samsung Vibrant for the past couple of years. It has been a solid phone but Samsung never updated it past 2.2. At my current job the server certificate vendor being used, GeoTrust, is not trusted by my phone. I have been unable to use my device to run the software I am currently writing.

Face it 2.2 is pretty old and very few devices on the Play Store are using it. Most people update their phone every couple of years so they move beyond it. As a developer you need to stay a bit on the cutting edge too. I am a cheap person by default so I hate to buy stuff just to have it. There was a sale on the phone this weekend so I decide to take the dive.

Why the Note 2? Didn't Samsung hose me over by never updating it during its life with me? Very true but it has been a rock solid phone. I could have rooted it if I wanted to lose functionality. Seems like the various ROMs have some sort of issue. Can't use the camera or something with the audio is messed up. No thanks.

I am not using the heck out of the phone as it is. Yes I do some text messages, get calls from my wife and kids and play a few games. Other than that I am not playing with it all day long. I am coding for it. Now I need something new to code against.

We have a Note as a test device at work. I have found it to be a nice phone. People say it is huge but I don't find that to be the case. It is about the right size to do what I want. Big enough to read web pages but still small enough to fit in the pocket. I got a lot of use out of the Note when I took it home on different nights.

Samsung does very nice screens. Bright colors, easy to read text. The addition of the stylus appeals to me too. On top of coding I do a bit of graphics work. I want to practice drawing more often. Now I can do that anyplace I have a bit of free time. I type very fast on a computer keyboard. I really like the Swype keyboard. I tried the handwriting side and it seemed to work very well. The Note needed to be faster to keep up with my writing and drawing.

Another guy at work bought the Note 2 so I got to try it out for just a little bit. The stylus was able to keep up with my drawing. This appears to be a really fast phone. I will finally get JellyBean on a device that I have on me all the time. I have a Xoom at home with JB on it so I know my way around.

Curious to see how the dual app stuff will work. I think my wife would like it as she plays Words with Friends and uses some website to help her look up words. Right now she will have the phone in one hand and the tablet in the other to look up words. Doing it with one device would be very useful to her.  I don't play WWF but I hope to find other areas this would be handy.

The local libraries just sent a note they are now supporting e-books. I really want to try that out. I would love to try out some other authors but just downloading a book, no gas wasted, book on me all the time. I also want to keep up on some other technology websites while watching TV etc. I know I was able to do that when I had the Note at home.

All very exciting. Should arrive by the end of the week. My son will inherit my old phone giving him is first smartphone. He is totally pumped for that to happen. It will help him keep track of his schedule with Google Calendar and GMail. I hope it helps him track his own schedule better so my wife and I can stop doing that. Upgrades all around. I will post a review once I have the actual device in hand.

Friday, January 4, 2013

Spinner being different ICS and later - a fix

We are using the Android Spinner control with an ArrayAdapter. On my 2.2 phone everything was great. I tap the Spinner and I get a list of items with text to the left and a radio button on the right. But on Ice Cream Sandwich and above the radio button did not appear.

I was using:

logAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

Changed to:
logAdapter.setDropDownViewResource(android.R.layout.simple_list_item_single_choice);

Now I have the same look on older and newer versions of the Android SDK. I want the radio button to appear showing the last selected item in the list always.