Tag Archives: Flash

Adobe vs. Apple

Apple and Adobe have been having a rather public tiff about the use of Adobe’s Flash on Apple’s mobile platforms, the phenomenally successful iPhone and iPad platforms. I’m going to have to split my response to this into two logical parts:

1. The Web

Flash is predominantly used as a container for video content, Flash-based games, and the occasional little widget. Almost every other use is a disaster; I’m sure we all have horror stories of terrible Flash-based websites.

Apple’s argument in this space is one I completely agree with: letting one company, with one proprietary implementation, control several important classes of web application is just wrong. Emerging standards like HTML5 video and canvas tags, and support for them in all the major browsers (Chrome/Safari, Firefox, IE9)  mean that we have no need to stick to Flash. Even if we were to assume that Flash was high-quality, secure, performant, and stable, which it isn’t, letting it have total control of web video would be an incredibly bad idea. The sooner it dies a miserable death, the better for all of us.

2. For The Writing of Cross-Platform Apps

This one is somewhat more of a grey area.

First off, let’s be honest; Flash doesn’t help you build cross-platform apps. It helps you write apps that run on Adobe’s platform. They want you to write Flash-based apps for the same reason that Microsoft wants you to write Windows apps, or Apple wants you to write iPhone OS apps, or Valve wants people to use the Steamworks APIs: they want you locked to their platform, for their own business reasons. There isn’t any altruism here, no matter how much Adobe wants to play the martyr.

This is why Apple is refusing to let apps which target Adobe’s platform to run on their OS. Adobe are making a power-play to subvert Apple on their own platform, and Apple are rightly telling them to go fuck themselves. It’s not an unreasonable position, even from a user’s perspective. One of the reasons that Windows is a cluster-fuck is that fundamentally Microsoft lost control; they need to keep backwards compatibility with almost every Windows app ever written, even the ones that don’t play by the rules and call undocumented APIs in broken ways. That’s a millstone around their neck, preventing them from ever moving quickly. That situation is good for nobody; it hurts application stability, and it hurts innovation.

On the other hand, Apple are keeping control with an iron fist, in a fairly velvety (albeit thin) glove. Call undocumented APIs, don’t natively target Apple APIs, you get bounced out. On the other hand, it means Apple can keep nimble. They know that because all their app developers are playing by the rules, they can change things rapidly. Change CPU architectures? Boom, most apps will just recompile without needing changes. Stick a third-party toolchain in there, and you get unpredictable effects; every app using that third-party system could stop working.  What if Apple want to add new features? If Apple exposes a new API, native apps can start consuming that API straight away. They don’t have to wait for a third-party platform to figure a way to pass through that API, if they ever do. They don’t have to worry about developers only targeting the minimum common feature set.

It’s a Faustian pact. Nobody is denying that. If you don’t like Apple’s strategy, you don’t have to buy an iPhone OS device.

For the moment, I’m happy with the trade-off. When I decide on my next phone, you bet I’m going to look at Android. But I’m happy right now, and I quite want an iPad…

Anyways, if you really want to write cross-platform code, you do it the same way we’ve always done it. Write core code in C++, staying agnostic as possible to the real environment you’re running in. C++ pretty much works everywhere. Hooray for open standards! Also, on another note, I also think that half the time the FSF is full of shit. Or to be less inflammatory, they’re so committed to their ideology that they’re blind to reality. But that’s a story for another day.


As is customary amongst our people, I am going to tell you what it is I think about stuff that’s been going on.

On Wednesday, Apple announced, to the surprise of absolutely nobody, that they were going to release a new tablet computer, monikered the iPad.

Gallons of ink and… what the fuck is the collective noun for pixels? I mean, you have a murder of crows, a parliament of rooks, a school of fish, a clutch of eggs… regardless, a lot of pixels have gone into describing every nook and cranny of the thing, so there’s no need to re-hash it; I always find that Engadget does a good job of coverage.

The real question is: is the iPad a Good Thing, or a Bad Thing?

I must confess that my initial thought process was, “Oh, it’s a giant iPod Touch. Who cares?” The iPhone OS is limited in a whole bunch of ways that are annoying if you’re used to desktop computers: there’s no filesystem, no multitasking, you have to get all your applications through the App Store, etc. and I felt that was just too limiting for a device that size. I also had ergonomic concerns, is it good for typing, for instance?

Then I sat down and watched the keynote video, watched the thing in action.

And I just can’t be cynical. I’ve wanted a device like this for probably more than a decade. And it’s better than the dream could ever be.

The iWork apps on there were, oddly, what finally convinced me. If you pair it with a USB keyboard, this becomes a practical work machine. It’s not a toy, it’s not a joke, it’s a perfectly-crafted touch device in a way you could never get by retrofitting multitouch into an existing OS, because every aspect of the experience is geared towards interacting with it with your hands. It’s utterly marvellous.

People say that it’s just a bigger iPod Touch. And it is, they’re not wrong. But then a Blu-Ray is just a DVD with more pixels. A Core 2 Quad is just a Duo with 2 extra cores. Heck, it’s really just a faster 486! The step up in experience that the simple doubling of the dimensions provides for is just going to be an order-of-magnitude better. Saying it’s “just” a bigger iPod Touch is like saying a Microsoft Surface table is just a bigger iPod Touch. The very nature of the form-factor makes it different.

So yeh, I’m very excited to head down to the Apple Store in 2 months and have a go at holding one in my hands. I might even go crazy and buy one, like a big sucker buying a 1st gen product.

There are niggles; it should be able to run at least one app in the background. Honestly, that’s all I need, or want. One background app for something like Spotify, and one foreground app to actually work in. The second thing is, they need to loosen App Store approval guidelines. There’s only one route to get software onto it, so it needs to not suck.

As far as Flash goes, I really don’t care. HTML5 Video and Canvas are going to wash it away, and the lack of support for Flash in the iPhone ecosystem is going to hurt Flash, not anybody else. Adobe looks pretty scared.

Still probably not ever going to get a Mac, though.