Apple Pay and the Perfect Checkout Experience

Apple Pay Logo

Apple Pay is potentially the perfect checkout experience at brick and mortar stores, but the implementation at particular stores often leaves room for improvement.

The perfect register checkout experience for me would be: once my goods are rung up, the cashier announces the total. I present payment, which is accepted instantly. I leave with my purchases. Anything else that interrupts that flow is unnecessary, and detracts from the experience.

Brick and mortar stores are now competing with on-line retailers like Amazon. Customers have become used to a friction free on-line checkout process, ala Amazon’s “Buy with One Click”.

Life Without Apple Pay

Some stores clearly appreciate the value of quick checkout to customers: Publix posts signs at the checkout reading “Now for the easy part”. Ironically, unlike Food Lion, The Fresh Market and Winn Dixie, however, Publix doesn’t accept Apple Pay — the one thing that would make checkout significantly easier.

When paying with a credit card, the experience is usually something like this: You put your card into the machine, but the clerk says you inserted it too soon. You remove the card. Five seconds later, the machine beeps and says “Insert card”. Now it says “Do Not Remove Card”. This stays up for an annoyingly long time. Just as your attention wanders, the machine beeps frantically saying “Remove Card”, like it’s your fault it’s been in there so long. As you are attempting to get your card back in your wallet, the cashier simultaneously hands you a receipt, and pushes your purchases towards you. The person behind you is impatient as you frantically try to do three things with two hands.

Do You Take Apple Pay or Not?

When visiting a new store, it’s surprisingly difficult to determine if they actually accept Apple Pay. The clerk often has no idea. If they say yes, it may be because they have seen someone checkout with their phone, not realizing it was the Samsung Pay hack, not Apple Pay. Samsung Pay tricks mag-stripe readers into thinking you swiped a card. That was a brilliant trick, but won’t work in the future because merchants are no longer accepting swiped cards, but only chip cards.

If the clerk says Apple Pay doesn’t work at that store, it may be that it does work, but nobody has tried it before. It usually doesn’t hurt to try it. I have amazed a few clerks when it did actually work.

The Generic Contactless Payment Logo

If a store displays the contactless payment logo or the Apple Pay logo, then they are supposed to accept them. But, I have seen too many stores where they didn’t accept Apple Pay in spite of the logo(s) on the register.

One store had a handwritten note saying “NO Apple Pay” next to the Apple Pay logo. When I asked them about that, they said that Apple Pay seemed to work at their register, but then the store could not get their money. Obviously they didn’t want it used in those circumstances.

They Just Don’t Get It

Many stores accept Apple Pay, but most don’t take full advantage of the convenience it can offer the customer. After submitting payment with Apple Pay, I have had some registers insist that I sign on the line. Signatures have been irrelevant to credit card security for years. No one ever looks at the signatures. You can write any foolishness on the line and your purchase will still go through as normal. There is serious talk about removing the signature from all credit card purchases. To ask for a signature with Apple Pay is like insisting that your Tesla be equipped with a buggy whip.

Some registers, especially gas pumps, ask for your zip code. This is either irrelevant security theater, an attempt to track you or bad programming; I’m not sure which. A zip code is a trivial security measure next to the security of Apple Pay and your iPhone or Apple Watch. You’re just asking your customer to do one more stupid step that your competitors might be smart enough to skip.

Stores should not ask customers any questions at checkout. None. They are unexpected, slow down the process and hold up the line. NO, I don’t want to join the loyalty program. YES, I speak English and told you so the last 10 times I was here. NO, I won’t give you my email address. I’m already getting an electronic receipt — I used Apple Pay! NO, I don’t want to contribute to the charity of the day. NO, I don’t want to leave a tip in a traditionally non-tipping environment, like a fast food place. Don’t even ask. Just pay your employees yourself.

The actual paper receipt is optional and unnecessary, and holds up the process, especially if it takes any time at all to print.

I have abandoned my purchases at a store and left because the person ahead of me was holding up the line by joining a loyalty club. On the other hand, I was so happy that Walgreens accepted Apple Pay in a convenient manner, and that their loyalty card was Apple Pay compatible, that I joined Walgreen’s loyalty program as a reward to them for a nice checkout process. (I signed up via the web, not while holding up the line.)

The Joy of Apple Pay

For me, much of the appeal of Apple Pay is that it is fast. It is much quicker for me to get my phone out than to get a credit card out of my wallet. The Apple Watch is even quicker, and since it’s strapped to my wrist, I don’t have to give up a hand to deal with it.

The Apple Pay transaction itself is fast. Apple Pay transactions go through in milliseconds, compared to normal credit card transactions, where the seconds drag on.

Apple Pay is secure. When the next major breach is announced, and your favorite store discovers that hackers have captured all the credit card numbers used last month (or last year), Apple Pay customers have nothing to fear! Apple Pay has never handed over your actual credit card number to anyone. It only uses a temporary, one-time number which cannot be used again.

May Meeting Notes: Contacts and Calendars

Here’s some useful information from this month’s meeting on Contacts and Calendars.

The contacts and calendars apps exist on both the Mac (computers) and iOS (iPad & iPhone). The different versions can cooperate and share data via iCloud, but they are not the same. The Mac version can do some things, such as edit contact groups that the iOS version cannot do.

Here is Apple’s Support Article on Contacts for the Mac.� It is an overview of Contacts and how to use them.

And, similarly, here is Apple’s Support Article on Calendars on the Mac.

Besides Apple’s pre-defined Holiday calendar and your own calendars, you may find public calendars for various topics and groups on-line which you can subscribe to. For example, here is the MacMAD meeting calendar. �If you subscribe to that, you will see our monthly meetings. If any changes are made, you will see the changes automatically.

Meeting Notes Email and iCloud

Our April, 2019 meeting was on email and iCloud.� Here are some helpful links from that meeting. Fittingly, the slides are shared through iCloud.

 

Block Spam Calls with Help from your Carrier

We’ve all been getting too many spam, scam and telemarketing calls. Many times these illegal robocalls spoof Caller ID, making it appear that they are calling from your local area, or even from your own number. Fortunately help is on the way.

AT&T, T-Mobile and Verizon all have anti-spoofing features which you can use for free:

Read more about phone spam and STIR/SHAKEN in this article at Consumer Reports.

Meanwhile, don’t disclose personal information to a caller, no matter who they say they are or what number they call from. Also, anytime a caller suggests you pay with a gift card, it is almost certainly a scam. There is no legitimate reason to do that.

 

iCloud and Cloud Storage Meeting – January 2019

Here are the files from last night’s MacMAD meeting.

How better to share the information about iCloud than through iCloud? So, these links are to the presentation as iCloud documents.

Here are the slides in Keynote.

Here is the spreadsheet in Numbers.

When following these links, iCloud may ask you to enter a name for “collaborating”. You may enter any name you like, and click Join.

How to Run SpinRite on a Mac

If you are reading this, you probably know why you want to run SpinRite. SpinRite is a hard drive recovery utility intended to run stand-alone on Windows machines. There is really nothing comparable to it for the Macintosh, especially in its ability to recover data from corrupted hard drives.

The other instructions I found on the web for SpinRite on the Mac were variously outdated, contained bad links or were overly complicated. I had to hunt around multiple web sites to find bits and pieces of the instructions. Here is my attempt to write a coherent single set of instructions for SpinRite on the Mac.

I don’t want you to go through this process with false expectations. There are some limitations to SpinRite and to running it on the Mac.

SpinRite 6.0 is glacially slow on today’s large hard drives. A full scan on level 2 of a 1 TB drive with no bad sectors took 35 hours and 46 minutes. If the drive has bad sectors, or you use level 4, it will take much longer.

SpinRite 6.0 can’t handle drives larger than 2 TB at all.

SpinRite hasn’t been updated by its author since 2004. Steve Gibson says he plans to release updated versions 6.1 (much faster and supports larger drives) and 7 (with support for the Mac), but it could be a while.

SpinRite can operate on internal and external drives, including USB drives. The S.M.A.R.T. aware features of SpinRite will not work in the virtual machine environment we will use on the Mac. However, this does not prevent SpinRite from recovering bad sectors, or refreshing marginal ones.

The good news is that you can continue to use your Mac while SpinRite, in a virtual machine, works on a hard drive. This is better than the usual situation where a physical Windows machine is dedicated to running SpinRite for the duration. However, you must not try to use SpinRite on your system boot drive (or any mounted drive). If you need to use it on your internal boot drive, you will either have to boot from another drive or connect your Mac to another Mac in target disk mode and run SpinRite from the other Mac.

Overview

[Edit May, 2022]: These instructions were written for Intel-based Macs. I haven’t tried to do this on a Mac with Apple Silicon, e.g. M1. If you try it, leave a comment on how it worked or not.

This is an advanced topic. I assume if you are planning to run SpinRite that you are somewhat familiar with running DOS-based programs, such as SpinRite, and that you are willing to use the Mac’s Terminal command line.

You must perform these steps from an administrator account, or one with sudo access (usually only admin accounts). (At least from step 4 on.)

Use caution with connecting physical and virtual drives! Make sure that you are connecting the correct drives to your virtual machine, and that you are running SpinRite on the drive you intend. If you connect a RAW drive to a virtual machine while it is mounted by MacOS, you risk utter destruction of data on that drive. (Although VirtualBox seemingly tries to prevent you from doing this.)

Here is the executive summary of what you are going to do:

    • Get SpinRite
    • Get VirtualBox
    • Get FreeDOS (sort of a MS-DOS replacement)
    • Install FreeDOS into VirtualBox
    • Install SpinRite into VirtualBox
    • Connect your problem drive to Virtual Box, so SpinRite can work on it

Instructions

0. Get SpinRite – Buy and download SpinRite from grc.com if you don’t already have it.

1. Download and Install VirtualBox


https://www.virtualbox.org/ (It’s free)

  • Download the latest version for OS X (currently 5.2.22)
  • Install it.
  • Open VirtualBox
  • Create a new machine for DOS
  • Accept the defaults (32 MB RAM, 500 MB expandable virtual hard disk)
  • In Settings/System/Processor for the new machine, set the Execution Cap slider to about 45%. This keeps the virtual machine from spinning up your fans and running down your battery.

2. Get FreeDOS – Download and install FreeDOS from freedos.org. (It’s free)

Select the CDROM “standard” installer distribution. You’ll get a file something like FD12CD.iso.

The current version 1.2 is acceptable. You are going to install FreeDOS into the VirtualBox virtual machine you created above.

3. Install FreeDOS into Virtual Box

In Virtual Box, Click on your FreeDOS machine. Select Settings/Storage. Click on the empty optical drive icon. To mount your FreeDOS image click on the CD icon on the far right, and choose it using Choose Virtual Optical Disk File

Select the FreeDOS ISO image (FD12CD.iso).

You are now going to boot your virtual machine for the first time to install FreeDOS onto your virtual hard drive. It will help to understand some features of the Virtual Box user interface. You will need to click in the virtual machine window to allow you to type into it. When you do that, the virtual machine will “capture” your mouse and keyboard. To release the mouse and keyboard, to do anything else on your Mac, you can press the left ⌘ (command) key.

There is a bug between VirtualBox and FreeDOS that will cause the virtual machine to crash with a messy string of Invalid Opcode messages if you simply follow the prompts. There is a workaround, and here it is.

Select your virtual DOS machine in Virtual Box. Press Start. The virtual machine window will appear, and it should boot into the FreeDOS installer screen. There is a countdown running (50 seconds) which you need to stop. Click in the virtual machine window and press the TAB key. That will stop the timer. You are now editing the Install to harddisk menu option. Add the word raw (lower case) after the command line. Press return.

You should now be in the installer at the preferred language prompt. Proceed.

When asked if you want to partition Drive C:, select Yes. And also select Yes – Please reboot now. Once again, intercept the countdown with a tab and add raw to the command line.

You will be back to the installer preferred language prompt. Proceed. This time you will be asked if you want to format C:. Say Yes. Then choose your keyboard format (perhaps different from your preferred language).

At the prompt What FreeDOS packages do you want to install?, Choose Base packages only. This is sufficient for SpinRite.

Naturally, you will choose Yes – Please install FreeDOS 1.2.

When the install is complete, you will be asked if you want to reboot. Don’t do it yet. Wait until step 4b, below.

4. Install SpinRite Into VirtualBox

4a. You will Create a CD image with spinrite.exe on it. This will be used to get SpinRite.exe into the Virtual machine. When SpinRite runs, it can create an ISO containing itself. If you already have a SpinRite ISO created by SpinRite on a Windows machine you may use that and skip the rest of this step (skip to 4b).

Create a folder named “spinrite” in your Mac Downloads folder. Put spinrite.exe (from step 0) into that folder.

Open a Terminal window. Enter this command into the terminal:

hdiutil makehybrid -o ~/Desktop/image.iso ~/Downloads/spinrite/ -iso -joliet

(Enter the command all on one line.) This will create a file on your desktop named image.iso containing spinrite.exe . This image is of a type acceptable to Virtual Box. If you create an image with Disk Utility instead, it will not work.

4b. In VirtualBox Manager, select your DOS machine, and pick Settings/Storage. Again, using the optical disk icon on the far right, choose the image.iso file we created on your desktop in step 4a, above. Click OK to save settings.

Now, back in the virtual machine, select Yes-Please reboot now and press enter. You don’t need to intercept the boot process anymore. Wait for the machine to boot into FreeDOS and the C:\> prompt.

The SpinRite “CD” should now be mounted as drive D:. Type the DOS command:

copy d:\spinrite.exe c:\spinrite.exe

This will copy Spinrite to your virtual C: drive. At this point, you now have a virtual machine with a virtual hard drive containing SpinRite, and you no longer need the image.iso image. You may remove that from the virtual drive if you like.

5. Connect the Problem Drive to VirtualBox and SpinRite

[Edit: May, 2022]: With newer versions of MacOS, Catalina (10.15) Big Sur(11), Monterey (12) and newer, you will run into problems with SIP (System Integrity Protection) in the following steps, because it will prevent you from modifying the permissions on files in /dev . You can turn off SIP via the recovery partition. There are instructions here.

In the terminal, create a shell script as follows:

cat > srscript.sh

Then, copy the script below, and paste it into the terminal.

#!/bin/bash
# This script creates a virtual disk image connected to a physical disk for connection to VirtualBox
read -p "Enter Disk name, e.g. disk8: " SpinRiteDisk
# make sure disk is unmounted
/usr/sbin/diskutil unmountDisk /dev/$SpinRiteDisk
sudo vboxmanage internalcommands createrawvmdk -filename "$HOME/Desktop/VirtualRaw$SpinRiteDisk.vmdk" -rawdisk /dev/$SpinRiteDisk
sudo chmod 777 "$HOME/Desktop/VirtualRaw$SpinRiteDisk.vmdk"
sudo chmod 777 /dev/$SpinRiteDisk
/usr/sbin/diskutil unmountDisk /dev/$SpinRiteDisk
echo "Look on Desktop for raw disk file"

Then type

ctrl-D (End-of-file)

Now make your script executable with:

chmod +x srscript.sh

Make sure the drive to be tested is connected and powered on. You need to figure out what the device ID associated with the drive under test is. It will be of the form “diskX”, for example, it might be “disk5”. You can find this in Disk Utility, in the lower right corner.

Disk Utility Window showing disk number

If you see a suffix, e.g., disk5s1, ignore the suffix. This is the disk name you will need in the next step.

While you are in Disk Utility, go ahead and unmount all partitions on the drive to be tested, if any are mounted.

In the terminal, run the script:

./srscript.sh

Because the script contains sudo commands, you will be prompted for a password. Enter your Mac signon password. As mentioned above, this will only work for admin accounts, or accounts for which the user has been added to the file /etc/sudoers . When prompted, enter the device ID (disk name), e.g. disk5 . A vmdk file icon will appear on your desktop named appropriately.

In VirtualBox, go to the storage settings for your virtual machine.

Click the hard-drive-plus icon to add a new hard drive to the virtual IDE controller. At the prompt, select Choose Existing Disk, and then select the VirtualRawdiskx file you created on your desktop earlier.

If the FreeDOS CD is still mounted in your virtual machine, as shown above, remove it from the virtual drive so that your machine boots from your virtual hard drive. If you click on the .iso, the remove option then appears if you click the optical disk icon in the far right of the dialog box.

Very likely, at this point, your target disk may have remounted itself. Eject/Unmount it before proceeding. VirtualBox will complain about being unable to access the VirtualDrive if partitions on the physical drive are still in use. Eject it using DiskUtility or the Finder.

In VirtualBox, start your virtual machine. It should boot up to the FreeDOS command prompt.

Issue the DOS command:

spinrite

You are now running SpinRite on a Mac! As promised earlier, SpinRite will have no access to S.M.A.R.T. data in this scenario.

When SpinRite is done (much, much later), you should restore the correct disk permissions. Leaving the raw disk permissions with world access is a security risk.

In the terminal you can restore them with, for example:

sudo chmod 640 /dev/disk5

If disk5 was your target disk. Check that the permissions are correct with

ls -l /dev/disk*

The raw disk files should all have the same permissions:

brw-r-----

I hope these instructions were helpful for you. Thanks for reading.

Error Situations

1.) If, on powering up your virtual machine, if it fails with VERR_ACCESS_DENIED opening your vmdk file, it is probably because the permissions for your raw disk file are not set properly. They may get reset if you reboot, for example. So go back and do something like:

sudo chmod 777 /dev/diskx

2.) If, on powering up your virtual machine, it fails with VERR_RESOURCE_BUSY, it probably means that the hard drive under test is mounted on your Mac. Unmount it and try again.

3.) If, when starting Spinrite, you get the message from Spinrite:

This PC is using a protected mode memory manager that is
incompatible with SpinRite 6.1's built-in memory manager.
Please edit this system's CONFIG.SYS file to disable any
protected mode memory manager, reboot the system & rerun.

You should restart the virtual machine, and make sure to select option:

3 - Load FreeDOS low with some drivers (Safe Mode).

FreeDos will default to an incompatible protected memory mode.

Reference Material:

Extended installation Instructions for FreeDOS are here:

http://wiki.freedos.org/install/