waffle

So Why

After all that, I’m still getting an iPhone 3G. But why?

The official SDK is clearly too closed for my tastes. I still hold that paying $99 in order to stick an app you write on a device is complete bullshit, never mind what the current trend among competitors is. (Just like DRM was bullshit even when everyone did it two years ago.) The phone itself does leave MMS and competent Bluetooth integration to be desired. And there’s no shortage of people telling me that I can’t criticize something and then buy it because that would be wrong. Or something.

But you know what? I wrote a lot of positive things about the iPhone, and they’re all true. There’s no user interface like it currently, and in a parallel universe where the iPhone was never invented, had Nokia and Motorola and Sony Ericsson and Samsung and LG had the next ten years to do it, they wouldn’t have gotten it right. They don’t even get it sorta right, not even now. Maybe Android will eventually as soon as someone starts seeing it as a whole cohesive product instead of a set of puzzle pieces you can assemble and skin.

But by and large, the established companies just don’t have it in them. They have it in them to add function after function after function after function after function, until they realize they have too many functions, at which point they categorize the functions, and then they keep adding functions, and then they make the list prettier, and then they recategorize the functions so they can add more functions, and then they stick bigger screens on so you can see more categories at once, and then they add some more functions, and then the phone starts getting slow so they think it’s a performance problem, which it is, so they rev their OS and break all third-party apps, and port everything function by function and recategorize everything again and hold a developer conference and now everything’s running smoothly for the first few hours until you find out you’re still running everything because of the preemptive multitasking they added with all that new CPU capacity or added memory and now they ask Intel to make a new CPU for them and then they adopt that CPU and now their battery time sucks and you still can’t get anything useful done, but you can get the same crappy performance in slightly different menus in ten subtly different models with their own skins and model number and model line, which is code for “you can’t make a phone that’s both a good camera phone and a good music phone, or maybe you can, but we’re not gonna label them like that because that might be handy, but hey, you can choose which of four concentric circle layouts you want on your keypad”. Never once looking back to see what you can fix. Never once considering that these snazzy animations you just added look like shit at half the FPS, which they usually run at. It’s not a miracle these nuts didn’t invent threaded chat-like SMS conversations.

I’m going to be okay with the phone, especially equipped with SwirlyMMS which actually works just fine. And I’m going to be okay with developing software since like-minded people will crack the problem and open up development to anyone, like jailbreaking used to do. (There are reports that they already have, and probably just need to adjust this for the new hardware. I’m guessing I’ll be able to use the official SDK’s tools and some glue to write apps for a “jailbreaked” iPhone within three weeks of July 11.)

Had this been a contest between two phones, one released by Apple and one released by anyone else, that are in fact equally good, I’d jump ship in a second. To the extent I’m loyal to Apple, I am so because they regularly, but not constantly, earn my respect when it comes to thinking about the user experience. Apple thinks “replacing” a folder means “obliterate the folder, and then place the new folder in its place” instead of “merge the two folders”, for which I will always hate them. Apple tries to nickel-and-dime everyone who uses QuickTime by upselling them on “Pro” bullshit on a computer they already bought for $599 or up, so I use VLC. Apple makes crap mice, so I buy other mice. Apple makes crap set top boxes, just like everyone else, so I don’t buy any set top boxes. Apple makes crap online services (although this may be changing), so I don’t use them.

But Apple does make the best mobile phone in the world; a claim which isn’t incompatible with it not being the most perfect phone in the world, or it being one of the worst mobile phone deals in Swedish history. (I’ll be able to work around this. Only fools pay full price; very few fools will pay the equivalent of US $144 — WHAT!? THE!? FUCK!? This fail is so epic, so grande, it surpasses The Hitchhiker’s Guide to the Galaxy trilogy, in which a character lives to be 37 times older than the Universe itself, in epical extent; it looks like a fucking knock-knock joke. — monthly for the top plan and not get unlimited data.)

There’s no other phone I can run to that’s as good on the whole. There’s no other mobile platform that’s as technically competent. And if that means I lose out on J2ME compatibility, video ringtones and FM radio, and may not be able to type on it after being submerged in sawdust and Cheetos for several hours, I think I’ll manage to survive somehow.

Writing

On Jun 28, 2008, at 4:00 PM, Jesper wrote:

Hello Steve,

My name is Jesper Redacted and I’m a developer. I’ve released four applications and utilities for free on Mac OS X and I love Cocoa. I imported an iPhone to Sweden, and I’m planning to buy the iPhone 3G when it gets here for real in two weeks.

I am a bit distraught with a few things regarding the iPhone SDK. I can see how the code signing with Apple as central authority makes the iPhone credible for use in the enterprise, and how an entrance fee might raise the bar to entry a little higher and cut out some of the crap.

But Apple has to me always meant great development tools and an open platform. I can’t easily test an application on the phone, and if I’m making a quick app for myself, I’ll need to sign up for a $99 development membership in order to be able to distribute the app to myself, even using the Ad Hoc model. I’d be paying for development support that, while I’d appreciate being there, I wouldn’t really need, and I’d be using code signing and DRM that I wouldn’t need either. This also makes development using the open source model unnecessarily hard, and I know that Apple’s trying to be a good citizen in that world with WebKit, Darwin and the iCal server.

Improving these things wouldn’t necessarily mean abandoning the App Store model or breaking security, and I think Apple knows this. If you consider the engineering resources already invested in the iPhone, the OS X version running inside it and the iPhone SDK, it wouldn’t be hard to leave the decision up to the user and let her decide if she can trust or be able to run her own apps on her own phone. It’d even be a partial decision where you would trust your own apps, but require the signing security for every other app. Solving this would also put Apple in a better light than some other mobile phone vendors.

I love the iPhone and its SDK, just as I love how Cocoa has been adapted for the device. It’s precisely because of this that it pains me that I’ll have to go a long detour route simply in order to be able to write some personal apps for my own phone. I think Apple has shown that it is a great innovator, and I’d love to see you guys hit it out of the park by going the extra mile beyond Ad Hoc distribution and really make iPhone development something that’s both secure and for everyone.

Thanks and good luck,
/Jesper

Message-id: <C3D7ECFB-E57F-43D9-830E-EBB3082A7C0D@apple.com>
Subject: Re: The iPhone SDK and openness
Date: Sat, 28 Jun 2008 16:55:51 -0700
On Jun 28, 2008, at 4:56 PM, Steve Jobs wrote:

Sorry, but we like it just the way it is.

Steve

I may not agree, but at least he’s honest with me.

The Pig Leagues

John Gruber linked to an article yesterday, and his commentary made me cringe.

We mentioned yesterday a rumor that Apple won’t cut a check for iPhone application developers until the dev’s share of the sales tops $250. A lot of commenters were upset about this, if it’s true: TomWBrowning said “So if you make an app that costs $1 you won’t see a penny even if 359 people buy it?”

From the (indie) developer’s perspective, this stinks.

If you’re thinking in terms of a couple hundred dollars, your app probably isn’t even going to get listed in the App Store. The App Store isn’t going to be like VersionTracker or MacUpdate, where every piece of junk gets listed as it’s submitted.

Wonderful. Thank you. I might happen to agree that there’s a lot of crap for any given platform, but the correct way to solve this is to make it easier to not build crap. Apple has largely succeeded before by making their entire development stack publicly available at no extra charge as opposed to Microsoft. (Yes, sure, now we have Visual C# Express. Whoop-de-fricking-doo. Wanting to debug anything inside this environment in ways that involves attaching to a process takes their for-pay version, and let’s just hope I wouldn’t want their profiler.)

App Store is still undemocratizing software development. Anyone with a device should at least be able to write software to it. Some people are flying more militant flags here, but I am personally fine with decreased freedom to tear at every bit inside if it helps expedience in developing the device itself. Ad-Hoc distribution means — and I am making guesses here, although they don’t seem very far-fetched or out-of-line — that some practical issues with taking such a centralized approach will in theory be resolved with some added footwork. Read: people will be able to distribute fucking beta versions to their fucking beta testers, but only after collecting fucking hardware-specific keys in what must be appointed the biggest fucking waste of time ever introduced in the history of software development. This shit used to work by default, and now it doesn’t because you broke it.

App Store is about DRM for DRM’s sake. If you follow the lineage of Apple’s previous uses of DRM, their arms can be argued to have been forced by various scumbag industries (record labels, Hollywood) along the line, but there’s precisely one such application here — the carriers may not want IP telephony. Apple works around this by not allowing such apps to work when on a cellular network and out of 802.11 range, but on the iPod touch, where this one legitimate “worry” is null and void (no cellular network), there’s still plenty of DRM and plenty of arbitrary restrictions. In fact, they’re exactly the same.

Pay attention: for the first time, Apple’s using DRM for themselves, to help stop development of apps for their own new platform. From the people who don’t require activation or even “CD keys” for their client OS, and from the people who are at least bright enough to port and design an application around dtrace, this is pretty hard to take.

I seriously hope Gruber did not mean what he said, or that I am reading meaning into it where there is none. My app ThisService, which I wrote principally for him by request, has to date made less than $100 through donations. Is John suggesting that it is junk, or that junk that is free should be accepted? My gut feeling is: of course not, which is what makes this so incredulous. John of all people should know that junk, as well as gems, come in all price ranges, and that that’s why being able to put any application on the cell phone that you just bought that’s now also a great platform should be a big deal.

To Apple I can only say: DRM is costing you a lot of money and bad clout, it won’t be winning you any customers and it won’t actually be effective. You’ve made these arguments yourselves, to others; now it’s time to come to terms with it as applied to the App Store scheme.

Just can it.

Blocks

If, in fact, there was a new Objective-C (or — due to its speculative inclusion in otherwise non-Objective-C library headers — maybe even C) extension in Mac OS X Snow Leopard to enable what would look to be the equivalent of closures, I would love nothing more than to break the news right here on this weblog, and of course provide a bit more hints, like, hypothetically, whether the syntax were to involve a caret (^), but since I wouldn’t know anything about that sort of information, I guess I could only theorize wildly about the possibility and practical impact of these would-be future additions.

Older posts »