Friday, February 5, 2021

A User Note on the VTIN Micro Bluetooth Speaker and the TF Slot

 I may well be the last person to have bought a bluetooth speaker. Things have certainly changed since my latter graduate school days well I used to jog with a clip-on cassette player (if I was lucky it would auto-reverse) with headphones or wire my stereo speakers to my receiver jacks. 

The victim of one too many freakish coffee spills on notebook computer keyboards. I have for years routinely bought laptop stands and used USB devices, more recently wireless ones with receivers that clip onto available USB slots. I only recently transitioned from my old 2016 laptop computer to my most recent one which has an SD slot and bluetooth technology. One of the advantages of bluetooth technology as a wireless concept is that you can connect devices without a receiver taking up one of your valuable USB slots. Bluetooth goes beyond connections to a PC and cellphone. I use it to connect music stored on my cellphone SD card to my 2019 auto sound system. It's still odd going from my 2000 car system which had a cassette player as well as a CD player (which sometimes balked at CD inserts and/or was unreliable in cold weather). Don't get me started on cassette tapes sometimes getting getting caught on ejection, etc. I've got hundreds of pop songs (few over the last decade; I don't like rap or hip hop or any recent pop music that I've heard.) on SD I can shuffle automatically via my Youtube Music app without having to change media, listen to commercial interruptions, etc. Now when I go shopping I stick on my wireless ear buds connecting to my phone, without bothering other shoppers. (There are minor nuisances like an ear bud popping off every once in a while.)

It hasn't been into recently that I've gotten more interested in updating my sound system. I live in an integrated neighborhood where, say, they listen to loud "music", which probably serves to sterilize frogs within 100 yards. (That's a line I adapted I think from a Doonesbury strip years back, which I found hilarious.) It's not so much I want to impose my musical preferences on the rest of the world, but I wanted something to mask the noise rude neighbors impose on the rest of us. It isn't even melodic but often inconsiderate disruptive percussion rubbish that makes it all but impossible to hear my own TV. (I also own ear plugs.)

Now one of my favorite daily emails is CNET Cheapskate which often spotlights bargain quality products on sale complete with Amazon/other coupon codes. I've bought multiple items over the last year or two, including my ear plugs, a surge outlet tower, power banks, etc. One item that caught my attention was the VTIN R4  bluetooth micro speaker. I think with all discounts, etc., it cost less than $10. I know what you're probably thinking: you get what you pay for, and it's probably a low-quality piece of crap. Actually you get quite decent sound, maybe not as good as a $400 Bose-type system, but as good if not better than my TV or PC. It's a snap to connect to your cellphone, and of course I can play the music stored on my phone SD card/

One of the more intriguing and confusing features is a TF/SD slot (up to 32 GB); an interesting observation is that buying a compatible card was almost as expensive as the speaker itself (but note that I can also mount the card in my PC or cellphone as well). This was interesting, but how did it work? I mean the interface/controls have a power button, up/down (volume) buttons and a play/pause toggle switch. The power button by default (no memory card) tries to make a bluetooth connection. I know some other bluetooth speakers come with a mode toggle switch where, say, you could switch between bluetooth and SD card. But I don't see a mode switch on the VTIN (unless one of the existing controls has a dual purpose). I saw no discussion of the TF slot anywhere in product packaging (beyond maximum capacity) or Amazon or customer reviews. I did a Google search, checked Youtube videos, etc. Maybe it was an artifact of bad searches or I overlooked something obvious. My only hypothesis was that the speaker defaults to playing an inserted memory card. It was a logical inference; obviously I could connect to bluetooth on my cellphone and play what's mounted on its own SD card slot but why then would I need an SD card for my speaker unless it could play the card directly? And I think my inference is correct as it turned out. 

What muddied the water a lirrle was this one dude's tutorial video on Youtube. He demonstrates inserting a TF card into the slot (but doesn't show the speaker playing it). Then in an spliced clip  he shows his cellphone app playing one of his favorite songs, purportedly from the speaker SD card. Dude, what magic happened? You mean to tell me you are controlling/accessing the TF card mounted on the speaker from your cellphone? Or did you mount the same card into your smartphone and are playing it there?  Are you really trying to suggest that I need another device to play music on the speaker's TF card? How does the speaker distinguish playing music concurrently by bluetooth and on the device itself? The clip raised more questions than answers.

So I got my TF card from Amazon, mounted it onto my PC, loaded some tunes on it, and then inserted it into the speaker. I turned on the speaker and noticed it wasn't connecting on bluetooth on my cellphone (from the cellphone's bluebooth connection screen) . And then after a few seconds a Christmas tune (from the TF card) started playing over the speaker. Apparently one drawback to this functionality is I don't have playlists  so I'll have to curate the music on my TF card more carefully.

The memory card feature does enable standalone use of the speaker, e.g., when my cellphone isn't available or in airplane mode.


Thursday, February 4, 2021

Unix Commands and a Typo: An Example of a Usability Problem

 Not that anyone has ever asked me, but what college course was my favorite to teach in my 8 years in academia, the last 5 as a junior MIS professor?  A Human Factors in IS graduate course I taught at Illinois State as a visiting professor at Illinois State in the fall of 1990. Technically, ISU didn't have an MIS program--they had a hybrid applied computer science department. BB normally taught the class, but I believe she took a sabbatical year off to set up a research lab. The availability of the gig came to my attention from Jane Carey, an Arizona State professor who had organized an annual symposium in human factors I had regular attended during my last few years in academia. At that time, I was one of the few MIS professors with a research interest in human factors/ergonomics.  I have to smile because a lot of people think human factors must be some kind of pop psychology course in interpersonal relationships. I had run into a similar misconceptions years earlier while working on my first Master's (in math); I bought a group theory book, and the bookstore clerk asked me what psychology class I was taking: too cute! (Groups are a topic in abstract algebra.)

I had come across cognitive psychologist Donald Norman's book, The Psychology of Everyday Things (later renamed The Design of...) /One of the things he discussed in his writings was the construct of designing for error. One of his stories I love to retell (and closely related in concept to the issue I described below) involved a word processing machine, before the emergence of today's PC writing software. He noticed that a key to delete a document was next to a carriage return/enter key. He told the vendor in effect this was an accident waiting to happen; he was sure that typists would hit the delete document key by accident. The vendor was in a state of denial and so they went to an experienced typist and Don asked if she ever hit the key by accident. "Oh yes, all the time." The vendor incredulously asked, "Why didn't you ever say anything?" "Because I had ben trained on the key's functionality and figured it was my fault."

A related incident I have often retold I think comes from one of Lynne Markus' books. I often have to struggle to maintain my exposure in saying it without laughing. I think it's an old MIT legend behind the idiom "ir's not a bug, it's a feature". The lab was testing a compiler, and one of the testers forgot to include an END card to his program deck. To their shock, the mistake resulted in unintended consequences, like wiping out memory or tapes. They dutifully reported the problem to the vendor. So after the vendor released the final version, the lab replicated the incident, to ensure the problem had been addressed. To their amazement, the same result happened. Stunned, they went to the documentation and found the following note: "Normally you would have to spend extra money to get a useful erase utility. We include one for FREE! It is also very efficient: you don't have to include a long program deck to achieve the desired effect."

I have worked on Unix/Linux systems since 1994. You normally have a cron scheduled job daemon running in the background. For an enabled user, you schedule a particular script/process to run per line entries of a specified time according to a a certain syntax in a crontab text file.

The salient point is, you normally edit your user crontab through "crontab -e" (and presumably your environment specifies a vi editor, and you edit using commonly known vi operations). I've probably edited crontabs hundreds of times over the years without incident. Now the "e" key is next to the "r" key on your standard QWERTY keyboard layout. Guess what "crontab -r" does?... Oh yes, I did. Do you think you get a warning like, "Are you sure you want to remove all your crontab entries?" Of course not. I accidentally fat-fingered my scheduled jobs.

I had literally dozens of scheduled jobs in my crontab and no local backup of the text file. Fortunately, my Unix system administrator had a backup. And of course the very first thing I did after restoration  was to enter a vi command like :1,$w ~/crontab.bak  .

One of the things you learn in the human factors literature is even experts make mistakes, although at a less frequent basis. You need to plan for human error. I seriously doubt in the future I'll ever modify crontab again without specifically first backing it up in an archive directory.