So Steve Jobs has finally told the world why Apple doesn’t want Flash on its platform. And the answer is: cross-platform middleware “…ultimately results in sub-standard apps and hinders the enhancement and progress of the platform.”
Haven’t we moved past this as an industry? I imagine there are a bunch of old-school assembly language programmers out there saying “yeah! And compiled code wastes so many cycles!!” At some point, the convenience to the developer needs to triumph.
I remember when the game industry went through this middleware conundrum. Back before Grand Theft Auto 3, the common sentiment was “…games that use game engines all look the same!” And arguably, games running on Criterion’s Renderware at that time did LOOK the same, but it wasn’t because of the game engine, it was because of the lack of capabilities of the graphics hardware. Once shaders became available, games suddenly dramatically diverged and looked QUITE different. As a point of fact, what Renderware gave developers was the ability to make their games more quickly and more cheaply, allowing them to experiment more with the game design and create more interesting CROSS-PLATFORM experiences that players loved. See Grand Theft Auto 3, for example. Renderware was a big win for game developers, which is why it quickly became hugely popular and then was purchased by Electronic Arts.
Steve’s argument is that cross-platform development tools result in “…developers [being] blocked from using [Apple’s] innovations and enhancements because they are not available on [Apple’s] competitor’s platforms.” In actuality, Apple’s developers wouldn’t HAVE to use Flash if it’s on the platform. They could still use Apple’s native APIs and would be able to access all the unique features of Apple’s platforms. Or, Apple could work with Adobe to help them enable platform-specific extensions to Flash. These are common practices in the game industry – game developers want to make their titles unique so that they stand out in the market, and one way they can do that is to use platform-specific features well.
I imagine there is more to the story than Jobs is able to share, because his argument just doesn’t hold up. Middleware is important to developers. Blocking middleware on your platform is a sure-fire way to alienate many of them. If he really wants to head down this path, I am more than happy to invite those developers to work on Google platforms. We LIKE making the lives of developers easier. 🙂