Archive for September 24, 2013

Tuesday, September 24, 2013

Naming Overcast

Marco Arment:

I brainstormed many potential names in a giant text file over a couple of weeks, enlisting help from friends, Invent-a-Word, Wordoid, and lists of English prefixes and prepositions. Even if I knew a name was bad or unusable immediately, I still wrote it down in case it could later inspire a usable variation.

I like the name. I’ll be interested to see the app.

In iOS 7, the Music app no longer plays podcasts, and I’m still not that fond of the Podcasts app. So I will be giving third-party podcast apps another try. Unfortunately, since some of the episodes are only stored on my Mac, it’s not as easy to (fully) switch between them as with Twitter clients and weather apps.

The other issue is that I like to use iTunes to maintain a local archive, offloading played episodes to another hard drive. I don’t see a good way to sync the played status with other apps.

iCloud Bookmark Syncing

Lloyd Chambers:

So I figure: “let me go to and look for a Safari bookmarks thing, delete the hairball mess and then maybe it will work?” But there is no such management tool anywhere I can find anywhere in iCloud.

On another computer, I deleted all bookmarks, thinking maybe if I merged I’d get a snapshot of the hairball. I then did Merge several times with nothing showing up—zero bookmarks. So apparently one gets hairball or nothing.

The problem is that there is nowhere where you can reset or replace the truth. You are always interacting with iCloud from a distance, with latency.

I had relatively few problems with iCloud bookmark syncing until last week. I did an Erase All Content and Settings on my iPad, then set it up using someone else’s Apple ID. I was then surprised to find that Safari contained some (but not all) of my bookmarks. Fortunately, when I deleted them they stayed deleted, and the deletion did not propagate to my other devices.

iOS 7 Wallpaper Problems

I’ve long used Acorn to create a custom lock screen wallpaper for my iPhone. The bulk of the image is one of my photos. At the bottom is a black bar with some white text that includes my emergency contact and health information.

(There are apps such as ICE Standard and Emergency Contact that purport to make this easy, but in my experience the images they generate look terrible and omit some of the information I entered.)

iOS 7 introduces three problems:

  1. The Control Center and camera widgets now appear at the bottom of the screen. There’s no longer a good space there to put my text. I had to move it up, which doesn’t look as good.
  2. It’s now much harder to read the white clock text on top of my photo (which is not actually that light). I added a black bar at 50% opacity to that part of the photo to increase the contrast.
  3. Most importantly, the parallax feature makes it harder to create pixel-perfect wallpapers. If you create the wallpaper at the resolution of the screen (640×960 for my iPhone 4S), iOS 7 displays it “zoomed in.” The edges (which included part of my health insurance ID) get cut off, and the text doesn’t look sharp. Presumably this is because the parallax effect requires the wallpaper to be larger than the screen, however iOS 7 does this even when the parallax effect has been turned off using the Reduce Motion setting. An Apple Support discussion on this topic already has 52,000 views and almost 300 replies. The solution seems to be to add a black border around your image—Andy Vandervell recommends 200 pixels—so that it ends up at the right size after the OS crops it. Then you have to “Move and Scale” it exactly right to manually crop out the border.

Update (2013-10-07): Dan Frakes:

If you have a lock-screen image with contact/medical/allergy info—as you should—even a single notification blocks it, with no way to dismiss the notification.

Update (2013-11-06): John Carey has some great wallpapers and recommends a resolution of 744×1392 for iPhone and 2524×2524 for iPad.

Update (2013-12-01): Even with these dimensions, I still had to “Move and Scale,” so it’s pretty much impossible to get a pixel-perfect wallpaper.


ASCIIwwdc offers searchable full-text transcripts of the WWDC 2013 session videos (via Mattt Thompson). Great work. The transcripts are from the .srt files files provided by Apple, but presumably Apple will frown on this distribution of their content and have it shut down. You could download the site via wget or, later, use the source code to regenerate it from .srt files that you download from Apple.

iPhone Scanning/OCR Apps

I recently discovered two iPhone apps that can “scan” documents using the camera, perform OCR, and then e-mail the text:

I find the Mac version of PDFpen to be much nicer than ABBYY FineReader, although the OCR is somewhat less accurate for documents from my ScanSnap. I often invoke PDFpen’s OCR via AppleScript.

On iOS, I found TextGrabber’s interface to be smoother and faster. The edge detection worked better, and the OCR was much more accurate.

Business Card Raytracer

Fabien Sanglard (via Lemont Washington):

I recently came across Paul Heckbert’s business card raytracer. For those that have never heard of it: It is a very famous challenge in the Computer Graphics field that started on May 4th, 1984 via a post on by Paul Heckbert ( More about this in his article “A Minimal Ray Tracer” from the book Graphics Gems IV).

The goal was to produce the source code for a raytracer...that would fit on the back of a business card.

iTunes Radio UI Insanity

Michael Kamprath (via Nicholas Riley):

Why on earth would I hit the star, a universal symbol for favoriting or liking, when I want to “Never Play This Song”?

iOS on arm64 Has Inline Retain Count in the isa

Greg Parker:

Some of the bits still encode the pointer to the object’s class. But neither OS X nor iOS actually uses all 64 bits of virtual address space. The Objective-C runtime may use these extra bits to store per-object data like its retain count or whether it has been weakly referenced.

This is along the lines of what Marcel Weiher recently suggested except that the class objects are grouped so that the class pointer only needs 30 bits. This leaves 19 bits for the extra retain count, plus more for flags such as whether there are weak references or associated objects.

This should be great for reducing memory use and increasing speed. On the Mac, accessing isa directly has been discouraged for a long time, so hopefully this optimization will eventually show up there as well.