Tuesday, September 23, 2014

Use Your iPhone 6 Plus One-Handed with AssistiveTouch

You probably don't think about how often you've used your smartphone with one hand. We're adaptable that way, and when we're carrying a baby or waiting in line with our basket of groceries, we just instinctively whip our our Pocket Window To The World and keep going.

But phones are getting big. VERY big. Last week, the iPhone 6 and iPhone 6 Plus joined the marketplace of large-display smartphones, to the relief of Apple Faithful who have suffered screen-size-envy and the torment of their Android-toting companions for years. 

But bigger isn't always better. And one of the ramifications of smartphones getting bigger is the challenge of using them with one hand. The increased size of displays means that human fingers and thumbs can't reach all their margins, and the increased size of the entire phone makes it awkward or impossible to grip securely, especially for those with smaller hands and fingers. While playing with an iPhone 6 Plus in an Apple Store this week to decide whether I was really going to want to live with the new form-factor, I discovered an unexpected solution to assisting one-handed operation had been built into the iOS operating system three years ago.

Thanks to AssistiveTouch, I can perform many useful actions one-handed
on the monstrous iPhone 6 Plus, even with my stubby thumbs

Apple's Big-Screen Solutions

Apple has provided several solutions to address their users interacting with larger phones. For the larger-screened iPhone 6 Plus, Apple has provided a feature of iOS 8 they call "Reachability." When the user taps the Home button twice quickly (note that this is not pressing the Home button, but only touching it enough for what I presume is the Touch ID sensor to register an event), the displayed content shifts down the screen (making the bottom of the content temporarily unavailable), allowing easier access to on-screen controls at the top of the raster.

Apple has also introduced new app gestures in Mail and Safari that allow users to swipe between emails and web pages. And now that Apple allows the use of third-party text-entry mechanisms (finally!), I assume that there will be many one-handed keyboards which work within one thumb's reach, although I haven't seen any as yet.

Despite these efforts to enable users to work with the largest-ever iPhone display, one-handed operation presents a challenge.

Apple AssistiveTouch

Hidden within your iPhone's Settings app are a number of features which are designed to aid users who have accessibility issues. These accessibility features include solutions for vision, hearing, and physical & motor skills. Vision assistance includes altering the display characteristics for special low-vision conditions, and "screen reading" technology allows users to have their device speak to guide them when operating the device; to read text; and even identify colors of their clothing for coordinating their wardrobe.

Among the technologies designed to accommodate restricted physical skills on iOS devices (iPhones, iPod touch and iPad) is Apple's AssistiveTouch. Designed for users who may have difficulty performing multi-touch "pinch" and "swipe" gestures, or simply holding the device while performing touch-screen actions, AssistiveTouch provides a solution for performing all of these commands with a single finger or pointer. In addition to operating controls normally associated with hardware-based buttons, and some commands which are typically invoked with a gesture (i.e., swiping down from the top of the screen to open the Notification Center), AssistiveTouch allows users to "record" gestures, and play them back on command.

One-Handed Help

Of particular interest to even physically-capable users, AssistiveTouch provides access to a pop-up menu from which the user can invoke actions normally requiring the press of a hardware button or swiping gestures on the display.

It has been a long-discussed contention that (until now) Apple chose not to create iPhones with larger displays because of a sensibility that the user should be able to reach all the real-estate of the touch-screen display with the same hand in which the device is held. True or not, few humans have the hand size, dexterity or willingness to risk dropping a $1,000 device (the un-subsidized price of a 128GB iPhone 6 Plus is $949 before taxes) which allows them to safely press the all-important Home button on an iPhone 6 Plus without using a second hand.

It's tricky to grip an iPhone 6 Plus in a manner in which the all-important Home button can be safely pressed with the gripping hand without the risk of losing control of the awkwardly-sized device (it's worth noting that you can operate an iPhone 6 with the Home button at the top of the display - that might provide some previously unavailable grip options). Even if you can hold the phone and press the Home button with one hand, it's then impossible for most users to reach to the top of the screen to swipe down the Notification Center. Likewise difficult is swiping up from screen bottom to open the Control Center if you have a grip which allows access to the the Notification Center and the top 1/3 of the screen.

Enabling AssistiveTouch

To enable AssistiveTouch:

Go to Settings > General > Accessibility, and turn on AssistiveTouch

After you turn on AssistiveTouch, a round "menu button" floats transparently on the perimeter of the screen. You can drag the menu button to any edge: left, top, right, bottom, and it will persist there until you move it or turn off AssistiveTouch. The menu button becomes opaque when you tap it, but after about four seconds on inactivity, it become transparent enough to read through. (If you position the menu button at the bottom of the screen, when the on-screen keyboard appears, the menu button pops up to the bottom of the remaining display to provide you clear access to the keyboard.)

AssistiveTouch's menu button can be positioned anywhere around the edge of the display
AssistiveTouch provides access to many actions, including:

  • Home Button (if you have a failing Home button, this could be a lifesaver)
  • Volume Down/Up
  • Mute/Unmute Volume
  • Notification Center
  • Control Center
  • Lock Screen
  • Rotate Screen
  • Shake (you did know that you shake your phone to "Undo," right?)
  • Screenshot
  • Multitasking
  • 2, 3, 4 and 5 finger swipes
  • Activate Siri
(As yet, Reachability is apparently not available from AssistiveTouch)

If you find secure one-handed operation of your iPhone 6 Plus challenging, perhaps enabling AssistiveTouch will help. It takes one or two more taps than usual to accomplish some of these tasks using AssistiveTouch, but if you find yourself standing at the subway station with a bag of groceries in your hand and wish you could check on your incoming messages with the other, you probably won't mind the extra effort.

(AssistiveTouch is only available on devices running iOS 5 and higher. AssistiveTouch features vary with device and iOS version. You can enable AssistiveTouch on whatever iOS device you currently have, to see if it might be your ticket to one-handed iPhone 6 Plus happiness.)

Apple Support document: Using AssistiveTouch on your iOS device

Wednesday, September 17, 2014

Test to See If Your Gmail Address Was on the Leaked List

Recently in the news, "5 million" Gmail account names and passwords were leaked into the public domain. LastPass, a service whose product promises secure password storage and utilization, acquired the now-public text file of Gmail data and analyzed it, and published some patterns and trends in password use. (LastPass presumably did this both a public service and self-promotion.)

LastPass also created an online look-up tool for anyone to search and find out whether any given Gmail address was on the list of compromised passwords.

So far, I’ve found one friend whose Gmail address was on the list, but that’s still impressive, given that there are probably hundreds of millions of Google accounts.

Even if it’s not on the list, you should change your Gmail password. There’s some information out there suggesting that the list is not a list of valid passwords, but only Gmail usernames that were “scraped” from websites. Still, better safe than sorry. If your Gmail account is on the list, consider whether any other information inside your Gmail account that might have been compromised requires further action.

Lest you think that you aren’t a target for cyber-attack, the fact is that we’re all targets, all the time. Most of these attacks are neither personal, nor actually being performed by people, but are “robotic” - software running on computers which tirelessly tests any accessible connection on the Internet (or even off the Internet), probing for weaknesses. And in the case of this story, the security compromise came not from an invasive attack upon user devices, but that potentially critical user authentication data was exposed to the public - which has happened many times in the past.

So take passwords seriously. You may not think you have anything important to protect, but you don’t want to find out otherwise.


FWIW, I've been using Google's "2-Step Verification" since April 2013. This is their implementation of "multi-factor authentication." This challenge-response strategy typically uses a traditional password ("something the user knows") with "something the user has" - typically, a hardware based "authentication token." In my case, I run the Google Authenticator app on my iPhone. But there are many other Possession Factors.

C/Net: "Two-factor authentication: What you need to know (FAQ)"

Monday, September 15, 2014

"LOOK AGAIN" - How a two-word command in a text-adventure game became a life lesson

How a two-word command in a text-adventure game became a life lesson

In 1981, my Apple ][+ computer came with only a disk operating system and some utilities, but no software to otherwise speak of. I used the BASIC interpreter and machine-language disassembler Steve Wozniak built into the Apple ][ ROMs to write programs - my initial intention for owning a computer.

When I bought the ][+, I also bought a copy of the game Castle Wolfenstein - I’d played it in the Byte Shop store in Greensboro, North Carolina where I purchased the Apple ][+. It was the era of software packaged as a 5.25" floppy disk and a photocopied (or mimeographed!) sheet of instructions in a zip-top bag, and still it cost $50. Crude as its graphics, sound and speech generation(!) were, Wolfenstein was fun, and when a Nazi SS officer entered the room ("Halt! Schweinhund!"), your skin would crawl, because unlike the other goose-stepping minions, he could see you across the room, AND cross over into adjacent rooms to chase you.

I learned a "cheat" from watching the salesman at the Byte Shop play: if you opened the disk drive door - which lifted the read/write head assembly off the disk - you'd prevent the game from saving results of the current "room" of the castle in which you were playing. So if your character got killed, you'd reboot the computer and when you rejoined the Saved game, you were back at the start of room in which you failed. If you were successful, you just closed the drive door and after some whirring and clunking your character appeared in the room into which you just entered through a "doorway." I still have the sense of realizing I'd left the door closed on one of my Disk ][s and reaching forward in a panic to flip it open and prevent disaster.

Muse Software's Castle Wolfenstein This was computer gaming in 1981. (Apologies for the graphic violence.)
Eventually, I collected three "text adventures." Actually, Planetfall and Hitchhiker's Guide to the Galaxy were text adventures from Infocom, publisher of the early interactive adventure game Zork. The third adventure game I had was The Dark Crystal, based upon the Jim Henson/Frank Oz motion picture. It was a text adventure with still graphics (which I viewed in glorious Steve Wozniak 4-color video: black, white, green and magenta).

In text adventures, all interaction between the user and the game were in the form of terse text commands. Movement around the "world" were made with cardinal directions "N," "E," "S" and "W." (You'd usually invest some time drawing maps when playing these.) Objects could be "DROP"ped or collected with a "PICK UP" or "GET" command preceding the object's name.

Infocom's Planetfall text-adventure game (1983); (Apologies for the graphic violence)
A very frequently used command was "LOOK." In response to this command, the game might return: "A tall, grey-haired man stands in front of the door to the tavern. In his right hand is a stein of beer. In his left hand, a sharp-looking battle axe dangles toward the ground."

At many locations in the world, though, the game would respond with, "You are in a forest," or an even less-helpful, "There is nothing here."

I don't remember the circumstances or which game I was playing, but I came to an impasse. I'd mapped every possible "square" on which the character could stand, tried every door, played with and abused every object and character and could make no progress. I don’t know how long I endured this frustration - I think it must have been days or perhaps longs. It was obviously still quite early in gameplay, as I knew there was something I was missing.

I don’t think there was a complete list of commands. The games gave you a primer with a few examples, and they encouraged you to “try” commands. If they didn’t exist, you’d get a response like, “I don’t understand GET BENT.” Sometimes, programmers would include responses like “You yell at the rock, but nothing happens.”

I wish I could remember why it was obvious that there was one place that was the obstacle - perhaps it was an obvious challenge, like a locked door, or a “mysterious box.” Whenever I’d tried the usual “LOOK” command, I’d gotten the disappointing “It’s just a mysterious box.” I’d tried this many times.

I don’t remember what inspired me to type it, but one day, I tried something new after the unsatisfying “LOOK” results:


. . . and the game responded with something like “This time, you notice a small square inscribed on the side of the box.”

Whatever it was, it was the solution, and passing through that single puzzle - which I suppose was really only solved by the player trying the undocumented “LOOK AGAIN” command - was the bottleneck that allowed me to continue gameplay.

To this day, my wife will say “Look Again” in response to some challenge which was resolved by persistently examining something, even though the examiner is convinced that they have done so exhaustively.

Today, I was in a hardware store looking for a “thread locking compound” - a substance which inhibits threaded fasteners from loosening. Store employees pointed me to the temporary “removable” compound I’d already found, and didn’t know that there might be additional types of the product intended for more permanent applications, but pointed me toward a more extensive collection of adhesives and related product.

So it was disappointing when I found two hooks full of the same “removable” product I’d already rejected. I pushed the first five or six carded bottles aside to confirm that both hooks were indeed full of the same model of product, and that one or two packages hadn’t been accidentally hung on the wrong hook. Failing that, I stood back and looked at the entire gondola of adhesives, and considered the possibility of using a cyanoacrylate “super glue” instead. Nearly defeated, I stared at the two hooks of thread locker again, and dug down all the way to the back of the right-hand hook . . .

. . . where I discovered the last four of about twelve cards were in fact the “permanent” thread-locker I’d hoped to find. I moved the eight mis-shelved cards to the left hook with their siblings, and collected my bounty.

. . . and determined that I would write this document.

What’s the takeaway? It’s a natural conclusion that part of the logical tree of deductive reasoning is the elimination of previously examined elements. It’s part of the process of reducing the possibilities until the solution or culprit becomes apparent. But the hazard lies in that we are fallible, and our observational skills are often poor, or we don’t yet know which details are important early in the deduction process. If we incorrectly exclude a candidate from subsequent consideration, we may never reach the correct conclusion.

Because circumstances don’t always allow us to be as thorough as possible on the first pass, it’s important to consider the possibility that we may have previously erred in judgement, and sometimes starting again provides new awareness and the Correct Path.



This website provides playable versions of most of the Infocom text adventure games. You may have to give your web browser permission to run Java in order to play.

Ellsworth Chou
Los Angeles, September 2014

Friday, September 05, 2014

Mercedes-Benz Biodiesel Use Information PDF

Mercedes-Benz apparently changed their official position of prohibiting the use of any concentration of biodiesel fuel in their vehicles equipped with Common Rail Injection (CDI) and BlueTEC diesel engines (some years of M-B vehicle bear a warning sticker near the fuel filler) to allow a maximum of 5% biodiesel (B5).

Here is Mercedes-Benz' Biodiesel Information for Passenger Cars brochure PDF file, published June 2010. The document contains M-B's rationale for prohibiting biodiesel use and provides examples of the vehicle damage caused by biodiesel use.

In recent comments in the View-Navion Tech forum (owners of motorhomes primarily powered by Mercedes-Benz diesel engines), users reported an increasing number of diesel outlets - especially truck stops - which sell diesel fuels with biodiesel concentrations up to 20%. These fuels violate warranty restrictions of many non-commercial vehicle manufacturers. 

Thursday, August 14, 2014

Force facebook to Cache a New Web Page Preview

If you've ever had facebook preview an old version of web page, here's a solution. You can use this fb developer's tool to "force" fb to "scrape" a URL and cache a new preview.


A few days ago I was posting a link to my own web page, and discovered that the title of the page was incorrect - from another page I'd used as a template. But even after I changed the page on the web server, and even on a different computer, fb persistently pulled up the old cached title. I've had this happen a few times before, and never looked for a solution until now. This is great.

Tuesday, July 08, 2014

Google Maps Mobile App Persistently Navigates from Wrong Location

I'm an infrequent user of the Google Maps app for iOS (the downloadable turn-by-turn app from Google, not the original Google Maps app written by Apple), typically using any number of standalone GPS navigation devices or the community-driven Waze app.

So when I fired up the app today and attempted to navigate to a regular destination just two miles away (to see if Google would eventually try to anticipate this destination in the Google Search app for iOS (which incorporates Google Now technology not otherwise available on iOS), it was more than a little disappointing that the app estimated that the trip would take 24 minutes, covering 13 miles. Even though the app displayed my requested destination and point of origin (my Current Location), the route originated several miles away. Switching between Automobile, Public Transit, Bicycle and Pedestrian modes did not help - each still attempted to start my trip miles from my actual location.

Changing destinations - even navigating to a point a few feet away - made no difference. Quitting and restarting the app and the phone made no difference. Other navigation apps worked correctly.


What finally worked was uninstalling the app and downloading it again from the App Store. It was NOT the same version as I'd originally had (updating to v3.1.2.24421), so the version change may or may not have played a part.

Researching this yielded few helpful comments, but did reveal that many Android users have experienced similar symptoms.

Wednesday, May 21, 2014

How to Get Stubborn URLs to Preview in Facebook Post

Normally, when a URL is typed or pasted into a facebook status update field, facebook creates a preview of the page below the text. After doing this, the fb user can delete the URL and the preview will persist. Sometimes, fb provides a control to cycle through other images scraped from the URL, and the user has options to exclude the preview image, or the entire URL preview.

But sometimes, pasting a URL has no apparent effect - a brief progress animation appears in the upper-right corner of the status update window, but no preview appears. This is apparently due to either malformed code in the web page, or a deliberate attempt on the part of the creators of the page to prevent facebook previewing.

One trick I've discovered that might help you is that if you paste the problem URL into a "URL shortener" utility like Google's goo.gl or Bitly, then paste the shortened URL into the facebook status update field, the preview functionality returns in most cases.

Be safe out there.

Tuesday, February 11, 2014

Send Email Link Bookmark for Chrome

In the Google Chrome browser for Mac, there's a built-in "Send Link" command to email the URL of the current page via your default email client. For whatever reason, that doesn't automatically exist in the Windows version. 

Fortunately, the fix is simple. We'll make a Javascript bookmarklet:
  • In Chrome, right-click in the Bookmarks Bar on an existing bookmark and select "Add Page" (the new bookmark will appear to the right of the one on which you right-clicked).
  • In the "Name:" field, enter "Send Link" (or whatever sounds good to you)
  • In the "URL:" field, paste the following text:
javascript:(function(){ window.open('mailto:?SUBJECT='+document.title+'&BODY='+escape(location.href)); })();
  • Click "Save" in the lower-right of the Edit Bookmark dialog. Your new "Send Link" bookmark should appear in the Bookmarks Bar.
You can also drag this link into Chrome's Bookmarks Bar: Send Link

Now, if you want to email the URL of a page you're viewing in Chrome, simply click the "Send Link" bookmark, and a new email document with the title of the page as its Subject and the URL in the body of the email is created in a new browser tab. Just type in your recipient address and send.

P.S. If you want to be fancier with this little Javascript, enter some custom text immediately after SUBJECT= in the script. This will prepend a custom piece of text in your email's subject line before the existing title of the Web page. For example:
javascript:(function(){ window.open('mailto:?SUBJECT=A link from Sebastian: '+document.title+'&BODY='+escape(location.href)); })();
Note that the space after "Sebastian:" is deliberate, and will appear between the colon and the document title. This will generate a Subject line which reads:
Subject: A Link from Sebastian: [Web Page Title Here]