Saturday, December 07, 2013

How to clean up the Samsung Smart TV you shouldn't have bought

You shouldn't have bought that Samsung Smart TV [1].

You should have bought a dumb TV with decent speakers, a simple remote, and simple HDMI switch box so every user can effortlessly switch inputs [7]. Pair it with an Apple TV and, if you insist [4], something to stream Amazon video [2]. If you want to record over-the-air TV please report to the local police station [3].

Alas, you did buy the spyware-by-design [5] Smart TV. You gaze in horror at the crapware infested screen, remembering pre-iPhone mobile and HP winboxes. Set aside an hour or so, because you have cleanup to do.

Short of hacking the TV your cleanup options are limited to:

  • Delete: Only a few of the apps can be deleted. I assume they didn't pay enough to Samsung.
  • Move: You can create a folder to move some app icons too. Moves are slow.
  • Lock: Almost everything can be 'locked', even things that can't be moved. You can't lock the bundled IE browser however.
  • IE Browser only: If you have the patience, you can find a 'restrict' option in the browser settings. Set a passcode and enable nothing.
For the standard Lock and the IE Browser restriction you are asked to enter a passcode -- even though you never set one [6]. The default is always 0000, then you can change it.
 
The basic cleanup pattern is then:
  • Use the Tools button (on remote) to create a folder
  • Select items on screen with remote, click Tools, and see your options (Delete, Move, Lock). Delete when you can, Move when you can, Lock all you can't Delete.
At the end of the day you will be stuck with a number of apps on screen, but they will be locked and thus confusion is limited.
 
You really shouldn't have bought that Smart TV :-).

[1] I've had four hours of experience with post-1994 TV. Isn't amateurism wonderful?

[2] As of today neither Google nor Apple set top boxes will stream Amazon video. Of the options listed here the Roku has a good reputation. The XBOX 360 is abysmal, the original Wii did a good job. I assume Amazon wants to do their own hardware solution. Apple TV does Netflix well. For now we've installed Samsung's Amazon streaming app -- it's slow to start but has worked for a couple of days.

[3] Few now remember the short time when it was easy and inexpensive to record over-the-air (OTA) TV; VCRs dropped their advanced scheduling abilities in the early 90s. The Tivo era died at the hand of Cable and content owners, now there's a crowdfunded effort for OTA DVR with minimal results. For a brief time Samsung SmartTV supported recording to USB stick or drive, but this interfered with their revenue model and has been quietly dropped.

[4] Amazon Prime streamed video library is a very mixed bag. Movie selections are abysmal. Television is variable, but they do offer BBC and thus Dr Who. Apple TV has PBS - with some Amazon carve out exceptions. The media landscape today makes the Netflix DVD era seem a golden dream.

[5] During my cleanup process I ran into at least 4 EULAs; I assume they all grant Samsung the right to monitor everything we do.

[6] Samsung copies Apple extensively, but they need to copy more.

[7] Samsung's comparable dumb TV is more expensive than their Smart TV. I assume that's partly better components, but it's possible that the Smart TV cost is subsidized by the bundled video options.

See also:

Update 5/17/2014 - restoring the missing PVR (recording) function: The SamyGO TV firmware hacking project enables “Video Recording”. The download site is now at http://download.samygo.tv/. We have a Samsung UN40EH5300, per samygo.tv I think this is an “EH5300” model:

<TYPE><REGION><SIZE><YEAR><SERIES><VARIANT>[misc details]

where

U: LED

N: North America

Size: 40”

E: 2012

H: ? H series? EH series? (Wiki is confused here)

5300: variant 5300

Alas, the wiki SamyGo wiki makes it clear that hacking a 2013 Samsung is no trivial task. The relevant wiki page is a work in progress - as of 12/2012. Nonetheless, on the forum there are discussions on hacking it …

1 - One For All remote URC-7320 or similar

2 - Press magic key 3 sec then enter 0812 Press magic key 3 sec then enter 994 + magic key + 00020 + red key ( now red key is 3SPEED ) Press magic key 3 sec then enter 994 + magic key + 00027 + green key ( now green key is FACTORY )

with tv turned on press info in tv original remote and green key in ofa remote and thats all

The URC-7320 is no longer sold, but Amazon does sell a URC-8820. Elsewhere a blog post says using the IR remote hack is particularly treacherous…

I found a discussion on enabling EH5300 PVR, but I think this is a generic direction, I can’t see it’s been used on a 5300.

1.- Download ruSamsungTVCommunicator

2.- Connect your TV and your PC to your local network.

3.- Open ruSamsungTVCommunicator and wait until it finds your TV (If it doesn't find it, you'll need to manually enter its ip address)

4.- A prompt will be shown in your tv, accept it.

5.- Turn off your TV and ruSamsungTVCommunicator then press {INFO} {MENU} {MUTE} {POWER} on the remote and re-open ruSamsungTVCommunicator.

6.- Press FACTORY and after this 3SPEED buttons on ruSamsungTVCommunicator.

7.- From Service Menu select Control, than Sub-option; Find PVR and change it to ON and PVR Num =1

8.- Save settings by pressing POWER on remote controller (TV turns off)

9.- Enjoy your new PVR!!!

I actually tried running ruSamsungTVCommunicator on a no-file-system-access XP VM running on OS X. I set a VM snapshot, then reverted post experimentation. There were quite a few unsettling pauses in the process, which might have been the XP antivirus keeling over. I didn’t get far with the experiment. I think I’ll have to give up on my hacking the Samsung — at least until there’s a less worrisome toolset.

Friday, November 29, 2013

iOS 7.0.3: Large data charges, newly enabled iCloud movie downloads, and missing cellular data controls

Things got quite weird as I and my app.net correspondents dug into this problem. See the updates below for the full story, which seems to have been a change in AT&T services that triggered a glitch in iOS cellular data controls just at the start of a billing cycle. A truly 21st century experience.

---

The messages started to appear around 3pm today ....

AT&T Free Msg: The following mobile ... has used 100% of the additional 200 MB of data ... We've added another 200 MB ... $15 will be charged to your account...

One after the other. They stopped at $136. Which AT&T, to their credit, forgave when I begged for mercy.

So what happened?

Well, to start with, our family is on legacy AT&T family plan contract that offered a low cost 200MB/month data plan option (as in this TidBITS article). It is a relatively cheap way to buy a subsidized phone -- $10/month for the voice, $15 for the iMessage-only data plan, low total cost of ownership. We did it 2 years ago before we switched #1 and #2 to H2O Wireless ($40/year, no data). That contract is up now and #3 is going to join her brothers in ultra-low-cost paygo land. Her 4S will need WiFi for data.

So it's easy to run through that plan. Except it shouldn't have happened so quickly. Take a look at the cellular settings for data in iOS 7 (see Update, wish I'd been more careful to include lower range in my screenshot):

Notice there's nothing there for Video or Movie? That's because iOS 7 isn't supposed to download movies from iCloud over a cellular connection. I tried on my 5s -- nope, not allowed.

But when I ran out to look at her phone I found she'd downloaded a 1.5 GB movie via cellular data. That shouldn't be possible, but there was a bug like this in iOS 6. (Note before iOS 7 this couldn't happen, a movie was either on the phone or unavailable.)

I think she started downloading the movie over WiFi, from the car in our driveway, at the very limit of our household WiFi. As she drove away her phone switched to LTE ... but the download continued.

It's just a theory -- but I'm betting that's what bit us...

See also

Update 11/29/2013: After writing the post below I found I could start streaming an iCloud movie on WiFi, then walk away from home until the WiFi died, and iOS 7 will continue streaming it over LTE. Which it's not supposed to allow. That's how my daughter ran up her bill.

Update 11/30/2013: This is getting weirder. In an app.net discussion @sirshannon sent me a screenshot with Videos as a cellular data option. I looked at my phone and there it was. I figured I was just demented, but @wickedgood sent a screenshot without the option and Emily doesn't have it on her phone ... yet ...

 IMG 2653

It's possible that AT&T is making network changes that enabled both my daughters download and, belatedly, this option. Or perhaps they've changed carrier settings -- though I thought that required a user action.

In the modern world, sometimes we're crazy and sometimes it's just reality flux.

Update 11/30/2013 b: Sure enough, this morning my daughter's phone also has the Cellular data control for Video.app (controls grayed out here as her cellular data is currently disabled).

Bimage

She didn't have it last night, which was easy to tell as she has so few data using apps. I've since turned all but Mail.app off.

Update 11/30/2013c: Later in the day I was able to inspect the 3rd iPhone on our family plan. Emily's phone still does not have the Videos.app cellular data setting. Studying her phone I realized Apple had put some of its Cellular data controls in one settings menu (Cellular) and others in the iTunes & App Store menu (and some in both). At that point I had to laugh. These screen shots are worth a look...

First - no Videos.app control. I tried a few tricks  that might "bring it on", including a power cycle, but nothing worked. I suspect it will appear tomorrow though.

IMG 2653 2

Notice in her iTunes & App Store settings there's a special message. Her iPhone didn't, for some reason, see Cloud media, it's not fully associated with iTunes. I turned on automatic download for iBooks and, as you'll see below this message disappeared.

IMG 2654 1

Take a look at these two screenshots from the iTunes and App Store config. There's an option to show or hide Videos that are in the cloud. That makes sense, but why the heck did Apple put a Cellular Data setting here?!

IMG 2657

IMG 2658

I tried downloading a movie from after disabling wifi (so this isn't yesterday's test, where I started the download on wifi then walked out of range) - 

IMG 2656

As expected. I'll check again tomorrow and report when her phone gains the Videos.app cellular data control.

What a mess.

 

 

 

Thursday, November 28, 2013

Configuring an EnGenius Technologies Long Range 11n 2.4GHz Wireless Bridge/Access Point (ENH202): Computers & Accessories

A buddy of mine decided he wanted a bridged connection to my home network. With a bit of input from me he settled on the EnGenius Technologies Long Range 11n 2.4GHz Wireless Bridge/Access Point (ENH202) ($90/each for two devices). It took a couple of tries, but we were able to configure a point-to-point bridge connection.

The reason this took a couple of tries is that the EnGenius comes with the worst documentation of any device I've ever seen. It's not the usual problem of limited documentation -- there's lots of documentation. Problem is, it's all incomplete and/or contradictory. Unsurprisingly, so is the firmware for these devices. This feels like its made in China 2013 for China 2013. It doesn't feel cheap though, it feels pretty solid -- made to survive outdoors. Go figure.

Oh! And the first set we ordered both shipped without the inline adapter for the Power Over Ethernet connection. We reordered and got the adapters. Yeah, a mess.

The documentation and hardware confusion has to be at least partly related to feature creep. This device is supposed to connect offices or remote billboards over 1 km point-to-point connection, but it does several different things:

  • Access Point connected to Router/Net
  • Client Bridge remote (IP Based)
  • WDS Access Point
  • WDS Bridge Mode MAC Based Network
We device ships with a 1 page setup page that gives some documentation clues, but most of the documentation is on a mini-CD that requires an old-fashioned spindle drive. We ended up configuring the devices as a WDS MAC based bridge (connection is based on MAC address, not IP address) relying on two documents:

I suspect WDS MAC mode is not the 'safest' way to configure these devices. Not only is it almost undocumented (despite all the documentation), but the link quality lights don't work in WDS mode and the UI is rough and inconsistent. For example, sometimes saving a change restarts the ENH202, other times you have to find the Save/Restart menu item and explicitly save changes, and for password changes, it's not quite clear when and how it saves a change.

If you decide to try MAC based WDS bridge (can include up to 4 devices connecting to each other) the sequence is somethign like this:

  1. Starting from the default IP address, manually assign each device an IP address that will work with their network destination (when configured as Bridge both will we on the same network, for us we used 192.168.0.100 and 192.168.101 with subnet mask 255.255.255.0. (Usual procedures with changing IP of configuring computer, etc).
  2. Name devices so you can tell which is which.
  3. Learn MAC (ethernet) address of each device. Disregard what's printed on a sticker -- it was completely wrong. Use the web config UI.
  4. In the WDS Link Setting Screen enter MAC address of remote device (on each device).
  5. Optional: We set devices to 802.11n only, specify matching channel (band within n range), etc.
  6. Test link.
  7. Add encryption.
  8. Add device password

Given that the link quality lights work in Client Bridge, but not in WDS Bridge mode, and given the poor quality of the WDS Bridge documentation, I suspect this device works better in Client Bridge mode (IP based connection)

Once we had it working the  WDS Link Status screen gave us a receiving signal strength of RSSI dBm -74. Wikipedia put that in context for units of dBm:

  • 80: FM radio 50km range (output)
  • 33: Maximum output from a UMTS/3G mobile phone (Power class 1)
  • 30: Typical RF leakage from a microwave oven
  • 31: Maximum output from a UMTS/3G mobile phone (Power class 4)
  • 15: Wireless LAN transmission power in laptops.
  • 0: Bluetooth standard 1m range (output)
  • -10:  maximum received signal power (−10 to −30 dBm) of wireless network
  • -80 dBM: typical range of wfi received signal power (range is -70 to -90)
  • -127: Typical received signal power from a GPS satellite
  • - 140; Received signal for LTE phone
  • - 192: thermal noise floor 1Hz bandwidth space

So for a WiFi received signal we're not too badly off (our homes are close). We could have boosted power further but so far throughput is limited by my 8-10 mpbps DSL connection.

Friday, November 15, 2013

Trello - an orientation review

[This post was first written in 2013 and then revised in April 2016.]

When Emily said she was interested in Trello, on a day when I was at home tending to a recovering child, I leapt at it. She's done a fantastic job with Google Calendar, but she'd never found a task/project app she liked. Indeed, she has a bit of an allergy to them. Trello, it turns out, has a certain arts and crafts following.

That's a bit surprising, as I know Trello as a corporate-focused project and work management tool from Joel Spolsky's geek-loved Fog Creek software. It never occurred to me that Emily might like it.

I've used a number of Task and Project tools myself; particularly a combination of Appigo's ToDo.app and the weirdly named ToodleDo web service [1], but Trello is a bit of an odd duck. So I put together these quick notes for myself - it's a geeky introduction to Trello.

Service properties and revenue model

Trello uses a freemium web model with Android and iOS apps. It is easy to cancel the service and it passed Gordon's Laws for Software and Service Acquisition. You can use Google authorization or a local account. Google access requests are Contacts only - which is plausible.

Revenue comes from corporate sales, corporate buyers pay $200/year for  admin tools, access restrictions, bulk JSON export, Google Apps org directory integration. Non-paying customers presumably encourage corporate adoption. They've added a $5/month option for "stickers" -- if they made this $20/year I'd pay just to support them. I worry about their revenue and longevity.

How Trello is put together

Cards are the equivalent of Tasks in Toodledo or ToDo.app and they are the essence of Trello. Not all of Trellow web features are available on the iOS app, but most are. Here's how Trello works:

  • Organization: A collection of Members and of Boards. Organizations are optional, you can ignore this.
  • Board: A named collection of Lists. Boards do not have dates but they are a good match for Projects especially if there's a collaborator. You need at least one Board.
    • type: individual or organization
    • membership (for org)
    • visibility: public/private for individual, for org is member only/org wide
  • List: A ranked collection of Cards. Lists do NOT have dates. You can move cards between lists. A typical use of a List is state tracking - To Do, Doing, Done. Can also use a List to hold notes, ideas, etc (but I'd use Simplenote for that).
  • Card: A task or, if you prefer, a lightweight project. Has a Name, a single Due Date/Time, Assigned person and... 
    • Description
    • Label - color icon (example, priority)
    • Checklists  - these items don’t have a due date or a responsible person.
    • Attachments - photo/video on iOS, on web can be Google Drive, Dropbox, Computer
    • Subscribe option
    • Comments (@ for autocomplete members)
    • Activity record (read only)
    • Links (can reference a card)
    • Card’s don’t have a done or completed attribute. That’s a problem (see below).

Lists, Cards and Boards can be copied, so you can set them up as a template. Lists enable bulk operations on cards such as archive all and move all. Cards and Lists can be moved within the hierarchy.

Trello has "Power-Ups" that do things like Display Cards in Calendar format. The Calendar works well and it allows drag and drop between dates. The Calendar is supposed to have a feed that can be subscribed to from Google Calendar, but it didn’t work when I tried it. [Update 2016.04: The Calendar feed works well now, I use it to integrate project work into Google Calendar.]

Comparison of Trello to a traditional Task app:

ToDo.app/ToodledoTrello
List/Project Board
Completed (Yes/No) List (state)
Task Card (but no done status [2])

Keyboard Shortcuts

  • D: card date picker
  • L#: Card Label (ex: urgent, etc)

Teams and Boards

If you’re using free Trello then you want to have a single Trello account for each Person — Trello.app for iOS doesn’t support identity switching. A Person (Trello account/profile) can be a member of multiple Teams. Each team can have multiple Boards, but a Board has only one Team. A single Trello account (Person) can be associated with multiple Google IDs.

So the relationship between a Person and a Board is controlled by their Team membership. In Trello web or iOS one changes Teams to see Boards that are Team specific. (This is more clear in the app than in the web version.)

Example of Trello Lists to organize Cards

These Lists resemble states in ToodleDo. I'd personally use Labels to indicate importance rather than create a List and the use of lists to reflect a schedule seems odd...

It's interesting that these two are using Lists to organize by Time instead of moving Cards around the Calendar or assigning Dates. Their organization can be summarized as:
  • Inbox: Cards that are new, not yet sorted
  • Scheduled/Active: Today, This Week, Later
  • Blocked/Waiting
  • Done (which is archived)
I’ve done Trello with a list for an Agile backlog and a list for each iteration of a release. I’ve also implemented it with a backlog, an active list and a ‘done’ list.
 
The one big problem with Trello - no Done status
I like products that strongly represent a coherent philosophy of a willful developer. The downside of these products is said dev can dig their heels in and stick with a dumb decision. That’s how I account for absence of a “Done” status for Cards.
 
Instead of “Done” you are supposed to Archive the card. That would be ok if the Archive were a special list in which Due Dates didn’t make Cards turn radioactive, but the Archive UI is buried away. You can’t see the course of a project if you use Archive. (See workarounds.)
 
If you don’t use Archive you can use “Done” list to hold completed Cards. Or you can keep them in place and use a Label or other attribute to indicate Done; but if you don’t remove the Due Date the Card will become radioactive when it’s post-due.
 
A lesser problem with Trello - no local backup, no export
At least in the free version you can’t create a local XML backup of a Board, and you can’t create any local archive store representing project history.
 
Impression
 
Emily has used Trello as a basic task manager. In April 2016 I started using it for my work and personal projects and I rewrote this review. I’m not satisfied with any project management tool I’ve seen, but Trello is my choice at this time. 
 
Trello is far less complex/powerful that RallyDev’s Rally project management tool. That’s not all bad though — Rally got very complex and hard to use over the years. Trello is a better tool for personal and small team projects. It doesn’t support assigning Card Checklist Items to individual persons, but that’s not a big issue. The user name can always be added to the checklist item.
 
I’d like to see an improved version of Trello that would be less costly than the business version. That version should fix the weird lack of a “Done” behavior and it should allow one to backup Boards locally and export a PDF archival record of Board content.
 
- fn -
[1] Nobody would combine those two — that was a historic accident. I later moved entirely to Appigo ToDo Cloud.app. ToDo Cloud has project management features that are almost good enough, but I ultimately decided to keep those for smaller mini-projects and use Trello instead. Appigo has a similar problem with archived/old tasks and longitudinal project records.

Change in iOS 7 Messages.app (iMessage) behavior causes silent messaging failure for SMS recipients

An iOS 7 change to Messages.app's iMessage behavior is a real problem for us. It strikes iMessage users who have intermittent iPhone network access, in our case it's the kids on the $40/year H2O wireless voice/text plan (no data). i'm not sure if it's a bug or a feature or both a bug AND a feature.
 
The problem is my iPhone believes #1 is an iMessage user -- perhaps because he is when he's on a WiFi network, or perhaps because he has an iCloud address. In iOS 6 I believe (can't verify) Messages.app managed the on/off network problem this way:
  • if SMS received, reply with SMS
  • if use iMessage and it fails, send as SMS
In iOS 7 Message.app I'm seeing
  • if SMS received, but prior history of iMessage, reply with iMessage
  • iMessage doesn't show a 'read' (delivered) message, but neither does it show a fail message. Message is NOT resent as SMS
The trick in today's Message.app is to watch for the 'read' indicator -- or to force an SMS resend immediately if you know the sender doesn't have a net connection. Force a SMS resend by tap and hold on the blue  iMessage, then choose send as text. The message turns green (Text/SMS).
 
If this is a bug, I suspect the problem is with recognizing an iMessage failure.
 
This problem, by the way, contributed to a parent-kid fight about 'ignored' messages. It's worth knowing about.

Thursday, November 07, 2013

The weirdly under-appreciated power of Microsoft Access - Saved queries behave like Oracle Views.

It was only when I was recently forced to explore SQL subqueries (there's a reason people invented functions and even Entity SQL) that I realized why Microsoft Access [1] is so much more powerful than, say, SQL Management Studio.

Yeah, you can access lots of diverse data sources, do (except, weirdly, for unions) ANSI SQL with an excellent GUI tool, store data locally, etc etc.

That's good, but the weird power is that Access treats queries as though they were views. It's trivial to do deeply nested subqueries, create libraries of modular queries, etc.

Except I must be missing something, because this is too obviously useful...

[1] Old, weird, creaky, infested, bizarre, baroque Microsoft Access, whose useful bits have changed very little in the past 16 years and which is a Frankenstein of every Microsoft technology since 1990.

Friday, November 01, 2013

Unlocking a service swapped AT&T iPhone - a surprisingly good experience.

AT&T iPhones are still sold service-locked to AT&T or one of its MVNOs (like H2O Wireless, now $40/year for limited voice/text). This is unfortunate, because Verizon phones are sold unlocked.

Once your two year contract is done you can ask AT&T to unlock the phone using their online service. I've done this several times. Unlocked phones are handy; my daughters unlocked 4S was a mobile hot spot on our last Canadian road trip.

Unlocking is simple when a contract's phone number (SIM card) matches its host iPhone's IMEI. It's more complex when you've done a service swap, and even more complex when you've service swapped a defective service swap. As I'd feared, when my wife's contract was done the automated unlock form rejected her phone number. 

That wasn't surprising. What was surprising is that I was able to resolve the problem using AT&T's online chat service. I described the problem and passed on the record of IMEI's I'd tracked. I actually don't think she wanted those however, the support person just wanted the current IMEI. I was told an unlock could take up to 7 days, but 12 hours later I got an unlock confirmation mail. After I 'restored' the phone I got an unlock confirmation message.

It's disappointing that AT&T still sells locked phones -- while Verizon doesn't. I hope they'll change that policy. In the meantime, I give them credit for a quick fix to my service swap problem.

Installation notes from buying a new AT&T contract phone iPhone 5s - and advice on 'managed device' updates

This post, I think, is mostly useful for me, though it may be of interest to someone ordering a new contract phone that will be swapped to a different number.

I had an iPhone 5 and Emily had a 4S, we're on an AT&T corporate-discount family plan. My i5 was "blessed" by my employer; I can access our Exchange server with it. I ordered a 32GB AT&T 5s from Apple using Emily's contract, but my plan was to switch it to my account, Emily would get the 5, #1 son gets the 4S and his 4 goes to the phone bin [1]. (Somewhat unfair, but the fingerprint activation is very nice when security controls limit unlocked sleep to 5 minutes.)

It may also help to know that we still USB sync to iTunes rather than do iCloud backups -- a retro behavior that will probably go when the iPhone 6 is released.

Some notes on the transfer - which had more than a few glitches:

  • The 5s (gold fwiw) came with a SIM w/ Emily's number. So once I activated her other phone was offline. That was a nuisance, it left her without a working phone during the transition.
  • I think an Apple shipped phone should be first activated with the SIM (Emily's #) it shipped with. That's what I did, but AT&T activation failed. A message said it was offline. I ended up connecting it to iTunes and doing the activation there.
  • In iTunes I decided to first activate as a new phone, then worried the automatic renaming would match my old phone and confuse the backups. Fortunately I'd changed my old phone name from the default. 
  • During the activation process I entered data, like Location Settings and my iCloud credentials, both by iPHone and iTunes. This is weird; there must be a more standard way. In any case it worked.
  • Once the phone was activated I switched SIMs, then confirmed the numbers had switched. I could reach the 5 with Emily's SIM by phone, but not the 5s. (I'll get to that part).
This is where things got messy; I've revised my original post because I think I know why it got messy. I was giving Emily my 1yo iPhone 5 -- and that device had been attached to the corporate network. It was a 'managed' phone, and managed phones are odd. I should have wiped it first then restored from her 4S backup, but instead I did a simple restore. I ran into these problems:
  • The full restore required a double-sync, where the first sync only restored config data, and the 2nd restored apps and media. The 2nd sync was held up because the iOS corporate configured security settings demanded a passcode. 
  • When I restored Emily's 4S backup to her new iPhone 5 I first had to turn off 'Find My Phone'. After restore her passcode didn't work, but my old passcode did. I also ran into the usual odd experience of having to enter iCloud credentials multiple times (icloud vs. me confusion)?
  • Emily's AT&T visual voice mail was out of order, it behaved like regular voice mail. Fixing this was an odyssey of its own.
  • After the restore Emily had a very large number of apps -- all of my old ones and all of hers.
  • To my surprise her iMessage and Facetime services actually worked.
Emily used her phone like this, but we did see some flaky iMessage behavior (which can be flaky anyway). After a day or so I did another backup, then did a full wipe of her phone and restored from iTunes backup. That's what I should have done the first time around.
 
Incidentally, I bought a SwitchEasy Frost White Numbers case, largely because of a Wirecutter recommendation. I turned out to be a frosty clear case with port seal plugs. I wonder how long the plugs will last, but I like the idea of some water damage protection. 

[1] It needs a new Home button and a new battery; I may pay for a refurb 4 before Apple runs out of them. iPhones have a long useful lifespan and it would be handy to have an unlocked 4 in reserve.

When iPhone AT&T visual voice mail has disappeared and change voicemail password is stuck on "saving password"

I'm used to running into odd problems when I upgrade our iPhones, but Emily's Voicemail malfunction was particularly odd. I do wonder how civilians cope with this stuff [1].

I'd swapped the SIM that came with a 5S I pinched into my former 5 then did a restore from Emily's 4S backup. It had the usual restore quirks -- need to sync twice, entering iCloud credentials multiple times (".me" confusion?), etc. 

The worst was voicemail though. When I checked there was no visual voicemail, just a call to AT&T's old school stuff. Apple's troubleshooting guide didn't work -- including a network settings reset. I reset her voice mail password from the AT&T mobile web site -- that didn't work either. When I tried a reset from the i5 it hung on "saving password".

What seemed to work was a whacky recommendation I've seen in a couple of places.

When I try to setup a greeting for my...: Apple Support Communities

had this problem, and it has stopped. I am not sure if this will work for you, but it worked for me. Call your own number--you should get a prompt to enter your password. Follow the phone tree prompts to personal options. Record and save a new personal greeting. After I did this, and went back to my iPhone visual voicemail screen, I got a new message that said your voicemail password is wrong. I reentered my voicemail PIN and then the save button started working again. Hope this works for you.

 Lost your Visual Voice mail? - MacRumors Forums

I let the direct voicemail call go through, entered my password AND RERECORDED MY GREETING USING THE 3RD OPTION OF FULL PERSONAL GREETING. My iPhone then prompted me with a message saying I had the wrong voicemail password. I entered the password and Visual Voicemail re activated.  

It felt like voodoo, but I had nothing to lose so I looked up the voice mail commands and tried. A minute or so after I disconnected a dialog popped up asking me to enter a voicemail password. I did that and Visual Voicemail returned.

I'm not sure the "magical" fix really did anything. Maybe AT&T's system just took a while to reset. Perhaps if I'd turned the phone on/off a few more times, or just waited, it would have fixed itself. Still, if you get stuck, you might as well try this one.

[1] Maybe it's this kind of thing that causes otherwise rational economists to confuse the cost of replacing a battery on a 4yo phone with the subsidy price of a new device (Rampell seems to have revised her post to cover her confusion).

Update 11/30/2013: This happened to another phone, again with a SIM swap. I wonder if the problem is more common on 7.0.3. This time changing the voice greeting had no effect, but resetting network settings brought up a password prompt and fixed the problem. I only had to reenter the wifi password.

Thursday, October 31, 2013

How to get back the Gmail compose that you used to love.

It's simple, at least in Chrome.

Control-Click on the Compose button. Your Compose opens in a tab - with To and Subject line exposed, full view. Alternatively, shift-click to get a new window.

Shift-C works too, opens a proper compose. Ctrl-C doesn't work though.

Reply isn't as elegant.  Shift-R when in the context of a menu creates a right sided 'pop-out', shift-click or ctrl-click on top right icon to get it in a separate window. Alas, subject line is still hidden, that's another click to expose (Google hates subject lines, no kb shortcut either). Also, prior text is hidden -- yet another click.

Shift-A replies all in new window.

Have I mentioned I don't like Google?

We need a Chrome Extension that fixes Reply.

Monday, October 21, 2013

Why I couldn't unlock my wife's AT&T iPhone 4S - number, contract, family and device

I've had quite good results with AT&T's unlock procedure for our family's post-contract iPhones including a 3GS, 4 and 4S. So I was surprised when I was unable to unlock a phone that I thought was post-contract. I entered the number into AT&T's form, and before I could even enter the IMEI that identies the phone I got an inline message telling me I couldn't do the unlock.

It didn't explain why, so I was a bit frustrated. After I took stock of our phones and used AT&T's obscure contract expiration page I realized it made sense. With various swaps of phones and contracts among the family I'd gotten confused. We have five devices, 3 are unlocked, and we have two 2yr ongoing contracts for the newest phones (a 4S and 5). So I need to wait another month. [1]

If you're confused by this process (who isn't?), it helps to know AT&T's first test is by phone number. The phone number is the unique identifier for a contract. If that number has no eligible IMEIs associated with it then you can't go further (as far as I know).

If the phone number has eligible IMEIs then the next test is IMEI. I'll find out in a month how that works with a device that's been services swapped ... twice (... because the first Apple Store service swap (refurb) was defective of course).

[1] AT&T allows you to get a new contract phone prior to contract expiration, but that doesn't mean you get to unlock the old phone early of course.

Mac OS X Kernel Panic -- some debugging tips

Two  Four months ago my 2009 iMac was, if not rock solid, at least compacted dirt solid.

Then my 1TB internal Seagate drive (a replacement of a recalled drive) failed its SMART test. Since then it's been one odd thing after another; I haven't had a long enough trouble-free period to say anything sensible about the 1TB Samsung SSD I had FirstTech install in place of the failing HDD.

Today it's been a bit worse than odd -- I'm getting kernel panics. The multilingual white screen of death to be precise.

Usually this means a hardware error, and since I recently had a 1 TB SSD installed that's an obvious suspect. On the other hand, I've seen some odd firewire behaviors over the past few months. Maybe something in my 3 device firewire chain is malfunctioning (shades of SCSI chains of old, but I've also seen failing USB hubs cause weird crashes).

I saved one of my kernel logs and went into basic diagnostic mode, removing all peripherals. Apple Hardware extended test seemed to work, but it got stuck when my hard drive fan "Failed" (Presumably with my hard drive gone this result is misleading?).

Next I looked at Activity Monitor for anything running I could uninstall. So far I've removed:
  • Tech Tools Pro
  • Citrix Receiver
  • Carbon Copy Cloner
Of these I'm most suspicious of Citrix Receiver, next Tech Tools (esp with the SSD installed) and least of all CCC.
Then I went looking in LaunchDaemons and I found some odd ones:
  • com.google.keystone.daemon.plist: Google's updater I think
  • com.barebones.textwrangler.plist: probably benign
  • com.mac.adg.SquidMan.plist: Ok, this was amazing. Looks like I installed it in 2001. It had a running process and a file in privileged helper tools
  • com.bombich.ccc.plist
I cleared those out. Next I researched how to interpret kernel panic logs (/Library/Logs/DiagnosticReports), these articles seem to cover the domain ...
Alas, the easiest thing to interpret is the kext list, and mine looked benign even before I removed the above items.

Since my memory is old, and since it passed extended memory tests using Apple Hardware and Tech Tools, I'm most suspicious of a hardware failure in my Firewire chain, secondarily a failing USB hub. I don't know any way to debug those other than slowly adding things in until I get a panic, then removing them and seeing if the panic resolves.

Update: My firewire 400 to 800 cable is ripped apart near its insertion point. Subtle, but I may have a suspect.

Update 10/21/2013: Good app.net thread on this. My overall recommendations on a kernel panic problem is now this sequence
  1. Look at the kernel panic crash log list of loaded kext. Do any of them look odd or unfamiliar? Google and any that are not Apple native. [@gaelicwizard says this is low yield in modern versions of OS X]
  2. From admin account look at Activity Monitor and scan processes for anything odd.  [@gaelicwizard says this is very low yield in modern versions of OS X -- OS is pretty robust to this, see also @clarkgoble's tips below]
  3. Remove all peripherals. Run Apple's Hardware Check (used to come on DVD -- seems to run MacOS Classic!) to check memory or use Apple Diagnostics for machines post June 2013 (issue list documents what it can test). If don't have that use 3rd party app. Apple has its own "Apple Service Diagnostics" which is not legally available to us.
  4. Inspect all peripheral cables for defects (esp. firewire).
  5. Add USB devices. I don't know of any way to check for faults other than running and observing. Try boosting traffic (copy to drive) to stress.
  6. Add Firewire devices, one cable/device at a time.
Some Panics need to be diagnosed via remote network connections, and a networking Panic may need to be diagnosed remotely using a Firewire connection.

Note that if the fault is outside of the Mac a trip to Apple Store is unlikely to help. We can hardly bring all of our peripherals to the store.

There's a way to read a crashlog kext list and identify the kexts associated with Firewire, USB or Bluetooth and thus know where to look. From @gaelicwizard
  • The backtrace of the crash tells you where the actual panic happened. It is often, but certainly not always, within or close to where the error happened (at least as far as hardware faults go, IME). It should say a bunch of IOBluetoothHIDDrive ... AHCI is SATA. OHCI is FireWire (and some old USB). UHCI is USB. Often, the extension will just say FireWire or USB or whatever, but sometimes you see those acronyms too....
@clarkgoble summarized his approach as well (See also: Clark's Regular Maintenance Script) including general maintenance ...
  • I've regularly audited kexts and then launchd agents. With kexts it was relatively easy since 32 bit ones were disabled on newer machines. That meant it was harder for old ones to persist. With launchd I try and know what's there, do a Google search if I don't recognize it, and frequently disable things. (I had problems with a Google updater a few years back for example) 
  • The other debugging I do is to check Secrets (a pref pane for standard defaults modifications) and see if I set something that is a no no with new UI. Then I check pref panes, menulings, and running programs... I also run my maintenance script since the caches often cause some problems in my experience. Especially with older versions of Safari...

Monday, October 14, 2013

Calendars 5.app for iOS - don't break my heart.

I've only been using Calendars 5 for a few hours and I'm in love.

I'm sure I'll hate it eventually, but I usually do my hating faster than this. Calendars 5 is the best calendar app I've used since DateBk 5; it gives me hope I can survive Johnny ("The Designer") Ive's kneecapping of iOS 7 Calendar.app.

This is what we've needed. No #$@$@ wasted white space. This is a Calendar app that lets us actually, you know, see the friggin' appointments.

It synchronizes with any one or more of Google Calendars, Google Tasks, and the "native" iOS Calendar apps. I think the Google Calendar sync is using Google's native APIs; I didn't have to use Google's odd web page to setup CalDAV sync for multiple Google Calendars. i had only to enter my Google credentials and all my 15 or so Google personal, family, and subscribed calendars were immediately available.

But what about my Corporate Exchange Calendar? I figured that wouldn't work - but I was wrong! I enabled 'Native'/'Local' Calendars as well as Google (when I first connected it seemed I could do only one or the other, that's wrong) and I picked up my corporate calendar that way [1]. (Calendar.app on my phone also has my Google Calendars, but native support is much nicer than CalDAV support so I disabled those.)

I don't use Google Tasks, but Emily has been reluctant to add the complexity of a separate task manager to her Calendaring. With Calendar 5 there's only one place to look.

List, Day, Week and Month view in vertical and horizontal layout are all effective on my iPhone 5. Did I mention Search in List view? Fast!

This is the Calendar app I've been waiting for. Not Cue, not Fantastical, not Agenda -- this one.

[1] I didn't try to edit that Exchange Calendar, that barely works at the best of times on Calendar.app.

Sunday, October 13, 2013

DreamHost transferring its domain reseller/registrar business to eNom

File this one under deep sigh.

I started using Dreamhost for web services and domain management in 2008. I've been reasonably satisfied with them, though these days the main thing they do for me is host my share blog and manage domains, including some I moved from eNom/Google Apps. So I didn't expect any problems when I renewed one of those domains.

Alas, Dreamhost has moved their Domain registrar services to eNom. It's not clear exactly what his means, as they may always have been a reseller of someone else's domain management. In any case I had to go through a multi-step transfer process, which was not helped when Dreamhost's outdated UI told me I was transferring to LogicBoxes - which I'd also not heard of.

I contacted support seeking an explanation. They responded (I've fixed up the english, I don't think my support person is a native speaker):

Thank you for contacting Dreamhost Support. We are a registrar (reseller), we used to use LogicBoxes (still do for some  domains), but we are transferring most of the domains we can to eNom because we have had issues with logicboxes in the past.

The email you confirmed was to have the domain move from LogicBoxes to eNom, but the domain will still be registered through Dreamhost … Nothing will change on what you see, you will still manage it renew it, and everything through us. The change will actually be on the administrator side which we will see... 

I'm a bit concerned about the sloppiness of the process -- and that it was a surprise to me. I assume times are hard for this kind of hosting service -- much of the value they once delivered has moved to other businesses. 

Update: I realize I'm not getting anything from LogicBoxes, so this email dependent process may not be working. I'll see what Dreamhost support says.

See also:

Monday, October 07, 2013

Siri needs real documentation. Here's some.

COBOL was written for "managers". Unlike FORTRAN it was supposed to be readable and useable by non-programmers. Same thing for SQL. And AppleScript.

All of which are harder to use than C or Python or any number of well documented and rational programming languages (ok, SQL isn't as bad as the other two).

Siri reminds me of AppleScript. It's supposed to be a conversational companion, but as of 2013 it's an artificial form of conversation full of "magic words" like "Cancel" and incantations and capabilities that must be memorized in one form or another.

Yeah, Siri hasn't lived up to my early brainwashed enthusiasm. She can generate passwords (via Wolfram Alpha), but you can't copy the $!$#@$ strings.

Alas, contrary to my expectations, Apple isn't giving up on Siri. If anything, Apple's doubled down. You can't search iOS settings from Spotlight, but you can search from Siri. [1] It's widely assumed Siri will be required to use Apple's iWatch.

So we need to learn it, which means studying the documentation. There's a fair bit on the web (not much on Apple's web site of course), but I wanted a book.

Turns out there is one - Talking to Siri: Learning the Language of Apple's Intelligent Assistant - Erica Sadun, Steve Sande. It's $7+ on Kindle, $9 on Play [2]. I glanced at a few pages, learned/relearned 3 new things, and bought it. (The next edition won't be available until March 2014, so for iOS 7 used the book and Sadun's TUAW update.)

Between the book and the links below I'm writing my own Siri notes (in Simplenote of course). Siri is one foreign language I need to learn.

PS. My personal (Simplenote) Siri notes are public at http://simp.ly/publish/K19h9j 

See also

- fn -

[1] A mind-boggling omission. Does Google have a patent on searching settings?

[2] Play DRM can be removed - so worth the $2 to read it via Google's web pages, iBook, and BookReader

Saturday, October 05, 2013

Integrating Google Drive Google Docs into Spotlight search: "Webpages", Kinds and Smart Folders

Mac Spotlight was behaving oddly with my Google Drive. It's not the obvious issue with indexing Google Docs files in Google Drive; was more subtle but it was fixable.

To begin with there's no problem with searching PDFs and other relatively standard files that are stored in Google Drive. They are fully indexed and searchable by title and contents. [4]

The problem is with Google documents, like those with the extension of .gsheet. Of course Spotlight can't index the contents; for most of mine there's nothing there to index anyway.[2]. What's odd is that Spotlight search on the file name didn't work from the spotlight title bar [1], but it did work from the folder search UI.

It turns out that I'd configured Spotlight preferences to exclude web pages from search results, and for Spotlight a Google Doc is a web page reference [2]. So the Google Docs were excluded from results. They showed up in the folder search because evidently Spotlight disregards file type preference there.

Next I had to address Mountain Lion's Folder Bar 'All My Files' list. Even after I revised Spotlight preferences that list didn't include my Google Folder docs.

I right clicked on 'All My Files' to see the Search Criteria -- mine showed Documents and "Kind is Other - com.microsoft.com" (Silverlight files it seems). 

So all I needed to do was add the "Kinds" for the different Google Docs. I'm embarrassed to admin I tried file extensions and Google and Terminal.app and Get Info trying to figure out what "Kind" Spotlight assigned to these files (as distinct from Type, which was "Webpages"). The answer, of course, is simply to look at the Finder's detail list (duh). The kinds in my Google Drive were:

  • "Google document" (extension .gdoc)
  • "Google spreadsheet" (extension .gsheet)
  • "Google drawing" (extension .gdraw)
I didn't have any presentations, but you can guess that one. [3]
 
Once I added those (with quotes) to the 'All My Files' criteria [7] in the Finder Sidebar they showed up in the All My Documents list. Problem is, even in Mountain Lion you can't save your edits to "All My Documents" [6]. Indeed, any editing of a saved search is weirdly obscure (no edit in context menu).
 
There was still one problem.  'All My Files' -- at best I could remove the original and save a new one with a less appealing icon. The trick, of course, is to change the icon (see comments, also [5]).
 
Alas, I couldn't put my Saved Search back into the Finder Menu! I could drag folders there, but not a File. I had to use an obscure trick - Select the file then type Cmd-T. I think this is a Mountain Lion bug, possibly for non-admin users.
 
At last all seemed well; except the Finder Sidebar persistently showed the old gear icon, even though Get Info showed the current icon. A Finder Restart didn't fix this, so I'm a bit stuck for the moment. I suspect it's a Mountain Lion bug [8].
 
(BTW, if you're a new Mac user and you do this, you probably want to set New Window Default to Home Directory or something similar. Unfortunately you can't make a smart folder a default.)
 
See also:

[1] BTW, if you use the titlebar spotlight search and mouse over a result, you get a preview. You don't see filename or path though. If you hold the command key down, you will first see filename below the preview, then, after a second or two, it will alternate with path name.

[2] Here's what a gsheet content looks like in textwrangler (GUIDs truncated for security reasons)

{"url": "https://docs.google.com/spreadsheet/ccc?key=0AtgMeRwpi&usp=docslist_api", "resource_id": "spreadsheet:0AtgMec"}

[3] I'm guessing Google Drive installation tells OS X what Spotlight Kinds to associate with these file extensions.

[4] BTW, you can use Google Drive to convert Microsoft file types to Google formats.

[5] OS X Mountain Lion: Change the icon of a file or folder. Don't try to copy the preview icon, copy the wee icon at top of get info.

[6] It is a "Canned Search" Kind, not a "Saved Search" -- and it's a System File.

[7] Get Info shows the native search language version. Here's what I got when I added kinds without quotes:

(true) && ((((kMDItemContentTypeTree = public.content) || (kMDItemKind = "com.microsoft.*"cdw) || ((kMDItemKind = "Google*"cdw) && (kMDItemKind = "Spreadsheet*"cdw)) || ((kMDItemKind = "Google*"cdw) && (kMDItemKind = "document*"cdw)) || ((kMDItemKind = "Google*"cdw) && (kMDItemKind = "drawing*"cdw)))))

Here's the better results with quotes:

(true) && ((((kMDItemContentTypeTree = public.content) || (kMDItemKind = "com.microsoft.*"cdw) || (kMDItemKind = "Google Spreadsheet"cdw) || (kMDItemKind = "Google document"cdw) || (kMDItemKind = "Google drawing"cdw))))

[8] I'm not sure if this is new with Mountain Lion, but it looks like display of custom icons in the Finder Sidebar is a known issue.

Monday, September 30, 2013

Micro-Frameworks for web app development

A developer colleague (M.A) sent me a brief list of micro-frameworks organized by language. His list is in the same vein as Microjs: Fantastic Micro-Frameworks and Micro-Libraries for Fun and Profit but quite a bit shorter.

For my own future reference, here's his list organized by server-side language
  • Java – Spark or perhaps something old fashion like Tomcat or Spring MVC in Tomcat
  • Groovy – Grails or Ratpack
  • Javascript – node.js or Meteor
  • Ruby – Sinatra
  • PHP – PHP
  • Python – Django or Bottle
For my own amusement (and perhaps my 14yo) I'd be inclined towards either Django (Python and packaged on DreamHost, my longtime hosting service) or Meteor (he likes).

PS. Clearly the world needs an AppleScript micro-framework. (ok, sick joke)

Saturday, September 28, 2013

The personal (corporate?) search tool I want

The modern publicly traded corporation is to data as water is to iron. Corrosive. There are reasons why this is getting worse - legal, regulatory, economic, political, technological. It's a long story, but trust me on the corrosion part.

Now if I kept all my data  on my personal dry dock workstation (we still have them) I could resist this, but there's power in sharing. So over time pieces of my extended (work) memory have fallen into abandoned repositories. Recently the number and complexity of these abandoned repositories ran past my cognitive limits.

In the long run part of the the solution is a corrosion resistant knowledge repository, but in the short run I need a way to track and search my archives and working repositories. I need an integrated personal search tool for pulling in data from a variety of server based search APIs. [4].

I haven't seen a tool like this and I can't be the only one who needs one; there's probably a (very) wee market here [1]. At least 10 people. Worldwide.

It's not too hard to imagine how it might work as a web app:

Search

There's a search box, a drop down with "All" or single target searches. Send (?Customized) strings to APIs of various repositories like SharePoint_1, SharePoint_2, Yammer, XWiki, Confluence, Rally, JIRA and so on. Get results back, convert to a normal form, display in a grid.

On the other hand, a web page of links to the various search engines would be better than nothing, and an embedded set of search forms would be quite good esp. with a little javascript to copy a string from one field to every search string.

So what I need is an environment that lets me start with a simple web page of links, then add embedded forms, and gradually build more capability over time. A kind of hobby project I can work on when I'm stalled on my real work and need something to that's plausibly work related.

Maybe Meteor ... 

[1] Before Google there were tools like this for the public net, but post-Google those have been relegated to (mostly) failed meta-search engine projects like dogpile, search.com, and, arguably, duck duck go. I haven't found tools that work inside corporate firewalls.

[4] My personal custom search engine fills a similar role for the Google-accessible net.

See also

Tuesday, September 24, 2013

App.net: Supporting account substreams with PourOver

[This one's for @duerig.]

The earliest mention of "channels" in my web archives dates to 1996 [1]. There's not much more than a word about them, but I remember what I was thinking. There were a lot of things I wanted to share [2], but I didn't enjoy harming unwilling bystanders. I wanted broadcast channels (now we call them streams) that could be carved from my global shares [3].

The problem, of course, is that my interests are probably not your interests. Emily is my most faithful reader, but she skips my tech shares. On app.net some like my diverse shares, but others favor dialog and social chat. Political opinions? Religion? Right. Limited scope.

So, in the interests of minimizing collateral damage, like a political post appearing in a stream of iOS comments, I'd like an easy way to do streams off my shares.

Happily Pinboard, which I use as a micro-blogging platform publishing to @johngordon  (PourOver) and kateva.org/sh (IFTTT), supports those kinds of streams. Every tag has a feed, and when posting to Pinboard I can enter single character tags corresponding to streams. It's not the most elegant UI, but it works.

At the moment though all of my shares stream into one app.net channel (mixing metaphors there, but it kind of works). If my app.net account supported sub-channels/streams (I know that work is in progress, might be done) it seems like either PourOver and/or Pinboard stream-feeds would be a good step towards reducing drive-by share damage.

Update: app.net thread. Hope to see these pieces come together over the next few months.

- fn-

[1] My web "posts" from the early 90s are now embarrassing. The web was new then, even Alta Vista was years away. There was so much I couldn't imagine. More subtly, we live in the Randall Munroe web now. I know there are minds at play far beyond my own meager insights.
[2] Sharebot I am.
[3] In those days Global Shares were static web pages. I tried to generate things that were a cross between blog posts and Simplenote entries via FileMaker web page generation.

See also

Monday, September 23, 2013

Aperture's multi-project display and why you've never heard of it.

Since at least 2010 Aperture has been able to display multiple Projects side-by-side in a tabbed UI by option-click on Project name. I was amazed to learn about this a few weeks ago. Why isn't this prominently discussed in Aperture's manual or help file? Why, even after I showed it worked, is it so hard to find documentation?

I mean - this is big. I've been looking for it for years, missing iPhoto 9's easy ability to split and merge Projects and move images between them. Aperture's single project focus is my biggest complaint. At last I can move images between Projects ...

No. You can't. 

Which is probably why Apple has never documented this feature -- it's obviously only half-built. Rather than pull tabbed albums projects from the release Apple left them in, but removed documentation. Sad that in some fine Aperture updates since 2010 this feature was never completed.

Maybe in Aperture 4.

Saturday, September 21, 2013

Apple still has an express replacement service for iPhone: $187 for iPhone 4

Years ago I think I used Apple's 'express replacement service', probably for a 3G. Apple sent me a refurb, I returned my phone and used the refurb.

Turns out, the express replacement service is still around. Request the express replacement option for an out of warrantee service and you can swap your defective old iPhone for a refurb (with a fresh battery). In our case we have an iPhone 4 with a balky home button and another with a balky power button -- both with bad batteries. Good devices, but not much resale value. An Apple Store service swap would be great if one could be arranged, but an express replacement service would be a lot more convenient.

According to Apple's web site there's a $29 service fee, a $7 shipping fee, and device specific fees:

  • iPhone 4 or earlier: $150
  • iPhone 4s: $199
  • iPhone 5, 5c, 5s: $269

I don't know if the replacement phones are carrier locked, so there's a risk of sending in an unlocked phone and getting a carrier locked phone back. 

An eBay iPhone 5 seems to cost $200-$300 and is probably much lower quality than an Apple refurb, so $187 is pretty competitive.

Analyzing mobile phone plans: Our old AT&T plan vs. H2O wireless

We're enrolled in a no longer available AT&T plan that included a secondary phone option of 

  • shared family minutes, long distance, etc.
  • $10 monthly per device
  • $15 for 200MB data (with alerts when limit nears)
  • No SMS

At the moment my daughter is on this plan, the boys are on H2O wireless. Thanks to typical carrier hidden fees and some SMS usage billed at extortionary rates** the average monthly cost is about $33.

I'd been planning to switch her to H2O wireless too, but after doing a bit of analysis I can see why AT&T discontinued the plan we have -- it's oddly cost-effective for someone with the discipline to control data use. (The latter requires a level of self control that excludes her brothers.)

Here's a rough cut at what a valuation looks like for staying on this plan over 2 years (with a new contract iPhone) vs. switching to H2O wireless:

ItemEstimated value
Phone subsidy450
AT&T sneaky phone fee-40
iPhone 5S 16GB initial fee-200
Two year payments-840
H2O plan cost120*
NET-510

So compared to H2O wireless staying on this plan would mean:

  • Pay an extra $510 over two years
  • Get an iPhone 5S (list $650)
  • Get enough data for location services, light email, iMessage, Facetime-audio

If we wanted an extra iPhone 5S her current plan would make sense. We don't, so I'm likely to switch her to H2O wireless when her contract expires - like her sibs. On the other hand, if we lose a phone it makes sense to add her back on this plan and get a new contract.

Again, I can see why AT&T discontinued this plan. It is oddly competitive with paygo options.

* As of today H2O wireless for our kids use pattern costs about $80 for two years - voice and SMS only. It used to cost $200 for two years, this $80 price is weird and seems unlikely to last. In fact I'm not sure I can even get this plan for her any more, I think it was an artifact of some pre-smartphone pricing.

** Most of her texting is via iMessage.

PS. Walmart online has an interesting list of prepaid options for AT&T compatible MVNOs.

iOS 7 has completely removed ability to play Podcasts through Music.app and Video.app

Message received when connecting my daughter's iOS 7 4S to iTunes:

Screen Shot 2013 09 21 at 2 10 03 PM

Until iOS 7 one could get reliable iTunes Podcast sync by deleting Podcast.app and viewing Podcasts in Music.app or Video.app. Those abilities are now gone. Not a surprise, too bad Apple brought a lot of bugs with the transition including iTunes 11.1 Media Kind bugs causing podcast invisibility, and claims of massive data loss when synchronizing archived podcasts with iOS 7

It's well past time for me to switch to either Downcast or Instacast. My app.net colleagues are reviewing the tradeoffs with me.

(I'm still on iOS, I like the kids to find these bugs first.)

Friday, September 20, 2013

iOS 7 fixes iOS parental controls webkit hole. Finally. (EXCEPT for Siri)

It's been exactly three years since I wrote Apple's iPhone parental controls are completely broken.

Sure, you could turn off Safari -- but there was no way to disable use of webkit embedded browsers. A lot of apps and games kids like, including encyclopedias, use links that bring up an embedded browser. From there it's often a few hops to Google and beyond.

I ranted about this in various places, but mine was a lonely voice. (One can imagine many reasons why most parents don't seem to be concerned about full web access with iOS devices, but, whatever the reason, there's clearly no clamor for a fix.)

Today, years after I gave up, Apple fixed parental controls in iOS 7. You can use Restrictions:websites:specific websites only to restrict both Safari and webkit access to urls. I believe the changes were made pretty deep in the iOS network stack, they seem to affect all browser use.

iOS comes preconfigured with a set of approved sites. The list is not simple to edit but they are all fine with me. You can add others.

There are bugs. Even preconfigured sites seem to sometimes require second authentication on attempted access. Still, it's a big, albeit very late, improvement.

IOS 7 is quite slow on the iPhone 4s two of the kids use, but this one feature is worth the sluggishness.

Update: In early testing #1 says he can't hack the current restrictions. It also seems to be far more useable than superficially similar site restrictions in OS X Mountain Lion; Mountain Lion's current mechanism has been completely broken. I wonder if some serious attention went into making this work.

Update 11/29/2013.

Siri: "Show me pictures of dogs". Shows dogs.

Siri: "Show me pictures of xxxx"....

You have to disable Siri, there are no parental controls there.

iTunes 11.1 is unable to browse some older podcast files - with a partial workaround (Fix)

The first hints of a problem with iTunes 11.1 came via an app.net referral to Kirkville: Apple Has Broken Podcasts. A large numbers of older podcasts were no longer seen in iTunes. They weren't deleted, but iTunes didn't show them.

My first thought was gratitude for my multiple onsite and offsite backups. Unsurprisingly, I'm impacted too. I have 367 episodes of In Our Time in my iTunes Podcast folder, but only 311 are browsable in iTunes -- either via Podcasts or Music. On the other hand, a Smart Playlist searching on the album "In Our Time" finds them all even if I specify Media Kind = "Podcast" in the search criteria. 

Search won't find the lost podcasts however -- only Smart Playlists.

My guess on this bug is that Apple changed the rules on what shows up in Podcasts or Music so that certain older files with a Media Type of 'podcast' don't display in either category. They're still in the iTunes database, and so discoverable via a smart playlists, but iTunes can't browse them. If you remove these files from iTunes, then add them back in, they may be reclassified so they'll be browsable again.

I wonder if there's a way to do that via AppleScript.

I'm hoping this bug gets enough attention that Apple fixes it in the next month or two.

Update 2: The bug is related to Media Kind

Media Kind has long been an Achilles Heel of iTunes. It's an attribute of media that shows up in Smart Playlists and should be changeable via the Information (Get Info) window, but there's no 'column' option for showing Media Kind in lists. It looks like this is a Media Kind option.

I created two Playlists to identify my affected IOT podcasts.

I made one Playlist by dragging all the files that showed up in the Podcast view into a static Playlist.

I made another by Smart criteria: Album = In Our Time.

Then I made a 3rd to identify what was in the Smart Playlist, but not visible elsewhere:

Screen Shot 2013 09 20 at 9 09 42 PM

That showed my hidden podcasts.

Of the 50 or so hidden podcasts, I tried changing media type to Music. That worked for two of them. They were now visible for search and browsing. The other 48 appeared to let me change Media Type, but when I checked again they still showed as Podcast. It seems iTunes 11.1 is ignoring the Media Type attribute and using a different source of metadata to decide what is a "Podcast". That's bad, but what's worse is that podcasts of mine that used to show as Music no longer show there, but they are also omitted from Podcast.

Update 3: A workaround: Media Kind Podcast -> Audiobook -> Podcast

I couldn't change the media kind for the '48' to Music (seemed to change, but didn't work), but I could change to Audiobook! Problem is Audiobook UI can't scale this way.

Once I'd changed the Media Kind to Audiobook though, I COULD change it back to Podcast. After that all my IOT files were Podcasts and once again visible to browse and search. Note to do all this I had to use Smart Playlists -- these were the only parts of ITunes 11.1 that could display my 'invisible' podcasts.

Heavens, but iTunes 11.1 is a hot mess.

See also:

Saturday, September 14, 2013

Curse of the refurb iPhone: Apple refurbished 4S has audio compiler defect, drops microphone on calls

When Emily broke the screen on her 2yo 4S I paid for a refurb replacement so I'd get a fresh battery. I'd heard good things about Apple refurbs.

Wrong.

It now sometimes happens sometimes happens that her microphone doesn't work during calls. A power cycle or simply waiting a while can resolve it. Happens about once a week. I think this is the cause:

During a call, the other person can't hear me - iPhone 4 - iFixit

I'm sorry to tell but it is 99% sure that your 'audio compiler ic' is the issue. This is the IC which performs the noise cancellation. It is only active during calls and not during memo recording... Reballing this IC is 99% gonna solve your problem. However this requires special tools and good knowledge to be performed..."

There's a possible workaround using the hearing aid option, but I'll take the phone back to the Apple Store. I wonder if they'll believe me -- I'll try to catch it on video.

It looks like this is a known manufacturing flaw:

ian's iPhone Repair: Microphone Issues with iPhone 4

If this audio compiler doesn't work, then the person on the other end will not hear you - or they will hear a very muffled voice, or a lot of static. Due to what is largely believed to be a manufacturing error in Apple's Chinese factories, a number of iPhone 4 models were assembled with this tiny chip soldered to the mainboard (motherboard) improperly. Either too much solder or glue was used, and the connection is tenuous at best.

The problem is that the phone could work perfectly for a very long time, and then after a drop (even one that doesn't break the glass), a hard jar, or even for no reason at all, this chip loses its connection to the mainboard and causes the problem you may have experienced.

There's a 178 page Apple thread on this problem: iPhone 4S - Outgoing call no audio. Given the length of the thread it's disturbing Apple missed the problem on our refurb. They should offer a recall.

Update: I found if I gently tapped the 4S on a surface I could trigger the microphone loss, so I was able to get a recording of the drop out.

Update 9/7/2013: Apple service-swapped the service-swap (so now I'm two phones removed from the phone AT&T would have unlocked in 2 months, but I'm told AT&T can manage this if I have the paper trail).

It wasn't easy though. I'd power-cycled the phone to switch SIMs, and last time I did that it took days before I could replicate the bug. So the tech couldn't replicate the problem -- and nobody at the Rosedale Minnesota Apple store had ever heard of the (alleged) audio compiler microphone cut-off defect. It took my poorly done video of the defect in action, a Google search with precise hits, and showing this blog post to get the exchange. 

I sympathize with Apple here -- a hardware exchange for a non-replicable defect is a lot of money to lose. I wonder if they're not allowed to use Google though.

Monday, September 09, 2013

Mountain Lion and the encrypted boot drive: Implications for migration assistant and what happens when you delete the only account that had FileVault 2 access (bug)

For several reasons I decided to enable encryption on my new SSD boot drive. I used the admin account on the drive. I then migrated data from my old drive, restarted, switched to my regular admin account, and deleted the admin account I'd created for drive setup.

That's the problem. Even though that account has been deleted, when I restart the Mac the startup partition (Apple_Boot Recovery HD?) I'm asked for the password for that account.

That sounds like a bug, but it could be worse. That's because when you setup a boot drive as FileVault, then use Migration Assistant, you have to enable FileVault unlocking for each of the migrated users. [1]. I'd unwittingly deleted the only account that was authorized to decrypt my boot drive.

Once I enabled my other accounts for unlocking they appeared on the startup menu -- along with my deleted admin account. So the deleted account is still used by the hidden boot partition, and it probably can't be deleted nor can the password be changed. So, yeah, it's a bug.

FileVault 2 makes me nervous.

See also:

  • [1] OS X: About FileVault 2 - Apple support. This is mandatory reading. "f you want to make the Mac available to a user that does not have unlock capabilities, log in, then when you see your own desktop, choose "Log Out (user name)" from the Apple () menu. Also, you can unlock the disk, then choose the other user's name from the Fast User Switch (appears as the currently-logged in user's name) menubar item in the upper-right part of the screen ... When FileVault 2 is enabled, Recovery HD does not appear in the Startup Manager (which is accessed by holding Option during startup).  However, you can select the Recovery HD by holding Command-R as Lion starts up."
  • OS X: How to create and deploy a recovery key for FileVault 2 - This might be the most advanced support article I've read. The recovery key for a FileVault 2 encrypted disk is shown ONCE on startup and cannot be later displayed, but using this method one can save a key that can be used when a password is forgotten. (Maybe this is what Apple does when you elect to save credentials with them.)
  • osx - Disable a user's ability to unlock a FileVault 2 volume at startup/login time - Ask Different: This is the best overview of the bug with FileVault 2 and inability to "remove, from the EFI loginwindow, a user who should no longer be able to unlock the startup volume."
  • Using fdesetup with Mountain Lion’s FileVault 2 | Der Flounder 7/2012 - Remove users from the list of FileVault enabled accounts.
  • training.apple.com/pdf/WP_FileVault2.pdf: Apple Technical White Paper. Best Practices for Deploying FileVault 2 - Deploying OS X Full Disk Encryption Technology

Update 9/11/2013

I tried sudo fdesetup list and the list did not include the unwanted user account. So I restarted and this time it didn't appear. So perhaps 1-2 restarts after enabling users took care of my orphaned EFI LoginWindow account.

I've seen some other odd behaviors, but I may get to those another time.

Saturday, September 07, 2013

Google Checkout ends Nov 20, 2013 - review all of your Google Apps eNom registered domains now

Google is ending their Google Checkout service, it closes 11/20/2013. The support document on this discusses retiring Google Checkout Merchant.

That's now how I used Google Checkout though, I used it as a way to manage net purchases [5]. This is where things get confusing; because while merchant use of Google Checkout is dead, my transaction history survives with Google Wallet. As best I can tell Google Checkout non-Merchant became Google Wallet [2]. It lists, for example, all of my Google App related transactions, Google Storage [1] and domain registrations.

Ok, the last may need some explanation. Years ago, before Google wed Verizon under the red moon and drank the blood of innocent children to become the Dark Lord of the Net, Google Apps was launched as a freemium service. Anyone could sign up for a domain (most often managed by eNom) and get the full suite of Google Services for up to 20 people (or maybe more). All the payments were managed through Google Checkout, so there was one place to manage charges.

Those were the glory days. I know it's hard to remember a time when Google wasn't a synonym for Evil, but once upon a time we thought Google was different [3]. We snarfed up eNom registered Google Apps domains - I have 7 of and use 3 every day including kateva.org. Despite the blood and spells and yada yada Google lifted a claw and let us keep the free domains even after they ended the program.

It was all quite easy -- but now Google Checkout is gone, and we can't use Google Wallet to pay for those eNOM registrations [4]. So we have to go to every ... single... Google Apps account and enter our credit card information.

I just finished the 7. If I used Clark Goble's beloved Keyboard Maestro it would have been faster.

It wasn't entirely a wasted exercise. I'd set some of those domains up with what is today a laughably hackable password. They've probably been doing unspeakable things while I was away (though the pw still worked). They now all have 20+ character random string passwords that are almost as hard to type as they are to hack (don't even think of 'tap'). They also have new recovery and security alert features.

I'll gradually move the eNOM domains over to my Dreamhost account; I like Dreamhost as a registrar and that way I'll only have to update my credit card once.

 - fn -

[1] I'm grandfathered into the very cheap $20/year rate. Google hiked prices after that.

[2] I'm not sure what Google Wallet is, but it's not intended for payments for online goods and services -- where it once acted as an intermediary between my credit card and merchants. It seems to be for mobile and in-person payments. I don't know where Google is going with this, but I don't care either.

[3] Even in 2009 they were changing ...

[4] The Google Apps charges are $0.00 monthly.

[5] Seems I was the only one. It worked well for me, but I guess now there's only Amazon.