Archives for : skullduggery!

Jimmy Gosling Said (I’m Irrelevant When You Compile)

Much renewed hope and delight last week, after Apple pulled back from its most audacious and appalling land-grabs in its iOS developer agreement, notably the revised section 3.3.1 that prohibited any languages but C, Objective-C, and C++ for iOS development (Daring Fireball quotes the important changes in full). Whether this is the result of magnanimity or regulatory pressures in the U.S. and Europe is unknowable and therefore unhelpful. What’s interesting is thinking about what we can do with our slightly-loosened shackles.

For example, it would be interesting to see if someone, perhaps a young man or lady with a mind for mischief or irony, could bring Google’s Go programming language to iOS development. Since the Go SDK runs on Mac and can compile for ARM, it might well be possible to have a build script call the Go compiler as needed. And of all the hot young languages, Go might be the most immediately applicable, as it is compiled, rather than interpreted.

And that brings up the other major change, the use of interpreters. Nobody seems to be noting that the change in section 3.3.2 is not just a loosening of this Spring’s anti-Flash campaign, but is in fact far more lenient than this policy has ever been. Since the public SDK came out in 2008, all forms of interpreted code have been forbidden. This is what dashed early plans to bring Java to the iPhone as an application runner, despite its absence as an applet runner in Safari. As Matt Drance has pointed out, the new policy reflects the reality on the ground that interpreters (especially Lua) have been tolerated for some time in games. The new phrasing forbids downloading of executable content, but allows for cases where the interpreter and all scripts are included in the app bundle. This has never been allowed before, and is a big deal.

Now let me stretch the definition of “interpreter” a bit, to the point where it includes virtual machines. After all, the line between the two is hard to define: a “virtual machine” is a design philosophy, not a technical trait. A VM uses an interpreter (often a byte code interpreter rather than source, but not necessarily), and presumably has more state and exposes more library APIs. But languages and their interpreters are getting bigger – Ruby I/O is in the language rather than in a library (like C or Java), but that doesn’t make Ruby a VM, does it?

You might have surmised where I’m going with this: I don’t think the revised section 3.3.2 bans a hypothetical port of the Flash or Java VMs to iOS anymore, if they’re in a bundle with the .swf or .jar files that they will execute.

I could be wrong, particularly given Steve Jobs’ stated contempt for these sorts of intermediary platforms. But if a .swf-and-Flash-VM bundle were rejected today, it would be by fiat, and not by the letter of section 3.3.2.

Whether any of this matters depends on whether anyone has stand-alone Flash applications (such as AIR apps) or Java applications that have value outside of a browser context, and are worth bringing to a mobile platform.


I can’t say why AIR never seemed to live up to its billing, but the failings of Desktop Java can in part be blamed on massive neglect by Sun, exacerbated by internecine developer skirmishes. Swing, the over-arching Java UI toolkit, was plagued by problems of complexity and performance when it was introduced in the late 90’s, problems that were never addressed. It’s nigh impossible to identify any meaningful changes to the API following its inclusion in Java 1.2 in 1998. Meanwhile, the IBM-funded Eclipse foundation tied their SWT more tightly to native widgets, but it was no more successful than Swing, at least in terms of producing meaningful apps. Each standard powers one IDE, one music-stealing client, and precious little else.

So, aside from the debatability of section 3.3.2, and wounded egos in the Flash and Java camps, the biggest impediment to using a “code plus VM” porting approach may be the fact that there just isn’t much worth porting in the first place.

Speaking of Desktop Java, the Java Posse’s Joe Nuxoll comes incredibly close to saying something that everybody in that camp needs to hear. In the latest episode, at 18:10, he says “…gaining some control over the future of mobile Java which, it’s over, it’s Android, it’s done.” He later repeats this assertion that Android is already the only form of mobile Java that matters, and gets agreement from the rest of the group (though Tor Norbye, an Oracle employee, can’t comment on this discussion of the Oracle/Google lawsuit, and may disagree). And this does seem obvious: Android, coupled with the rise of the smartphone, has rendered Java ME irrelevant (to say nothing of JavaFX Mobile, which seems stillborn at this point).

But then at 20:40, Joe makes the big claim that gets missed: “Think of it [Android] as Desktop Java for the new desktop.” Implicit in this is the idea that tablets are going to eat the lunch of traditional desktops and laptops, and those tablets that aren’t iPads will likely be Android-based. That makes Android the desktop Java API of the future, because not only have Swing, SWT, and JavaFX failed, but the entire desktop model is likely threatened by mobile devices. There are already more important, quality, well-known Android apps after two years than the desktop Java APIs produced in over a decade. Joe implies, but does not say, what should be obvious: all the Java mobile and desktop APIs are dead, and any non-server Java work of any relevance in the future will be done in Android.

No wonder Oracle is suing for a piece of it.

Wii are selective in our outrage

Disclaimer: there are aspects of the App Store approval process I find utterly appalling, particularly the stealth “no competing with Apple” unwritten rule.

Nevertheless, here’s a mental exercise for you. Consider the user-facing download-to-own software stores offered by the game consoles: Wii Ware, XBox Live Arcade, and PlayStation Network.

In what way is any Apple App Store policy more onerous than these stores’ developer policies?

Here are some links to help you research:

Once we get past the much more expensive licensing, the pre-vetting of both product ideas (Microsoft: “Email with a description of your game and your contact information. We’ll send you a content submission form.”) and developers (Nintendo: “the authorization for Wii/WiiWare or Nintendo DS will be based upon your relevant game industry experience.”), and the fact that these platforms generally reject entire classes of applications (anything that isn’t a game)… I think it’s interesting to compare the anger and fury vented over the App Store, and consider that almost nobody is railing against these stores, even though they’re much more closed than Apple’s platform, and may collectively reach more users.

We might also do well to note how closed mobile development was before the iPhone. I know I’ve told this story before, but in a JavaOne conversation with O’Reilly people about how to get Java ME books moving, I said that everyone with an interest in ME (myself included) had figured out that getting your apps to end users was effectively impossible, and that with the network API often disabled for third-party apps, there wasn’t much point in writing ME apps anyways. My suggestion for an ME book that would move copies would be one which provided “the names, e-mails, and phone numbers of all the carrier and handset executives you’d have to go down on in order to get your apps on their phones.”

Maybe they should call the next version of Ubuntu “Compulsive Coyote”

Fanaticism consists in redoubling your effort when you have forgotten your aim.
George Santayana, Life of Reason (1905) vol. 1, Introduction

A few weeks back, I asked the Twitterverse “When did user-facing Linux become completely and officially irrelevant? Seems like a fait accompli, doesn’t it?”. With the OSS community’s reaction to the iPad, I’m now sure of it.

And by reaction, I’m of course thinking of the response by the FSF’s John Sullivan to Steve Jobs’ much-discussed Thoughts on Flash. Sullivan’s piece is a straightforward “pox on both your houses” take, damning Apple and Adobe alike for not adopting the One True Faith of Open Source Software.

I had allowed myself to hope that the OSS community would take the hugely successful launch of the iPad and the flight of developers to the iPhone OS platform, even with Apple’s cravenly self-serving App Store policies, as an opportunity to take a good, long look in the mirror. With iPad sales now already estimated at over a million, you have to wonder how soon use of this nascent platform will exceed that of desktop Linux, if it hasn’t already. What should the open source community think of this profound preference for the unfree over the free? I would think they’d see it as a very public, and very obvious repudiation of the party line, suggestive of an urgent need for some soul-searching and time to re-examine how the OSS community is engaging the world at large.

Sullivan’s piece, sadly, shows no such self-awareness. It’s the usual total detach from real people that we’ve come to expect from True Believers. Indeed, the last third of it is the all-too-familiar zealous denunciation of all proprietary software, calling on readers to adopt Linux and Ogg Theora.

Seriously, Ogg? They’re still clinging to the “everything should be in Ogg” kick? OK, let’s ask the people who should know on this one, content professionals, to see if they buy in at all. DV magazine’s website logs 0 hits in searches for Theora and for Ogg,’s 11 hits (versus 248 for H.264) are largely related to codec politics and not mentions in training articles or product reviews, and legendary retailer B & H assumes the search term theora is a misspelling of “theory”. No matter how many essays and insults the zealots spew forth, they seem unable to generate any inkling to know or care about Theora among video professionals.

In effect, the FSF’s position is to tell the world “screw you for not wanting the stuff we produce”, oblivious to the fact that the marketplace of ideas is very clearly telling them “screw you for not producing the stuff we want.”

The quote at the top of this article was often cited by Chuck Jones in describing the character of Wile E. Coyote, who was never afforded a moment of clarity to reconsider his hunting regimen, the inherent dangers therein, and the prospects for a way of life that didn’t involve falling off cliffs every 30 seconds. I fear the OSS community is so wrapped up in their own self-righteousness, they are similarly immune to equally-needed moments of humility, clarity, and perspective.

The Execution, Of All Things

It’s easy enough to get hits with bad tech journalism: just rile the Apple fanboys. The Mobile Technology Weblog’s Microsoft Announces iPhone Killer deserves accolades for not involving any kind of actual announcement, nor in any way substantiating how its topic might be capable of “kill”ing the iPhone.

Android is a far more credible competitor to the iPhone, and as I said earlier, I’m interested to see if it can disprove some of Apple’s assertions about the way it conducts the iPhone ecosystem, such as the tightly-restricted review process or the prohibition on background apps, or if it will fail and thereby vindicate Apple. Still, whatever success Android might achieve, it’s hyperbole to posit it as an iPhone killer, at least at this stage.

Honestly, the two biggest threats I see to the iPhone come from the iPhone ecosystem itself.

In the worst case, one leads to mere tragedy, the other to catastrophe. Not that I’m predicting such a thing; I’m not a Cassandra (except when playing Soul Calibur, but that’s another story). But I do think these are issues that have the potential to cause great harm to Apple, its users, and its developers.

1. iPhone development is a bubble economy, already severely overinflated

Rilo Kiley, “The Execution of All Things“:
Soldiers come quickly, I feel the earth beneath my feet.
I’m feeling badly, it’s not an attempt at decency.

Surely only the most foolish and greedy developers at this point think they’re going to write a simple game and make a million dollars, like Steve Demeter, who pulled $250,000 in two months with the indie game Trism. The easy, early money has been made. Now there are 100,000 apps to compete with for attention, and only the top 2,000 have any significant usership.

But still, lots of developers are picking up Objective-C, learning from books like ours (thank you!), and putting their own time and money into writing their own indie apps. Even if they don’t expect to become iPhone millionaires, they’d at least like a shot at being, as Dan Grigsby aptly put it, warm, clothed, and fed with the proceeds of their iPhone work.

It’s possible the door has already largely closed to this too.

When I say that iPhone development is a bubble, I welcome you to interpret that in very literal economic terms. A developer who puts time and money into learning iPhone development does so in hopes of realizing a significant return.

And if you’re well off, well then I’m happy some for you.
But I’d rather not celebrate my defeat and humiliation here with you.

Personal case study: I put about two months of full time work into RoadTip… actually, three when you account for the month spent on the nightmare of implementing in-app purchase. That was time that I lived off a credit card, meaning I used a high-interest loan from Capital One to fund my development. I also put fixed costs, like artwork for the icon (from a former CNN colleague who used to work in the graphics department) and trademark registration on my card. So this is serious skin in the game.

After two weeks of sales, it is clear that I will never make back this investment. Not even close. I may never even make back the fixed costs, to say nothing of paying myself.

OK, there are reasons for this, not the least of which is the fact that there were no exit-finder apps when I started, and at least four others now (none of which seem to have bothered licensing their map data… would love to know how they’re not violating their providers’ terms of service). In the hit-driven App Store, you fall off your section’s “recently released” page after just a day or two, and unless you make the top 20 or have something else that makes you findable (a brand name, a well-travelled incoming link), you’re already dead.

Someone come quickly, this place was built for moving out.
Leave behind buildings, the city planners got mapped out.
Bring with you history, and make your hard earned feast.
Then we’ll go to Omaha to work and exploit the booming music scene, and humility.

If this is a hit-driven business, then the winners may be the ones who best understand marketing. And that’s the scenario by which we get lots of name-brand big-company apps, where there’s enough money to get the app in front of lots of people. The indie developer, who knows more about code than marketing, is at a severe disadvantage.

And if the risk of failure is not paying the mortgage, then it’s probably time for a lot of indies to bail out.

And this is still classic economics: too much money is in the iPhone market, chasing too little reward, and eventually there’ll be a pullback.

The question is if anyone will notice. Will the average user really miss 200 different Twitter clients or unit converters? Or is there some special, unique, topic-specific niche app that some tiny group of users would dearly love, and now will never get, because the developer who could write it is instead going to go take a contract to write the “American Idol Sing-A-Long Fun Kit”™ or god fucking knows what else?

Who knows? But much as I continue to think the world needs a touch-driven “IDE for podcasts”, something that might be extraordinary on a hypothetical OS X-powered tablet, I’m not going to risk any more of my own precious lucre developing such a thing. At this point, I expect my iPhone development to be largely for-hire works.

And we’ve been talking all night….

So that’s just sad, this one is dangerous:

2. Some of Apple’s iPhone development policies could violate anti-trust law

Anti-trust?! You should think I’m nuts. You’re probably thinking: Apple’s just a small player in a very competitive market, prone to lose their position at any time to strong competitors. You want to talk monopolies, let’s talk Microsoft.

No, I don’t want to talk monopolies. That’s the Sherman Act. I want to talk restraint of trade… the Clayton Act.

Consider this: the crux of the 90’s antitrust case against Microsoft — successfully prosecuted, if you’ll recall — was that Microsoft abused its dominant position by bundling its Internet Explorer web browser with Windows, to the disadvantage of Netscape Navigator, which had to be installed separately. Microsoft was branded as evil incarnate for the act of simply including a browser.

On the iPhone, Apple not only includes a browser, it prohibits developers from using any web-rendering technology other than WebKit.

Oh god come quickly, the execution of all things.
Let’s start with the bears and the air and mountains, rivers, and streams.
Then we’ll murder what matters to you and move on to your neighbors and kids.
Crush all hopes of happiness with disease ‘cause of what you did.

But that’s just the beginning. Consider some other technological and commercial restraints put on developers:

  • You may not use any interpreted language or a virtual machine in an app.
  • You must use Apple’s in-app purchase API, and pay Apple a 30% cut, for any post-sale commerce in your app.
  • Effective December 2009, streaming video to an iPhone can only be delivered with HTTP Live Streaming

There’s more, but that’s enough to get us started talking about tying, the practice of compelling a customer to purchase one product as a condition of buying another. The crux of my argument is: could this be applied to Apple’s App Store policies?

Maybe, if a court is sufficiently inventive. It’s been 18 years since I took Prof. Litman’s telecomm economics class in grad school, but he was particularly interested in antitrust law, and I recall the significant issues of that area of case law. In one case — and I’m sorry, I forget if it was FTC vs. Proctor & Gamble (the “Clorox Case”) or U.S. vs. Alcoa — the court was basically willing to invent a market within the defendant company’s operations, in order to claim that the market was closed to competition.

Let’s play with this line of reasoning. Can we imagine parties that might have a complaint against Apple for shutting off a market to them?

  • Sun (Java) and Adobe (Flash) for code-execution environments (i.e., interpreters and virtual machines)
  • PayPal and other payment processors for selling apps and handling in-app purchases
  • Adobe (Flash) and Microsoft (Silverlight) for video playback and streaming technologies
  • Opera and the Mozilla Foundation for web rendering technologies

All of these companies have services that they could sell to iPhone developers, but for the fact that Apple forbids their use on iPhone by fiat. Of course developers contractually agree to that, but they don’t really have a choice: it’s Apple’s way or the highway. And you may agree that it’s better that way; that’s entirely reasonable.

But if you successfully make the argument that things like in-app purchase processing or video streaming are competitive markets, then you might have a case that Apple’s App Store terms violate the Clayton Act.

Granted, I’m not a lawyer, and if it were such a slam dunk, then it’s fair to ask: why haven’t Adobe, Sun, PayPal and the rest sued on exactly this basis? Fair enough.

Still, if we woke up next week to an antitrust investigation of Apple’s App Store practices, it wouldn’t surprise me in the least.

And lastly, you’re all alone with nothing left but sleep.
But sleep never comes to you, it’s just the guilt and forever wakefulness of the weak.
It’s just you and me….

The execution of all things.
The execution of all things.
The execution of all things.

2010: Prove It

Two things I’m watching for in 2010:

Android puts the lie to iPhone assumptions, or doesn’t: The limitations on the iPhone SDK and the App Store aren’t just nefarious skullduggery: there are stated reasons, in the self-interest of Apple, users, and developers for them. But how valid are they? Would background processes really drain the battery? Would un-reviewed apps really lead to a swarm of malware and network degredation? We can’t know. But if Android is going to eschew these limitations, it could provide a great experimental test. If the Android world is beseiged by garbage, villainy, and 30-minute battery lives, then Apple’s restrictions will be vindicated. But if that doesn’t happen, then it might be time to petition Mr. Jobs for an redress of grievances.

Snow Leopard needs to deliver the goods: OK, a lot of us have upgraded to Snow Leopard, with its internal clean-ups and no new features. We’re promised that the this will give us better apps as developers adopt features like Grand Central Dispatch, which makes multi-core programming more viable. But until that happens, what we’ve got is a promise and a bunch of broken device drivers (and, at least for me, a sleep mode that usually wakes up immediately after going to sleep). So, is this the year Snow Leopard pays off? Right now, fast QuickTime exports is about the only place I see my 8 cores really flying, and it doesn’t make up for the feature loss in the QTX player. And booting into 64-bit mode is a total festival of breakage (my mouse and keyboard drivers still lack 64-bit KEXTs). So I’m really waiting and hoping this pays off in a big way this year. Or at least gets better with updates: my iPhone can connect to my current client’s Exchange e-mail, but SL’s, allegedly with Exchange support, still can’t.

Clanging away on the debugging chapter

Whew, another long stretch of radio silence on the blog, this time corresponding with my writing the debugging/performance chapter for the iPhone SDK book. It ended up running about 32 pages(!), because of the scope:

  • Build errors
  • Using documentation in Xcode
  • IB errors
  • Xcode debugger
  • Performance tuning with Shark
  • Performance tuning with Instruments
  • Static analysis with Clang

The last is a bonus topic that’s a bit of a risk, considering that we’re basically telling the user to download a nightly build, drop it in their /usr/local and try it out on their code.

I had the good luck to run the Clang Static Analyzer scan-build while my app-signing certificates were messed up, which totally failed and forced me to confront the realities of how it works: scan-build actually runs your command-line build script (either make or xcodebuild) and integrates into the gcc tasks of the build to do its work. If xcodebuild doesn’t work with your project’s default settings, you fail with an inexplicable error like this:

2008-10-15 15:58:33.461 xcodebuild[747:2a73] Warning: Couldn't discover the 'ccc-analyzer' compiler's built-in search paths and preprocessor definitions for language dialect 'objective-c'. This may lead to indexing issues.
Compiler: /usr/local/checker-109/ccc-analyzer
Reason: gcc-4.0: installation problem, cannot exec '/Developer/usr/bin/arm-apple-darwin9-gcc-4.0.1': No such file or directory

This turns out to usually be a total red herring. The problem in my case was that app signing was broken (I’d generated my new cert on the MacBook, and hadn’t exported my private key from that computer back to the Mac Pro), so the build was failing for code signing reasons. Of course, this would also happen for any of our readers who download a sample project where the default target is the device, if they either don’t have a certificate or haven’t changed the signing identity to something other than “iPhone Developer: Chris Adamson”.

Since we don’t really care about code signing or the device when we’re doing static analysis, the fix is to just go to the project’s properties and set the “Base SDK” to “Simulator – iPhone OS 2.1” rather than “Device”.

In other news, I still haven’t heard if I got my registration submitted in time to go to the iPhone Tech Talks in Chicago. Daniel says he registered for it too, so maybe we’ll road trip (or take a train, though the Amtrak schedules from GRR and K-zoo don’t fit real well). Also, check out the unintentional hilarity from Apple’s tech talks registration form:

If yes, what other mobile platforms do you develop on? Check all that apply.
Windows Mobile

Anybody notice a prominent mobile platform missing from that list? Like the one that everyone actually has on their phone, no matter how cheesy the model? I’m surprised the Java mob hasn’t blogged bitterly about this obvious example of nefarious skullduggery! and how much “Steve Jobs hates Java”. Actually, I think it’s quaint that they remembered that BREW exists. Or that Palm still does.

“Shortly”, in historic terms

Remember when WWDC 2008 sold out?

“Response to this year’s WWDC has been off the charts and we are delighted with the show of enthusiasm and support from the developer community for the new iPhone SDK,” Apple spokesman Bill Evans told Macworld. “The conference is now sold out. For those unable to attend WWDC, session videos will be available to purchase on iTunes shortly after the conference.”

WWDC 2008 ended on June 13. It’s currently September 25, so as of tomorrow, 15 weeks (three months and change) will have elapsed.

Just wondering if the announcement needed a the qualification “for exceptionally long interpretations of ‘shortly’.”

Here’s a wild idea: what if whatever’s holding up the NDA release (on the hypothesis that it’s not meant to be permanent) is also holding up the WWDC videos? What if it’s all related to the push notification service, which was originally promised for September?

Or what if this is all grasping at straws and Apple’s just yanking our chain because of their much-blogged penchant for nefarious skullduggery!!

The Mob is Not Helping

Sigh, the whole “iPhone SDK still under NDA” problem has gone from annoyance to clusterfsck with the participation of the online mob.

It wasn’t encouraging to see that the first followup to PragDave’s blog was a bit of F/OSS trollery:

Sounds like poetic justice if you ask me. This is what you get with a locked-down platform.

That theme is repeated in the discussion to the Slashdot story, Inside Apple’s iPhone SDK Gag Order (see also the InfoWorld blog it’s based on) replete with lazy cynicism and nefarious skullduggery! about crazy dictator Steve Jobs, Apple’s “monopoly” and how they’re no different than Microsoft, and how the iPhone is junk anyways and how anyone with any sense will use a totally open platform. To top it off, there’s now an obscenely named site to collect bile and rancor related to the continued NDA status of the iPhone SDK.

Having written almost 100 pages of an iPhone book, all of which is for naught as long as the NDA is in place, I would like to make a request of the mob:

Would you all please shut the hell up?

First off, let’s apply Adamson’s Efficacy Rule: all actions should be purposeful and reasonably expected to produce the desired results, with forseeable side-effects not being worse than leaving the original goal unmet. Does anyone seriously think a bunch of geeks talking shit about Steve Jobs in a Slashdot forum is going to change Apple’s mind right now? Can anyone point to the last time the company was successfully petitioned for a redress of grievances? If you really think that Apple doesn’t care what you think — and you’re right, they don’t — then why are you bothering to express yourselves this way?

Secondly, what realistically is the alternative? The F/OSS trolls would have us believe that non-proprietary mobile software stacks are just as good as the iPhone, but this is laugh-out-loud ridiculous. In more than a decade, one thing that the open source movement has demonstrably proven, is that while it’s great at writing software that interfaces with other software (servers, libraries, etc.), it is absolutely incapable of developing end-user applications that anyone in their right mind would want to use. I’m not talking about the “eye candy” cliche that’s thrown at Apple as an insult; I’m talking about the fact that last time I used GNOME as my day-by-day desktop, I found 30 ways to change the theme and not one to set the clock. There’s never going to be a decent open-source software stack for a phone because nobody who cares about writing software for use by humans and is talented at it is going to contribute to such an effort. F/OSS has been a complete failure on the desktop, and it will be a complete failure on the small device, for exactly the same reasons.

Granted, I think that insisting on an NDA on software that is no longer designated as beta, and has been downloaded by over a quarter-million developers is foolish. They can’t realistically enforce such a thing — some of the best information I’ve found, like a crucial tip on using custom table cells created in Interface Builder, is hosted on Apple’s own forums — and it only serves to hurt the overall quality of iPhone apps when developers can’t share experience, tips, wisdom, and lessons learned. And it’s because of that utter untenability that this situation will change, and soon. At least from what’s publicly known about the platform, there’s little point to continuing the NDA at this point. In time, I think they’ll work through whatever problems they have and set things loose.

In the meantime, asserting that evil Steve Jobs will “demand that people conform to his world view, and demand that the people working for him force their customers to conform to his world view” is just goddamned stupid. And won’t make my life any easier anytime soon.

WWDC wishlist and predictions

About this time next week, I’ll be queued up on 4th Street (or Mission? or worse?) for the WWDC Stevenote. Speculation about what will be announced is sure to be a hot topic on the Mac blogs this week, so here are some things I think we will see, and things I’d like to see announced at WWDC:


  • Deprecation of Carbon – I’ve already made my case for this one. With Carbon not going 64-bit, and all of Apple’s hardware already 64-bit, formal deprecation is just another shoe that must drop eventually. How they handle it is another matter entirely… has Apple already Cocoa-ized iTunes and Final Cut, and if so, how did it go?

  • Mac OS X 10.6 announced/previewed, and Intel-only – I predicted 10.6 would be Intel-only back in 2005, and though I got some hate (see my follow-ups), it’s impossible to imagine Apple including PowerPC support in an OS that’s probably at least a year off, and therefore four years after the last PPC Macs shipped.

  • A rebranded .Mac – Not my prediction; I ‘m just nodding my head in assent with the rest of the Mac community, noting the research reported by the likes of Mac Rumors and Daring Fireball. Pity if it’s true, though. I have long disliked .Mac, and don’t see a relaunch changing my mind about it. I’m not sure that Apple should be in the service business (don’t we always tout how they’re a hardware company?), especially when there are more, better, and cheaper or even free alternatives to the .Mac services.

    The real annoyance is that useful functionality is obviously omitted from Mac OS X or iLife in order to provide that functionality on a paid-subscription basis through .Mac. Consider that to sync mail, bookmarks, and iCal events between multiple Macs, you have to pay for .Mac and send your data through their servers; it’d be more elegant to keep the data within your LAN by just letting the Macs discover each other with Bonjour. And for the savvy user, Apple’s nefarious skullduggery! doesn’t seem worth the price: why not just use IMAP Gmail and put events on Google Calendar, and then sync by making all of your Macs be clients of the web service?

  • A 3G iPhone – Well, duh.

  • iPhone nano – The original iPod established buzz at a high price, then offered a less-expensive version (first the mini, later the nano and shuffle) that more people could afford. Apple can make their 10 million iPhone goal easily if they have a model that goes for $199. Question is, what do you take out to get there?

Wish list

  • A new Cocoa Touch device – Depending on how hard Apple wants to push, the iPhone OS could be the basis of many new lines of products, such as the Wii-like Apple TVii I proposed a while back. But imagine whole new devices, and how they’d work with iPhone OS. I’d love to see an automobile information system powered by iPhone OS: speakerphone, mapping/navigation, audio system, a separate rear screen for movies and other video, all wifi-enabled so your car syncs your podcasts while it’s parked in the garage overnight. If I were GM, Ford, or Chrysler, I’d throw whatever money I had left at Apple to get this in my company’s vehicles, as soon as possible (since every article I ever read on the Detroit Three says the cars we actually want from them won’t be out for another three years).

    One reason I don’t see this happening is focus. In a Fortune interview, Jobs stressed the importance of saying no to good ideas, so Apple can instead focus on a small number of key efforts (compare to, say, Sun, which says “yes” to pretty much everything, but puts insufficient resources behind them, hoping that 100 uncoordinated 3-person teams will eventually produce something revolutionary). So my gut feeling is that they’ll hold off on cool new iPhone OS devices for another year until iPhone itself is truly established.

  • More editing APIs in QTKit – Since we can’t use the classic C-based QuickTime API in 64-bit apps, QTKit is obviously the future of QuickTime. I guess I expected that by now, QTKit would offer more of the the advanced functionality of the API it is replacing. Editing in QTKit is still primitive — you get copy-and-paste, but not management of the edit list, or track modifiers like tweens. I don’t see how you write something like Garage Band or Soundtrack’s rubber-bands for level and pan adjustment with QTKit, short of putting together your own “media document” abstraction to map modifications in pan or volume to times in the media (perhaps skipping QT and working with CoreAudio instead?), and that’s kind of the point of QuickTime. If QuickTime’s going away someday, QTKit really needs to add a lot of missing pieces.

  • A Mac Apps Store in iTunes – Granted, I’m presuming the success of the iPhone SDK app store, but for a lot of indie developers, the value-proposition is highly appealing: give Apple 30% of your proceeds and you don’t have to worry about licensing, versioning, distribution, hosting download servers, etc. Plus, the store is going put your app’s description in front of more people than an indie ever could. So… wouldn’t this be awesome for the indie Mac developer, too? Wouldn’t it be great for users to be able to try, purchase, and maintain smaller and simpler Mac apps through iTunes, just like they do their music, movies, and iPod games? Please tell me Apple is at least thinking about it; I would probably start writing my own commercial Mac apps if this were available.

I might have more wish-list items later, but this is a start. I’m also interested to see what the rest of the Mac community is watching for.

I spy stupidity

As the popular adage says, Never attribute to malice that which can be adequately explained by stupidity.

We’re in Grand Rapids, picking out stuff for a new house, and I took Keagan over to the Apple Store. He loves the “I Spy” games on the demo machines, so I went ahead and got him one, thinking he could play it on the laptop back in the room during downtime.

But it didn’t work out. The “Made With Macromedia” logo on the box should have been my first hint, since that company was acquired by Adobe over two years ago, as well as the fact that the game’s requirements offer compatibility with systems as old as Mac OS 8.5.

But at any rate, I worked through the install problems one-by-one. First, it complained (with a series of dialogs using different look-and-feels) about not having write permissions to its own folder when run from Keagan’s non-admin account, so I reinstalled it to his home folder. Then I ran it again and hit the deal-breaker: the app couldn’t switch to “Thousands of Colors” mode, because the Mac Book only supports millions of colors.

I e-mailed Scholastic support in hopes of getting an update and got a one-line reply: The program is not compatible with or supported on the Intel-based Macintoshes.

Now that’s pretty ridiculous, considering that the PowerPC transition is nearly two years behind us at this point, with all new Macs being Intel-based since May, 2006. And I wrote a duly harsh review on the Apple Store website to warn off potential customers.

But is there anything insidious about this? Can we accuse Apple of nefarious skullduggery! for using its demo machines to promote games that don’t work on modern Mac hardware, perhaps as a means of making the anemic lineup of games for the Mac look better than it really is?

Or is it more likely that the people who run the stores and set up the demo machines just aren’t aware of the problem? Or aren’t savvy enough to realize it could be a problem?

And while it sucks for Scholastic to not update the game for Intel Macs, and not pull it from the market when it’s clearly past its sell-by date, let’s be realistic: they used the half-assed Macromedia tools because they wanted a quick-to-market, cross-platform technology, for an application where the content matters a lot more than the interactivity. It’s not a “real” Mac application, and can’t realistically be updated because the compatibility limitations come from their choice of a third-party runtime, one that’s out of their control. So, insidious? No, just stupid and lazy.

Too bad they’re not interested in hiring competent programmers to write real code for their content, though. The “I Spy” concept would might work really nicely as an iPhone / iPod Touch game.

I haven’t returned the game yet; I want to see if it’ll perhaps run on the Mini back home in Atlanta. And as open-box software, I may be stuck with it at any rate.