Apple hates middleware

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. πŸ™‚






5 responses to “Apple hates middleware”

  1. Markus Nigrin Avatar
    Markus Nigrin

    This is a great, forward looking view. Because Jobs tries to make a point that Flash was developed originally for a different environment. While this is true, what Mark points out is that Middleware needs to evolve and typically does. I never heard Adobe claim they are not aware of that plus they seemed very willing to take that challenge on. And as pointed out in the post, that’s how partners would typically work together and overcome technical challenges.
    Besides, I’d like to make a point that Apple’s success really has shown that “mass matters” in an appstore environment. Broad offer of good quality horizontal and vertical apps is what makes a smartphone sell. How many of those 200k apps are really so leading edge that they can’t be done with a Middleware toolset? Only the tip of the iceberg, there is a bunch of good quality apps out there that I use daily that could easily be done on a middleware platform, because they mainly make certain content accessible for me. As a user, I don’t care.
    But as a dev, I care a lot. I consider it as a fundamental right to choose my tools. And choosing the right tools for the right projects is not only the smart thing to do, it is an essential survival strategy πŸ™‚

  2. archie4oz Avatar

    Subtle distinction, he’s not blocking middleware, he’s blocking particular forms of cross-platform middleware solutions.

  3. Julien Koenen Avatar
    Julien Koenen

    I think he (Steve) talks more about what I would call cross platform application frameworks that make cross platform development easier. These are bound to abstract from the target platform and therefore mostly don’t allow the same access to platform-specialties. The danger with that could be (from Apples perspective) that you as a customer don’t see a difference between an Application on the i{Pad,Phone,Pod} compared to an Android/MS Phone and therefore they loose their important usability-advantage.

    I can sympathize with that a little bit (I work as a engine programmer for a game development company that does cross platform games) because you always loose some of the specific platform advantages when relying to much on common abstractions.


  4. themadpeacock Avatar

    I think that Apple blocking Flash (for now) is great for everyone.

    For all the windows users who value app choice and platform openness; those of you that want hundreds of hardware add-ons, a wide selection of different handsets, backwards compatibility, zero obsolescence etc. there is great news. Google has made a fantastic open smartphone OS and there are some amazing devices from multiple vendors that run it… GO, enjoy!

    And for Google there is great news; most people apparently prefer the windows philosophy of open platform, quantity over quality, so very soon I predict Google phones will outnumber iPhones and Android Apps will outnumber iPhone apps as all the Windows developers and users migrate from iPhone.

    For Apple fans who use Apples products because the software is tailor made for the hardware and the user experience guidelines are strict and the focus is on simplicity this is also great news; many of the people who are always pressuring Apple to be more open will be leaving soon so Apple wont be under constant pressure to abandon the one thing that has made them so successful.. Putting the user experience, not the developer community first.

    Everyone wins!!

  5. Chris Melissinos Avatar

    Well, the Flash tax on processor performance is definitely a bad thing, along with massive battery drain. Focusing on HTML5, especially on a platform that has such broad appeal and user base, is fantastic for standards moving forward. However, I think the issue Apple has with Adobe is much more pedestrian. If you look at Adobe’s site for their cross platform tools, they mention that they have partnered with a 3rd party in-app advertising service for developers to use. This, basically, cuts Apple out of sharing in ad revenue generation. Seeing this, it is not surprising that Apple would come out against any 3rd party framework for their platform. This seems like the most logical reason and everything else is window dressing πŸ™‚