Apple: .net apps are kicked off iPhone OS 4 too.
lists.ximian.com
lists.ximian.com
Apple didn't make this move because they have some irrational religious hatred against Adobe. They are just betting that a tight control over the technology by which people produce applications for their mobile platform will be advantageous to them. They are fully aware that this is bad for people who have bet on using different technology and I guess is that they just don't care the tiniest bit.
Absolutely true.
An intersting thing is that I, and I'm sure quite a few others, would never have guessed that language choice was a "bet" (at least, not this kind of bet, anyway).
Oh boy... It took years for me to convince several companies Java is not the only language that can turn out "enterprise level" applications...
That risks putting me back in square one.
Thanks, Steve. Well played.
No doubt, but that's a different kind of "bet" (I briefly alluded to it in my original comment). There's naturally the bet that the language might not be around in 2 years, or that the language isn't capable enough to do what you need it to do, or that the language is too niche for XYZ Corporation's programmers and finding other programmers might be hard[1].
But that's a completely different kind of bet from "I wonder if this very popular and capable language will be against the arbitrary and ever-changing rules."
The former is quite practical. The latter shouldn't have to be a concern.
[1] Off-topic, I recently had this debate with a guy I'm going into business with, in which I was trying to convince him Erlang is a viable language. He's more of a business-financial-type and was concerned with the proverbial "what happens if you get hit by a bus." While I understand his concern, eventually he, correctly, resigned the programming stuff to me, where it belongs :)
However, I also think Apple is doing the right thing by banning "meta-platforms" from the App store. Adding layers of abstraction that only serve the developer, rather than the phone's owner, is hard to justify on small, battery-powered devices. Especially when introducing multi-tasking features, RAM becomes even more precious, and fameworks, interpreters, cross-compilers, etc. will cause a bloating trend.
If OS 4.0 does indeed make it easier to deploy IT apps across the enterprise without going through the App store, and 3.3.1 only applies to the App store, then I know my problems are solved.
One man's bloat is another man's lower barrier to entry for an app that he really wants to write, but has trouble writing in ObjC. Maybe it's supremely useful for a niche group of users because the author is an expert in some domain...
Remember that the App Store is a business and a marketplace, where products are being sold to real consumers who want their phone--and everything that runs on it--to be reliable. IE: this is a professional realm.
Professional programmers don't have a problem with learning a new language, if that's what's required to target a new platform. If someone "has trouble writing in ObjC", then they really need to work on their skills. This person sounds like a hobbyist who probably shouldn't be selling his wares to run on consumer electronics devices with limited RAM and battery life.
By that argument, we should keep anyone that isn't professionally certified out of every activity where people are also professionals. Want to create a start-up? Sorry, you're not professional enough to create a start-up, so you're legally banned from doing so.
> where products are being sold to real consumers who want their phone--and everything that runs on it--to be reliable
How can you hope to speak for all iPhone users? Do you really think that the interests and goals of every single iPhone user align perfectly with no conflicts?
> Professional programmers don't have a problem with learning a new language, if that's what's required to target a new platform. If someone "has trouble writing in ObjC", then they really need to work on their skills. This person sounds like a hobbyist who probably shouldn't be selling his wares to run on consumer electronics devices with limited RAM and battery life.
We should also make it easier to identify 'professional' programmers from the lowly hobbyists by creating a 'professional programmer' certification program. Sort of like a bar-exam for programmers. Then we would know that no professional programmer was lacking in any respect. All code produced would be perfect and of the highest quality. I mean, it works for lawyers. No incompetent lawyer has ever passed the bar-exam, and no medical professional that was incompetent has ever received a license practice medicine.
That's what's called a slippery-slope argument. It's also a fallacy. A startup does not have to ask Apple to provide a storefront, distribution network and billing system for them.
> How can you hope to speak for all iPhone users? Do you really think that the interests and goals of every single iPhone user align perfectly with no conflicts?
By creating a marketplace with a baseline of quality, you improve everybody's bottom line. Developers can spend less effort convincing the customer that their product isn't a buggy piece of crap that won't run, or needs special access to a restricted service, or any of the other things that Apple's review process screens out.
Apple is removing barriers-to-purchase for the customers by converting them into barriers-to-entry for the developers. Doing this has made the App Store an impulse-buyer's dream, and this benefits everyone.
> We should also make it easier to identify 'professional' programmers from the lowly hobbyists by creating a 'professional programmer' certification program.
Perhaps that's coming, too. Despite your sarcasm, a legal profession with Bar exams or medical profession with licenses is still substantially better than one without. Even if, at the very least, they only provide a mechanism for taking consistently poor practitioners out of the system.
But that's unlikely, because professional certifications are used when the professional himself is the product. Here, the app is the product, and Apple is screening on the merits of the product.
I'm going to guess it's logistically impossible to train so many reviewers to look at each product in detail (with turnover, very high submission rates, etc.), so they have to give them broad rules.
Right now, someone is claiming that CS5-compiled Flash games HAVE made it to the App Store, and that they are slow pieces of crap:
http://www.reddit.com/r/apple/comments/bpdpo/see_for_yoursel...
If CS5 unleashes a tidal wave of Flash games into the App store, then yes, I imagine that iPhone owners will be disgusted with the state of the market, hurting everyone trying to sell a product there. (Think of the "September that never ended" and what it did to Usenet.) Even developers who've spent a little more time learning Objective-C so they can create a better product.
It was reductio ad absurdum, not slippery slope. Slippery slope would be "If we let Apple do this, the next step will be having to be 'professional enough' to be legally permitted to start a startup", which is not what the gp said.
The idea that you can stay isolated from the rest of the world in some ivory tower, and that this would be a good thing is a ridiculous notion. The "September that never ended" was just "the rest of the world discovering Usenet." The people that get all worked up over that just come off to me like a group of kids that make a fort for 'members only' but are upset when their parents force them to place nice with everyone else.
> Right now, someone is claiming that CS5-compiled Flash games HAVE made it to the App Store, and that they are slow pieces of crap: http://www.reddit.com/r/apple/comments/bpdpo/see_for_yoursel.... If CS5 unleashes a tidal wave of Flash games into the App store, then yes, I imagine that iPhone owners will be disgusted with the state of the market, hurting everyone trying to sell a product there. (Think of the "September that never ended" and what it did to Usenet.) Even developers who've spent a little more time learning Objective-C so they can create a better product.
You're ignoring that this affects more than just Flash CS5. There are other products like MonoTouch that are affected by this. Apparently MonoTouch was used to create 10 of the top 100 AppStore apps. I'm assuming that is a good indicator of whether or not they are 'crap apps.' (http://news.ycombinator.com/item?id=1256761)
> Perhaps that's coming, too. Despite your sarcasm, a legal profession with Bar exams or medical profession with licenses is still substantially better than one without. Even if, at the very least, they only provide a mechanism for taking consistently poor practitioners out of the system.
The difference here is that the legal and medical professions have serious consequences for poor practitioners. If we want to create a 'professional certification' program for programmers, you might as well do that for any profession. You need to look at the logic of your argument. The logic behind professional certification programs for the legal and medical professions don't really apply elsewhere to entire professions.
Don't just say "I look down with disdain on poor programmers, therefore it logically follows that they need to be eradicated." You could apply that same logic to every job in the world, then we would live in a world where you couldn't get any job without some sort of certification.
Here's a use case: someone in a niche field - say, an archaeologist, just to pick something - has a clever idea for a phone app that will assist him in his job. He knows a little about programming, and manages to put together a Lua script that does most of what he needs. Several of his colleagues find his code really useful and recommend it to their friends too.
You're probably right that the app store isn't the right place to distribute it, but Apple doesn't give you a lot of leeway there, does it? In any case, if it's some random app for a niche, and people find it useful, who cares if it's got some deficiencies?
http://www.apple.com/iphone/business/preview-iphone-os/
Such apps are not bound by 3.3.1.
But Apple believes that they can judge our needs better than we ourselves can. They have the wisdom (so they believe) to say that this hypothetical niche vertical app is less important than having everything meet their own rules, so it's not allowed to exist.
Apple may even find that this buys them some short-term success. But in the long term, this will eventually lead to ossification and the same scrap heap as mainframes et al.
I chose monotouch as having done more high level language development recently, I don't want to go back to those things - and even find them abhorent.
I also don't want to learn a "ghetto" language, which is locked to one platform - I want to be able to do learn skills that are useful cross platform (getting more use of a language I can use elsewhere).
I don't buy that I won't get the most out of the platform doing this either, if I need every last bit of CPU and memory I'm probably doing something wrong anyway.
But didn't Apple also ban writing apps in, say, Haskell and all other non-C-family languages that compile to machine code? Writing in a language like that is no more a "meta-platform" than Objective-C itself is.
"OK, I realize that by banning other development platforms, I realize I'm making that initial hurdle painful for those who aren't familiar with our preferred tools or languages. However, our tools/languages are always at the forefront. After reviewing Gruber's comments I'm well aware that it seems like a harsh move, but I want developers to bite the bullet and deal with the learning curve now rather than wait while everything else attempts to catch up to what we already offer."
Steve's at least acknowledged that it was harsh. However, the main argument holds: If you want everything the platform has to offer - including optimal performance - you're going to have to use Apple's tools anyways. As a developer I myself think it was a very harsh move, but I'll also agree that using alternative development tools has a significant performance/feature trade-off right now. It's a significant learning curve.
I think he's incredibly wary about user perception of not only the platform, but it's ecosystem of apps. The effect of banning alternative development platforms will probably have a minimum effect of the quality of the app ecosystem, but any negative is still negative to a notorious perfectionist who caters to the premium market.
There seems to be an 'official' response from Novell here: http://www.mono-project.com/newstouch/archive/2010/Apr-09.ht..., but the email linked here is doing the rounds on blogs/aggregators as an 'official statement' - is that guy one of Novell's lawyers?
Further to the link this post gives, this email form later in the thread is useful/gives more context: http://lists.ximian.com/pipermail/monotouch/2010-April/00188...
.net dev > So, I replied back to him, and explained that my firm intends to both create in-house applications, as well as distribute apps via the app store:
Steve Jobs > (Paraphrasing his reply:) "Sorry, if you use the app store, you need to adhere to the T.O.S."
There are way too many companies and users affected, for this to be resolved via some one liner reply to some guy on a weekend. A bit obvious, eh?
Well, more land for Android.
I was never a developer/user/anything to Java either and I've only later learned that I certainly didn't miss anything. ;)
Presumably these would all be affected.
--Actual DeveloperSo based on that - yes, it will affect some iPhone developers, and the argument that this move by Apple is about quality is bogus.
There are many developers that would love to take trade places with those 10 apps in the top 100. If I knew something like Doodle Jump was written on the .NET platform, I'd probably jump at the chance to make a similar clone in hopes of taking it's place.
It's poor business to rewrite an app for no reason. How many months will it take to rewrite these apps just to achieve the exact level of functionality they have now? What if the developer has no Objective-C experience at all (which, given the choice of MonoTouch, might be likely). What a massive waste of time and money for nothing.
> I'd probably jump at the chance to make a similar clone in hopes of taking it's place.
On a forum full of developers, this attitude sort of disgusts me. Here are these poor developers having the rug pulled out from the under them but it doesn't matter because we're all replaceable cogs and someone will be there to take their place. That stinks.
It sure does, but it's (unfortunately) probably reality in this situation.
I was honestly looking at cost quotes to port a couple customers to a flash multi platform situation, but now that work is shot.
On the upside, quite a few HN people asked for quotes after having similar dreams shut down, but more work from old customers is almost always easier, more predictable and cheaper than dealing with a crop of new potential customers. A few weeks from now I might say different depending on how much we land.
I do think I will use Flash as an Android platform, especially if it has a Java plugin library. The lack of a visual designer on Android is one of it's biggest weaknesses.