Thursday, September 01, 2016

OS X and iOS wifi defect with iCloud keychain sharing: rejoining zombie networks.

With iCloud keychain sharing enabled both iOS and OS X seem unable to truly “forget” networks I’ve joined. I remove them using the WiFi menu or advanced preferences but they seem to keep returning. With large numbers of networks the U for locating specific networks is quite frustrating.

These unforgotten networks mean I’m constantly having to adjust what networks I join, or I join the wrong ones.

The best workaround I’ve found is to use Keychain Access from OS X to delete the wifi password for unwanted networks. That seems to propagate correctly and the UI includes search.

Tuesday, August 30, 2016

Modern bugs: server, client, and DRM. Also transient.

Another reason why we can’t have nice things.

My son's iPhone had access to some of our cloud media (TV) library, but not all of it. The UI looked like a mixture of age restricted on-device media, downloadable off-device media, on-device media missing normal display icons, and off-device media that wasn’t shown at all.

iTunes sync displayed odd alignments; it saw on-device media that did not show in iOS manage storage. His device requested App Store credentials multiple times, usually displaying the iOS 1 style dialogs seen when things are broken in iOS 9’s hacked together authentication frameworks.

An hour or so later things were more or less back to normal. Signing out of the App Store completely then re-authenticating might have helped. Or perhaps an old school iTunes sync or two. Or maybe an asteroid fly-by.

iOS flash style corruption? (There’s probably a reason Apple wants to retire HFS+ for something that’s Flash friendlier.) Problems with Apple’s DRM servers? Bugs in iOS? Bugs in iTunes?

Most likely all of the above. Sooner or later I’ll have to wipe and restore this phone, the iPhone equivalent of a visit to the dental hygienist. Reminds of me of Windows 95 really.

Modern bugs: emergent, complex, transient, common, and disruptive.

Thursday, August 25, 2016

Beware: iPhones with mixed FairPlay app ownership may no longer backup/restore as expected

Ran into this with a friend’s devices. He was syncing his and his wife’s iPhones to iTunes under Lion. Not sure how old iTunes library was.

When his wife’s iPhone 6s had to be replaced he found he couldn’t restore from iCloud backup or from his old iTunes backup (Lion OS, I didn’t check his iTunes version). He tried to create a new iCloud backup but that removed  the old one and created a 0kb backup. I couldn’t get iCloud backup working either.

Probably relevant: they had mixed app ownership, some purchased under his Apple store ID, some under her Apple store ID.

I created a backup to a fresh user account iTunes instance on my El Cap machine (but, significantly, my machine is authorized on my App Store ID). Restore seemed to proceed — but app restore didn’t complete from the iTunes backup. Instead it slowly proceeded via iCloud then left apps in dim icon status.

I believe I got things working by signing them up to Family Sharing. Then apps downloaded from iCloud, but not from iTunes.

At the time I write this I’m still investigating media rights and have yet to attempt another iCloud backup.

I wonder if Apple quietly updated its backend DRM rules.

DRM is nasty stuff.

Update:

  1. The iCloud backup problem was an unrelated bug. “The Last Backup Could Not Be Completed” bug has many causes, but sometimes it’s just the wrong error message. Instead of saying “buy more storage” (which is what I usually see) iCloud Backup gave a useless error message and quit. I excluded her 5.1GB of images and it resumed.
  2. Her new phone has no media. I think I know what happened. She gets her media from a non-DRMd old school iTunes music library. If you backup, as we did, from her phone to a Library on my computer there’s a DRM conflict. Apple’s iTunes DRM is device based, not (AFAIK) user account based. So my Mac wasn’t authenticated to hold her music (maybe I could authenticate, but that’s scary). I think the music got backed up, but iTunes could’t display/handle it, so it wasn’t part of the restore. The bug here is absence of an error message, simply media free restore.

Wednesday, August 24, 2016

OS X Version support - doesn't use a lot of storage (for me)

A warning that my network share doesn’t support versions reminded me that OS X added version support in Lion (in addition to Time Machine backup).

It’s a feature I’d long forgotten about and have never used. MSFT Word has no support for OS X versions, and of course Google Docs are just pointers to Google’s database. So OS X Versions aren’t that useful for me.

I wondered how much space the versions take. They are in /.DocumentRevisions-V100. Easy to find since I have Finder set to show invisibles. I had no access to view, so I added Read only access for my non-admin account to the root and child drives. I found Data organized by UID, my total version collection was about 1GB. 

So not too bad. I found a few references discussing managing space taken up by versions. I assume the OS has some rules but two references I found didn’t mention any.

If Michael Tsai can’t find an answer I won’t even try. Michael referenced Siracusa’s 2011 Lion article, the main reason Versions storage doesn’t use up so many space is that OS X is clever about what pieces of a file it saves as a version component.

I also see .MobileBackups, but despite what permissions says I can’t open that folder. Some deep wizardry there. About this Mac will show how much storage this takes, about 3GB on my 256GB SSD. There’s a clean terminal method to purge this data, but it seems to be working as designed for me.

Tuesday, August 23, 2016

Uninstalling Synology Cloud Station Mac -- and why you would never have installed it in the first place.

Synology Cloud Station aka Cloud Station Drive stopped working reliably for me in El Capitan.

That’s when I discovered there’s no uninstaller.

Damn.

I have a rule of not installing Mac apps that can’t be easily uninstalled [1]. Clearly I screwed up. In my experience if a Mac apps doesn’t have a clean uninstall it’s not going to work out well.

Uninstall directions for Ubuntu mention a buried uninstall script in ./Cloudstation; I have Finder set to show invisible files (I like running this way) so I found the Mac version of this in /Users/jfaughnan/.CloudStation (you might be able to open this using Finder Go). I couldn’t find an uninstall script in the Mac package though. I didn’t find anything useful on Synology forums; a site that markets a (worthless) Mac uninstaller app gave generic directions.

This is what I did. I think EasyFind will do most of the work for you - just search on Synology.

  1. Exited Synology Cloud Station from the blue cloud icon Finder bar thing.
  2. Searched Activity Monitor for Synology and Cloud. Found two processes called “synology cloud station drive finder integration” and killed both.
  3. Deleted /Applications/Synology Cloud Station.app
  4. Deleted /Users/jfaughnan/.CloudStation
  5. Used EasyFind.app (love it) to search for all files and folders containing “synology” including Invisible Files and Folders and Package Contents. It found a ton of crap. For example: /private/var/folders/5c/gx565vx110gcdhxn10mbddfh0000gp/T/com.synology.CloudStation.FinderSync [2][3]. I deleted that and several more. I’ve included below a set of partial screenshots form Easy Find (shame I don’t know enough unix to do this in shells and dump results). It’s a mess, but in practice I only had to delete 3-4 things to clear them all out. (If you have other Synology tools installed you’ll probably damage them too, but really you shouldn’t let Synology touch your Mac.)
  6. Log out and then in again to confirm Finder iteration is gone.
Ugh. What a mistake that was.
 
Examples from EasyFind (many of these are package contents, so only need to find Package or Folder and delete the lots)
 
NewImage
NewImage

- fn -

[1] Lack of OS uninstall support is one of the historic defects of macOS / OS X.

[2] cmd-opt-c to copy file path is the best feature of El Capitan. Almost as good as old cmd-opt-shift-v for paste as plain text.

[3] There are lots of weird files in ‘5c’, looks like some kind of cache/dumping ground. I just deleted the Synology one. There’s also a com.microsoft.OneDrive-mac.FinderSync in there. Turns out Finder Sync is a newish OS X API that does a lot of interesting things (probably with bugs and Finder screw-ups, knowing Apple):

… The Finder Sync extension point lets you cleanly and safely modify the Finder’s user interface to express file synchronization status and control. Unlike most extension points, Finder Sync does not add features to a host app. Instead, it lets you modify the behavior of the Finder itself….

… With a Finder Sync extension you register one or more folders for the system to monitor. Your Finder Sync extension then sets badges, labels, and contextual menus for any items in the monitored folders. You can also use the extension point’s API to add a toolbar button to the Finder window or a sidebar icon for the monitored folder…

… Finder Sync supports apps that synchronize the contents of a local folder with a remote data source. It improves user experience by providing immediate visual feedback directly in the Finder. Badges display the sync state of each item, and contextual menus let users manage folder contents. Custom toolbar buttons can invoke global actions, such as opening a monitored folder or forcing a sync operation…

…  the user may have multiple copies of your extension running at once, and some may be very short lived…

Update 8/23/2016: I can’t kill the Finder integration on Emily’s Mac. Keeps returning. This thing must have malware in its code base.

Sunday, August 21, 2016

Stop Strava.app bike tracking app from auto-sharing all rides to Facebook

I think this is new. It’s certainly causing lots of confusion.

All of my Strava rides were getting auto-posted to Facebook. This was unwanted.

The problem is Strava has a cryptic poorly implemented auto-share toggle setting that’s not part of Strava settings. A deluge of customer complaints forced Strava to break it’s no-documentation rule:

Directly after uploading an activity, you will see the activity edit page before clicking "Save & View." You can share activities to Facebook by flipping ON the Facebook toggle for any activities you wish to share (button turns blue). Keep in mind that this toggle will turn on automatic sharing. In other words, all future activities will be shared as long as this button is left on.  

Take a look at the screenshot on that web site. It took me a while to find the Facebook icon. If it’s blue then auto-share is on and will stay on. To turn it off create a fake ride (walk around the house) then click the “Flag” icon to save it then hunt for a blue Facebook icon at bottom right of the “save” screen. Toggle it off. It will keep that state.

When auto-share is off you can still post to Facebook, you have to open the saved activity then click on it again and then click share.

Saturday, August 20, 2016

SMS messaging to small groups: Apple's App Store comes up empty. Again.

It may require federal legislation, but someday text messaging services will interoperate.

Today, however, we have cruddy old SMS, held in the fierce claws of Verizon and AT&T. SMS, which has a maximum of ten recipients. SMS, which carriers have kept alive by bundling unlimited SMS with data services. SMS, which is definitely not free (in the US) for sending services. SMS, which RCS  (aka “joyn”) has failed to replace for about five years — because there’s money on the table.

SMS, which has a decent notification framework even on Android phones [1]. SMS, which is the only thing that is guaranteed to work with every member of a sports team. SMS, which is a key feature of TeamSnap ($8/month — compare to $50/month for many commercial SMS services).

Bottom line - SMS is lousy, but we need to work with it. Our Minnesota NICA mountain biking team is probably going to sign up for TeamSnap for the SMS service alone. The only real alternatives I know of are free GroupMe and iOS or Android apps that turn a list of numbers into a series of sub-10 member SMS texts that are covered by the standard US Carrier SMS bundle and sent as my personal text. That seems easy to do, and unsurprisingly there are a zillion of these apps. How can one pick a decent one?

I started by thinking about what’s important:

  • A clear business model. I avoid apps that hide how they make money. Ideally a simple cash payment.
  • Easy entry of numbers - copy/paste into a text field would be fine.
  • Error handling - notify which texts don’t make it.
  • Last update within past 12 months.
  • A web site with product documentation
  • Decent App Store review numbers in past year (allowing for the usual fake reviews)
  • Android version nice to have
  • US centric - our mobile market is weird. An international solution is unlikely to meet our needs.
From the App Store I started with
  • AtomPark SMS: no reviews
  • Group SMS!: $1, 110 reviews
  • Group Text!: $3, 2,139 reviews. Last updated 9/2014.
  • EasyGroup: $5, 427 reviews, not clear what it does
  • Text 2 Group: $3, 1,885 reviews. Last updated 5/2016
My initial screen left me with Group Text! and Text 2 Group. So I read some reviews. 
 
Text 2 Group requires iMessage be disabled prior to use and has no support or web site. Disabling and reenabling iMessage is a pain in the ass on iOS (turning off data/wifi is easy though and probably has same effect). It’s also rather hard to know what this app actually does.
 
Group Text! has not been updated for 2 years but it has a web site: www.redbits.com. Which says that the manual for version 3 “is coming soon”; version 3.4 was released 9/2014. I reviewed the site and support documents — it’s pretty much unreadable. This is a dead app.
 
At the end of the day Apple’s vast app store yielded … nothing. Even basic quality screens eliminated every product sold.
 
This is probably a good place to mention that Apple’s App Store business model has been broken for years — and that’s a sign of how poorly Tim Cook is doing.

See also 

[1] I had to get an Android phone for my special needs smartphone book project. I was amazed what a mess the carriers have made of Android messaging. Google’s deal with the Verizon devil has a price.

Update 8/20/2016: On app.net @jws points out that SMS messaging to groups can be done by using carrier email to SMS gateways. The form varies by carrier, AT&T processes email of the form 5551234567@txt.att.net. This scales to a large number of users. 

I think some people block these email to SMS services; I think I do.

TeamSnap uses true SMS for the US and Canada.