March 19, 2024

Flash, Scratch, Ajax: Apple's War on Programming

Any ambitious regulatory scheme will face pressure to expand, in order to protect the flanks of the main regulation against users’ workarounds. Apple’s strategy of regulating which apps can run on the iPhone and iPod is just such a regulation, and over the last week or so Apple has been giving in to the pressure to expand its regulation.

To illustrate Apple’s regulatory problem, consider a hypothetical iPad app called Ed’s App World (EAW). EAW lets you download items called EdApps, which consist of instructions that the EAW app carries out. Any developer can create an EdApp which expresses its instructions in Ed’s Programming Language. It’s entirely possible to create an app like EAW.

Apple’s regulatory problem is that Ed’s App World is effectively a competing app store — EdApps can do anything that apps can do, and any developer can create and distribute an EdApp. If Apple wants to prevent competing app stores, it has to keep apps like Ed’s App World from existing.

Apple has long been trying to keep specific technologies like Adobe’s Flash off the iPhone and iPad because these technologies have EAW-like features. Now Apple has expanded its regulation to say that only certain programming methods are acceptable. Here’s section 3.3.1 of Apple’s iPhone developer license agreement:

3.3.1 — Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).

This rules out many common programming languages and tools. To developers, it looks like Apple is trying to micromanage how they do their work.

Apple’s ban on programmable apps goes beyond just Flash. This week Apple banned Scratch, a widely used educational tool that introduces students gently to computer programming by letting them construct animations. Why did Apple ban the Scratch app? Presumably because Scratch animations involve elements of programming. Computing educators were unhappy, to say the least. Mark Guzdial of Georgia Tech put it this way: “Want to be truly computing literate, where you write as well as read? There’s no app for that.”

What’s really interesting is that despite Apple’s best efforts to block these apps, there is an enormous EAW-type system that Apple hasn’t had the guts to block: the web. Thanks to so-called Ajax technologies, the web has become a vehicle for delivering app-like functionality (within web pages). Apple’s Safari browser on the iPhone and iPad supports these apps well. It’s hard to imagine that Apple could get away with blocking all of the Ajax-enabled sites we use every day. And Apple’s Ajax problem will become even worse as HTML 5 comes online, with even better support for web-based apps.

If you’re not a techie, this stuff may seem like inside baseball to you. But it does affect what you can do and see. You may not know all of the details of why the app store starts looking more and more like Disneyland, but you’ll notice that it’s happening.

Finally, I want to address the common objection that most people don’t care about limits on programming, because they don’t know how to program. To me, this is like saying that you don’t care about restaurant closings because nobody in your house knows how to cook. If you can’t cook for yourself, you should care more about restaurant quality. If all of the good restaurants close, good cooks will just make their own good meals — but you’ll be out of luck.

Comments

  1. Anonymous says

    Apple can reject any app they want from the iTunes store but let me install any app I want on MY iPhone that I have already bought!

  2. Unfortunately the cooks still have to make money. If nobody buys what theyre cooking then theyre S.O.L. Apple regulates the programming because they want control. Its like getting mad at apple because what you write for windows 7 doesnt work on mac os x. But nobody ever complained about that, since apple didnt have the market share there. Now that win based devs are having to learn objective c they are crying over it. Grow up. If you want that fat, lucratuve piece of programming farmland, learn how to do it so that in runs best for the end user who is using the hardware made by the company who also makes the hardware the apps are developed for. Win users arent used to that. Microsoft doesnt build pcs, they make software that runs on similar hardware specs, some do it better than others. This is a well known fact. Apple makes both, and as such expects the devs to build apps that take full advantage of the technology and arent just bloated for profit like so many pc manufacturers are.

    There is a line to be drawn between developer prosperity and end user experience. So flash and scratch are the end all be all? Or are they soon to go by the wayside as apple takes computing into the new millenium? God knows most of you windows users who are complaining are still programming flash apps from xp.

    X

    • Anonymous says

      Valuing the end user first would require the following things….

      1. If someone builds a better mousetrap than you, or one that works in a different way, you let them use it. You don’t deny it in a jealous rage.
      2. You don’t shut out half the internet because of some ancient and petty feud with adobe that nobody gives a shit about. Users should be able to opt-in for flash. You don’t need that much control over the internet.
      3. When a user gets your device, it doesn’t matter what they do with it. You have already sold it and earned your markup. Stop treating the device like the user has it on loan from you.

      Apple does not value their users experience, only their user’s constant flow of cash and continued stupidity. If it were otherwise then they would simply allow flash, third party multitasking and competitor apps in the store. But the user comes second in the Apple world.

      Lots of people throw eHate at Apple because they are either…

      1. PC fans who like to taunt the special ED students on the other side of the internet.
      2. People who just cant help but call bullshit when they see bullshit. (Especially that 1984 Ad which just straight up offends me)
      3. People who are primarily concerned that Apple may, Colon of Christ forbid, actually get their hands on something important (which means something outside the Hipster / Turtleneck crowd) that the rest of us need and don’t want to install iTunes and Safari to use.

      All I’m going to say to you Apple fans.. is that even though most of you are reasonably intelligent and successful, you have somehow managed to get sucked into paying 50-100% more for whatever you purchased to be able to do less. Why was that again?

      And for every Apple product (that people would actually use) there is an existing alternative that does more, costs less, and “Just works” too.

      I really don’t mean to be so combative, its just that whenever I see the giant pretentious fecal pinjata that is the Apple community, I can’t help but beat it a little with the “WTF” stick.

  3. Anonymous says

    Literally… out of control…

    Apple has gone lower than Microsoft, IBM or any other tech giant has ever dared to go.

    1. Complete vertical integration of the marketplace
    2. Blatant and unnecessary Censorship
    3. Protecting users foremost from “themselves”

    You have so many millions of iPhone and iPad users out there who trust Apple with their information. And in exchange for that trust, Apple literally stagnates their system by shutting out anything that competes with their native apps.

    Apple programmers are obviously omniscient and have developed apps so amazing that nobody could ever even attempt to improve any of them (unless done so by Apple in a later os release) that they don’t need to allow the user any CHOICE to pick an app that competes with any of their primary services. Even if by doing so, they would generate even more revenue and improve the overall user experience.

    The level of stupidity and audacity on Apple’s part is staggeringly offensive. But what is worse are the supporting arguments of their brainless intoxicated cultists who claim that they are getting a “perfect user experience” as they languish on AT&T’s collapsing network while wondering why their flash based video isn’t loading.

    And to you cultists, your first goddamned clue that Apple owns you should have been when the hack to unlock the iPhone was called “Jailbreak”. But Shawshank is a comfortable and routine place now isn’t it Brooks?

    And later on, when Apple decides to censor parts of the internet because they have “Malicious Content” or sites that “Ridicule important political figures and leaders” you won’t have to worry because by then Apple will have released iWeb™ and INews™ and you won’t have to worry your little heads over anything else again.

    • Anonymous says

      Reuters reports:

      Beijing: Chinese government attacks human rights record of Apple

      The Chinese government today released a statement strongly condemning the human rights record of Apple because of the following practices:

      a) Apple’s ongoing attack on the international not-for-profit philanthropic organisation known as Adobe. In particular the report noted Apple’s ongoing suppression of Flash (the well known deoptimization and content delivery tax utility published by Adobe). The report noted that “this attack was particularly reprehensible given Adobe’s record of support of Apple – an example being the very quick ten year development programme Adobe undertook to produce a fully native cocoa version of Creative Suite for the macintosh platform”.

      b) Apple’s continuing overt control of the App publishing system for its own mobile platform (commonly known as the App Store). The effect of this has been to artificially raise the stability and attractiveness of Apple mobile apps far above the industry standard. A Chinese government spokesman said “its is clear that Apple’s strategy of offering five times as many Apps as its nearest competitors seriously reduces the freedom of choice of consumers”.

      c) Apple’s ongoing exercising of a monopoly business model. In particular the report notes Apples two most significant monopolies:

      – a nearly total monopoly of computer and smart phone systems designed with good taste.

      – a total monopoly of Microsoft-free, hassle-free personal computers.

      In response to these findings the Chinese government has urged Apple to act immediately to hand control of App development to third parties by allowing cross platform development packages (thus lowing the quality of Apple’s iPhone apps and ending its unfair and unique advantages over its competitors) and to immediately install Flash on all its mobile devices (so that it can destabilise and slow them down so that its competitors can catch up).

      The Chinese Government urged Apple to work with YUCK (the International Association for the Promotion of Ugliness in Computing – currently chaired by Microsoft’s Steve Balmer) in order to rapidly reduce the aesthetic pleasure enjoyed by users of Apple products. YUCK is in the process of referring the case of Jonathan Ives, the infamous employee of Apple, to the Hague International Tribunal to face charges of crimes against humanity.

      Steve Jobs, the CEO of Apple, was unavailable for comment.

    • They make the hardware! Its like getting mad at bluray because you cant get the same quality out of a standard dvd because you have to put more into it to get better quality results. Are the dvd studios upset because the disks cost them more? The players cost more? That they require a completely new television as well? We’re talking several thousand dollars typically for a household to want to upgrade to this standard, nevermind the cost to the studios/distributors/tv manufacturers to change what they do in order to bring you this higher quality experience. Is what apple is doing so different? Setting a uniform standard? If you dont want to make bluray dvds then you just dont, but if you do, there is a certain standard that you must adhere to. Same thing. You want to develop apps for the iphone/ipad/mac, you have to do it apple’s way. The reason you got to do it your way at first was so that apple could show you just how lucrative their ideas are. Now that it has been established that their innovation in hardware leaves behind competitors who only try to emulate and not innovate, they are closing the door to people who cannot adapt and change with the rapidly changung tech world. People need to think before they react.

      X

      • Apple is not Bluray, Apple is Betamax disguised as Bluray.

        It’s like if suddenly, everyone starts caring about Betamax again, and it’s in all the headlines and talk shows. And suddenly everyone can’t stop talking about Betamax, and how useful and good it is. When anyone with any kind of sense clearly knows that it is not useful, that is just a prepackaged store shelf that requires you to invest more money in getting it to do anything.

        For something to be truly useful, it must allow the user to push it to its limit. Remember back in the ancient days when we were young and got our first computers? What did you try to do with it first?

        Change the wallpaper? Tinker with the settings? Find new programs to replace default ones? Uninstall junk left on there by the manufacturer? All of these things we did as kids or young adults to make the system truly ours and not like someone else’s. Even if that meant we made some mistakes and had to use the restore cd because we deleted something important.

        The point here is that we had the freedom to really make the system ours and the developer could really care less with what we did with it one it was sold. And that’s what modern Apple is totally devoid of now.

        For every Apple product out there, there is one that does a better job, costs less, has half to none of the restrictions and unlike ANYTHING Apple, you actually own it.

        • “Remember back in the ancient days when we were young and got our first computers? What did you try to do with it first?

          Change the wallpaper? Tinker with the settings? Find new programs to replace default ones? Uninstall junk left on there by the manufacturer?”

          Nuh-uh.

          Program it.

          Back in the ancient days when we were young and got our first computers, they came with a BASIC interpreter and booted into it. The BASIC interpreter doubled as a rudimentary shell. You had to learn a few of its commands just to run your store-bought games from tape and disk. Of course, why stop at a few? With a few lines of code you could quickly have it running your own rudimentary arcade shoot-em-up or whatever.

          Even now, the first thing I often do with a new machine is load up a development environment (usually a JDK, NetBeans, and Clojure or another Lisp for that old-school ability to tinker with a program from a command prompt and test subroutines and expressions directly and interactively). If it’s not THE first thing it tends to be ONE of the first things. (Copying my media library over and loading some games and some tools like OpenOffice tend to also occur quickly. And yes, tweaking some of the system settings, and installing Firefox and making it the default browser, and installing TB or some other non-Microsoft e-mail client, and installing and configuring a firewall and AV.)

  4. Okie….

    Before I go on, I do respect Apple in some respect for there contributions to computer science. However, Apple is a cult. Everyone does the same thing and don’t question. We are talking about a group of people that pay for an OS that is based on BSD that is free. It is all about the shiny shiny status symbols.

    I personally own a droid. I am a CS phd student, so I am like an open source promoter in a sense. I don’t even own an IPOD, I own a creative Nomad scary isn’t it.

    So I can see why they would want to limit based on control and unifing updates. However, if you are a programmer would likes to explore Apple isn’t the place for you to be hanging out..

  5. I’m surprised that there hasn’t been more mention of another little piece in the agreement which bans applications from sending details about the users who embed advertising into their applications (3.3.9). It bans or cripples most of the existing advertising companies while leaving their own “iAd” with a huge advantage.

    Personally, this is closer to an anti-trust issue than the requirement of using obj-c, c, or c++. It is very akin to apple saying “no you can no longer use Office on your mac because we have iWorks.” But they didn’t do it so directly, it was done more by saying, “Applications are no longer allowed to print word processing documents” but letting their own iWorks do it. It doesn’t prevent Office from existing on the mac, just renders it useless.

    My biggest complaint towards Apple has been their “we can change the rules on you at anytime and you must accept them or go away.” Not very different from “we are changing your warranty agreement, we now only cover bad capacitors” on your Macbook. Sure you have a choice not to buy Apple if you don’t like it, but you had no idea that was going to happen in the first place.

    Lastly, I call b.s. on their argument that the third party tools somehow make it impossible for them to innovate. They could easily require those tools to follow a set of standards and criteria having final approval (just like any appstore application) before being allowed.

    I’m all for making money. Lots of money. I’m all for keeping your quality to the absolute highest standards possible. But Apple is (personally) starting to cross the line. There’s a huge difference between winning because you have killed the competition by being better than them, and another because you killed them simply by altering the rules you were competing by.

  6. Anonymous says

    No, marketing doesn’t ‘make’ people buy devices. People buy devices because they want the capability those devices provide. That capability is described as functions of the device, and which to a limited degree is used in the marketing of said devices. What is NOT used in the marketing are the restrictions inherent with any given device, and also apparently the forecasting of future changes to those features.

    An inherent feature in the devices under discussion here is the capability of third parties to be able to produce goods that they can sell and thereby earn income, for use via these devices. That functionality is now changing, and is causing a fair old disruption in what has until now been the order of things for these devices. Live with it? Not me.

    In the same way that the long term effects of the way google uses any and all information they collect about your usage of content via the internet will lead to less choice and a greater control over what you can and cannot access, so it is with Apple products and the new and escalating trend to lock away in a walled garden all the initially great looking features that can and will ONLY ever profit Apple.

    Sorry my sentences are so long.

  7. Anonymous says

    People defending Apple’s move by comparing how game consoles are locked down are using a faulty comparison. Game console manufacturers don’t change rules on the fly. Developers realize what a big investment it is to develop for specific consoles, so only a few companies make that kind of investment. It takes months, if not years, to make games for game consoles, whereas most complicated iPhone apps are created in weeks.

    Apple just pulled the rug out of thousands of developers who invested time and money in third-party tools — the variety of applications in the App Store can’t all be created quickly or easily solely in Objective-c using Xcode. Even some of the apps that Apple highlighted in demos would not be allowed under the new developer’s agreement.

    People talking about interpreters (JAVA, Flash, etc.) being slow don’t understand that new rules have nothing to do with interpreters. At least Apple said “no interpreters allowed” from the start. (But, if you think they said that because they care about quality or performance, you’ve drunk the Kool-Aid. Apple does this primarily for financial reasons. Java and Flash have been of phones for the last 10 years and they’ve been just fine from consumer and developer standpoints. But if Steve Jobs says they’re crap, it must be true!)

    People saying a layer of abstraction by using third-party tools will cause for obsolete apps that are difficult to maintain don’t really program. A layer of abstraction makes it easier to adjust to change and is encouraged by professors and companies. Tweaking code for specific architectures and API’s is what makes it difficult to update the code when those API’s change. And compiling with these third-party tools results in ARM code, the same as if you started in Xcode.

  8. Anonymous says

    I’m not seeing the wisdom of running highly abstracted languages on a platform designed with minimal processor and memory. Not to mention, a very low energy budget.

    This is a different environment than the desktop where worries about memory and processor load are a distant, faded memory. If you don’t like the constraint of having to use the tools Apple says you must use, then write other software. I’m not seeing anything draconian about requiring C/C++/Objective-C here.

    Yeah, Apple is micromanaging its third-party developers. Next thing you’ll know, Apple will start rejecting applications that suffer from memory leaks and want developers to submit detailed algorithm analysis on the complexity of their algorithms. Apple is out to rule the world! Grumble grumble grumble.

    Or, they just want better software running on constrained platforms. I’m glad I don’t have yet to fear applications written by developers who are hot off a Sam’s 21 day course in Visual Basic.

    • It’s not quite that simple. Would you say that’s still true if they had 50% of the market, 75% of the market, 85% of the market? At a certain point you are slitting your own throat by rejecting their rules. If Microsoft made similar rules for Windows … sure no one is ACTUALLY pointing a gun to my head making me write Windows software, but they might as well be if my other choice is 2% of the market that refuses to pay for software at all. I could never make a living.

      Also, they could have very easily put rules into place about “your apps must perform within these specifications, only use this much memory, and only use this much CPU” which would have given them the exact same result they are hoping for without banning other tools. If Flash, Unity, MonoTouch, etc. couldn’t generate apps within those rules so be it. Instead they just said, “must be written in objective-c, c, or C++” doesn’t say anything about “you can’t use 100 megs of RAM and drain the battery in 15 seconds.” which was their cited concern.

  9. Anonymous says

    Explain why ActionScript is better than C, C++ or Objective-C and you might have a point. Otherwise why not just learn a new language… it’s teh funs.

    • ActionScript, schmactionscript. The real deal is Clojure. That IS better than C, C++, or Objective-C.

      Then again, if the iPhone supports a recent enough version of Java, it supports Clojure, at least as a browser-contained app, unless specifically configured to distinguish bytecode compiled from Java sources from bytecode compiled from Clojure sources and reject the latter, which would be quite gratuitous and evil and seems fairly improbable.

  10. Anonymous says

    I liked the well thought out logically based discussion that started off this trail, and I chalk it up to the successful marketing of apple products to see so many people jumping in to defend Apple with only vaguely logical arguments. Nice one Ed.

    • Anonymous says

      yes, because marketing makes people buy 85 million devices and rate them the the best in customer satisfaction year after year. That’s some impressive mind-control marketing. I bet the CIA would kill to have that kind of mind control. Or could it be that people simply don’t agree with the BS ‘freedom’ argument. You want to tinker? Go right ahead, write whatever you want for your iphone. No one is stopping you. Use C#, use Adobe CS5 (they are still including the ability). Tinker away. Just don’t try to sell it in Apple’s store

      • I am a VERY dissatisfied customer… after SIX computers and an ipod, I was sold nothing but sh|t! All were DOA, Apple refused to refund, and the fixes on all the hardware was worse than the original problems! The software and OS does not have the features advertised… and I gave Apple a decade… just in case it was switching teething problems… it wasn’t… Apple trash is just trash.

        Nike is also a company that lives on marketing… very popular brand.. not the best quality in footwear, nor the best designed. Unfortunately when billions of people rote learn a brand name through advertising, it is always the first brand to come up in these surveys. It absolutely does not speak of the TRUE value of their products!

      • “No one is stopping you. Use C#, use Adobe CS5 (they are still including the ability). Tinker away. Just don’t try to sell it in Apple’s store.”

        The problem is that customers have to buy from the company store. If there were other stores you could sell iPhone apps in besides Apple’s, we would not be having this discussion.

        It’s like we’ve turned back the clock 100 years. Apple is the new Quicksilver Mining Co. with its company town and its company store.

        Of course we all know what became of last century’s company stores and towns.

        They are now all ghost towns.

        “This too shall pass”; open platforms like Android own the future. The lessons of history are clear. The writing is on the wall for Apple already. Even though its current numbers make it look strong, it’s like a big sturdy oak tree whose heartwood has rotted almost completely; the next mild gale may topple it. The same is true of Microsoft.

        One sign of this is that both companies are turning to proactive patent litigation in lieu of developing and marketing products. Microsoft’s main source of revenue has been its infamous upgrade treadmill, which is now rusting to a halt. After Windows XP brought the relative stability and power of the NT kernel to the consumer desktop OS, there have been no further compelling features in Microsoft’s OSes that could not be supplied by third-party developers as applications and/or virtual device drivers. Office’s last major improvement, the ribbon UI, was years ago as well. The last significant UI improvement from Microsoft came with Vista: incremental search of the start menu and thumbnail previews of darn near everything. Of course this was not real innovation; thumbnails and incremental search have been available in other software for decades. Microsoft can not keep the upgrade treadmill chugging much longer, and is too old and inflexible to find a new business model. The final death knell seems to be a combination of web apps and open source desktop apps, which completely kills the selling-copies business model, let alone the upgrade treadmill. Web apps, especially, render the OS nearly irrelevant, as does anything that runs on a widely-ported interpreter (Java, Flash, Clojure, etc.)

        (Interestingly, 15 years ago the upgrade treadmill clogging up could be foreseen, since word processors and operating systems and shells only can grow so many features before it’s just an exercise in adding unnecessary bells and whistles, but the coup de grace coming from web apps, virtual machines, and free software was much less foreseeable.)

        Apple’s business model was centered on industrial design and other factors — taking the high end of the market. If Microsoft/Intel/HP/Dell/etc. sold Ford SUVs, Apple sold Mercedes Benzes (and companies like Silicon Graphics and Cray, Ferraris and Lamborghinis). This might sustain for a while, but the encroachment of open software standards will kill their OS business and iTunes. In particular, free OSes have nearly caught up to the usability standards set for PCs, and will quickly surpass that and then that of MacOS.

        If Apple goes back to focusing on selling hardware, they may eke out a living for a while to come, but eventually cheap “fabber” technology will make the duplication of their hardware quality cheap enough that PC makers will boot them out of the high end of the consumer-hardware market. (Already, networks of PCs running free software are killing Silicon Graphics and Cray. Apple is going to be squeezed from above AND below.)

        If Apple stays focused on tightly-controlled software and media tie-ins (or, especially, patent litigation) its doom comes that much sooner and more certainly.

  11. “What’s really interesting is that despite Apple’s best efforts to block these apps, there is an enormous EAW-type system that Apple hasn’t had the guts to block: the web.”

    Maybe they don’t want to block the web, have you ever thought about that?

    I think you totally missing the point on why they want things developed in just c, c++, or c#. Maybe its not because of some evil plot to take over the world, but instead maybe its just because those languages can be compiled in to binary, and run really fast.

    You ever tried running a interpreted language on a really really slow processor? You would probably complain about how your iPad or iPhone is so slow, thus tarnishing Apple’s image.

    Maybe that’s what this is all about, they just want to make sure the apps on their products will run fast.

    And on the whole Scratch thing, why the hell would you want to try and learn to program on a tiny ass phone? personally I would rather be teaching it to someone on a screen with real keyboard, just a thought.

    • Curt Sampson says

      Plenty of other languages can also be compiled to binary and run very fast. But in many cases, it will make little difference: there are applications where an interpreted language will be plenty fast enough, and it’s quite possible to write a slow program in any language.

      If they were just concerned about speed, they’d allow you to write in whatever you want, and reject any programs that they felt were too slow.

  12. Anonymous says

    You can tinker all you want with your iPhone in any language you want. You just can’t distribute in their store. My iPhone is full of stuff I wrote that doesn’t conform to the Dev. Agreement. Seriously, if all you want is “freedom to tinker with devices you own”, no one is stopping you. But if you aren’t being honest with yourself and what you really mean is you want to be able to distribute via the App Store, then you aren’t really tinkering, are you…

  13. Anonymous says

    …or JavaScript as executed by the iPhone OS WebKit engine..

    JavaScript – that would be the J in AJAX. Apple don’t mind you doing this at all – in fact thats what they wanted you to do when they first released the iphone. They only created the app store after developer pressure for native applications.

  14. Hamranhansenhansen says

    Apple is not part of the crap-above-all PC industry, they’re in consumer electronics where stuff has to work, first time, or money back. A DVD has to work in your DVD Player, you can’t ask the user to patch it or use a different brand of player.

    Flash CS5 makes iPhone OS v3 apps that can’t run in the simulator, can’t run in the testing tools, and hog memory and abuse the CPU and battery on the device. Flash CS5 arrives 1 week after Apple’s iPhone OS v4 tools, yet it only makes v3 apps. Flash is on a 24 month development cycle, which means CS5 will be out until mid-2012, by which time Apple will have introduced iPhone OS v6, 3 full versions ahead of Flash CS5. That is not practical. Flash developers cannot maintain their apps professionally without Xcode. Right now, App Store developers are recompiling their apps for iPhone OS v4 in June, while Adobe is whining that it’s 1 year late v3 toolkit won’t work on v4. Apple is not going to hold back the platform to wait for tiny, slow Adobe.

    The high-quality development is going on in cross-platform C for native apps and in cross-platform HTML5 in Web apps and iPhone supports both. Using Flash to make nonstandard Web apps is tinkering. Wrapping standard EcmaScript and standard ISO audio video in proprietary Adobe binaries is tinkering. Enjoy! Good luck to you. But you are not meeting the professional standards of consumer platforms like App Store and HTML5.

    • All users of all devices, especially ones with Internet connectivity, are expected to be aware of updates and improvements. Windows Update, iPhone OS 4.0, Snow Leopard…all of these things are WORKS IN PROGRESS. By your logic, Apple should have had all of the features in the first iPhone, and never updated again until the iPad. As you might realize, this is unfeasable.

      The true issue with Adobe/Apple is that the two companies are not willing to work together for mutual benefit. Adobe could easily tailor updates to their platform to apply to the iPhone OS. Apple could easily allow developers to keep and update code base in your iDevice, and use it to function properly. But neither one of them will. Apple would rather have every single person on the planet using an iPhone so that Adobe will go out of business, and Adobe would rather push their own product with new features and technology so that people will continue to avoid restrictive BS like the iPhone that doesn’t let you use one of the most common elements of web design.

    • “Apple is not part of the crap-above-all PC industry, they’re in consumer electronics where stuff has to work, first time, or money back. A DVD has to work in your DVD Player, you can’t ask the user to patch it or use a different brand of player.”

      Funnily enough, though, a Blu-Ray disc does not have to work in your Blu-Ray player, and you can ask the user to patch it or use a different brand of player.

      A friend of mine needed my help to connect their PS3 to the Internet so it could download some kind of update before it would play a recent Blu-Ray disc (Angels and Demons, IIRC).

  15. With the iPhone being touch based Flash wouldn’t work. you need a cursor. The only flash that would be useful would be flash video and Ads. I use “Click to Flash” personally in Safari and load it when I want it. It’s amazing how less annoying websites can be without those stupid Flash Ads.

    I do wish we had the option to have flash video on the iPhone. I do miss that. I think the compiler issue is a little lame but I can see where they are coming from. I don’t want crappy bloated programs on my iPhone. If Adobe can prove their compiler produces products that are as good as Apples compiler then I would like to see the apps, otherwise there is enough crap on the app store already.

  16. Apple’s not Microsoft. Apple has about 25% marketshare in smartphones, and <5% market share in personal computers.

    Microsoft cannot do something like this with Windows because Windows has 90% market share. Since they have immense market power, many actions they take can be anticompetitive. On the other hand, with only 25% market share, Apple can do what it wants, legally. If Apple's choices result in a device that does not meet your needs, then you can explore a wide variety of other smart phones.

    Apple is building a device like a console. Consoles are heavily controlled devices in what they're allowed to run and have strictly controlled development. The result is that they are extremely easy to use–computer illiterates can run their Wii or Xbox without much difficulty.

    So far, Apple's model seems to be working–people are willing to pay large premiums to buy their products. Perhaps if someday we have an open device that is as secure and easy to use, Apple might be proven wrong.

    • Just because Apple isn’t a convicted monopolist doesn’t mean we can’t judge their behavior despicable. Your example of consoles isn’t accurate. The consoles block some games on content (nudity, etc.) or licensing (you have to pay Sony/MS/Nintendo just like Apple), but not because of how they were built or using what tools. I’m pretty sure plenty of console games use Lua or some other interpreted languages as part of their development.

      Ultimately, as a developer I view this as an attack on freedom of expression. My ability to express myself in a particular language versus another should not make me a second class citizen or stifle my freedom.

      • Anonymous says

        “attack on freedom of expression”?

        Jeez, get a life already. If you want to create some great work of programming artwork, use HTML5 and release it to the world. If you want to take advantage of Apple’s iPhone/iPod/iPad ecosystem then you have to follow their rules. Simple as that.

        Apple wants optimised code for their App store, for obvious reasons. If you don’t want to develop Apps using that code then go “express” yourself on Android!

      • Reuters reports:

        Beijing: Chinese government attacks human rights record of Apple

        The Chinese government today released a statement strongly condemning the human rights record of Apple because of the following practices:

        a) Apple’s ongoing attack on the international not-for-profit philanthropic organisation known as Adobe. In particular the report noted Apple’s ongoing suppression of Flash (the well known deoptimization and content delivery tax utility published by Adobe). The report noted that “this attack was particularly reprehensible given Adobe’s record of support of Apple – an example being the very quick ten year development programme Adobe undertook to produce a fully native cocoa version of Creative Suite for the macintosh platform”.

        b) Apple’s continuing overt control of the App publishing system for its own mobile platform (commonly known as the App Store). The effect of this has been to artificially raise the stability and attractiveness of Apple mobile apps far above the industry standard. A Chinese government spokesman said “its is clear that Apple’s strategy of offering five times as many Apps as its nearest competitors seriously reduces the freedom of choice of consumers”.

        c) Apple’s ongoing exercising of a monopoly business model. In particular the report notes Apples two most significant monopolies:

        – a nearly total monopoly of computer and smart phone systems designed with good taste.

        – a total monopoly of Microsoft-free, hassle-free personal computers.

        In response to these findings the Chinese government has urged Apple to act immediately to hand control of App development to third parties by allowing cross platform development packages (thus lowing the quality of Apple’s iPhone apps and ending its unfair and unique advantages over its competitors) and to immediately install Flash on all its mobile devices (so that it can destabilise and slow them down so that its competitors can catch up).

        The Chinese Government urged Apple to work with YUCK (the International Association for the Promotion of Ugliness in Computing – currently chaired by Microsoft’s Steve Balmer) in order to rapidly reduce the aesthetic pleasure enjoyed by users of Apple products. YUCK is in the process of referring the case of Jonathan Ives, the infamous employee of Apple, to the Hague International Tribunal to face charges of crimes against humanity.

        Steve Jobs, the CEO of Apple, was unavailable for comment.

  17. All of these arguments defending Apple’s moves on the platform front (often accompanied by criticism of Flash or Hypothetical Competing Platform X) had some weight with me until Apple banned Scratch from the store. To me this at least partially confirmed the “evil Apple” theory — an app whose characteristics had nothing to do with any of the things people have thrown around about Adobe, etc. was banned from the store. Stupid move.

    I don’t particularly have sympathy for arguments which begin with “Apple had to do this because of [quality|competitiveness|etc]”; the question before us is whether what they are doing is ethical, not whether it makes them money. While participants in the market have no legal obligation to ethical behaviour, they ought to still be subject to the critical thinking of consumers, and I honestly hope consumers speak with their wallet against this kind of thing.

    As others have pointed out, if Microsoft had taken these actions a decade or so ago, many of the same people defending Apple would have screamed bloody murder.

    Further, contrary to what some other people have commented here, I don’t actually consider Apple a company friendly to the web; While they may be pushing HTML5, many of their key properties that seem like obvious natural fits for the web technology stack (iTunes store being the biggest one I’m thinking of) have been deliberately kept off of the open web tech stack. And their approach to the web properties they do have (expensive subscription for .mac/mobileme or whatever it’s called these days, which is frankly not an impressive site anyways) runs counter to what the Googles, Microsofts, and Yahoos of the world are doing.

    In any case, if Alan Kay was dead, he’d be rolling over in his grave about what Apple has done to his “Dynabook” concept. What a sad state of affairs that the first company to successfully commercial market a system obviously inspired by the Dynabook is also banning the type of software (Scratch) that Alan Kay had in mind for it.

  18. Aaron Eiche says

    When the iPhone first appeared, there was no app store, no api, and virtually no options. If you asked Apple, the reponse was that they wanted people to build web-based apps. That was too limited for a lot of people, and that’s what brought about the app-store.

    Apple wants to block development of Apps because they want to be in control of the device. There are a number of reasons for this, but to name a few: Security, Profit-Stream, Approval Control, Liability… the list goes on.

    It’s not that Apple doesn’t have the guts to shut down AJAX functionality. Quite the opposite. Apple wants people to develop and deliver iPhone, iPod, and iPad specific sites with enhanced functionality. HTML5 is the top of Apple’s list to get people working with. The trick here is that on the web you can provide that kind of extensible framework, while eliminating all of those problems that Apple doesn’t want to deal with. Security is built into the Safari, nothing’s going to go outside of that. The profit stream is secure because the web will never be able to do what native apps can, on virtue of not having access to hardware (that may change). For approval and liability, Apple can shrug and say “It’s on the web…”

    HTML5 is one compelling reason that Apple hasn’t allowed Adobe to bring Flash to the iPhone OS. Now that we can accomplish all these things with HTML/JS, we don’t need to be tied to one company and one product. Apple doesn’t want you going to someone else to make stuff for the iPhone OS. With HTML5, you don’t have to.

  19. Khürt Williams says

    “Apple’s strategy of regulating which apps can run on the iPhone” is no different that the strategy used by game console makers – Sony, Nintento, Microsoft – for their products – PSP, PS3, Wii, DSi, XBox. To get a game released for the PS3 requires the use of Sony’s developer tools

    Others have suggested that the SDK changes are really about having control over changes in hardware. Apple has a long history of tightly binding OS and hardware. The company does not want to stake its strategic vision on whether some third party can produce tools in Apple strategic timeline.

    By telling developers to move to XCode tools, Apple is setting the stage to potentially switch architectures.

    “Consider a world where some other company’s cross-platform toolkit proved wildly popular. Then Apple releases major new features to iPhone OS, and that other company’s toolkit is slow to adopt them. At that point, it’s the other company that controls when third-party apps can make use of these features.” John Gruber

    The point is none of us, including you Mr Felten, KNOW what Apple’s motivations are. It’s all just speculation.

    Links:
    http://stevecheney.posterous.com/the-genius-in-apples-vertical-platform

    • John Millington says

      If the lockdown were just to make sure that software can easily migrate to newer hardware, then they wouldn’t have any problem with people writing apps in higher-level languages like Python, Ruby, whatever. Just compile CPython with XCode targeted to whatever arch Apple wants, and all Python programs would automagically adapt.

      “The point is none of us, including you Mr Felten, KNOW what Apple’s motivations are. It’s all just speculation.”
      It’s reasonable speculation, though, and no reasonable alternatives have ever been voiced. Which is more likely?
      1) Apple wants a piece of the action on every native software sale, because they’re a for-profit business and a large-enough part of the market has decided that they’re ok with that.
      2) Apple DOES NOT want a piece of the action on every native software sale, and they regret that it currently has to be this way, with Jobs sighing and shaking his head with a sad look in his eye, every time an Apple store sale is made and generates revenue for Apple.
      #1 is really merely speculation, and in the same league of plausibility as #2?

      • Anonymous says

        You just completely ignored:
        “Consider a world where some other company’s cross-platform toolkit proved wildly popular. Then Apple releases major new features to iPhone OS, and that other company’s toolkit is slow to adopt them. At that point, it’s the other company that controls when third-party apps can make use of these features.”

        If Apple would introduce a feature that people really want to have (for example multitasking) through new APIs, the popular third party toolkit(for example flash) using that toolkit to be able to use the new feature (multitasking).

        Now imagine that this software (flash) would have a long release cycle (18 months is very long in technology world), this would mean there’s a chance that developers would have to wait around 18 months (bad timing happens) before they can even start developing their apps further using these APIs.

        After that the app has to go through Apple’s approval process. And in the worst case scenario people have to wait for more than 20 months before they can profit from apple introducing new features in their OS. Would you want that?

        • There are plenty of options before you reach the ban-hammer. Obviously you have some way to detect these special apps, why not throw up a warning to users like:

          ‘This app is built using a 3rd party toolkit. Future iP* releases may break this application. We recommend using an iPhone native app if possible. Continue?’

          I am not saying this is what I want, just that in the spectrum between ‘free and total access’ and ‘no access to unproved development methods’, there are other middler grounds.

          Apple’s point is not to lock users in per se, but to lock developers in, which hurts them and Apple’s competitors, more than it benefits the users. Presumably there are 100’s of thousands of apps out there that already don’t take advantage of multitasking. I doubt there will be some big problem because of that.

  20. “…there is an enormous EAW-type system that Apple hasn’t had the guts to block: the web. ” I think this is Apple’s point. If you want native apps you play by Apple’s rules. (I don’t always agree with them either, but I also don’t always agree with State legislature either.) If not, then there is the open web. Apple has put a lot of effort into advancing and promoting web standards. If you remember, Web Apps were Apple’s original answer to how developers could reach customers on the iPhone platform.

    I don’t think Apple wants to control the open web or even close the “loop hole”. I think Apple always intended for the open web to be the App Store alternative.

    A quick example is Google Voice app VoiceCentral Black Swan from Riverturn. (http://voicecentral.riverturn.com/) After they were first accepted into the AppStore and then banned, they turned around and made a very capable web app that has the feel of native app.

    • You are misunderstanding. Any developer that is disallowed from having their app in the App Store has instantly wasted however many hours (months) they spent developing their product!

      Say you took three weeks of your life to make a beautiful wooden rocking chair. You chopped down the tree, you sanded the wood, built the joints, varnished it all. It looks great, it works great. But when you go to the store to sell it, they won’t let you, because you didn’t use the Store Approved Brand of Hammer in the construction of your chair.

      Instead of making money, you’re stuck with a chair. The best thing you can do is put it on your lawn with a donation box next to it.

      This is the ‘acceptable solution’ of putting your hard work into a Web app format. No money for your work, nobody will see your work, and 95% of the time, your work can’t even be USED in that manner (since web apps can’t access the hardware, which is sort of the point when developing an iphone app instead of a web application).

      You don’t really seem to understand how this system works. You see, if Apple is not profiting immensely, you don’t even get to play the game. And they’ll do anything to keep it that way.

      • First of all, you are wanting to make money in an environment that apple created. Before The app store, there was, need i say, not so much interest in the mobile phone application market. I mean, it was there, but hardly in demand until apple introduced iphone. Now, folks are mystified as to why apple wants to keep making money off something they originated in the first place, the app store? Please show me where you can have such a vested interest in another phone market? The complaints i hear seem to come from folks who want to make money selling apps to iphone customers. Its like getting mad at microsoft for having to build an app made for windows. If you want to make money building apps for apple products, then do it their way, dont get mad because you cant. Its that simple.

        • Anonymous says

          You sound like an Apple rep. ehhh.

        • You don’t have to go through an elaborate vetting process before being allowed to sell an app for Windows. You just have to make it and try to sell it and the market decides.

          If Microsoft made Windows only able to install software from “the Microsoft Application Store” without complicated and risky jailbreaking, and you could only sell through “the Microsoft Application Store” what Microsoft decided in Its infinite wisdom to allow (and that generally did not include anything that competed with IE or Office, so Corel could not sell WordPerfect, etc.), would you still have no complaints about the matter?

          P.S. How come comments are still open on this post, but closed on the one above it? The one above this one is younger, is it not? I thought it was a simple cut-off time, which I’d estimated at two weeks; instead it seems to vary from post to post in an unpredictable way.

          How about getting rid of it entirely and using a captcha to limit spam?

      • From Gonzobot: “You are misunderstanding. Any developer that is disallowed from having their app in the App Store has instantly wasted however many hours (months) they spent developing their product!”

        I think YOU are misunderstanding [sic].

        No one is ENTITLED to have their app in Apple’s store simply because they spent a lot of time on it. There are two different categories of rejection. “Reasonable” or “unfair”. “Reasonable” means that if you READ their agreement, you could reasonably understand that your app might be rejected. “Unfair” means that you think you could not have forseen a rejection, give that other apps of the same type already exist in the store OR the rejection was on highly subjective content-related issues (objectionable content, more relevant before the ratings were added) OR that rejecting your app was because it duplicated functions of Apple’s included programs (which often seems ridiculous).

        So, if you released an emulation program that lets people run other software not created for the iPhone… expect a rejection (count on it). If you create an app with hardcore porn in it, expect a rejection (like the sun rising). If you don’t like these rules… guess what? DON’T PROGRAM FOR THE APP STORE!

        Moreover, if you don’t GET why Apple is sensitive to other companies controlling how binaries are made on their platform, then you don’t appreciate Apple’s struggles overtime to adopt new architecture standards like 64bit, or switching to Intel, or even this switch to multitasking. Developers should have a relationship with Apple and they should be familiar (at the very least) with Apple’s API updates and IDE. If Apple’s IDE is on the Mac OS, and Adobe has people creating iPhone apps on Windows… how much of Apple’s developer assumptions get thrown out of the window? If they make a massive change in their OS, how much do they become dependent on disclosing to 3rd party companies like Adobe how to compile to it… and how long does it then take Adobe to implement changes… and how long does it then take Adobe devs to use Adobe’s new update to implement Apple’s new changes? Past experience? Years and years.

        Apple has an opportunity to continue their mobile platform in the vein that many GAME SYSTEMS currently do. Tight controls minimize disruption to developers later. It all makes sense if you don’t start from the assumption that anyone but Apple is entitled to control their platform. Apple built it. They have a vision of where they’re going. Let them give it their best shot. They’re climbing steep hill, and they’re out in front. This will become more and more obvious as others attempt to do the same things (re: iPad / multitouch / mobile OS).