Good to see a little common sense prevailing. I use Lua in my game engine, and it is a very good language for embedding in an application. It is much more efficient to call into than Javascript, for example. This is more about the logical segregation between engine developers and game designers. Scripting (especially event-driven) better suites game designers, who often are not hardcore developers that have a firm understanding of Objective C, C++ or C.It's not even about portability - pure C and C++ (not dependent on any external APIs besides that of the game engine) is even more portable. It's about using the proper language for the job.

Doesnt seem like common sense really prevailed to me. You could expand your argument to include game designers who prefer ActionScript, but they are still SOL.

The way I read this (minor) language change is that interpreted code is still generally prohibited, but you may ask for Apple's written consent to have an exception made for your app. Not what I would call a huge "easing of restrictions"

Sounds like they just realized they shut out half of the game devs already on their platform and are only halfway back pedaling to a point where those that were shut out now have to ask politely (and hope) to be let back in.

More likely just fine tuning the policy to keep crap like Flash out while allowing for better uses that were previously excluded. Seems pretty obvious unless you haven't been paying attention to the evolution of their policies or know much about running a business.

But if thinking that Steve Jobs is scared makes you feel better, I guess no one's going to stop you.

Yeah, I'm happy to buy it as a coincidence, but it's certainly an interesting one as it could lead to lot of different perspectives.

Is it Apple muscle flexing or was it something in the pipeline for a while? Is it going to go be a detriment whilst an investigation is going on? letting smaller players in meanwhile leaving the bigger players on the road side (showing even more anti-competitive behavior)

There are two separate inquiries going on. One about their restriction on programming language you can develop for iPhone in (apparently there is a chance that could be called tying) and another related to their advertising rules.

Scripting (especially event-driven) better suites game designers, who often are not hardcore developers that have a firm understanding of Objective C, C++ or C.

Scripting better suits game developers who are hardcore programmers as well. You don't need to recompile when you change a value. You just need to reload the lua. Really helps a lot when you;re using trial and error to get a value correct.

Nobody is served by the dimwit developer who bundles a language runtime and several libraries for the appstore equivalent of hello world. One suspects this is what Apple really wanted to avoid.

Except they already have full control over app approval, and thus quality control. With the current abundance of Hello Fart World apps out there, I can't see how this is a valid issue. Like most of Steve's reason's, it has no basis outside the Reality Distortion Field. There are some valid reasons like you said, but this for sure isn't one of them.

Since they started requiring bundling large amounts of runtime, interpreters and library code with every program written in them. That may be ok for a desktop system where you can either use the system Python/Ruby (on linux) or bundle Python/Ruby (on Windows) but its not OK for a mobile app to be shipping large amounts of runtime and library code.

Which is why they should've included Python, Ruby and Lua interpreters *with* the system so that app developers can use them without needing to redistribute them with every copy of their apps. You know, like OSX does on desktops?

And before you complain about 'size' and 'bloat' I'll remind you the Lua runtime is 130k on my Debian system, and while typical Python and Ruby installs weigh far more, you can strip a lot of libraries from them and get something that's much smaller while still being useful to the a

its not OK for a mobile app to be shipping large amounts of runtime and library code.

Says who? The users are the only ones who can reasonably judge this, and I don't think they care, if the app does what they want it to do. And if your app is bloated and does little of use, it will be ignored. We call that "free market" and "customer choice".

At least Python users generally admit that they're using Python as a prototyping language, just because it allows for quick, but shitty, development. When their idea is somewhat proven, then go back and rewrite it using a real programming language like Java or C++.

You mean like Youtube?

Python is fast enough for our site and allows us to produce maintainable features in record times, with a minimum of developers.

Or like EVE Online?

Python enabled us to create EVE Online, a massive multiplayer game, in record time. The EVE Online server cluster runs over 50,000 simultaneous players in a shared space simulation, most of which is created in Python.

As an avid EVE player and an experienced software developer, I can confidently tell you that from the perspective of software design and development EVE is a pile of steaming crap. Every new release breaks existing features and known bugs last for years. Much of the code, the developers themselves have admitted, can't be touched anymore because nobody understands how it works. Instead of fixing bugs, they write new features which are released unfinished and then promptly forgotten when the next expansion is

Ruby users, on the other hand, are usually quite ignorant of other technologies. It becomes the old when-all-you-have-is-a-hammer scenario. They try to build large systems using Ruby (see Twitter), which then subsequently perform like utter shit (see Twitter), and finally prove to be unusable (see Twitter).

I disagree. I think a better example of your scenario would be Twitter.

In fairness, MonoTouch's interfaces are a pretty tight mapping to the SDK, which makes sense, considering it compiles to native. As does the Unity toolset etc, and even Flash, as it were. The entire runtime isn't bundled in, just what's needed for the cross compiled app o run. Which is still build on Macs, and in the end still compiled with XCode & via Obj-C.

I'd been considering MonoTouch as a path to the iPhone, but now, I'm just sticking with Android.

So.. interpreted is not ok atm, but might be ok next week.Cross compiled flash is not ok now, but might be ok if server side translated to be displayed.Showing too much on a desktop picture frame still gets your app removed.Flash (that'd allow more apps to run, just no totalitarian control of the app market) will never be allowed.Gotcha.

The iPlatform is not really for people who develop for the sake of development - they'd never consider such a stifling platform. It's more a financial investment risk: things could pay off and you could end up very rich, or you might just find you've just poured time and money down the drain.

It's like asking why companies go into China: is it because business there is fair and open, and everyone has the free opportunity to exchange values and end up richer? Or is it because, if you dance the right dance, you might just be able to take advantage of a restrictive environment rather than having that environment take advantage of you?

Personally, while "officially" China is a very restrictive country, I think the Chinese are much more relaxed and flexible than Americans (U.S. Americans and Canadians both - I had the doubtful pleasure of dealing with both as manufacturers).

In China, there's much less sense of entitlement. This means that:

A) Your project matters to them. If you take enough time and attention to talk to their engineers, you'll see that they are often (not always, of course) both smart and resourceful, and will generally want to work with you.

B) They will not apply rules like automatons would, just to get out of work. Typical US excuse: "we are not allowed to change the production process without a written ECO and a re-quote" - never mind that basically adds a week of downtime to any "experimental" change, and allows the manufacturer to sit on their ass for a week. Or, "well, I guess we'll have to wait until we have the intermediate product before we start making tooling for the next step, you know you can't trust those thar CAD drawings of yours."

C) Unions. It's very "amusing" when you move a piece of equipment from one room to the other (on casters no less), just to get written up for not requesting a union employee. This usually takes at least 4 hours to get sorted, usually a day. The problem with unions is not that they don't want to do any work, but that they don't want anybody to do any work that they are also not doing.

As an engineer, who has absolutely no financial interest in the cost/profit from my designs, I would still very much prefer to manufacture in China.

Perhaps you haven't compared classical Western to Chinese engineering. Perhaps you are too young to have even experienced Western-engineered technology, and everything on your desk was Made in China. Perhaps you don't know what it's like to have a 20 year old calculator with buttons as comfortable as they were the day you bought it; perhaps you're cool with a disposable printer rather than something churning out smudge-free printouts as well as it did in '95; perhaps all your capacitors are lucky enough to retain their sleek and slender shape. Or perhaps you like the upgrade treadmill and think that repairing rather than discarding is something people should only have to do during wartime.

The Chinese approach is simple: make something which works well enough to be sold now and hopefully won't break down in the next couple of years. Interfacing and reliability aren't problems because you want your clients to be locked into your system and to upgrade before things start going wrong. Decent documentation for interoperability and long-term maintenance is a pipedream, and wouldn't be worth requesting anyway because processes are so lax: see post above.

I can't entirely disagree with what you are saying here, but there are two points to note: if you specify expensive parts and decent quality control in China, they will go your way. Just look at Apple - their products are widely considered to be better quality than for instance MSI, and they are both made in China. You will, of course, pay a premium for this - and most companies do not want this. So as an end-user, you are most familiar with crap quality from China.

I can't entirely disagree with what you are saying here, but there are two points to note: if you specify expensive parts and decent quality control in China, they will go your way. Just look at Apple - their products are widely considered to be better quality than for instance MSI, and they are both made in China. You will, of course, pay a premium for this - and most companies do not want this. So as an end-user, you are most familiar with crap quality from China.

The other point is that United States manufacturing is almost non-existent now. Trying to have a device manufactured in the US is hard - most of the remaining manufacturers are actually set up for military contracts with high margins and fairly old tech.

Manufacturing is non-existent because congressional leaders didn't give incentives to develop and manufacture at home, but actually encouraged and gave incentives to manufacture abroad to get dirt cheap crap coming in from overseas. As a mechanical engineer I never was less impressed with my fellow senior engineering students than I was with the chinese group. Nice guys but not at the head of the class, unless you consider mass cheating the head of the class. The Indian, Japanese, Persian students were alw

Wait a minute. That's not necessarily the Chinese approach. That's just the approach of foreign companies trying to save a few cents. Chinese manufacturers can and do make quality and long lasting products. The problem is that their foreign customers (with a handful of exceptions) generally don't want to pay for the testing necessary to do that.

I do believe in buying reliable products that last. Really, I do. I think it's a ridiculous waste when we buy shoddy products that we end up tossing in landfills a few years down the road when they break down.

However, as a thought experiment, have you ever considered what would happen if all American made products became more reliable? Eventually sales for these products would slow (since we're replacing them less often), which eventually would lea

The iPlatform is not really for people who develop for the sake of development - they'd never consider such a stifling platform. It's more a financial investment risk: things could pay off and you could end up very rich, or you might just find you've just poured time and money down the drain.

Help me, who did ever get rich through a iPhone App? And how does that compare to playing lotto [app fee]?

It's more a financial investment risk: things could pay off and you could end up very rich, or you might just find you've just poured time and money down the drain.

Investors dont like risk.

Apple would have been better off in the eyes of financially minded people without making this change. Apple changing their minds every second week means that a product that you start developing for todays rules may not fit the rules when it is released in six months. That represents a very big financial risk, already

The thing is, developers with great ideas generally don't spend so much time focusing on the negative side of things. They're so focused on their great idea that they'll see if it's viable then get to work. While some people are worried that their app might not get approved and spend their time bitching and moaning on Slashdot about Apple's draconian policies, others are already convinced they won't have any problems, and most of the time they're right.

You're forgetting that 95% of applications submitted to the App Store were developed in a couple of weeks, cost a couple of dollars (yes, yes, $3.87) and are worth maybe half as much.

A platform is interesting when risky, groundbreaking development occurs, the result of teams taking months to perfect something new and useful. A 1 in 20 chance of delay/rejection due to bureaucracy is then not worth the risk - but the 1 in 20 is a best case figure, and for a significant app the chance of problems, including outright rejection because you're competing with Apple, is much greater.

Well, according to Apple the top three reasons why those 5% of apps were rejected are:1) they crash (apple doesn't want rotten fruit in its shop)2) because they don't do what the developer says they do (lemons instead of peaches)3) third I forgot (perhaps the use of non-public APIs. If Apple changes those, the third party apps relying on them wouldn't work; see #1)

Those are the top three reasons because few people even bother writing the interesting apps anymore; just to name a few that ought to be there:

- Bluetooth DUN

- USB 3G modem driver

To what end, exactly? To tether your device? That's a part of the OS. If you can't do it, it probably means that you're in the US, where AT&T didn't allow Apple to enable it on the devices.

- custom touch keyboards

This would be nice, but it wouldn't exactly be an app. It would be replacing driver-level components. There are serious pros and cons to allowing this no a platform.

- non-Apple music and video stores

Has any music store tried to write apps? I mean, you have alternate music options with Pandora and Rhapsody on the iPhone, and Rhapsody is very much like a store--you can download the music and then play it offline.

- in-device software development

Why would you want this, out of curiosity? It seems like developing with a touchscreen device would be annoying.

- WiFi music sync

This would be very nice. If you Jailbreak your phone, you can buy an app that does this. There's no damned good reason for Apple to not develop this officially.

- on-device file management

Files? What are files?

With iOS, Apple is trying to make a simple, yet powerful device. They are trying to abstract away the concept of files. Any app can let you manage its own data files however the developer wishes.

- full synchronization and backup with box.net

What does this mean exactly? Full backup? Of what? Apps and app data?

box.net, from my glance at the website, looks like just a file dump. Kinda like dropbox. Is it more than that?

Besides, an app wanting to do that would have to have access to lots of things outside of its sandbox. One of the nice things about the iOS platform is the segregation of apps, meaning it's much harder for one app to compromise you. Again, this is a situation which has pros and cons. The major pro is security. The major con is flexibility. It's a design choice where there is no right answer.

Why would you want this, out of curiosity? It seems like developing with a touchscreen device would be annoying.

Even Nintendo, which ordinarily has an even harsher stance toward third-party developers than Apple, has made a product for limited, in-device software development on a Nintendo DS. It's called WarioWare DIY.

Files? What are files?

Self-contained data objects in an application's storage.

Any app can let you manage its own data files however the developer wishes.

The trouble comes when a developer either (out of malice rationalized as a business model) wishes that users not make a backup or (out of negligence) forgets to implement backup.

This would be nice, but it wouldn't exactly be an app. It would be replacing driver-level components. There are serious pros and cons to allowing this no a platform.

What exactly would be the cons of allowing this? On Android there are a wide variety of 3rd party keyboards for various input methods that Google doesn't have the time or interest to implement. Seems like an exclusively good thing for Android users.

This would be nice, but it wouldn't exactly be an app. It would be replacing driver-level components.

No more like accessing an API. You dont need to replace the driver on Android you only need to interface with it. Your application controls where on the screen a key is and how it can be access (length of touch, deadzone around the key and so forth) meanwhile all the API needs to know is that "A" was pressed. Very simple really, I dont know how Android does it, that I just figured out off the top of my hea

What the GP means is an alternate distribution method. Nice way to twist his words. Realistically you should be able to install from any source, including the Internet.

The GP lamented that there were no interesting apps and then noted music stores as one of the interesting apps he'd like to see. There was no twisting of words. It was a direct reading.

- WiFi music syncThis would be very nice. If you Jailbreak your phone, you can buy an app that does this.

Why should you need to Jailbreak to get an application for such basic functionality. Android has been able to transfer files wirelessly (that is what it boils down to) since I started using it at version 1.1 via a thrid party program. In 2.2 it is a standard part of the OS.

And you conveniently failed to quote the part of my post which said:

There's no damned good reason for Apple to not develop this officially.

Nice marketspeak, I'll translate

An unnecessary attack.

What Apple are doing is obfuscating file transactions by providing an extremely limited custom interface which hides file transactions from the user. In no way are they eliminating the concept of files, rather just treating the user like an idiot and hiding the actual transaction from them.

Yes. They're trying to make it easier for their users. That's what you apparently fail to grasp. Not everyone wants to manage files.

It's not like Android can manage separation of user permissions without compromising the entire device. Your excuse for the lockdown is bunk, you need not restrict the entire user just to protect them, you need only to restrict application from accessing the parts of the OS (API) that it doesn't need. This can be accomplished by explicitly granting permissions during installation and explicitly denying access to all other functions. You know, how Linux security works today.

I like Android's approach, to an extent. I like seeing what an app might do, and being able to deci

And have what happened to Google and Adobe companies happen to them? What's the point?

This is pretty vague, but I don't think it's fair for you to complain about companies not trying to do something because they're scared of Apple. You don't know what would happen if they tried.

So is it that you want apps to be able to modify the music database on iOS directly? Then I suppose apps aren't allowed to do that. But it's not exactly the same thing as just writing a music store app. Once useful multitasking comes to iOS, maybe we'll see someone write a music

The only conclusion that I can come up with for this is that there may be some agreement or licensing issue with syncing over WiFi that is holding it up. For a company like Apple, implementing that in software would be trivial.

You're grasping at straws here. Other platforms offer this without getting sued, and it's not like Apple has shied away from infringing on other people's patents. You can even get it for a jailbroken iPhone. If Apple really were worried, they could simply let third party developers

Apple is acting worse than Microsoft has ever done. The have developers jumping through hoops.

"No we won't allow non-objective C so your investments in your app are worthless.""Oh we're getting bad press now? well we'll allow it then for a while.""Storm settled? let's forbid it again.""Antitrust investigation? Hmm let's allow some for a while again"

My business has decided against investing in the iPad/iPhone development platforms. The uncertainty and unreliability of Apple management are too great a risk.

It sounds like through risk-benefit analysis you figured out Obj-C is the safest (but not foolproof) way to develop for the iPhone platform. From the tone, I would guess that you have no money invested in Obj-C developers, so the safest way out of this mess is to avoid it all together. At least, that is how I interpreted your post.

No, it sounds like to me he came to the same conclusions as I did -- If I buy some more hardware, developer SDKs, and invest a few man-months in bringing a team up to speed on iPhone development and build an app -- there is very real possibility that I will not be permitted to sell the resultant software. Worse yet, there is no fixed set of rules which I can follow which will guarantee that I will be allowed to do so.

What this means, then, is that there is a non-zero chance I will piss all that money down the drain and have little to show for it except some toys. That is completely unacceptable from a business perspective; unfortunately, I am prohibited from gambling with company money, which is exactly what this is -- a poor draw of the cards can result in a total loss before the sales chain even enters the equation.

Good points; the iOS (hate the name!) development seems to favor the startup mentality rather than a corporate cycle. But, all this really means is you start with fewer monolithic projects, and chase larger projects as you gain experience with the process.

$1B in developer income to-date isn't enough for a $1MM project, but a $10k project can be viable, even with the extra 5% rejection risk.

How is this any different than any other new product? Ever new product has risks, and that risk is that your consumer will not be interested in your product. In the case of consumer products this often means that distributors have to take interest in your product as distributors are the real consumer of the manufacturer. In this case Apple has to take interest in your product since they are the only consumer for developers of iPhone applications. If you wrote an application and neither walmart or best by would distribute it, you would be in a very similar position. If you wrote a Console game and the console licensor would not accept it (as is the case with all adult rated games in the US) then you would be in the exact same position.

Creating new products is a risk. If you don't want to take that risk, then stay out of the business of creating new products and leave that to people that are a little less risk adverse.

Because the rules to sell your product in all other industries are far more consistent, and even if Walmart and Best Buy refuse to stock your product you can always sell it yourself. Apple controls the *ONLY* way to reach your customer base (no, buying a dev account for every hundred customers isn't a possibility) and their rules change pretty much every day.

You make the comparison to adult-rated games and its an apt one, but how large is that market compared to the whole of videogames? that's the future of the App Store unless Apple grows up and provides a set of clear and consistent rules that developers (and, most importantly, managers) can work with and rely on. And stop trying to use their customers as ammunition against Google, for God's sake.

But the risks you mention are on top of, not instead of the blurry policy risks from Apple. This makes such an investment more risky. And with the competition and pricing model where it is, it simply isn't worth the risk. Higher risk for lower margins isn't a recipe for success.

Apple is acting worse than Microsoft has ever done. The have developers jumping through hoops.

/p>

Try developing for a windows mobile and you will find its not all that much different. Remember this is not the desktop world we are talking about which is totally open.. This is the cellphone market, traditionally somewhat closed, for good reasons.

Actually, for Windows Mobile 6.x, you can quite literally write whatever you want and your users can install it. Yes, it is possible to restrict installations only to code signed by specific certificates and this is a relatively common practice on Windows Mobile 6.x Standard, but I've yet to encounter a single WM Professional phone that had such restrictions in place out of the box. This is why you can download software such as GSPlayer, GPSTestTool, and the like for free, or hop over to Handango and buy and install whatever you want. If you're up to it, you can even download the SDK and write your own software without having to pay Microsoft a single cent.

Now, Windows Phone 7 is substantially more restrictive in what it can run, but Microsoft doesn't:* Restrict what ad systems you can use* Arbitrarily deny specific development languages (the only restriction is that the code run on the Silverlight version of the CLR; this means you can use F#, C#, VB, Python, and even COBOL)* Ban the use of interpreted code, so you can write emulators in the CLR language of your choice

Microsoft has also said that its final app requirements won't include any wiggle room for random app denials, and they've also strongly implied that the testing process for app approval will be at least partially automated to remove the possibility of an angry or prudish tester zapping your app. They've also said that they're working on parental controls and intend to allow mature content once that's in place.

So, how again is Windows Mobile or Windows Phone development substantially similar to i-device development?

As I understand it, Microsoft isn't treating Windows Phone 7 as a "third pillar" the way Nintendo does with its new consoles. Once Windows Phone 7 comes out, Windows Mobile (6 and below) phones will no longer be sold.

As long as Apple's actions continue to improve (or at least don't diminish) the user's experience, then F' em. The developers are there to serve the user (as is Apple itself) and having a gatekeeper to ensure that happens is a fine thing.

It may be a walled garden but if it's well tended then that's ok. If you want to live in the jungle you have that as an option elsewhere.

Anyone writing an app that takes more than 1 person two weeks to create, like those real, groundbreaking apps that aren't rehashes of another app that's already been done, aren't going to waste their time with a company as inconsistent as Apple when they have other platforms to develop for.

Ah, yes, the padded numbers from the 2 for 1 Verizon promotion, and the slump in numbers because the iPhone 4 release is very soon...

Numbers for 1 quarter don't tell the whole picture, although I am glad Android is doing well - competition is good for all.

This has come up in discussion before - 95% of the apps submitted to the store get approved, and any company that is serious about making a living from mobile development is *crazy* to ignore a 100 million user base just because they think it might possibly cost them a little bit extra in development. If your company cannot afford to "take the risk" (ie, developing an iPhone app that is rejected would cause the company to fold) then it has bigger issues than a potentially "inconsistent" company.

"Wasting their time" developing for an app that (for conservative estimates, ignoring older phones), is available to 50 million customers... right.

If you are serious about development in the mobile market you are crazy to ignore the iPhone - the user base is enormous, the app store is centralised and it continues to grow.

It would be the equivalent of being a scissors manufacturer, or a can opener maker and not making a left handed version for the cost of development. Even if the left handed population is small, relative to the whole (10% approx), it is still a market that is worth developing for. The iPhone is a significantly larger portion of the smartphone market than 10%. Ignoring it because you are worried about a serious minority of app rejections is just not good business sense.

By all means, develop for Android (especially with the rise in handsets and users - it's a clear emerging market), but any sensible business will also be "risking" iPhone development.

Oh I'm not, just handwaving them away. However, you have to consider it from both sides - you can't just start proclaiming how "Android is overtaking iPhone!!!" and then show those single quarter results while neglecting to mention two very salient points: that the iPhone 4 is coming out very soon, so iPhone 3GS sales have dropped off, and that Verizon was running a 2 for 1 deal on Android handsets to boost sales.

Of course the handsets are there - no one is waving them away, but if the crux of an argument

Anyone writing an app that takes more than 1 person two weeks to create... aren't going to waste their time with a company as inconsistent as Apple when they have other platforms to develop for.

Ok, seriously, how do people even remotely believe this? Go have a look at the app store and browse through the thousands and thousands and thousands and thousands of apps that are available. Take a moment to pay attention to the development studios involved in many of those apps. Take a moment to contemplate the development time involved with many of those apps. Now, take a look back at your quote and see just how utterly fallacious it is. There are apparently plenty of developers "wasting" their time dev

it's not hard to understand at all, but the key thing is that the vast, vast majority of apps are approved, and ignoring a potential 50+ million user base because a small minority of apps get rejected (and you can resubmit for approval) is just not good business sense.

I'm not sure what part of "maybe get rejected so DON'T EVEN TRY" vs "50 million potential customers can buy my app" is hard to understand.

it's not hard to understand at all, but the key thing is that the vast, vast majority of apps are approved,

The "vast, vast majority" of those approved apps are trivial exercises, a week's work at most for a competent basement hacker.

Complex, interesting applications are extremely risky to develop under Apple's TOS, and the more interesting they are, the riskier. Why should anyone spend several man-years and hundreds of thousands of dollars writing for the iPhone/iPad platforms, if they see other people who

Now you're just being silly. "Professional developers will not take their platform seriously until they stop doing that." - this is an opinion, not a fact. It's also far from true. There are many professional developers taking the platform seriously with successful apps.

As much as you want it to be true to support your bias, I'm afraid it's just not so.

Exactly my point. If you don't like the terms then go do something else. It seems massively stupid to pass up such an opportunity, but really we don't need you if you don't want to play. Got it? So don't stand here complaining all day, you get nothing done and we're getting tired of all the whining.

Or do you really believe a post on Slashdot will change everything? Boy have I got some unicorns to sell you!

It's just hit me: The prohibition on interpreted code taken literally might prevent someone making a graphing calculator app and implementing the graphing functionality by translating the equation into RPN code for a very simple stack-based virtual machine, and then interpreting that for each point. I assume that's the standard way to implement graphing, since it's a waste of CPU time to parse infix notation for every point (when I wrote a graphing calculator app for the Z80-based Sharp Wizard 7xx, that's

The prohibition on interpreted code taken literally might prevent someone making a graphing calculator app and implementing the graphing functionality by translating the equation into RPN code for a very simple stack-based virtual machine, and then interpreting that for each point. I assume that's the standard way to implement graphing, since it's a waste of CPU time to parse infix notation for every point

Parsing expression for every point still makes for an interpreter, actually. It's just not a bytecode interpreter, which is a subset. But then e.g. bash isn't using bytecode, either, and yet it is clearly a scripting language.

against Adobe's Flash-to-iPhone compiler as part of Apple's broader effort to keep third-party meta-platforms from eroding the user experience and stifling innovation as developers become reliant upon them to roll out support for new features introduced by Apple

Translation: "... Apple's broader effort against a fair and competitive market place, and their attempts to translate their early lead into a monopoly".

What they are afraid of is people using non-Apple music and video stores and people creating applications that also work on Android. And in doing so, Apple stifles innovation and manages to extract more money out of people's pockets.

After listening to an Apple fanboy explain to me why pressing a green plus symbol makes perfect sense for shrinking a window, and how it makes total sense that pressing a red X closes some programs, and leaves others running, I am no longer surprised at anything that gets accepted by some people.

What they are afraid of is people using non-Apple music and video stores and people creating applications that also work on Android.

Apple allow non-Apple music and video solutions - they allow e.g. spotify, wimp, netflix and many more. The latter is definitely one of their targets - not because they don't want things to work on Android, even though not being able to share the costs might be a fringe benefit now that the iPhone app market is so dominant. Their real goal is to avoid development environments that abstracts away their platform - and target the lowest common denominator, and won't give access to new iOS features when available.

As an iphone user, I really hate and love their approach. I dislike that I can't develop what I want. On the other side, the quality of the apps is higher - and I prefer a phone experience with no flash. Probably without iAd too, I don't want rich, intrusive ads.

What scares me more than their technical requirements, is their content censoring [gizmodo.com]. I don't want a walled, Disney-like "think of the children!" world.

as to the new iOS features, that's crap.. if you're writing an app on that toolset, you don't have/need said feature... and if you do, you use a different tool, or bitch to the tool vendor, not apple. We only allow approved skateboard manufacturers products in our skate park, because we may add a new safety track that nobody supports today.

Apps have been rejected for no good reason whatever. Even apps that have been approved at a certain version, their updates have been rejected. For no good reason. The process is absolutely capricious and you can never, ever be sure your app will be approved in the Apple store.

All the restrictions are still in place, with the added restriction that your competitors may have the restrictions waived if Apple fancy it. Like for the "Boobs" restriction, this probably means small independent developer can't do scripts (and can't do boos), but big-money conglomerates can. And even if you manage to snag an exemption, it may be cancelled at any time... but then again, so may your Appstore listing in any case anyway.

I'm glad that I'm not a developer and that, as a consumer, I can tell App

Before we had a straight-forward, written, rule. Now we are back to the usual app-store situation where we have a rough idea of what will get blocked, but Apple reserves the right to block things for whatever reason it wants.

Many people on this thread have a very skewed picture of iOS development. I have released three fairly large iOS projects (i.e. months to years of development rather than a few days or weeks like so many toy apps). The first was a smashing success and our 3-person development company was acquired for it. The acquiring company is now my employer so I won't name specifics in this case. The second was an independent iPhone app I wrote that was a total flop. The third is my new independent iPad project called Stash that's doing pretty well so far: http://stash.hedonicsoftware.com/ [hedonicsoftware.com]

Just the existence of Stash on the App Store - basically an app for porn, though it doesn't provide the explicit content - is evidence that Apple isn't nearly as draconian and capricious as many in this thread are portraying them to be. If you create a high-quality app (or hell, even a low-quality one so long as it doesn't crash) that follows their general guidelines and doesn't try to take over basic functions of the iPhone, you won't generally have a problem. Sure, there are famous counter-examples, and I really feel for those developers. I can't imagine a more frustrating experience then pouring your time into something that's rejected outright. But it doesn't change the fact that these are the few exceptions in a vast sea of approvals or justified rejections (based on the three points that Jobs outlined). Moreover, in my experience Apple is getting much better about working with developers to get apps their approved. It's still a slow process - the last release of Stash was delayed without feedback for over 2 weeks, which felt interminable - but they eventually call and tell you about any solvable issues and give you a chance to correct them.

I'd also like to point out that outside the pain of dealing with the review process, iOS development is a lot of fun. Someone on this thread said no one is in the App Store simply for the love of programming, but I strongly disagree. Apple provides some really nice APIs, and it's relatively easy to create something that looks and feels smooth and professional. I'm currently working on an Android project for my employer, and it's a real chore compared to iOS dev. I don't care how "open" the market is or even how powerful the SDK is if I hate coding for it and need a graphic design team to make it look decent. People forget that Apple/NeXT has been in the GUI framework business for a long time. They know what they're doing. They also seem to be good at letting their internal APIs fully bake before including them in the SDK, which results in a much higher signal-to-noise ratio than in Android, where everything feels over-engineered. I recently read an article by another iOS developer that sums up my feelings pretty much exactly: http://iphonedevelopment.blogspot.com/2010/03/android-sdk-from-iphone-developer.html [blogspot.com]

That's my 2 cents. YMMV. But if you're interested in mobile development at all, you owe it to yourself to give iOS development a shot.

Just the existence of Stash on the App Store - basically an app for porn, though it doesn't provide the explicit content - is evidence that Apple isn't nearly as draconian and capricious as many in this thread are portraying them to be.

Given that we've seen a bunch of cases where an application was approved for N major releases, and then blocked in (N+1)th, over the feature that has been present in it from the start, I dare say that this doesn't prove anything.

Now, if you want to have some proof - write an anonymous hysterical complaint about your own app ("porn! think of the children!" etc) to Apple, and see if they tell you to GTFO, or re-review and pull the app down. If you're that trusting of Apple, I dare you to do this, and post the result of this little experiment on Slashdot.

How dare you say anything semi-positive about Apple! As if anyone reading a "news for nerds" site would be interested in development environments, well engineered APIs, or such. Anyway, you must be lying cause I heard that only people that don't understand computers like Apple products. So if you appreciate Apple's development environment and APIs, you can't possibly be a programmer and therefore you haven't worked on any apps.

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).