AppleInsider › Forums › Mobile › iPhone › Steve Jobs defends Apple's changes to iPhone developer agreement
New Posts  All Forums:Forum Nav:

Steve Jobs defends Apple's changes to iPhone developer agreement - Page 2

post #41 of 219
Quote:
Originally Posted by Marvin View Post

Rather than it being a move about software quality (which was the reason given for the centralized App Store), it's more about profit and control. If Opera goes through, it starts to eat away at their mobile Safari smartphone share.

Opera adds almost nothing of value to the iPhone platform. And, what little it does offer is more than offset by the security problems (i.e., https issues which violate users' expectations), and the fact that it undermines the whole web app side of iPhone development. This is just another instance of someone undermining the iPhone OS platform for their own financial gain, which Apple has no obligation to tolerate. It's not like Opera are pouring their souls into Opera Mini development for the good of mankind.
post #42 of 219
Quote:
Originally Posted by amitofu View Post

Right. No one language can be proclaimed universally better than any other. What matters is the final product. It all ends up as machine code anyway. Apple is the one claiming that using only C-family languages will produce better apps in the app store. I think that's demonstrably false. I love Objective-C. And Apple does a great job designing Objective-C APIs. The app we're writing uses Objective-C for all interface and user interaction code. But the backend is written in Scala and compiled with VMKit. It would be slower in Objective-C, at least 10x more lines of code, take 10x longer to write and maintain, and have more bugs. The end user has a completely native experience, they have no way of even knowing that another program language was used along the way.

Apple is unnecessarily forbidding completely native apps with this policy--that's why it's ridiculous.

I think you are letting your anger get ahead of your reasoning. Several things you say here don't seem to be true to me and your original argument that Scala should be used in place of Obj C is just an argument for using the "best language" which is what Apple is attempting to do. You disagree over what's the best language of course, but saying that Apple is wrong for insisting on a particular language and then saying they should really be insisting on this *other* particular language makes no sense to me.

In this particular post you say "Apple (is) claiming that using only C-family languages will produce better apps" when you know this is not what they actually said at all. I'm not saying you aren't making some good points, but you are also clearly angry, and using some not-quite-true and seemingly biased arguments.
post #43 of 219
Quote:
Originally Posted by Prof. Peabody View Post

People say this all the time (about it just being about the money), but I've yet to see anything that indicates it's true. It's just a flip comment to toss out that can't be disproven in any substantive way.

I said it was more about the money and control not just money. Obviously if the reasoning had no basis whatsoever, it would be shot down quickly. The argument for better quality software is naturally a plausible one but like I say, it was the same reason given for the App Store design and I personally haven't seen many high quality apps in there.

I understand the reasoning behind blocking interpreters to some extent but native code that uses other APIs is a bit crazy because that could mean all sorts of useful apps. If it blocks the Unity 3D engine, there's no benefit to that at all. Just download this game demo:

http://unity3d.com/gallery/live-demos/avert-fate

Where's the quality problems? Nowhere to be seen. Until XCode actually offers what IDE's like that can offer then the argument has no basis. The purpose has to be to force these devs to drop C# and move to Obj-C, which can't be used on Windows.

Quote:
Originally Posted by Prof. Peabody View Post

I find the idea that Apple would jeopardise so much and take the hit in terms of good will just to enable the sales of a few more iMacs a bit ridiculous.

It's not just Mac sales, there's also iPhone sales from having exclusive software that is difficult to port elsewhere. Same goes for Mac software tools that help developers, like 3rd party IDEs built around Apple's exclusive frameworks. If Microsoft or Adobe do this, it's vendor lock-in, if Apple do it, it's for everyone's benefit? It's still vendor lock-in, Apple just happen to be better at what they do. That could certainly be interpreted as being in everyone's best interests but it's subjective.

Quote:
Originally Posted by Prof. Peabody View Post

Apple is not a profit driven company. Everything about their history, their policies, their margins and their market stance indicates that squeezing that extra dollar out of consumers is actually the last thing on the company's collective mind.

This is the same company with $40 billion in cash reserves? This is the same company selling year-old hardware at the same price it was a year ago? The same company that doesn't know how to make a $500 computer? The same company that sells a new product (iPad) with a profit of $250 per unit i.e 100% profit margin.

What I believe about Apple is that individual employees have a drive to improve standards and quality but that they also know they need revenue to allow them to keep doing this. To have control and the ability to direct, you need power and to have power in this world, you need wealth. To buy companies, to protect IP, to defend against lawsuits etc.

Who knows, this might be revenge for all the sh*t they've taken from others over the years like Microsoft creating tools that lock out other platforms like DirectX and Visual Studio and I'd do the same but this move will produce a massive workload for innocent developers just trying to make a living.
post #44 of 219
Quote:
Originally Posted by sashuey View Post

What would happen if Microsoft suddenly released an update that prevented iTunes from running? Think of the chaos that would ensue. Microsoft could take a big cut out of Apple's sales by doing just that. Could they get away with it? Probably not. Lawyers would be swarming everywhere.

If iTunes stopped running because Microsoft made a change to a published API that Apple had improperly implemented, then no lawyers need apply. Apple would have to change iTunes so that they are once again implementing the API properly.

Of course, that wouldn't prevent a lot of people from yelling "LAWSUIT", but that's just the American way, isn't it?
post #45 of 219
Quote:
Originally Posted by DerPlanck View Post

Notice how the post you're replying to understands the issue to be a two-way street, whist you promptly ignore it and pretend anyone agreeing with Apple's point of view is shutting down the debate. You build your own imaginary gulag, and lock your own chains, and create your own sense of repression in this situation. Maybe you're confusing that with being trumped. Keep on torturing yourself with imaginary monsters if you like.

I then have to ask if you read and understood the post I was actually replying to. I personally haven't decided where I am on this issue. I am trying to see it from both sides. The posts claims it is a two way street, with the only alternative to agreeing being to 'create their own platform'. So, uh, what did I 'promptly ignore'? The so very sincere 'it is a two way street'? That metaphor might normally imply give and take...but when qualified with the statement the Apple has the larger car, it was sort of meant to imply one way traffic...

I suppose that might not have been obvious...with the other clue being the 'agree or leave'...does that sound like a two way street to you? I suppose it must.

"My 8th grade math teacher once said: "You can't help it if you're dumb, you are born that way. But stupid is self inflicted."" -Hiro. Sometimes it's both.

Reply

"My 8th grade math teacher once said: "You can't help it if you're dumb, you are born that way. But stupid is self inflicted."" -Hiro. Sometimes it's both.

Reply
post #46 of 219
I have a simple question: As a developer, why would I want to use anything other than the development kit that Apple itself has developed? I don't mean this rhetorically. If the answer is simply a matter of comfort or familiarity or preference, it would seem that would be tantamount to holding back a company's own platform development and where they would want it to go. If there are specific, articulated reasons, please list them. I honestly would like to know where Apple is failing and could improve its SDK. In other words, what does a particular third party SDK offer that SDK 3.2.2 doesn't that would make a substantial difference in either the end product or time spent developing one?
post #47 of 219
Quote:
Originally Posted by tawilson View Post

How is garbage collection (checks to see if it needs to clear up any memory) going to use less processor time than manual memory management (clears up when it is told to). Only if it's badly written will the latter ever perform slower.

This about Apple ensuring new features get adopted as fast as possible, by controlling their platform themselves.

If they allow third-party IDEs become popular, then it'll the third party that determines when the new features are adopted (after Apple has released the new features).

If you can't see that, you truly are an idiot.

Cocoa scans an autorelease pool every cycle of the run loop--as in all the time. Most object references are autoreleased every time they're accessed. Apple even refers to autorelease pools as "semi-automatic garbage collection" in their documentation. Reference counting causes a lot of cache thrashing because objects are constantly being retained/released. And reference count variables are volatile and accessed with atomic instructions that force the processor to flush its execution pipelines every time they're accessed. Reference counting is slow.

Garbage collection of a strongly typed language on the other hand doesn't constantly access objects to modify their reference counts so you get better cache performance. And when the collector runs you're essentially just doing what the autorelease pool does. Garbage collection: 1, autorelease pools: 0.

The real speed and memory advantage for a strongly typed language is the ability to use escape analysis. This is like method inlining (which, btw, Objective-C also can't do), but you're inlining an entire object allocation. This means there's no allocation, deallocation, or reference counting costs, better cache utilization, fewer pipeline flushes, and lower memory use. Garbage collection: 2, autorelease pools: 0.

Cocoa makes tons of costly little allocations that eat up a lot of memory because they're on the heap and use up lots of cycles because they're reference counted. Many of these allocations would be eliminated by escape analysis in a modern language. Things like NSNumbers and NSDates and NSColors and NSErrors and NSFormatters and NSInvocations and NSURLs and NSValues, and even many NSArrays and NSDictionary(ies), which are used all the time, would be compiled down to almost nothing in a modern language, but are incredibly wasteful in Objective-C.

The iPhone is powerful enough and has enough memory to handle these heavyweight objects for user interface tasks. But if you're doing something computationally intensive, Objective-C isn't the best option. And often neither is C++. So please don't conflate the programming language issue with the platform compatibility issue. I don't support writing apps that target some compatibility layer instead of the native platform. But I strongly support the option of using other programming languages when it's appropriate.
post #48 of 219
Quote:
Originally Posted by Marvin View Post

Who knows, this might be revenge for all the sh*t they've taken from others over the years like Microsoft creating tools that lock out other platforms like DirectX and Visual Studio and I'd do the same but this move will produce a massive workload for innocent developers just trying to make a living.

Yes, they might well end up as collateral damage, but the idea that Apple must allow their platform to be undermined for the advantage of others, is, at least to me, even more objectionable.
post #49 of 219
Quote:
Originally Posted by Marvin View Post

The same company that sells a new product (iPad) with a profit of $250 per unit i.e 100% profit margin....


Pleeeeeease.... we have been through this a gazillion times in these threads, and you should not be contributing to FUD.

Gross margin (which is what you are referring to here) ≠ Profit margin. Apple's profit margin is ~20%, well in line with other successful companies, and much lower than companies such as Google (~30%) and MSFT (~35%).
post #50 of 219
Stop talking out of your butt. Great unity3d games have been developed. top selling, top performing titles on the AppStore. Stuff that's virtually impossible to create with Xcode.

Your comparision with COBOL and fortran is ridiculous.






Quote:
Originally Posted by sflocal View Post

This isn't an issue of right or wrong. Apple created a hugely popular system for the masses and they are being associated as a company that may very well change the way people use computers in the next 10 years. Frankly, I think that scares a lot of developers that have spent years learning their craft in another language / system and shudder at the thought of having to learn something new. That's life.

It's called evolution. Do you think we all should have stayed on FORTRAN and COBOL because too many people would raise a stink about having to learn a new language?

Technology has been like this since the beginning. Adapt or get left behind.

But the poster is right. If you want to change the world then develop your own system. That's what Android is supposed to do right?
post #51 of 219
Quote:
Originally Posted by amitofu View Post

Cocoa scans an autorelease pool every cycle of the run loop ... Reference counting is slow.

Garbage collection of a strongly typed language on the other hand ...

The real speed and memory advantage for a strongly typed language is the ability to use escape analysis. This is like method inlining (which, btw, Objective-C also can't do), but you're inlining an entire object allocation....

Yet, as already pointed out, and as you are, or ought to be (since you are here giving us computer science lectures), already aware, all of these "advantages" of other languages are, just as much disadvantages in other cases.

Yeah, we know you're pissed, but these one-sided, angry rants against Objective-C are just that.
post #52 of 219
Quote:
Originally Posted by anantksundaram View Post

Pleeeeeease.... we have been through this a gazillion times in these threads, and you should not be contributing to FUD.

Gross margin (which is what you are referring to here) ≠ Profit margin. Apple's profit margin is ~20%, well in line with other successful companies, and much lower than companies such as Google (~30%) and MSFT (~35%).

Honestly, none of that should matter to the consumer. They have no monopoly so their profits and growth are a choice a consumers are making.

It's silly to begrudge a company that has a desirably product, excellent marketing on the cheap and has learned to produce better quality products at less expense than their competitors for the same class item.
Dick Applebaum on whether the iPad is a personal computer: "BTW, I am posting this from my iPad pc while sitting on the throne... personal enough for you?"
Reply
Dick Applebaum on whether the iPad is a personal computer: "BTW, I am posting this from my iPad pc while sitting on the throne... personal enough for you?"
Reply
post #53 of 219
Quote:
Originally Posted by RidleyGriff View Post

And as we all know, iTunes on Windows sucks, doesn't it? Same with Safari.

I'm getting tired of this particular chestnut.

I run iTunes on 3 PC's and two Macs, and to me, the experience is hardly different at all. I know it's grown into a giant Swiss Army Knife of a program and is probably loaded with legacy code, but I've invested years in getting to know it, so not going to change 'cos there might something leaner and slicker around.

Using iTunes for Win and discovering how cool Apple software was, in fact, was the tipping point that led me to buy my first Mac.

Quote:
a "hostile and despicable move."

What's next? A video of SJ and Brimelow having coffee in public? Prolly not.....


As for the issue at hand:

I think there's another obvious reason for the policy change I haven't seen posted or written yet. And it neither contradicts nor denies the validity of Job's answer/Apple's new policy - and in fact lies outside of the technical issues being debated here.

It's not news to anyone here that Apple has defined and been the vanguard of the rise of the Age of Apps for mobile platforms. Now everyone has a soap-bar shaped touch phone with an app store, and they can be made to look cool in an ad or store demo.

So it's become a turf war. If you can develop an app in a cross-platform environment, with a few customizations, you can release your app - looking and acting 'bout the same - on Android and likely other platforms simultaneously, e.g., Palm, B.Berry. Which by giving parity to Android, et al. makes the release on the iPhone inherently less special.

As long as iPhone is the biggest kahuna to go after for a developer, it pushes the developer to write an Apple version first. Which at least delays him recoding for other app stores, or expends his resources and time. Which will keep more of the best apps coming out - at least first - on the iPhone/Pad.

'Course I don't have a fly-drone on the boardroom wall in Cupertino to really "know" anything like this, but hey, I'm just sayin'........ ....but, nahhh, big corporations aren't really ever that Machiavellan are they? (^-^)

An iPhone, a Leatherman and thou...  ...life is complete.

Reply

An iPhone, a Leatherman and thou...  ...life is complete.

Reply
post #54 of 219
Quote:
Originally Posted by Marvin View Post

I said it was more about the money and control not just money. Obviously if the reasoning had no basis whatsoever, it would be shot down quickly. The argument for better quality software is naturally a plausible one but like I say, it was the same reason given for the App Store design and I personally haven't seen many high quality apps in there.

I understand the reasoning behind blocking interpreters to some extent but native code that uses other APIs is a bit crazy because that could mean all sorts of useful apps. If it blocks the Unity 3D engine, there's no benefit to that at all. Just download this game demo:

http://unity3d.com/gallery/live-demos/avert-fate

Where's the quality problems? Nowhere to be seen. Until XCode actually offers what IDE's like that can offer then the argument has no basis. The purpose has to be to force these devs to drop C# and move to Obj-C, which can't be used on Windows.

To be fair, games can hardly be considered "useful" applications; they are a diversion, and though the newly implemented game-friendly iPhone APIs and the recent porting of Steam to Macs both indicate a pleasant change in course for Apple with regard to gaming, it is still probably not a primary concern for them. That said, if the Unity team needs to adapt anything it will because of how much revenue they generate from developers creating games for the iPhone. Besides, Objective C can be used on Windows because GCC is portable, so Apple is not locking developers into just their platform.
post #55 of 219
Quote:
Originally Posted by solipsism View Post

Honestly, none of that should matter to the consumer. They have no monopoly so their profits and growth are a choice a consumers are making.

It's silly to begrudge a company that has a desirably product, excellent marketing on the cheap and has learned to produce better quality products at less expense than their competitors for the same class item.

I wholeheartedly agree.

(I simply wanted to clarify what was an incorrect comment from the standpoint of basic finance).
post #56 of 219
If you don't like it then GIT OUT.




post #57 of 219
Quote:
Originally Posted by dasein View Post

I have a simple question: As a developer, why would I want to use anything other than the development kit that Apple itself has developed? I don't mean this rhetorically. If the answer is simply a matter of comfort or familiarity or preference, it would seem that would be tantamount to holding back a company's own platform development and where they would want it to go. If there are specific, articulated reasons, please list them. I honestly would like to know where Apple is failing and could improve its SDK. In other words, what does a particular third party SDK offer that SDK 3.2.2 doesn't that would make a substantial difference in either the end product or time spent developing one?

You can use other development tools to release the same program to several different platforms at the same time without any added work.

It makes the developer more efficient.

Apple does not want this efficiency because it wants to lock in the developer and the consumer to its platform.

I already stopped developing for iPhone a while back so it doesn't affect me. But it affects dozens of other developers, and they will likewise leave the platform.
Fragmentation is not just something we have to acknowledge and accept. Fragmentation is something that we deal with every day, and we must accept it as a fact of the iPhone platform experience.

Ste...
Reply
Fragmentation is not just something we have to acknowledge and accept. Fragmentation is something that we deal with every day, and we must accept it as a fact of the iPhone platform experience.

Ste...
Reply
post #58 of 219
Quote:
Originally Posted by dasein View Post

I have a simple question: As a developer, why would I want to use anything other than the development kit that Apple itself has developed? I don't mean this rhetorically. If the answer is simply a matter of comfort or familiarity or preference, it would seem that would be tantamount to holding back a company's own platform development and where they would want it to go. If there are specific, articulated reasons, please list them.

It boils down to one: productivity.

If you want to write for just iPhone, there's a productivity advantage to using higher-level languages, and that advantage multiplies logarithmically when you want to deploy to multiple devices.

If you've ever pondered the millions of man-hours lost every year to bugs caused by the difference between "=" and "==" you know what I mean, and if you haven't there are plenty of papers describing the productivity advantages of modern high-level languages for applications programming.

While some like to point out that Apple is the leading smart phone manufacturer, they're overlooking that other OSes run on devices from multiple manufacturers.

Take a look at these stats:
http://techcrunch.com/2010/04/05/com...on-the-iphone/

In terms of subscribers per OS, Apple is #3 with about one-fourth of the market.

Gartner says it'll be that way for Apple for a while, as Android eclipses them:
http://www.computerworld.com/s/artic...2_says_Gartner

Android and most other mobile OSes don't dictate what language you can use. They don't care, the more the merrier as long as it lets you deliver the goods.

The only reason Apple has more apps today is that most of the mobile RAD tools in the pipeline aren't shipping yet. Once they do, we can expect to see an explosion of app development.

With any of those tools you can write and maintain a single code base for 75% of the mobile market.

It could be 100%, but Jobs is devolving into Gates so developers will have to be satisfied with bypassing the iPhone until he comes around.

In the meantime, Jobs has given Android the biggest gift ever: thousands of developers using high-productivity RAD tools.

Jobs' excuse that everyone at Apple suddenly forgot how to write APIs to handle threads effectively for their multitasking simply doesn't hold water. What he's after is control, pure and simple, and he's got just enough hubris to believe that his 25% market share can reverse the tide of history which increasingly favors RAD tools.
post #59 of 219
Quote:
Originally Posted by amitofu;

Good point. Apple uses a compatibility layer (Cocoa) to get iTunes and Safari to run on Windows without having to rewrite them from scratch as native applications. And they do it in a different programming language than what Windows' native APIs are written in.

Oh the Irony. And what hypocrisy!

The real irony is that you are wrong because both are written using native windows graphics APIs and C++.
- Tristan
Reply
- Tristan
Reply
post #60 of 219
Apple doesn't owe anyone a living.
post #61 of 219
Quote:
Originally Posted by omnivector View Post

The real irony is that you are wrong because both are written using native windows graphics APIs and C++.

...through an intermediary layer provided by the QT architecture.

In principle it's not all that different from having your compiled Flash code talk to the Flash engine, written in C++, which uses the iPhone's native APIs.
post #62 of 219
Quote:
Originally Posted by g3pro View Post

You can use other development tools to release the same program to several different platforms at the same time without any added work.

It makes the developer more efficient.

Apple does not want this efficiency because it wants to lock in the developer and the consumer to its platform.

I already stopped developing for iPhone a while back so it doesn't affect me. But it affects dozens of other developers, and they will likewise leave the platform.

Which simply means more opportunities for devs who choose to focus on the most profitable platform-- not that there's any shortfall of same.

I'm mystified by the idea that if "dozens" of developers decide not to grace the iPhone with their cross-platform apps that that would be of any concern to iPhone users.
They spoke of the sayings and doings of their commander, the grand duke, and told stories of his kindness and irascibility.
Reply
They spoke of the sayings and doings of their commander, the grand duke, and told stories of his kindness and irascibility.
Reply
post #63 of 219
Quote:
Originally Posted by Quadra 610 View Post

Apple doesn't owe anyone a living.

I think Apple's motto of "do no evil" is flushed down the toilet at this point.
Fragmentation is not just something we have to acknowledge and accept. Fragmentation is something that we deal with every day, and we must accept it as a fact of the iPhone platform experience.

Ste...
Reply
Fragmentation is not just something we have to acknowledge and accept. Fragmentation is something that we deal with every day, and we must accept it as a fact of the iPhone platform experience.

Ste...
Reply
post #64 of 219
Quote:
Originally Posted by sflocal View Post

This isn't an issue of right or wrong. Apple created a hugely popular system for the masses and they are being associated as a company that may very well change the way people use computers in the next 10 years. Frankly, I think that scares a lot of developers that have spent years learning their craft in another language / system and shudder at the thought of having to learn something new. That's life.

It's called evolution. Do you think we all should have stayed on FORTRAN and COBOL because too many people would raise a stink about having to learn a new language?

Technology has been like this since the beginning. Adapt or get left behind.

But the poster is right. If you want to change the world then develop your own system. That's what Android is supposed to do right?

And sometimes, forced adaptation will rub people the wrong way. Fortran and COBOL became obsolete and were replaced. I don't recall them being prohibited.

As far as like it or leave it, accept it or create your own platform as the only options...some people see other options. I honestly have more of a problem with that as an actual argument than with most any decision Apple has made.

"My 8th grade math teacher once said: "You can't help it if you're dumb, you are born that way. But stupid is self inflicted."" -Hiro. Sometimes it's both.

Reply

"My 8th grade math teacher once said: "You can't help it if you're dumb, you are born that way. But stupid is self inflicted."" -Hiro. Sometimes it's both.

Reply
post #65 of 219
Quote:
Originally Posted by Prof. Peabody View Post

I think you are letting your anger get ahead of your reasoning. Several things you say here don't seem to be true to me and your original argument that Scala should be used in place of Obj C is just an argument for using the "best language" which is what Apple is attempting to do. You disagree over what's the best language of course, but saying that Apple is wrong for insisting on a particular language and then saying they should really be insisting on this *other* particular language makes no sense to me.

In this particular post you say "Apple (is) claiming that using only C-family languages will produce better apps" when you know this is not what they actually said at all. I'm not saying you aren't making some good points, but you are also clearly angry, and using some not-quite-true and seemingly biased arguments.

Okay. Just to clarify. I like Objective-C. I think Apple should continue to use Objective-C, and I welcome Apple insisting that developer's directly use their APIs without any intermediate layers. I agree that such indirection almost always results in shitty apps. What I disagree with is Apple insisting that all code linked with an application must be written in some form of C.

To be concrete about it, and since I obviously can't hide the fact that this decision personally and emotionally affects me, I'll elaborate on why. I've spent five months developing an app exclusively for the iPhone/iPad. We're writing an app for doing symbolic algebra. You can drag and drop expressions in equations to rearrange them in an algebraically correct way. It's great for mathematicians, scientists, and engineers who want to explore complicated equations, and its great for students because it helps them form a visceral intuition of math. The interface is all done with UIKit and is totally tied to the iPhone OS. We couldn't do the things we're doing with any other user interface toolkit.

We originally wrote the back end in C++. Believe it or not, C++ was too slow. We model abstract algebra in a general way, allowing you to use our intuitive interface to manipulate many different algebras in different dimensions, with different levels of precision, and with different structural constraints. The way C++ expands templates led to a huge amount of bloat because of all the permutations. And the way templates are type checked made development slow and buggy and hard to change. C++ can be fast or generic, but not both. We switched to Scala because the type system and syntax is so expressive we could model things very closely to how we express them mathematically. And with some thoughtful design, the compiler is able to heavily optimize certain critical paths (think three dimensional real vector space with floating point precision, standard dot product and euclidean norm), while our code base stays small and generic. It's so fast in fact that we are able to use the same abstract algebra code to do real-time 3D rendering of graphs. We couldn't do this in C++, we had to write redundant specialized versions of a lot of code, and that meant a lot of adapters in order to visualize other abstract spaces.

So this is why I am so personally frustrated. It's not because I don't know C++ and Objective-C--to the contrary. It's not because I don't want to use Apple's APIs with Apple's programming language--also to the contrary. It's because the best tool for the job that will result in the best app and the best experience isn't C++ or Objective-C. I feel unfairly targeted by Apple. I feel like I've been shot by friendly fire. And I hope Apple refines their developer agreement. I'm still an Apple fanboy, and I don't want to go to another platform, there isn't another platform to go to. I just want to make a really good app. Isn't that also what Apple wants?

I suppose I should get back to work instead of commenting here on AI. But it's hard when your future is in jeopardy and everyone thinks that the only people being hurt are lazy Flash developers.
post #66 of 219
Quote:
Originally Posted by Sue Denim View Post

Either Steve Jobs is completely stupid, or thinks we are.

Is MacOS X written in machine code? Or does it use intermediate layers like Assembler code, C, or ObjectiveC (which is an intermediate layer between C and a bad wannabe Smalltalk-for-C thing).

Cocoa is an intermediate layer between the programmer and the hardware platform.

Carbon is an intermediate layer that often sits between Cocoa and the Platform.

A lot of Cocoa rides on other parts of Cocoa, or OpenCL or OpenGL which are also intermediate layers.

All of Object Oriented Programming is an intermediate layer between one platform and another. In fact, that's kind of the point of writing most software.

The point is for any application you have a certain budget. The higher you can ride on abstractions, the more you can spend on other parts of the software to make it better: features, testing, tuning, etc. Sometimes people choose their intermediate layers poorly -- like Apple did with Mach instead of Nukernel or using a rarely used ObjectiveC instead of the more powerful, faster, and more versatile C++. Should we say the entire platform is sub-standard and that's been holding them back? Or look at the bigger picture?

Yes, there are layers inherently involved in programming. Apple just wants to make sure you stick to the ones they have the most control over.

For example, say you wanted to program an application in Java, but it needed to be a native application (as it does for the iPhone). You could use GCJ to make the native binary, which in turn uses libgcj to include the components inherently necessary for a Java application to work (core class libs, garbage collection, etc). Let's say company X develops a tool that lets all those Java-limited developers in the world cash in on the iPhone platform using GCJ and some compatibility layer that allows for some interaction with the public iPhone APIs without the developer having to know any C/C++/ObjC. So now you have a required library not developed nor maintained by Apple using frameworks not developer nor maintained by Apple interfacing with whatever subset of the APIs this tool makes available (and by the way, that interface to Apple's APIs is not developed nor maintained by Apple).

When things don't work well, the average user is going to complain about the phone and not necessarily the app. If you don't believe that you either haven't had a nontechnical relative or you're just burying your head in the sand. Apple wants to protect their turf as much as possible: if a developer has to follow these rules, then odds are they are going to deliver an application that will be tailored more specifically to the features of the iPhone itself, without the pitfall of third-party tools that may not represent a full set of features or complete compatibility; if a user thinks they are getting the best possible experience from their phone and its applications, they are going to invest more heavily in the platform.

Stating that Apple is stupid in this case is premature. It could backfire and it could yield a windfall in their favor. All I know is that lately every time us "geniuses" tell Apple where they goofed, we're the ones that end up with egg on our faces. I was convinced the iPad was going to be a flop, right up until I used one...
post #67 of 219
Quote:
Originally Posted by g3pro View Post

I think Apple's motto of "do no evil" is flushed down the toilet at this point.

You've got some companies confused.
post #68 of 219
Quote:
Originally Posted by omnivector View Post

The real irony is that you are wrong because both are written using native windows graphics APIs and C++.

No. Apple ported Core Graphics and Core Foundation to use GDI+ and Windows' System APIs. The iTunes codebase still uses Cocoa, Cocoa still uses Core Graphics and Core Foundation, but CG and CF are ported to Windows' native APIs. It's the canonical definition of a cross-platform compatibility layer.

Whether this is good or bad I can't say. I don't use Windows, and I prefer Apple's user interface style. But I also don't like non-native ports. I think people like or dislike iTunes for Windows based primarily on reasons other than the fact that it's a port.
post #69 of 219
Quote:
Originally Posted by anantksundaram View Post

You've got some companies confused.

Oh, right. But, I think with the TOS changes by Apple, their motto should be "do evil".
Fragmentation is not just something we have to acknowledge and accept. Fragmentation is something that we deal with every day, and we must accept it as a fact of the iPhone platform experience.

Ste...
Reply
Fragmentation is not just something we have to acknowledge and accept. Fragmentation is something that we deal with every day, and we must accept it as a fact of the iPhone platform experience.

Ste...
Reply
post #70 of 219
You all know that there are hundreds of apps at apple app store that essentially do the same thing, most of those are ported (so written by developers in a different language) and many of them perform just BAD. Why have such a thing? I think many devs will stop developing for iPhone OS but the left overs will have compete harder for the customers = better apps.

P.S. some times to have a choice is bad, dont forget it.

Apple is simply the best.
MacBook 5,1, MacPro 4,1
Reply
MacBook 5,1, MacPro 4,1
Reply
post #71 of 219
Quote:
Originally Posted by DerPlanck View Post

Notice how the post you're replying to understands the issue to be a two-way street, whist you promptly ignore it and pretend anyone agreeing with Apple's point of view is shutting down the debate. You build your own imaginary gulag, and lock your own chains, and create your own sense of repression in this situation. Maybe you're confusing that with being trumped. Keep on torturing yourself with imaginary monsters if you like.

It's amazing how much whining is done over Apple. I keep thinking "why not shut the hell up, change your diaper and buy a competitor's product?" It's especially annoying to see forum twits whine about Apple stopping 'innovation' when they've never done anything of consequence. That should be an automatic 5 across the eyes, probably should cost them a few teeth.

This entitlement mentality is weak intellectually and ultimately a cowardly dodge of personal responsibility. I think it's a way talentless people bolster their own lack of motivation and hide their deep insecurities. Apple isn't your problem folks, you need to get on the Cialis forums and complain about your issues there.
post #72 of 219
Quote:
Originally Posted by Sue Denim View Post

Either Steve Jobs is completely stupid, or thinks we are.

Is MacOS X written in machine code? Or does it use intermediate layers like Assembler code, C, or ObjectiveC (which is an intermediate layer between C and a bad wannabe Smalltalk-for-C thing).

Cocoa is an intermediate layer between the programmer and the hardware platform...

Yes, but those layers are and define the platform. It's pretty obvious that what SJ is talking about here are layers that are not and redefine the platform. Redefine it into a generic OS that doesn't support native behaviors or performance, or, worse yet, as some other platform.

Also, there seems to be this idea that Apple should "create exceptions" for this or that development tool, "because it's really good." Yes, Flash sucks and it's OK to ban it, but not platform X, which really rocks! This argument basically translates into: Apple should adopt an entirely arbitrary and capricious standard for approving development tools. The current rule may not seem fair if it affects you, but at least it's totally straightforward and not explicitly directed at specific entities. Instead, Apple is saying, use these tools, which we've been telling you to use for years. Seems pretty fair to me.
post #73 of 219
Quote:
Originally Posted by Tulkas View Post

That's right. Apple is the big boy on the block now, so that makes the right by default. While one does have the right to complain, you really shouldn't. Only if you have the resources to develop an entire platform on your own do your complaints have any merit. And in that case, you are then a competitor to Apple, so that invalidates your complaints as well. Best to just keep quiet and assume Apple cannot be wrong. Success==right.

Well then, it sounds like the JooJoo would be the perfect platform for both you and the developer. The JooJoo was built from the ground up, has none of the evil restrictions that the evil Apple and even more evil Steven P. Jobs impose and require. There should be plenty of JooJoos available for sale. Problem solved.
post #74 of 219
I'm not a developer or software writer, but from what I've heard, Flash can be used to introduce viruses to PCs. If true, then theoretically it could introduce viruses to the iPhone OS, thus making the user experience an unpleasant exercise like PCs have become.
I'm all for Apple's closed garden, as long as it maintains a positive user experience. It's worth noting the only complainers are geeks and developers.
post #75 of 219
Quote:
Originally Posted by Tofino View Post

well - from what i read about itunes on windows - you just proved steve's argument.

But would Apple easily accept if they'd have to completely re-write iTunes for Windows? Or - if they think this is right way to go, why haven't they done it yet?

Yes, there is a lot of hypocrisy, double-standards, foul play there. Isn't it possible that Apple also wants to make it harder for developers to port iPhone applications to Android and other platforms as well? Forced exclusivity?
post #76 of 219
Quote:
Originally Posted by nikon133 View Post

Yes, there is a lot of hypocrisy, double-standards, foul play there. Isn't it possible that Apple also wants to make it harder for developers to port iPhone applications to Android and other platforms as well? Forced exclusivity?

No, there is no hypocrisy or double standards or foul play, Will it be harder to port, yes, but that's not the motivation here.
post #77 of 219
Quote:
Originally Posted by Mark Fearing View Post

The point is what is best for the Apple customer. Not who wants to study a comp sic semesters reading.

I don't think that polarising developers and pushing (potentially) big chunk of them to develop for someone else is good for Apple customers.
post #78 of 219
Quote:
Originally Posted by anonymouse View Post

No, there is no hypocrisy or double standards or foul play, Will it be harder to port, yes, but that's not the motivation here.

Well if it's not, it darn looks like it is. I didn't have chance to sit with SJ and discuss that in private, though. Have you? \
post #79 of 219
Quote:
Originally Posted by anonymouse View Post

No, there is no hypocrisy or double standards or foul play, Will it be harder to port, yes, but that's not the motivation here.

No, it's fairly clear to most that the decision is to lock developers in.
Fragmentation is not just something we have to acknowledge and accept. Fragmentation is something that we deal with every day, and we must accept it as a fact of the iPhone platform experience.

Ste...
Reply
Fragmentation is not just something we have to acknowledge and accept. Fragmentation is something that we deal with every day, and we must accept it as a fact of the iPhone platform experience.

Ste...
Reply
post #80 of 219
Quote:
Originally Posted by amitofu View Post

Good point. Apple uses a compatibility layer (Cocoa) to get iTunes and Safari to run on Windows without having to rewrite them from scratch as native applications. And they do it in a different programming language than what Windows' native APIs are written in.

Oh the Irony. And what hypocrisy!

iTunes on Windows is total mess. The UI's non-standard, and the logic in the program works in a weird way for a Windows user... I'd love to see Microsoft to ban these low quality ports.
New Posts  All Forums:Forum Nav:
  Return Home
  Back to Forum: iPhone
AppleInsider › Forums › Mobile › iPhone › Steve Jobs defends Apple's changes to iPhone developer agreement