
The new iPhone SDK terms ban the use of cross-compilers to target the iPhone environment. A fair number of people are angry at this move, because they believe that Apple is restricting the freedom that software developers have had to develop on multiple platforms.
As an iPhone developer though, this move is incredibly helpful towards me. From a business point of view, it mostly has advantages to me. Let me explain:
- It took me two months to properly learn Objective C and become familiar with the environment. Any competition coming into the market has to go through this process, and so I’ve got a good headstart in this field
- If a new popular cross-platform framework suddenly arrived, I would have to go back and relearn it. This would slow me down and bring me back to the level as when I started. For example, let’s say the Flash cross-compiler would become very popular. I know NOTHING about flash. I don’t even know how the IDE looks like. This move would suddenly thrust me behind all the people who have been working for years in flash, and they would be much faster than I could do things in Objective C. Trying to learn flash would take time, and I would be at a disadvantage for a while
- If cross-compilers become popular, the number of apps will increase drastically. This has obvious disadvantages to me, as there is then more competition
- Having spent the time to learn Objective C, even if my app store business fails, I have a new concrete programming skill that I can go get a job with. There are not so many Objective C developers, and my value has increased by knowing this language. If a cross-compiler were available, the return on the investment I made in learning this language would be much lower, as companies would just hire the more versatile C# developers using mono-touch instead of the rarer Objective C developers
For Apple, they are following the Microsoft Mantra: focus on the developers. Developers are lethargic – they are not springing about learning new languages. They like using the same language for most things – and once they know Objective C, they will tend to use Objective C to develop new products. Which means working on Apple platforms. Which means more money for Apple.
—
Follow me twitter, I could be helpful to you




in other words: intact “job security” pattern.Not that I like flash but keeping other, maybe innovative ways off the field is a gread use of this pattern.Next step: increase iphone developer programm fees to prevent all the ipad newbies from stealing old developers’ earnings.
In other words, the barrier to entry is behind me and it is in my interest to keep it there. Screw everyone else. Who needs a platform with lots of apps, anyway?
So you’re happy about this because you hate competition? Given competition breeds innovation, this means you’re anti-innovation and anti-change. As a developer, that’s about the worst mindset you could possibly have.
I agree with Jason.
You have a flaw in you logic: once you learned Obj C, even if cross-platform tools become popular, you don’t have to use them. Indeed, they often make applications of lower quality that aren’t consistent with the standard look and feel of natively developed applications.
Your last point claims that it’s better because by learning ObjC you’ve made yourself uniquely employable even if your iPhone business model. Given people still want to develop for the iPhone, won’t this recent change result in _more_ ObjC developers, not fewer? Invalidating your final point?Furthermore, as an iPhone developer, what happens when Apple fail to provide a technology that you want in order to take your app further, or decide to duplicate your functionality with their own system? Your ObjC for mobile devices skills are useless for developing Android, WinMo, etc, so potentially Apple are putting you at a disadvantage: as an iPhone developer, you’re no longer able to give yourself the security of being able to move your application elsewhere if Apple decides to screw your over.I think you’re being bent over and somehow finding a way to enjoy it.
Apple has began a struggle in which it will ultimately lose because they’re playing for the their own platform & tools and that’s the opposite of reality. By 2010 we have reached a condition in which the world is just more “open” and no one including Apple can withstand that. And lastly, oh yes Microsoft has once succeeded in spreading its own platform but that was 1990s and it ‘s very hard to repeat something similar to it in 2010s.
You can have the iPhone platform. I’m going Android.
Well, I learned Obj-C enough to get a small app in the appstore, then went and used MonoTouch for the next one (which will not see the store for various OTHER reasons),being I have 7 or so years of .NET under my belt.why? ‘cos I’m using cocoatouch (yay! it’s nice!) but not obj-c (wow, the early 90′s called and wants it’s language back!). I know and like c#, and I’m INSANELY productive in it. For example, since easter, I’ve worked maybe 20 hours (total) on an iPlayer browser and downloader. (did I mention OTHER reasons for not releasing it?) It’s basically finished. On a complexity and polish level, it’s about the same level as apple’s iTunes Store app, the iPod app etc. Assuming apple hadn’t done their recent change and and BBC let anyone use their content (which they dont), I’d have no qualms about releasing this app, charging for it, and if it was someone else who’d written it, paying for it. I consider this one of the better pieces of software I’ve written.If I had to do it in obj-c, from what I know of it, it would have taken me at least a month, full time, to get where I am now in under a week part time (I started this over easter as a bit of fun). Given I’ve been doing software for a while (since Obj-C was a new thing), I think my estimating is quite good, but hey – if I was Max or Loren “Tweetie” B it may take me less time…. but I dont think it’s a week’s work even for someone with a lot of Cocoa skills.I guess thats my big issue. Dev’s are now forced to use a antiquated language which is prone to memory issues, on a device which is limited in memory, for no gain, performance or otherwise, except to piss all over Adobe.At the moment, I’m seriously considering getting an ipod nano for music, and something Androidy for development. I may learn more Cocoa and use Obj-C. Or just go back to, ya know, living….Max, if you want to see what I mean, you have my email with this comment, fire over you Identifier and I’ll send you over the app.
Wow. Just wow. You’re happy because developers not interested in Objective C can no longer compete with you? I know this sounds crazy, but shouldn’t the quality of the applications you build–regardless of the language–be what determines your success?I’m just stunned that anybody who calls themselves a developer would actually use this as an argument. I’d be ashamed if I were you.
Wow, it’s like Microsoft saying, only .Net and C# can be used for developing an app. on Windows, it’s like US saying only native US citizens can open up companies in US
And you like it? F..k Apple and it’s whole stupid platform, and it’s stupid crappy language. I totally agree with Nic, one can never be as productive in Obj C as one can on C# and Mono, and please save yourself a lot of money in case Apple and all its shiny tools platforms go out of favor, you’ll be stuck with that gem of a language…good luck for the future…
This is insanity… a developer claiming that keeping other developers out of a market is good because he will be worth more due to less competition?!?What happened to free markets, and competition, and the greater good of the web as a development platform for all? I guess you have that more for me mentality…I don’t think you can call yourself a programmer… you are just someone who knows ObjC.
As a business person the lesson competition the better. People don’t write for iphone to improve the world, they write apps to make money to buy stuff and pay rent.
This post is wrong on so many levels.- “If a new popular cross-platform framework suddenly arrived, I would have to go back and relearn it.”. If you are already proficient with Objective C, then why should you have to learn a new framework? Use what already works for you.- “If cross-compilers become popular, the number of apps will increase drastically. This has obvious disadvantages to me, as there is then more competition”. What about the open market? Are you that insecure in your own abilities that you worry about what too much competition will bring? Should I not be allowed to submit apps because my work is better than yours?Your post makes you seem very insecure about your programming skills, and you clearly don’t understand why open markets are beneficial.
@Terry”As a business person the lesson competition the better. People don’t write for iphone to improve the world, they write apps to make money to buy stuff and pay rent.”This isn’t the mafia Terry, we dont “Get rid of the competition”… as a “Business Person” you should be aiming to out compete the other guys not at locking them out… Maybe if you were actually confident in your products and ideas you wouldn’t be worried about the competition and how to not allow them to compete with you. If you are afraid of the fight dont get in the ring…
i don’t think “cross-compiler” means what you think it means.
Max, I’m a close reader of your blog, and I find your posts very interesting. However, I have to disagree with your sentiments here.Being afraid of competition isn’t going to improve your skills. In fact, if you are banking on your Obj-C skills, having developed in a competitive landscape is only going to increase your overall worth.Aside from that, I disagree that Apple is “focusing on the developers”, unless you mean they are focusing on screwing the developers. I’ll reiterate what I’ve written in a recent blog post (http://bit.ly/bbnuIe): Apple, in its path of destruction towards Adobe, is actually killing their current and prospective developer base. By insisting that developers ‘originally code’ in Obj-C, they are locking out any other language that can potentially cross-compile to Obj-C. That’s analogous to someone insisting that we code in Assembler for all web development. Really?The software industry has always been on a quest to abstract higher level languages. Unfortunately, Apple doesn’t like the fact that it was Obj-C’s turn to be abstracted into higher-level meta-platforms like Adobe Flash, Monotouch, Unity3D, etc. This is a low-blow towards developers everywhere, and there’s really no other way to look at it.
It is just like you said, blocking cross-compiling forces people to learn Objective-C. I think that is the real reason Apple has been holding up a front against Flash. They want a large community of developers that know how to write Objective-C apps because those developers will also know how to write apps for OS X. If developers can load Flash on iPhones they wont need to learn Objective-C. Apple claims it is about performance and usability, but I think it just to get more developers.
“Developers are lethargic – they are not springing about learning new languages.”Speak for yourself. I don’t know ANY developer that ISN’T interested in learning new languages and technologies. Developers tend to be well-rounded and willing to adapt as technology changes. Developers are problem solvers, and not all problems can be solved with one language, or one technology, or one set of tools. Every problem is unique.And, if anything, Apple’s recent shenanigans are anti-developer. Objective-C developers are not the only developers out there (in fact, they’re a very small minority), and Apple has effectively isolated the majority of the development ecosystem. I don’t see the App Store surviving more than a year or two after this fatal decision. Hello, Android.
Hey everybody! I and my partner had read just that there will be the best new iPhone on the market. This type of innovative new Apple iPhone is generally a whole lot far better compared with the type of previous one. Have actually someone this unique brand-new apple iPhone and simply would tell me personally something about the difference? Mainly because i and my friend would like a good mobile phone so i and my partner possess to be able to make a good final decision immediately.