Expert Help

One thing I’ve found, over the past year or so that I’ve started using it, is that Time Machine has special value to the power user.

If you’re not a power user, you’re probably afraid of emptying the trash on your computer. Or it wouldn’t even occur to you to do so. It wouldn’t necessarily occur to you to be worried about the privacy implications of leaving data or old emails lying around in online accounts.

But if you’re a power user…ah, that’s different.

For me, anyway.

So when I know I want to delete something, I mean really know it, I double-check that I did everything right, and then I go ahead and do it. Done. Problem solved.

Unless—unless, maybe that thing I was so sure about? Maybe I actually got it wrong. Maybe I want those emails back. But they’re gone. And I know they’re gone, because, remember, that confirmation alert that told me that this really, really, double-cross-my-heart, couldn’t be undone? Yeah, I clicked OK on that alert. I was kind of smug about it, too. Regular users might not understand all the implications of that alert, but I did. I knew what I was doing.

So, yeah, now, I want those emails back. And guess who’s gonna save me: me, the kind of expert who scoffs at the simple, minimal-choice user interfaces that Apple provides for OS features like Time Machine?

Well, that would be Time Machine.


P.S. In my expert defense, I rarely use the razzle-dazzle flashy (and slow, and cumbersome) UI. I just go and navigate the saved directories. But if it weren’t so damn easy to set up, I wouldn’t have those directories to navigate in the first place.

Making a Flash

We’ve all been following the corporate brouhaha about Adobe’s CS5 Flash Packager for iPhone, but how does it work, technically?

How does Adobe Creative Suite 5’s Packager for iPhone actually work?

There’s been a lot of online punditry (some of it more eloquent than others) about Apple’s disallowing Packager as a source of iPhone/iPod touch/iPad applications, but what I’m curious about is, how did it work to begin with? I’m kind of surprised there hasn’t been more discussion about this. (With one caveat, see below.)

I know that the mechanism isn’t merely a non-varying standard interpreter, that reads in the actual Flash data and executes it, because that was illegal even before the latest Apple changes, and because Adobe says so: “iPhone applications…are compiled into standard, native iPhone executable packages and there is no runtime interpreter that could be used to run ActionScript bytecode within the application.”

Does this mean Adobe is generating a native binary, i.e. they’ve gotten into the low-level compiler business? Are they hacking clang? Or gcc? Are they generating an Xcode project?

My impression is that the provisioning step that’s needed to create an iPhone app needs to be done within Xcode. Has Adobe managed to sidestep this (I can’t see how), or do they make something that still needs to be “compiled” again within Xcode before the app’s really done? I have no plans to buy CS5 myself, so I’ll have to rely on the generosity of the Internet for my answers.

This isn’t just a question about Flash, though. Presumably Unity and MonoTouch have the same technical issues. (And the same legal issues, but both companies appear to be following a “hope for the best” approach in that regard, which surprisingly appears to be working, at least so far.)

I downloaded Unity a while ago, and I’ll be investigating it to find my own answers. Right now, Unity itself is crashing on me, so that might take a while.

Caveat from above: one reason nobody’s talking about this might be that these products enforce a “Fight Club”-style rule over their users, i.e. if you know enough to talk about us, don’t talk about us. I hope not, though.

Definition of Terms

What should third-party Mac/iPhone/iPad developers call themselves?

It used to be so easy.

There were Apple developers. And there were Mac developers.

The former worked for Apple itself. The latter did not.

Then, a second platform showed up. Instead of just Mac developers, now, we were Mac and iPhone developers. Little bit more of a mouthful, but still short enough for everyday use.

But once the third platform showed up—well, it was too much. Mac and iPhone and iPad developers? More than a mouthful.

I’ve seen some bloggers start referring to such third-party developers as “Apple developers.” But…see above. There are Apple developers, and there are Apple developers? It doesn’t work.

I read someone somewhere (can’t find it anymore, sorry) who suggested iDeveloper. It’s catchy, but despite what seems like some effort in that regard, Apple does not know the i prefix. Which means the term isn’t completely intuitive, and would need to be explained before each use. (For example, has nothing to do with Apple.)

My recommended solution?

There are Apple developers, and there are Apple platforms developers.

Still a bit awkward, I’ll admit. It requires the audience to know what a platform is, that we’re not talking about a stage or a dais. But among developers, I think, that won’t be a problem.

Some might parse it “Apple” “platforms developers”, i.e. Apple developers writing platforms. That’s unfortunate. Is it a deal breaker?

And the silly: the shortened form of this could be “Applats”, which I’m imagining quacked by a duck at oblivious developers.