Apple's iPhone 4 SDK license bans Flash, Java, Mono apps - Page 2

I like Apple less and less with everything they do like this. What business of theirs is it what tools a developer uses? The app that results runs natively... I REALLY don't like the following:

"The prohibition may also be a roadblock for Appcelerator and its Titanium SDK or the similar PhoneGap, both of which are designed to build native mobile apps using web technologies such as HTML and JavaScript. The clause specifically limits JavaScript for use in web apps, and does not allow it to link against the native Cocoa Touch APIs."

Google and others have done amazing web apps with HTML+JavaScript. Hate on Flash all you want Apple, but why oppose using these cross-platform tools? If you'll let me run it as a webpage, why won't you let me run it as an app that resides on my device so I don't have to be connected to the web to use it? Infuriating. Why not let developers create apps that can either run over the web or locally from a device, on any platform!? That's the future I want to live in, not under Apple's proprietary monopoly.

(Clearly this is aimed at Google's Chrome OS, and their emphasis on web apps.)

I like Apple less and less with everything they do like this. What business of theirs is it what tools a developer uses? The app that results runs natively... I REALLY don't like the following:

"The prohibition may also be a roadblock for Appcelerator and its Titanium SDK or the similar PhoneGap, both of which are designed to build native mobile apps using web technologies such as HTML and JavaScript. The clause specifically limits JavaScript for use in web apps, and does not allow it to link against the native Cocoa Touch APIs."

Google and others have done amazing web apps with HTML+JavaScript. Hate on Flash all you want Apple, but why oppose using these cross-platform tools? If you'll let me run it as a webpage, why won't you let me run it as an app that resides on my device so I don't have to be connected to the web to use it? Infuriating. Why not let developers create apps that can either run over the web or locally from a device, on any platform!? That's the future I want to live in, not under Apple's proprietary monopoly.

(Clearly this is aimed at Google's Chrome OS, and their emphasis on web apps.)

Apple is banking on the mobile market surpassing the consumer desktop market in the near future...the next frontier one might say. At this point, Flash has made no real inroads into the mobile market, so, I doubt they are happy about this.

Flash already has content and developers. Rolling them into this new niche is a no-brainer. Java left a vacuum, and Adobe is going to fill it.

Quote:

Originally Posted by jkmassel

Also, Adobe engineers don't have access to the low level stuff Apple does. I'd be surprised if they can write a compiler that works just as well as Apple's

You mean ARM? Apple doesn't write their own compiler. There is nothing secret about producing ARM code. All the phones use it. Nintendo DS uses it.

Quote:

Originally Posted by randytayler

No, he's quite right, fanboy. This is Apple desperately trying to create a monopoly again, like when they locked up their hardware in the 80s. Jobs still hasn't learned from Gates.

Filtering out crapware is great, but restricting how it's developed is irrational.

This behavior is shocking; that instead of doing everything possible to create a platform for the next 20 years, Steve is taking every opportunity to demonstrate Apple is not qualified for the job.

It will be very interesting to see how this plays out.
I think Unity3d is a great test case. It is widely used for very popular games. Will Apple continue to allow Unity programs but not programs going through some other toolkit? Will Apple enforce this selectively and use it to ban things they don't like while allowing things that they do?

Crazy question: If someone ports an app (a new app), how will Apple know?

There are always going to be tell-tale signs inside the binary. It's like CSI: Cupertino. They don't care whether it is apparent; Apple is going to hammer a developer who tries it, because they are doing this for anti-competitive reasons.

Quote:

Originally Posted by ixho

Now how fun watching JooJoo play some youtube videos with flash.

Speaking of Flash, how is everybody liking the 10.1 release candidate?

I'm now convinced Apple is doing this is for security reasons - runtimes potentially let apps download data to change their behaviour - the app is not the app Apple approved. Console manufacturers have similar restrictions on how apps can be written.

I'm wondering though, have I missed something, but what happens to all the apps already on the App Store that are using, say, Unity?

Crazy question: If someone ports an app (a new app), how will Apple know?

I'm guessing Apple probably thought of this and has a solution. I don't know much about the process, but doesn't Apple need to see the source code currently to detect the use of private APIs?

Quote:

Originally Posted by Amdahl

There are always going to be tell-tale signs inside the binary. It's like CSI: Cupertino. They don't care whether it is apparent; Apple is going to hammer a developer who tries it, because they are doing this for anti-competitive reasons.

Yes heaven forbid Apple try to control the ecosystem they created. If you don't like it, don't use it. Better yet, develop your own app store and devices that use it and make whatever rules you want.

Also I haven't seen any evidence that Apple is looking to "hammer" or demonize developers who don't abide by their policies. Last time I checked they just tell the developer where they violated the rules and ask them to resubmit.

Actually I don't think it's trying to cut Adobe AIR out of the loop at all.

according to my interpretation, it's basically banning people from calling the library functions with customized scripts. Like some game engines might have a set of functions that it could be called by scripts. Eventually those functions are just calling some cocoa framework functions. What this is prohibiting is having that layer of script in between the cocoa framework and the program.

What they need to do now is write a better interpretation layer from say Unity 3D (or Adobe AIR) to XCode.

Actually, I think exactly the opposite will happen. The App Store drives iPhone sales, and this hurts the app store. In addition, it DRAMATICALLY impacts the ability to do custom vertical solutions based on pre-existing frameworks. I think this decision will quickly turn the iPhone into a second-class development platform that gets bad ports months after the fact, just like apple did to the Mac.

Tools like Unity3d can now no longer be used to create top-shelf games (C# based), and sone innovative no-programming dev environments that were coming out will likely go to android. With every decision like this that Apple makes they drive away dozens of good developers from the platform.

I don't think so. Apple has over 80 million mobile OS devices on the market right now. Android and Blackberry markets are fragmented across a variety of phones, resolutions, etc. Windows Phone 7 has sold 0 devices so far. Most devs will jump through a few hoops to address that large of a market.

I'm now convinced Apple is doing this is for security reasons - runtimes potentially let apps download data to change their behaviour - the app is not the app Apple approved. Console manufacturers have similar restrictions on how apps can be written.

Is this the same Apple who doesn't care how long security holes sit in their products when it doesn't appear to be widely exploited?

Quote:

I'm wondering though, have I missed something, but what happens to all the apps already on the App Store that are using, say, Unity?

Some awesome and popular games use the Unity engine (you can’t even tell which ones unless you look online) and my own upcoming game does too. And I know others in the same boat.

There’s no good reason why we Unity developers should spend tons of time and money making games people want, pay our money to Apple, and then without warning or good reason, be left in the cold.

And Unity encourages innovation: it’s usable by 1 and 2-person teams of indie developers who aren’t part of some big corporation. They can take risks and come up with crazy new game concepts, or crazy twists on old ones. Unity is an amazing creative tool. Try Samurai Way of the Warrior for an example—it’s quite unique, and I’m sure it would have cost 10x as much to make without Unity. Us little guys can’t afford that—so it’s Unity or nothing. (Other good tools are also affected—but Unity is the one I know.)

This doesn’t hurt the big companies who can hire a team to do what Unity does without one. This hurts the little guy.

And it’s one more example of why EVERY developer should be afraid: if Apple will shut out great games forever, with no warning, then how can you be sure you won’t be next? It creates massive risk—to the tune of bankruptcy at Apple’s whim, even if you play by all the rules.

Let’s hope this is another blunder that Apple reverses quickly.

To be clear: I’m not arguing that Apple doesn’t have the legal right to do this to developers. And I’m not arguing that the iPhone is dead if they do. I am arguing that doing this is WRONG and will keep some great, unique games from seeing the light. Games I want to play, and games I want to make. (And one I already have! I just paid my fee to Apple... for nothing?)

Some awesome and popular games use the Unity engine (you cant even tell which ones unless you look online) and my own upcoming game does too. And I know others in the same boat.

I think Unity might be aware of it, there's no way apple will make such a big change without notify the most popular game engine developer on iPhone, unless of course not even Apple is aware of the potential problem.

Some awesome and popular games use the Unity engine (you cant even tell which ones unless you look online) and my own upcoming game does too. And I know others in the same boat.

Theres no good reason why we Unity developers should spend tons of time and money making games people want, pay our money to Apple, and then without warning or good reason, be left in the cold.

And Unity encourages innovation: its usable by 1 and 2-person teams of indie developers who arent part of some big corporation. They can take risks and come up with crazy new game concepts, or crazy twists on old ones. Unity is an amazing creative tool. Try Samurai Way of the Warrior for an exampleits quite unique, and Im sure it would have cost 10x as much to make without Unity. Us little guys cant afford thatso its Unity or nothing. (Other good tools are also affectedbut Unity is the one I know.)

This doesnt hurt the big companies who can hire a team to do what Unity does without one. This hurts the little guy.

And its one more example of why EVERY developer should be afraid: if Apple will shut out great games forever, with no warning, then how can you be sure you wont be next? It creates massive riskto the tune of bankruptcy at Apples whim, even if you play by all the rules.

Lets hope this is another blunder that Apple reverses quickly.

To be clear: Im not arguing that Apple doesnt have the legal right to do this to developers. And Im not arguing that the iPhone is dead if they do. I am arguing that doing this is WRONG and will keep some great, unique games from seeing the light. Games I want to play, and games I want to make. (And one I already have! I just paid my fee to Apple... for nothing?)

This is a good argument. I will point out though that we have NO idea what Apple intends to do with this. They haven't rejected any apps yet because of this, it's not even clear what this paragraph in the agreement even means. I doubt that Apple is trying to target the independent developer. On the contrary they go out of their way to embrace the "small guy". (I think I remember the one-man-shop who wrote "Trism" getting his own video at an apple event a while ago).

If I had to guess, I'd say this is a direct shot at Adobe Flash CS5, and that this will either be revised or go unenforced on things like Unity. Who knows, this paragraph may disappear next week.

I don't care much for Flash in the browser, but if this can produce a quality game that runs well then so be it. I don't care how it was written as long as it runs well. Adobe spent a lot of time providing their customers with a solution that met Apple's guidelines, only to find that Apple changed the rules on them. That's pretty low no matter whose side you're on.

Apple is guaranteeing they will not be the industry standard platform, once again.

Are you kidding me? Adobe is jumping for joy. Apple just removed themselves as a real contender for vertical markets and multi-platform apps.

Really? What other mobile platform has a fully functional version of Flash? Windows Mobile 7 won't have it. Android will supposedly have a hacked, semi-functional version some time this summer. Face it - Flash is a lousy product for mobile devices.

Quote:

Originally Posted by kpluck

So in addition limiting what apps you can install on your Apple devices, now they have decided that how the apps are developed is also their business.

I am sorry, this is just plain silly.

I see the mobile market going to same way as the desktop market. Apple will do well, making a nice living off the drones that don't mind their draconian operating practices, meanwhile the bulk of the market will go to other companies that don't want to act as your nanny.

Right. That's why there are 180,000 App store apps. What is that - 10 times the number of all the other mobile apps put together?

Quote:

Originally Posted by Booga

Actually, I think exactly the opposite will happen. The App Store drives iPhone sales, and this hurts the app store. In addition, it DRAMATICALLY impacts the ability to do custom vertical solutions based on pre-existing frameworks. I think this decision will quickly turn the iPhone into a second-class development platform that gets bad ports months after the fact, just like apple did to the Mac.

Tools like Unity3d can now no longer be used to create top-shelf games (C# based), and sone innovative no-programming dev environments that were coming out will likely go to android. With every decision like this that Apple makes they drive away dozens of good developers from the platform.

Even if Apple lost 20% of its developers (which isn't going to happen since this new rule doesn't affect any of the existing developers -- no one was using compiled Flash apps yet), they'd still have 6-8 times the number of the rest of the industry put together.

Quote:

Originally Posted by CommodityFetish

I like Apple less and less with everything they do like this. What business of theirs is it what tools a developer uses?

Apple is responsible for ensuring the reliability and stability of its systems. They have decided that the best way to ensure that is to control the tools used. If you don't like it, then develop your own cell phone and app store.

Quote:

Originally Posted by shadash

I don't think so. Apple has over 80 million mobile OS devices on the market right now. Android and Blackberry markets are fragmented across a variety of phones, resolutions, etc. Windows Phone 7 has sold 0 devices so far. Most devs will jump through a few hoops to address that large of a market.

And none of those have a fully functional version of Flash, either.

Unfortunately for the Flash developers who seem to spend so much time complaining about Apple's decision, Flash is dead as far as mobile devices is concerned - so its future for desktop systems is questionable, as well.

"I'm way over my head when it comes to technical issues like this"Gatorguy 5/31/13

Has the word "inevitable" taken on a new and surprising meaning? Does it now mean "theoretically possible, but entirely unproven, and not suggested by any current trends?"

Um, Android marketshare has been doubling and iphone has been flat in the latest quarter. That combined with Android devices iterating at a much faster pace and with so many more devices and carriers involved one would have to be blind not to see where things are going, no?

Um, Android marketshare has been doubling and iphone has been flat in the latest quarter. That combined with Android devices iterating at a much faster pace and with so many more devices and carriers involved one would have to be blind not to see where things are going, no?

Ok let me try this out:

Quote:

Originally Posted by hmayes

Microsoft Windows has lost 99.5% market share in the past 72 hours. Apple will dominate the desktop computing industry!

Oh, wait, you mean even though I just said it, it's still not true? Eh, well I tried.

At least make an attempt to back up your claims. Here is some reading you may find interesting:

Um, Android marketshare has been doubling and iphone has been flat in the latest quarter. That combined with Android devices iterating at a much faster pace and with so many more devices and carriers involved one would have to be blind not to see where things are going, no?

Yeah, it's easy to see where things are going: we're heading into June, when a new iPhone can set the competition back substantially. You can roll out a new Android device every month, but NONE will be as significant as a new iPhone. And Google had better hope Apple doesn't open the floodgates in the US and allow other carriers in on the iPhone goodness.

Um, Android marketshare has been doubling and iphone has been flat in the latest quarter. That combined with Android devices iterating at a much faster pace and with so many more devices and carriers involved one would have to be blind not to see where things are going, no?

Even if that were true (Android still has a LOOOOOOONNNNGGG way to go to catch up to Apple, particularly wrt apps), it's irrelevant. There's still not full-featured Flash for Android, either.

Even the 10.1 (if it ever makes it out and door and if it really is usable) has only limited functionality. So web developers using Flash sites would need to redo their site for Flash 10.1, anyway. If they're doing that, why not just code into html 5 and be supported on all 85 million iPhone OS, future Windows Mobile 7, and all other smart phone devices, as well?

"I'm way over my head when it comes to technical issues like this"Gatorguy 5/31/13

I've long been a fan of Apple products - and as a developer I also have an appreciation for Java, C++, C#, Objective C, Perl, Flash/AS, and any number of other languages.

Languages tend to evolve from technology advancements. Java was a huge success because of its portability at a time when the world was opened up with the Internet. IDEs are built to facilitate development. Eclipse, MS Visual Studio, and Flash Processional are each examples of developer tools that opened up software development to new developer communities.

In the end, anyone can write ineffecient code in any language, using any IDE. And cross-compilers have existed since the dawn of programming languages - some are more efficient than others. To make a blanket statement that restricting iPhone app development to Objective C will ensure every app is as efficient as possible misses the point. It's like saying Mac software written in C++ will always perform more efficiently than software written in Java. The reality is that software performance is related to what the application does and who wrote the code --- NOT what language it was written in. Keep in mind that Objective C itself is compiled into native iPhone binary code - and there's no reason a well written Java or Flash app built with a well-written compiler couldn't actually produce MORE efficient iPhone binary code for some applications. In fact there have been several top-ten APPLE RECOMMENDED iPhone applications have been written in Java and Flash.

I'm not sure what Apple's motivation is behind this move - but it is most certainly NOT to ensure code written for the iPhone is as efficient as possible.

What I am sure of is this is a sad day for developers and consumers. Flash/AS3 is the platform of choice for a development community that builds amazing software in an unique IDE tailored to bridging the design and development communities. In the same way Java is tailored to building portable apps for the Internet, Flash is great for creating custom UI experiences that would be incredibly difficult to build using any other language. If Apple kept the door open and focused screening apps based on what really matters - performance of the end-result - then Flash CS5 and the Packager for iPhone would expand iPhone app development to a new and hungry community of creative designer/developers. And the consumer (and Apple) would win by getting more and more creative and useful apps.

I just don't get it. It's a bad and backwards business decision. And it feels like Big Brother to me.

I like Apple less and less with everything they do like this. What business of theirs is it what tools a developer uses? The app that results runs natively... I REALLY don't like the following:

"The prohibition may also be a roadblock for Appcelerator and its Titanium SDK or the similar PhoneGap, both of which are designed to build native mobile apps using web technologies such as HTML and JavaScript. The clause specifically limits JavaScript for use in web apps, and does not allow it to link against the native Cocoa Touch APIs."

Google and others have done amazing web apps with HTML+JavaScript. Hate on Flash all you want Apple, but why oppose using these cross-platform tools? If you'll let me run it as a webpage, why won't you let me run it as an app that resides on my device so I don't have to be connected to the web to use it? Infuriating. Why not let developers create apps that can either run over the web or locally from a device, on any platform!? That's the future I want to live in, not under Apple's proprietary monopoly.

(Clearly this is aimed at Google's Chrome OS, and their emphasis on web apps.)

A grand total of 2 comments. I'm sure you're been an ardent Apple OS X supporter since 2001.

Even if that were true (Android still has a LOOOOOOONNNNGGG way to go to catch up to Apple, particularly wrt apps), it's irrelevant. There's still not full-featured Flash for Android, either.

Even the 10.1 (if it ever makes it out and door and if it really is usable) has only limited functionality. So web developers using Flash sites would need to redo their site for Flash 10.1, anyway. If they're doing that, why not just code into html 5 and be supported on all 85 million iPhone OS, future Windows Mobile 7, and all other smart phone devices, as well?

Agree that it has a long way to go but with the number of phones, the much faster iterations and far superior carrier options etc... I'm sure you would agree that there is no reason why the current trend won't continue.

I think you are misunderstanding the point about Flash, this issue has nothing to do with Flash. The issue is the arbitrarily banning of applications written with a specific toolset. It's about as arbitrary as Microsoft saying you have to use Visual Studio to write web apps hosted on IIS or be in violation of licensing. It's not about forcing Flash 10.1 on the iphone or Android or anywhere else.

90+ percent of the apps in the app store are crap. This just ensures that it will remain that way. This is right up there with Apple rejecting an app for using pinch to zoom.

Objective C is a language that was ahead of it's time in the 80's, but it isn't the 80's any more. This decision prevents people from making better tools.

I hate going from Visual Studio or Eclipse to XCode, you lose so much functionality. It won't be long before developers get sick of the way they are treated.

These sweeping statements of the percentage of "crap" in the App Store are completely meaningless. There are certainly a great many apps that strike you as "crap" that are quite useful or enjoyable to the next guy, so even if you could demonstrate some kind of objective basis for your made up statistic it would only hold for you. I think the best we can say is the ratio of well coded to poorly coded apps is probably about average for any platform. I mean, I certainly have seen quite a few marginal to horrifying Windows apps in my day.

I would think that the main issue developers consider in regards to a platform is if they think they can make some money. That's pretty much all the "treatment" they need. The idea that a bunch of current iPhone devs are going to abandon the platform because they can't use tools that they currently don't is amusing.

They spoke of the sayings and doings of their commander, the grand duke, and told stories of his kindness and irascibility.