This post was sent to me about Gruber’s analysis of the new Apple policy (3.3.1) that stated that developers were not allowed to use third party development tools that could target multiple mobile phone platforms. We were looking into these currently and I have to say I’m quite miffed.
Concerning Gruber, though, he had stated that for iPhone developers there will be “No change. If you’re a developer and you’ve been following Apple’s advice, you will never even notice this rule.” This is quite myopic to me. This can only apply for indie developers who are supporting themselves or there might be a couple of developers who are just targeting one platform. As far as an evil mean greedy company goes, we try to develop one app that can run on as many platforms as possible. This allows us to spread the risk across platforms and hopefully to recoup the development costs and *ghast* make a profit.
This issue is emotional out there in the developer world. I wanted to see what Steve Jobs would say and possibly write him myself. Well, he has chimed in (above first link) and said that its because these intermediary IDEs that generate code for a target platform produce mediocre code/apps. It just might be me, but XCode (THE IDE that Apple tells us we must use to develop with) does this too. You may target the SDK version that you need to target. So XCode falls into 3.3.1 and should not be used either. So really, we should ALL be coding with a simple text editor. Steve, is Notepad++ ALLOWED????? It would be an intermediate program between me and the OS, I really don’t want to think you still aren’t the god of the platform.
Btw, I like Steve. He’s amazing and has completely created, due to his force of presence, a MACHINE that is reshaping the consumer electronics world. He has entered the cell phone market at the smirk of Microsoft. And he has won. He contracted with AT&T for a piece of the pie where no one else was able to. And he won. He faced off with the record labels for $1. And he won. Yes he has slid back a bit, but one must admit he was the single force that blew the doors WIDE OPEN for MP3 song downloads on the Internet. He has done the same for the book market. However, I don’t think Amazon was that bad with their ebooks. He was not even NEAR first with a portable MP3 player, yet he blew the doors off the market.
Therefore, I am not a Steve basher, nor am I an Apple fanboy. I am, and Joroto are consumer advocates. This 3.3.1 policy is not good for consumers. Steve, doesn’t want crap-apps in his store. He already had them there and has been culling the herd for the last several months. He doesn’t want a crap-app in the store, then so-be-it, he needs to train his people to dump the crap-apps. However, this is bad for the consumer, in a way, because it limits choice, which is why Steve is a lightning rod for bashing. Steve, if this post actually makes it to your eyes, contact us (Joroto), and we’ll help you establish a policy that balances the needs of developers, the iPlatform/Apple, and consumers. There is PEACE to be made here, and we can help.
You need to drop this last policy change for the code generators. Its bad mojo for the iPlatform. It actually makes me, of all people, not want to develop for the iPlatform anymore. What I may establish is that the iPlatform will be done last because all other platforms can use an IDE, then we have to reprogram some of the code in order to make it work on the iPlatform.
Steve, you’ve lost sight of something here.
Here is a link from SlashDot on this issue. It explains that Steve has said “intermediate layers between the platform and the developer ultimately produces sub-standard apps and hinders the progress of the platform”. I believe in context he’s talking about Flash. Following the Slashdot link is the Tao Effect Post. It seems like “most” developers agree that an extra layer on the iPlatform would be too much processing for those CPUs and “mostly” do not begrudge that decision. However, for most of these cross-platform IDEs that also target the iPlatform, they produce native code. In the case of the iPlatform, the one I was looking at produced native Objective C++ that gets compiled under XCode. So there is NO RATIONAL REASON why Steve needs to implement this policy, other than “because he can”. If a developer has a complicated project that some component or feature of the iPlatform will perform, but other platforms don’t, then one must make a decision as to how essential that feature it is. If it is essential, then it gets programmed in, and the other platforms will either: 1) No have that feature (common), or 2) the developer will need to code that feature into that other platform.
Again, I don’t fully understand this decision to implement this policy.
Update 4/13/10 9:05p
Simon over at Bloggasm emailed in a link to his blog discussing why this war is being waged in the blogs instead of the retro mainstream way. Simon’s correct, the mainstream umm authors are not techs and do not understand anything about tech. So they quote “the famous guy” and offer up a cheap “how benevolent” the famous guy is. blah blah. Right now Apple is the elephant in the china shop and I feel like one of the cheaper ceramic teacups. Go pay Simon a visit and email him your thoughts.
Update 4/17/10 8:50p
This guy doesn’t get it either. He’s drinking the Kool-aid (no I don’t own Kool-aid stock but A LOT of Apple fanboys MUST). He said “But in order for these speed improvements to be realized, apps would need to be written in objective C—which is exactly what Apple is now telling developers to do.” Umm ‘scuse me for saying this but RTFM. Mr. Steven “The genius” Jobs has stated that IF you use a code generator that outputs Native Objective-C code and then one uses XCode to compile it into the native app, then YOU SUCK! One is in VIOLATION of the development agreement. Please RTFM or go back to reporting on main-stream news that has only “some” surface tension. These issues run deep because, as developers, we are constantly trying to become LAZY. Programmers are the laziest people on the planet. We try to be the most efficient with our time so we can get back to playing Bioshock, or the upcoming Starcraft II games. We don’t have any life beyond Programming and Games. The main-stream press needs to play in another sandbox, you don’t even begin to understand tek.