Saturday, March 16, 2019

Keyboards are becoming extinct

As a bit of background, I'm 70+ years old and my first experience with a keyboard was typing class in high school circa 1964.  The keyboard training helped immensely as I got involved with computing in the 70's with a printing terminal (think of an advanced teletype) interacting with a remote system, then CRT terminals on a variety of systems, leading up to an IBM PC circa 1981.  
So navigating a plethora of user interfaces with a keyboard is old hat, so to speak.
Through the 80's, we used keyboard and mouse with a graphical user interface and some de facto standards or interface behaviors became common:

  • Use of the Tab key to move the highlight from field to field
  • Use of the Spacebar to select an element on the screen, such as, checking the highlighted checkbox, selecting one of a group of options (radio button), or executing the highlighted command (as in 'clicking on the Submit' button).
  • Use of the arrow keys to highlight different options
  • As well as various editing functions of select all (ctrl-a), cut (ctrl-x), paste (ctrl-v), and copy (ctrl-c).
I, like many of my colleagues, continued to prefer the keyboard to the mouse when possible as it is much faster and less work for many tasks.  Moving the hand to the mouse, then shifting focus to the cursor and driving the pointer around the screen to do what you need to do is way more taxing than simply pressing Tab and typing in the next field of data on a form, for example.

Then several other pointer technologies emerged with various pluses and minuses:
  • TrackPoint "titmouse" or "eraser head" pointer in the keyboard which actually worked pretty well once you got used to it.  
  • Touchpad
  • Digital pens
  • And finally Touch Screens
However, today, it seems that with all these pointing methods, the ability to even use a keyboard has been deprecated in many user experiences.  I have encountered many web pages that are maddeningly unfriendly if you prefer using a keyboard.

The one that prompted this rant is proxyvote.com.  It actually works pretty well using the keyboard with one glaring deficiency!  There is absolutely no visual indication of which option on the screen is currently highlighted!


In the above image, the For button is "active".  By that I mean, if you press Spacebar, the For option will be selected (shown in inverse).  But you have no way of knowing beforehand which one is active!  

You can fill out this proxy form quickly by 1st clicking on the 1st For, then Tab, then Space to select the next one, tab/space, tab/space down the form.  But you have to keep place in your head because there are no visual clues on the page to guide you.  

Contrast this with:


where you can see that the Mail option is active.


And that is the rant - no one tested the usability of this page using a keyboard!

This is happening more and more where the means of input is touch screen only, hence, no keyboard needed...

Wednesday, March 13, 2019

How to revert Pixel phone to earlier security level

So after installing the March 2019 security update on my wife's phone - Pixel 1 running 9.0 - it started acting up with:

  • Process system not responding
  • System UI not responding
  • Hanging in middle of viewing/changing settings
  • Hanging when a phone call came in
  • etc, etc, etc
The update was the only recent change on the phone and the problems were very intermittent.  It would work okay for a while then boom! it would fail.

Tried:

Numerous reboots did nothing - when it would act up, I had to do a force reboot to even getting it working (power button for 20 seconds)
Reset App preferences - nope
Factory Data Reset - nope

Next step - revert back to the Feb 2019 security update level to see if it goes back to being a very reliable phone.  Had no trouble with this phone for over a year (purchased used from Swappa Jan 2018).

Before going any further:
  • Make sure you have enabled Backup of the phone to your Google Drive (Settings -> System -> Backup).
  • Make sure the backups are current, including pictures uploaded to Photos.
  • As an extra precaution, I used SMS Backup to do a separate backup of SMS messages and the call log.  This is essential if you need to setup a different phone as restoring a phone from another phone via the cloud will only work if the target phone is running the same or newer version of the OS software.
  • Make sure you do the above when the phone is working fine and you don't expect any trouble.  You may not be able to do these things if the phone is hanging up at inopportune times...

There is no way to revert to the prior software level.  You have to install an image on the phone.  Turns out there are 2 ways to do that:

  1. OTA - Install a full image that contains the OTA update that you want.  I learned that this is only useful for installing a new version of the software.  If you try to install an earlier version than what's on the phone, you get an error message "update package is older than .... downgrade not allowed".  Makes sense if you think about as this method does not wipe the data off the phone.
  2. Factory - Install a full image that sets the phone back to factory condition running a specific version and in the process will wipe the data.  
Both of these methods use the adb debugging tools on your PC to communicate with the phone.  You need to know how to enable Developer options, USB Debugging, OEM Unlocking, and set the path on your PC.  Be sure to install the latest version of the adb tool.  Don't go down this road unless you understand the above...

Anyway, following the instructions on the Factory images page worked like a charm and ran pretty quickly. 

Important:
So - unlocking the bootloader and locking the bootloader both will wipe the phone.  If you wish to relock the bootloader after installing the factory image - do not restore all your data and apps!  It's a waste of time since you will have to redo it after locking it again.

During the phone setup, you can restore the phone to the way it was before by restoring everything from the 'cloud' - hopefully you have it backed up as mentioned above!

The phone restoration from the cloud now (as of early 2019) works pretty darn good.  The home screen layout and icons were restored, the home screen wallpaper was restored.

Another Important issue:
After rebooting and restoring everything, I noticed that the March update had been downloaded and applied!  Without ever going to the Update setting and clicking on the Download and Install button!  The last 2 hours working on this wasted!!!  This was caused by the Automatic System Update option being enabled by default (hidden in the Developer Options section).

Okay the sequence to follow is:
  1. Backup everything
  2. Enable Developer options
  3. Enable USB debugging
  4. Enable OEM unlocking
  5. fastboot
  6. unlock bootloader - this does a wipe
  7. flash-all
  8. Reboot but do not go thru any setup or restore, just get it running and enable USB debugging again
  9. fastboot
  10. lock bootloader - this does a wipe
  11. Reboot and this 2nd time setup with your account and restore data/apps.  
  12. Enable developer options to access the following settings.
  13. Disable Automatic System Updates to prevent it from applying the next security update until you are ready.  Settings -> System -> Advanced -> Developer Options
  14. Disable OEM Unlocking
  15. Disable USB Debugging if you wish.  
Enjoy!