Adobe Evangelist Lashes Out Over Apple's "Original Language" Policy
An anonymous reader writes "Apple's recent decision to restrict the languages that may be used for iPhone and iPad development has provoked some invective from Adobe's platform evangelist Lee Brimelow. He writes on TheFlashBlog, 'This has nothing to do whatsoever with bringing the Flash player to Apple's devices. That is a separate discussion entirely. What they are saying is that they won't allow applications onto their marketplace solely because of what language was originally used to create them. This is a frightening move that has no rational defense other than wanting tyrannical control over developers and more importantly, wanting to use developers as pawns in their crusade against Adobe. This does not just affect Adobe but also other technologies like Unity3D.' He ends his post with, 'Speaking purely for myself, I would look to make it clear what is going through my mind at the moment. Go screw yourself Apple. Comments disabled as I'm not interested in hearing from the Cupertino Comment SPAM bots.'"
Yeah, I read the book and I saw the commercial. Ironic.
I don't understand why people are surprised that Apple have taken these measures. Time and again they have gone out of their way to make sure they have a vice like grip over aspects of their products.
Even iAds, which was claimed to be an attempt to revolutionize Advert distribution is simply a way for Apple to monopolize and control the money flow through their products.
Fact is, until people start protesting with their money nothing will change. The only way Apple will stop strong arming Adobe is for them to suddenly pull Photoshop from Mac OS. Fight fire with fire.
Shame it'll never happen. I look forward to seeing the ways Apple will surprise us all with their evil policies in the future.
....only allows you to speak English when using an Iphone.
It's Apple. For at least 10 years people have been saying that if Apple had MS's market share that things would actually be worse than they are now. Well, now we get a small hint of things to come. OTOH, perhaps Apple is so large now their left hand doesn't know what their right hand is doing.
Steve Jobs Has Just Gone Mad: "If you need to "originally" write your code in Swahili, while listening to Milli Vanilli, while reclining in a patch of mud, and then you need fifty oompa loompas to translate the Swahili into C, that is none of Steve Jobs fucking business. And the idea, which I am sure is actually the plan, that he will inspect application code to figure out what the "original" language is that the code was written in is just plain pathological."
What's more interesting to me is that Adobe is now under fire both from Microsoft, who has been trying to supplant all of their software with their own stack, and now Apple. It seems like the only friends Adobe has these days are Linux and Android.
So, hey, Adobe: have you started porting Photoshop yet?
Help stamp out iliturcy.
Yeah, I read the book and I saw the commercial. Ironic.
This week, Slashdot featured a really good article form Slate that ended with this quote:
Steve Wozniak has said that he pre-ordered three iPads, two for himself and one for a friend. This is a testament to his incredible good nature and his loyalty both to the firm that marginalized him in the 1980s and to a friend, Jobs, who refused to write a foreword for his memoirs. Yet somewhere, deep inside, Wozniak must realize what the release of the iPad signifies: The company he once built now, officially, no longer exists.
That last sentence is really the core problem here. We were used to Steve Wozniak's Apple and we were in love with that Apple. Now the only Apple left is Steve Job's Apple. Times have changed but before we cast acerbic words at Jobs you must acknowledge he has led the company in a very profitable direction. Could he have done that while adhering to Wozniak's "open" idealism? That's the real debate here.
My work here is dung.
anything that speeds up the decline of flash in general is fine by my books.
Adobe can retaliate and abandon Mac platform. Designers and developers who need Adobe's products will move to Windows.
Except with the imminent death of Flash due to the ubiquitous adoption of the iP[hone|ad|od Touch], Photoshop is the major product Adobe is making money with, and that's primarily on Macs. Could they afford to abandon the platform is the real question.
But yeah, this is an elegant solution. If Photoshop were Windows only, a lot of graphic designers would end up abandoning Macs in the long run.
John
This should be a good fight. Who do you cheer for? Injuries!
Apple hasn't forgotten the lesson they learned from IBM and others. Allowing developers to use proprietary tools like Adobe's Flash suite makes them dependent on Adobe's development cycle and not their own. Apple claims to have just released 1500 new API's for iPhone OS. How long will it take for Adobe to support them with their development tools? About as long is it takes to get a version of Flash for OSX that doesn't use 99% of the CPU? Or as long as it takes IBM to release a 3 GHz G5?
Not all issues surrounding control are negative. Sometimes it's just about controlling your own destiny and place in the market.
Seriously, what was Adobe thinking ? A good business relationship is when everyone gains from whatever is being proposed. Apple don't gain. Why are Adobe surprised Apple aren't happy ? This isn't *quite* as bad as Palm lying about their USB id's in order to piggy-back on Apple's success, but it's pretty darn close.
I can see the case for this being good for Adobe. I can't see the case for this being good for Apple; given that Apple are way out ahead in terms of mindshare at the moment, I don't think this is a bad thing for the users - developers are flocking to the platform.
If Adobe want to play, they need to bring something that excites the user-base, and that Apple can't refute. So far they've *not* done that, and childish rants aren't going to persuade me that they can, in fact, do that. I do love the "comments are disabled because someone might disagree with me" as well [grin] - that just smacks of someone firmly convinced they're in the right...
Simon
Physicists get Hadrons!
Apple locked down the iPhone app market to avoid the same late 80's video game crash, according to this page: http://news.ycombinator.com/item?id=1250946 Let state that I am not an iPhone fanboi. I use the corporate iPhone for email and calendar, which it does well. It does infuriate me that I cannot make it do simple tasks like change notification volume that my POS Windows Mobile phone could. I would jailbreak it, but my boss told me "the IT department would probably junk punch him" if I did.
There may be no "I" in team, but there's also no "F" in way.
crap, I meant "SNR(with Apple fanboi comments) == SNR(without comments)"
John
Do you suppose Steve Jobs might still be upset about the long delays in Adobe's release of OSX/Intel native products?
Nah.
With reasonable men I will reason; with humane men I will plead; but to tyrants I will give no quarter. -- William Lloyd
Actually, I read about this the other day. Rumor has it, the language requirements actually do have a purpose, that is making sure the apps work with the new profiled multitasking setups. Supposedly cross compiled apps don't behave in the same way and individual threads can't be halted to save battery and processing power the same way that native apps can.
Whether or not that is true is a bit above my head. The claim has been made that all of Apple's fancy tricks with threat pausing, fail completely with cross-compiled apps and as a result those apps perform very badly with regard to battery drain. This is somewhat supported by the fact that Apple has applied this only to the version of iPhone OS that includes multitasking and not to older versions including current development for 3.x.
Others have also faulted Gruber for misquoting them in his rant by claiming Unity3D will no longer be allowed, despite the fact that the person he was quoting said maybe it will or maybe it won't as it is actually a pre-compiler and it does create objective C source files. The rant should be taken with a grain of salt as it is from a fairly biased Adobe employee.
If it was anything other than Flash, and anyone other than Apple I'm sure more people would be outraged. To me this is more of Apple's and its control MO vs. the last decade's "rich internet architecture". Apple's doing what it always does, control its platform. I'm not sure why anybody's so surprised. I've been burned by the lock-in, lock-out myself (DISCLAIMER: I do own an Apple computer), but, I'm not going to cry myself to sleep over the marginalization of the Flash platform on the iPhone OS. I think most died-in-the-wool Apple users feel this way (ho hum/ meh), and Apple is willing to take advantage of this sentiment to further shape their own platform the way they want it. Right? Wrong? I don't think this is really a question of ethics or morals. I think it's Apple having their own way, and people with dollars not caring enough to get mad and go elsewhere.
Hey Adobe, just abandon the Mac platform. You can hurt'em more than they can hurt you!
First, Flash sucks for me as a user so I am thrilled it's going to die. Sorry if a few developers love it, but that's not my problem nor do I care if they have to learn new things. Thank you Apple.
Second, as an iPhone user there is nothing I miss on a daily basis being able to do with the iPhone. Do I wish that there was more flexibility with some apps? Yes. Do I think it's this huge deal, no. Fact is the control Apple is doing has benefits and negatives. For most people the benefits of a closed community, screened apps that haven't had viruses or malware, and a wonderful intuitive GUI (IMHO, Android is getting closer but is still not consistent nor as intuitive as iphone or Palm WebOs) and easy upgrades that actually are released to the phones (as opposed to the fragmentation that's Android) is worthwhile. Fact is Android Droid are STILL waiting for Verizon to let them get 2.1 of Android. How's that for control? If you want control, get yourself an out of contract pay as you go GSM type phone (like the Nokia or somethiing). But for the rest of us people who just need a smartphone and not a portable computer, the iphone is a great device.
Apple is lock-in. Adobe is lock-in. You have a choice of how you'll be locked in. What's the point of developing software?
In the course of every project, it will become necessary to shoot the scientists and begin production.
However, they're probably not defenses that Adobe or people who support the general concept of "openness" would appreciate.
AppleInsider claims it's due to the new multitasking features in iPhone OS 4.0. I don't know if I fully buy that, though the argument that Apple's policy change is part of the 4.0 release seems to support the idea (if they merely wanted to cut out Adobe from the beginning, they could have changed their policy much earlier).
Personally, I think it's a UI-based decision. Apple's whole schtick is focused on a consistent interface that functions smoothly and easily to the end user, rather than trying to pack in as many little features as possible. (Feel free to debate the merits of this type of thinking; it's certainly not for everyone but it seems to be working for them.)
Apple does not want a flood of half-assed iPhone and iPad apps written in a "write once, run on any number of systems and interfaces" manner. In Steve's opinion, if you want sell an iPhone app, write an iPhone app, with all the care and diligence to the iPhone's interface which that entails. Now, I'm sure it would be possible to use Flash's cross-compiling feature to make some wonderful, perfectly native-UIed iPhone apps, but I'm also willing to bet that 99% of the time this feature would be used to half-assedly convert some Flash game to an iPhone game. Again, feel free to debate the merits of such a closed ecosystem, but you can't exactly claim there's no rational basis behind the rules.
Always thought big brother looked a little Steve Jobsish
People are jumping to too many conclusions here. Apple updated the developer terms, and has not confirmed that they will shut Adobe-compiled apps out. The compile-flash-to-iPhone feature from Adobe is vaporware anyway for now, as Adobe hasn't really shown it that publicly yet. Appleinsider is reporting that the ban is not from spite but for technical reasons; as cross-compiled code may interfere with the proper multitasking coming out in iPhoneOS 4.0.
I won't get mad at Apple until it's confirmed that they are shutting it out. Apple selectively enforces it's developer rules (they let Google's app through when it used private APIs), and Apple hasn't commented on the Flash-compiler controversy. No, a ranting Adobe evangelist has as little information as you or I do at the moment.
Is the Unity3D Game Engine threatened? I doubt it. Adobe, yes. Unity, no. I think this Adobe guy is reading between the lines of Apple's announcement. He knows Flash (its code generator workaround, not Flash itself) will be targeted, but not Unity3D. He's only trying to get Apple to admit its hidden agenda, or goad them into banning Unity3D to maintain consistency (which would only go against Apple's interests, Unity3D already has many top selling titles, the code generator from Adobe is not even close).
One thing Apple can never ever give you until they change their minds: Freedom.
You can't take it for yourself because it would equate with theft until they grant you permission.
There's not App for freedom.
What's the point of developing software?
Fun and dollars.
In the real world, Safari (including on Mac OS X) only has around 5% market share. That's not ubiquitous at all. I think 'irrelevant' is the word you're looking for.
Yeah, their "developer relations" are the shit they deposited on your face, and the money you wasted developing an app that they ended up rejecting. Oh, it's so wonderful to develop for Apple's platforms.
Apple just doesn't want lousy bloated code that is generated badly and lazily from some bloated Adobe app that probably costs a fortune.
XCode is free, Cocao touch and ObjC is much nicer to use than most mobile platforms (Symbian is horrid). Why buy some Adobe toolkit and churn out rubbish?
Developers for games consoles have to use the official SDK, why should a handheld gaming platform (that is also a phone) be any different?
I'd guess they think the answer to that is "yes". I think they are very wrong about that, but it seems they don't value Apple custom. If they did, they wouldn't have delayed the intel versions of CS3 for a year. That definitely cost Apple in people upgrading to intel machines.
I dare say that's at least part of the reason why they are keen to kill flash. That, and the fact that Apple's ideology is all about user experience -- and Adobe's is very, very far from that.
Photoshop is primarily a Windows program. It looks like ass on Macs....
It's actually pretty surprising, given that Macs are managing to maintain market share despite not really having a the good version of Photoshop.
This seems like the iPhone bubble: it's where a lot of people are swarming to stand in line to be and that high demand gives Apple a lot of power. Like most bubbles I assume it will burst, leaving Apple with overly restrictive policies developers have abandoned. I can't blame them for cashing in during the bubble though.
"UNIX is very simple, it just needs a genius to understand its simplicity." -Dennis Ritchie
That may be, but a good number would stay behind using old versions of Adobe CS and dumping money into emerging competitors to Adobe. Not to mention that most of Apple's customers wouldn't be affected in the slightest. The harm to Apple would be minimal, but the harm to Adobe if competitors gain a foothold could be disastrous.
"I like systems, their application excepted", George Sand (French)
Five Tremendous Apple vs. Adobe Flash Myths
http://www.roughlydrafted.com/2010/04/10/five-tremendous-apple-vs-adobe-flash-myths/
A bit of his summary:
And so, through a mix of incompetence, belligerence and emotionalist hypocrisy, Adobe has been pumping a non-stop stream of propaganda about how critically important Flash is on mobile devices, even though millions of people been using the highest ranked smartphone for three years now without suffering any ill (not even the rest of humanity on lessor smartphones have missed being able to render desktop Flash content, because they haven’t been able to either). There’s a reason for all that talk: Adobe is terrified.
Just curious - and no I am no big fan of Adobe either - but how is Adobe doing a lock in? They do not own the OS, the developer tools in question are generally open source. What is the Adobe lock in?
Its really this.
Photoshop is at such an advanced state, that nobody would have a realistic alternative for many many years.
The recent preview of some of the latest features in mind blowing. NOBODY is doing that stuff. Photoshop is not only are doing it, but its doing it very well and with user friendliness first.
Remember also that Adobe is also king of desktop publishing. InDesign (formerly PageMaker) has a strong following as well. The users of these products are not beholden to Apple: They are beholden to Adobe.
Even GIMP, with all the effort thats gone into it, does not replace photoshop. If adobe abandoned OS/X, I would have to say that nearly 100% of the existing Mac market for Photoshop would run to Windows 7/8 over the next 5 years.
"His name was James Damore."
Somehow, developers have to realize that the iPhone, iPad (and in a certain way an iMac too) are no longer meant to be computers with an operating system. They are devices with an API. As far as I see these API's are trying to protect the devices (and the company and the users).
Get over it.
--------
* Sigh *
...that Apple wants _nothing_ to do with the stinking piece of feces that is Flash? F****ng realize that this would never had happened if Flash wasn't such a slow, obese, cpu-hungry, inefficient piece of trash. Don't shift the blame on others just because they don't want your shit splashing around them.
browse the web with your eyes open and then tell me flash is dieing.
I think apple has a lot more to lose from this then adobe. if apple allowed flash on it's iwank line, what does it lose? nothing. if it doesn't and adobe pulls it's graphic design products, no one is going to give up photoshop to stay on apple's platform.
deep down i think this whole no flash thing is purely because apple see's how it could dominate their product, and being control freaks they'd cut off their nose to spite their own face.
If you mod me down, I will become more powerful than you can imagine....
You need all the volume you can get to remain a significant player long term.
Jump!
How about banning bad and lazy applications then?
How about restructuring the store so that it presents good and fast apps before the cruft?
If the app store doesn't scale well with popularity, maybe it's the store that needs fixing, not the developers.
Oh, and while we are at it, do game consoles official SDKs also tie me to owning a Mac/Windows/specific flavour of Linux before I can even begin to consider starting any development? Do game consoles forbid you to use frameworks that build upon "the official SDK"? Are game consoles artificially limited to the makers' store? Have people have had any trouble of not-just-working-ess with the XBox because of this? Can I publish a puzzle game for the Wii, or am I forbidden because it partially overlaps with Nintendo's Brain Training? If I want to write a PS3 game in brainfuck, is there any EULA getting in my way?
When ideas fail, words become very handy.
This doesn't surprise me, and it's fine with me too. I don't want apps that were designed to run on three platforms, I want apps that were designed to run on my platform. Gruber's latest article had an excellent comparison of Kindle for Mac (a QT cross platform program) and Kindle for iPhone (a native program).
That said, everything is complied to machine code. Can't you just decompile the applications into C/Objective-C if Apple asks for the code? A decent decompiler should even be able to translate many variable names, given that it has the original source.
Basically, why doesn't Adobe (and the .Net guys) just make their code output C files that people can run through XCode to be "legit"?
I still like the decision, but it seems there is a way around this, just like you could get around the "no interpreted language" thing by compiling the virtual machine bytecode into native ARM code.
Comment forecast: Bits of genius surrounded by a sea of mediocrity.
Curiously, Apple is an example of a company with a much longer than typical planning horizon, which has been rewarded by the market. Your point seems to remain valid for the general case, but Apple is an interesting example of an exception.
If you mod me down, I shall become more powerful than you could possibly imagine.
Microsoft = Evil
Apple = Good
Google = Good
It'd be interesting for Adobe to try that tactic, but as they're a public company the whole shareholder thing is going to nip that in the bud. There's no way they could pull out of the Apple market without having a significant impact on their bottom line.
Want to improve your Karma? Instead of "Post Anonymously", try the "Post Humously" option.
Before I got flashblock, any site I would visit with flash adds would instantly send my processors to about %60, and the fans would start spinning (X3100 MacBook). The situation is even worse in Linux. Would you expect the flash runtime to be any better on the iPhone????
This is the exact same crap that Semantec pulled in the 90's with their 'java compiler', they advertised a java dev tool that I paid about 150$ for that claimed to produce native executables. Well, technically it did, they produced an giant executable, with the entire java interpreter statically linked in, and your code statically linked in, so at runtime it would just interpret your code using the linked in interpreter.
Same freaking thing that CS5 does.
All Apple it trying to do is limit the number of crap applications. If there are all of a sudden all kinds of apps built on flash, battery life drops to minutes, then people will be pissed and most likely blame apple, when its flash's fault.
And their probably is no way to even write a runtime for flash that will not drain battery, because flash is all timer based. The runtime needs to allocate all kinds of timers that are firing at a very fast rate, so there would be NO POSSIBLE WAY to suspend the app in a multitasking env.
I do think Apple went a bit too far, I think they should have allowed apps written in Python/Ruby or some other decent lang, but absolutely ban flash.
And BTW, what is more cross platform then C/C++ and Javascript???
Note, even if they somehow figured out a way to compile CraptionScript to native code, the fundamental problem is the TIMER /EVENT based programming model of flash, where the runtime creates a timer that fires every millisecond to tiger the animations and craptionscript events. CPU usage was not one of the design goals of flash, the fundamental design goal of it was to make obnoxious animations trivial by point and click development tools. Hogging CPU resources was fine I suppose on desktop machines with unlimited power resources, but its a no-go on devices with limited battery capacity.
since when have they had trouble defending stupid shit apple does?!
If you mod me down, I will become more powerful than you can imagine....
If Adobe wants to, they can make their "compiler" a language engine that rewrites a flash/flex app in objective C. Apple doesn't want java apps and flash apps because they lose the unique look and feel of the device. Java apps look terrible on windows, mac and linux, because they live in their own interface world. Obviously an app that can be written once for all platforms is not good for Apple's business, but I think Jobs is more interested in making sure all the iApps, have the same distinct look and feel that makes iphones and ipads so intuitive.
From my perspective, it's only a handful of developers complaining about developing for Apple. The biggest complaint has nothing to do with the actual development, it's mainly about the approval process. And there again, it's seems to be a small vocal few complaining.
I don't think Apple is trying to lock-in or control developers as much as they are trying to control the user experience with their devices. I'm pretty sure relying on third-party companies to see their vision and failing has something to do with what's going on with Adobe.
The real Sig captains the Northwestern. This one captains
Apple is making sure of that.
IANAL but write like a drunk one.
being a public company has nothing to do with it. but that logic apple should be letting flash on the iphone.
If you mod me down, I will become more powerful than you can imagine....
Who does Apple think they are to decide if they want "lousy bloated code" (what gives them the authority to take such decisions?) on *people's* devices?
The abrogation of rights of most Apple apologists is a truly sorry spectacle.
IANAL but write like a drunk one.
Thats exactly what happened here on /. when Operation Desert Fox started in 1998, Sengan posted a long rant of a story description and then said - comments disabled. I didn't know he was Adobe Evangelist now.
http://slashdot.org/article.pl?sid=98/12/16/1930206
...no rational defense other than wanting tyrannical control...
Well, maybe no rational defense other than not wanting apps that drag along a horribly crash-prone Flash runtime--extrapolating from experience with Flash on OS X.
Or, maybe no rational defense other than not wanting apps that are built for some kind of cursor device and will deliver a horrible user experience on a touch-only device.
Just a thought.
When tens of thousands of Android phones get 0wned, due to some Flash exploit, for example, and at the same time, hundreds of thousands of iPhones don't get 0wned by any exploit, who do you think will be smiling quietly to himself at all the bad publicity towards Android & Google, and at the increase in stock price of Apple.
I don't care that the iPhone is locked down. I don't care that the iPad is locked down. I can write all the software I want for my several Macs here in my home. Not being allowed to do the same for an iPhone or iPad is not something that particularly troubles me.
If I may quote myself from some years back (with a slight rewriting):
You are not the target audience for the iPhone/iPad.
You have never been the target audience for the iPhone/iPad.
You will never be the target audience for the iPhone/iPad.
Really, you might as well be griping about the lack of Ogg Vorbis support in iTunes and the iPod for all the good your whining is going to do.
Guaranteed! This comment 100% Anthrax free!
Apple is saying "you can only use C, C++, Objective C, and JavaScript as executed by the iPhone's JavaScript engine". No more, no less. This has fuck all to do with saving your platform from OMG EVIL PORTED GAMES. Poorly ported games are still possible under the new policy. And it applies to many, many things that aren't games. At best, this is an insane and stupid attempt to fuck over Adobe for little reason, and at worst, it's just insane and stupid. Either way, this isn't "good" by any metric that doesn't involve the RDF.
Don't worry though, I'm sure Apple will apply this rule arbitrarily and inconsistently, so you at least won't see the major applications that grossly violate it gone, but it will probably be lots of headaches for everyone else, and be yet another contributing factor to continuing to drive developers away from Apple's little walled garden of madness.
Actually, I read about this the other day. Rumor has it, the language requirements actually do have a purpose, that is making sure the apps work with the new profiled multitasking setups. Supposedly cross compiled apps don't behave in the same way
That's plausible (a little tenuous, but plausible) if you're talking about restrictions against using another toolchain to build your binary.
But section 3.3.1 also bans upstream tools that generate code consumed by Apple's toolchain. You can't write code in another language to write C/C++/ObjC code for you. Which means you're telling developers that they can't write tools that make their lives easier. What's the justification for that?
Here's an already popular iPad app essentially written using Mathematica:
Apparently it runs afoul if 3.3.1.
Frankly, it's not clear to me that every iPhone app doesn't run afoul of 3.3.1. Unless you actually think in C/C++/Objective C, every program is arguably first a set of cognitive abstractions in a human brain. Or, as this article puts it, with this restriction, "Apple may thus be the first company to bet the farm on Cartesian dualism."
There are other problems with Apple's approach.
Tweet, tweet.
Adobe wants to make Flash the platform for mobile devices.
Apple wants to keep application development native so the can control their own platform.
Both of these are reasonable goals.
Personally I would rather have native applications, than cross platform Flash-to-App generator.
If you think there is too much crapware in the Appstore now, what would it look like when every flash writer starts hitting "convert to iPhone button"?
So while I don't know if that wording change means that there will be no Flash-to-App conversion in the Appstore, I certainly hope that is the case.
I am sad that nothing can be done to keep it off Android...
I can't believe they want to enforce security by choice of application, rather than relying on the operating system to do it. Isn't the whole purpose of an operating system to allow resources of the machine to be safely allocated as necessary?
You can't choose which apps aren't going to kill your machine a priori without first solving the equivalent of the halting problem. Since we all know that's impossible... it should be fairly obvious the iPad is pretty much doomed to the same fate as any general purpose computer with a poorly chosen security model.
Oh... and here is the obligatory plug for cabsec which is different than capability based security.
is that it's too full of exploitable security holes. I don't run flash (or accoread) on security sensitive computers myself.
Do C, C++, and Objective C have equal library support? say there is a cool feature, can it be used in either of the languages with about the same performance and convenience? I'd hate to jump too many hoops just because of my language choice.
Be fair.. Some of it is very creative. My favourite to date was someone on engadget trying to make out the iPhone isn't really a phone, when someone was "hating on Apple" because the thing kept missing calls.
It is difficult to get a man to understand something when his job depends on not understanding it.
If Apple owners stop buying bad ports of popular games I'm sure the game companies will get the message and stop supporting Apple. Then you can be happy.
The examples are small yet numerous and it paints a clear picture
Not true at all. It looks like a clear picture but it's actually been Photoshopped.
Photoshop is at such an advanced state, that nobody would have a realistic alternative for many many years.
Except for the 90-10 problem. Photoshop may be a long way ahead of the competition, but the more advanced the program is, the fewer people actually need all of the features. Serious graphic designers do, but they're such a tiny proportion of the overall computing market that they don't make a difference in terms of hardware sales. Amateurs are a much larger, although still not huge, proportion, and they can probably manage with version of Photoshop from a decade ago, or any other product that does as much. Most other people would be happy with Paint Shop Pro 3, iPhoto, or even the GIMP.
I am TheRaven on Soylent News
Bottom line:
I'll be getting an iPad. I'll be upgrading my v1 iPhone to the new one that come out this summer.
And so will millions of others...
Lee Brimelow may be right, or he may not. I don't have time to read the article. But I will say that if he ever hopes to resolve the situation, as an Adobe employee complaining in public in an (apparently) official capacity, he's not helping the situation. This only adds to the bad vibes, and Steve is stubborn and this will only serve to bolster his resolve if it does anything at all.
In my personal experience Adobe products, especially CS4 and acrobat, have become unwieldy, bloated pieces of software on the Mac, and I know that acrobat on Windows is so big it's almost unusable. Maybe Lee should quit bitching about Apple and get on Adobe's developers to develop higher quality software. As a paying Adobe customer, I would appreciate that immensely.
I still cannot find the droids I am looking for...
Here's hoping you expected no different from any proprietor. That is what makes this brouhaha so funny: a supporter of one proprietor complaining about the adverse impact of another proprietor's power to avoid commodification. Imagine that: the software freedoms users deserve and ought to have for all published software so we can strengthen social solidarity are also useful for developers!
All proprietors are the same at this level: User's software freedoms aren't on the menu no matter which proprietor you choose. That's why choosing proprietary software is merely selecting a new master.
Digital Citizen
They're fine on OS X, it's still a great platform to develop for. It's only on things that don't look like computers that they pull this kind of stunt.
I am TheRaven on Soylent News
Is there a single computer which forces you to a single variant of a single language, I really wonder. Lets talk about it, go back to 8bit days if you want to or even Altair. Don't let me start about real smart phones which has really gone crazy and may have even more options than your average windows/mac desktop.
1997: Adobe wants Apple to pay workstation prices for Display Postscript licenses for the new OS, "Rhapsody", which would have completely priced them out of the market. Apple has to rewrite the graphics layer for Rhapsody/OS X, and it's delayed 2-3 years.
2010: Payback is a bitch.
Like MS demanding Win7 apps be written in a managed language (ie C#) or Android in Dalvik/Java. iPhone demands C/C++/ObjC. What's the big deal here?
First, I think you mean Windows Phone 7, not Windows 7.
Second, WinPhone7 and Android only "demand" that your compiled program conform to a certain virtual machine spec. You don't have to use their tools or write in their preferred languages; you can use any language that compiles to the right format. (And in fact, Android has a native development kit now, so you can write 99% of your app in any language that compiles to ARM!)
Third, Apple's demand goes even further than the demand you're falsely ascribing to MS and Google. They don't just demand that you have C/C++/ObjC code for your program -- they also demand that your program be originally written in one of those languages.
Let's take a trip down memory lane. In the early 80s, there were no direct C++ compilers: instead, there was something called cfront, which translated C++ code into C. It would be strange for an OS vendor to demand that applications be written in C, of course, because all that really matters is whether the compiled program can run on the hardware. But it would be batshit insane for an OS vendor to prohibit programs that were originally written in C++ and then translated to C, because even if there were some legitimate reason to require C code, it would apply to all C code. There would've been absolutely no technical justification for that ban, just like today there's no technical justification for banning programs translated from Flash to Objective-C.
Visual IRC: Fast. Powerful. Free.
I believe you can code an application in Visual Basic 6 and as far as it is 32bit, it will run. I believe even 16bit will run under 32bit OS. Please, don't mention MS on that purpose, it is their only powerful side (and most evil one,for them).
Owning the APIs has proven time after time to be where the money is at. Microsoft has written that in stone. If there's one thing Steve Jobs, et. al. have learned, is: don't sit on your ass and let somebody else run away with your golden goose. They let Microsoft run away with it once. So did IBM. Which is why he gets it, the lesson is learned - if you let another platform take over your device, you lose any control over the quality of the experience.
You go on about 'we're developers we just want to provide a tool'. Do you really trust your non-developer (maybe you forget once upon a time, Jobs wrote software too) executives at Adobe don't get the power they have to mint money with their platform? To open their own open app store? To begin to charge a per-end-user licensing fee for the next version of the flash compiler for the iphone, once its indispensible?
Let's look at the facts. There's tons and tons of people out there that have some Flash experience and some with actual professional training, and lots without either that can manage to produce something with Flash. Let's call these Flash people "flashies". I'm not comfortable calling them developers, programmers or coders, out of respect to the people that really are. Some very well may be, but if we're going to draw a Venn diagram of Flashies, we all know that's a fairly small percentage of the set that gets to overlap into Software Engineer or Developer. I'm taking the middle road, nothing derogatory.
So these Flashies are out there; they can pound out some moving pictures and stitch it together to do something. Great. See what's happened in Android? You've got a load of crap out there. Steve doesn't like a load of crap. He's trying to do something different than the load of crap permeating the Microsoft ecosystem.
Also, I really appreciate your remarks about how open the Adobe culture is, when obivously your boss said, edit that shit on your blog right now, even if you did say, its' my own personal opinion.
So you are the SWF evangelist. You have drunk the SWF kool-aid. I suppose I might have drunk the Tim Berners-Lee kool-aid. Your platform is not an open standard. Nobody has to give it due respect just because the tools are easy to get started on. Just like some people are visual learners, some are visual Flashies. Cool, y'all seem to have developed a tool to target SWF whether a Flashie is visual, ore more technical. That's neat. You're tools are pretty cool. It would be cooler if you'd open your format up. I know, that would allow competitors an even keel to compete with you on your tools, but hey, that's better for Flashies.
You aren't just buildling the tools. You are selling a proprietary platform too. So is Apple. A lot of their code is open source, and free software at that. And a lot of it isn't. They are competing against RIM & Microsoft and Google for all the marbles right now. Adobe is on all of their radars now as coming hard after the platform. You don't think the Adobe executives let the Flash team go and spend all that development time on the compiler out of the goodness of their hearts, or because it would be paid for by selling the tools to developers. No, there's a lot more craft in the economics of that business decision.
Also, you guys could be bought by Microsoft or Google tomorrow or two years from now, and really fuck Apple in the ass. The scenario: lots of great killer apps are running on your SDK for the iPhone, the apple sdk is no longer in the mindshare of developers... then Microsoft or Google, hai, we bought it, dead now. *poof* the app marketplace is disrupted and the platform dies. Your market cap of $20 billion dollars is fuck you money to those guys. Sorry.
Yeah, when there's this much money involved, and the dynamics are such: it's happened before and it will happen again. All the strategy thinkers at Adobe, Apple, RIM, Google, and Microsoft have learned the lessons from mistakes made by Apple and IBM in launching, and letting platform be marginalized or wrested by a thir
Anyone seen my low uid? last seen 10 years ago while panning the #@$# out of Taco's 'web based discussion system'
The people who buy Photoshop Elements at WalMart are not who Adobe consider their customers. They're the people Adobe consider to be their customers' customers. Photoshop Elements is a toy product they produce for unknown reasons. Professionals buy professional software. Which is almost never sold at places like WalMart. In fact, Photoshop and Adobe's flagship apps could be considered sort of a low-end segment of the market they sell into. Serious design software is quite expensive, has a limited number of seats, and doesn't generally get sold retail.
design shops will move to windows because of it.
Design shops already have moved to Windows.
The Mac platform is mostly over. Apple changed their name awhile back and is no longer Apple Computer. Steve Jobs is now focused on selling sugar water to kids.
Flash and all these other tools should be HTML5-based. That's the open app platform on iPhone. That's the cross-platform mobile API. That's where interpreted code runs.
Cocoa is proprietary to Apple and since it is C-based, it is easy to port apps from other platforms by bringing the C into Xcode. Cocoa is evolving wherever Apple wants to take it. There's no standards body as with HTML5. If Apple introduces a new multitasking model that requires Xcode-built apps then you are out of luck. If snail's pace Adobe can't even ship their iPhone 3 development tools before iPhone 4 then you are out of luck.
iPhone offers 2 distinct app platforms, which are like yin yang, each has the strengths the other lacks. Choose where you want to deploy your app.
It is sad to see Adobe being run into the ground. They've been blaming Apple for a lack of mobile FlashPlayer for 3 years, yet it has not shipped on other mobiles yet. They're blaming Apple for obsoleteing their Cocoa export, but where is their HTML5 export? Flash makes Web apps. Why is it getting an iPhone app export before HTML5? Terrible management at Adobe.
None of my friends at Apple are on the iPhone or iPad teams, or in senior management, so who knows for sure... But the common rumor going around the rest of the company is that Steve took the "no 64-bit CS for Macs" thing as something of a personal slap in the face. Adobe, if you'll remember, rathar cravenly waited until Steve's health was especially precarious to pull that stunt.
The rumor mill also goes that once CS is natively 64-bit on Macintosh, and after a suitable period of pennitance, a new round of security and performance testing will show that Flash is finally in a state suitable for iPhone OS.
I'd guess they think the answer to that is "yes". I think they are very wrong about that, but it seems they don't value Apple custom. If they did, they wouldn't have delayed the intel versions of CS3 for a year. That definitely cost Apple in people upgrading to intel machines.
Everything I've read about that is that Apple blindsided Adobe on the change. Adobe found out when everyone else did -- when Apple announced it. It's kinda hard to blame Adobe for the delay when Apple didn't even tell them about it ahead of time. A former Adobe Mac developer has already posted the same info in an earlier thread. (It's anonymous coward so take it as you may, but I have read the same thing other places in the past so I believe it.)
But these light users that would be served by iPhoto and Gimp aren't the ones spending $699 on Photoshop. The parent was talking about Adobe's marketshare in the professional market, not grandma removing redeye.
I can think of one - stability.
If they dont keep control of development of applications, then it will become a nightmare where they will be blamed for every bad app. To the user, the app is the device, and the device is the app.. they dont know the difference and apple gets the blame.
So, keeping tight reigns on this helps keep that risk at a minimum.
---- Booth was a patriot ----
If a Flash app on the iPhone sucks, either Apple won't approve it, or users won't buy it.
If it doesn't suck, then what does it matter how it was developed?
Always thought big brother looked a little Steve Jobsish
Sure. I always thought Big Brother resembled a Buddhist, LSD fan.
If Adobe was really upset with how Apple is conducting themselves, maybe they'll start dropping support (or seriously delaying it) for their products on Apple platforms. Granted it could backfire and cause webmasters to rewrite their sites to drop flash, but think about the other programs? Other than switching to MS, to get apps like Photoshop or CS, what would Mac users do? Anyone arguing that alternate apps exist that do just as good of a job, why haven't they run Photoshop a run for their money? I'm looking at GIMP as an example.
What would be the backlash if after the next OS X/Safari update, Adobe announced no more Mac support for PDF, Flash, Photoshop, CS, etc... Throw in the mobile support for flash that is supposed to be coming to most other big name non-Apple mobile devices this year, they can try to hurt Apple where it would hurt the most, their users.
But like I said, it could completely backfire, and Adobe might come back with their tail between their legs and ask Steve Jobs for forgiveness.
Yes, someone recalls the past :)
MS and Apple got "expletive deleted" on fonts fees.
MS and Apple found a way out and moved on with fonts escaping the expected "revenue stream" trap.
Finally Apple can break away from the gift of free buggy "trojan horse" like Adobe code.
Open standards and/or in house DMR are the dreams of a MS and Apple.
Why pay some 3rd party developer to profit long term on your OS for shipping the same old code year after year.
Domestic spying is now "Benign Information Gathering"
WAAAAAH!!! WAAAAAHH!!! Puh-lease! You and Adobe can both go and screw yourselves! Flash has sucked HUGE donkey ballz under Linux for as long as I can remember....and it STILL does! And as for the x64 version....I'd take MS Bob over that PoS any day! I for one am glad that someone is taking the bat to Adobe's head. You guys deserve nothing less.
"Klaatu, verada, necktie!" -Ash
1: Neither Nintendo or MS made any pretences about how open their development is
Nor does Apple, the agreement after all must be signed before you can begin developing.
they've actively forcibly removed a popular method of coding games by a company they're competing with (hello anti-trust!)
anti-trust might make some small degree of success (well not really but let's pretend) if APPLE WROTE GAMES. They just provide the platform, you are quite free to continue to write games, just using the tools that Apple OK's. There's no anti-trust involved whatsoever.
Without Flash it isn't the complete web.
When you enter Flash you left the web. When I can't arbitrarily highlight text that is text and not an image, I have left the web. When the whole browser settings as to font size and such have no effect, I have left the web.
Flash is not the web.
4: Anti-trust. Look it up.
Take your own advice. Adobe can produce HTML 5 tools. They can even produce Objective-C tools. Heck, they can even produce tools that produce iPhone binaries, but in that case since Apple can't manage the backend compilation Apple will also not distribute them. But you could ship them out to jailbreakers.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
It's OK by Apple to write ARM assembly, so that's not really an issue. It's one small part of the whole, not the whole thing.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
even the fans would have to stretch to defend the new policy. It's a fairly obvious dick move by Apple
Well that about explains goatse.
Want to improve your Karma? Instead of "Post Anonymously", try the "Post Humously" option.
I think the perfect Apple product would be beautiful and designed to be closed but easy to unlock. The iPhone's seemingly easily jailbroken security is close but their developer restrictions are sometimes ridiculous.
First not allowing interpreted code. WTF does that mean? It's not okay to embed Prolog in your program but you can use HTML, SQL, Javascript, and XML? What about Java bytecode? What about objects that are highly configurable to the point where they are basically scripted? What if I store a game level as a bitmap the user can edit? Very fuzzy ground with little point.
Now this whole not allowing code written in another language to be translated into Objective-C? So long as the code is valid Obj-C how would they know? How is it different than hand translated code? Is hand translated code okay? Why? This is a completely stupid rule. If they are just seeking to avoid slow/suck code why don't they test the app during the review process instead of making stupid rules? I don't want Flash on the iPhone/iTouch/iPad because Flash sucks. If they can translate it into Obj-C that doesn't have the issues Flash usually has then I'm all for it. Why get in a pissing match with Adobe over the issue. Why force people to use suck-ass Objective-C. Again how is this different than if I make a program that has an engine that lets you declare and configure objects from saved settings (say in a db or XML) and then initialize the Obj-C objects in the engine from those at runtime? (I've actually done that - seems pretty normal not to hardcode such things.)
Making rules that go against common programming practice that are very close to unenforceable is just stupid.
At what price learning? At what cost wisdom? The price is a man's peace of mind, and the cost is his life.
In the real world, Safari (including on Mac OS X) only has around 5% market share. That's not ubiquitous at all. I think 'irrelevant' is the word you're looking for.
And Safari has what to do with Adobe continuing Photoshop development for Mac OS X?
"We can categorically state we have not released man-eating badgers into the area." - UK military spokesman, July 2007
There isn't any reason you can't have a good user experience with an app that is not written in ObjC.
That's absurd. The only way to correctly use this new multitasking API is by directly coding your program in C? A native C application is just a heap of machine code. How is a program compiled in any other language any different? Or how about another language translated to C then compiled natively?
I honestly find it hard to believe that these restrictions are necessary.
Well, this may be one of those ideas which would, in practice, be hellaciously difficult to actually do, I'm not sure, but. . .
Would it be possible for Adobe to build a Flash 'compiler', which, instead of outputting ARM machine-language binary code, instead spit out Objective-C code, which would then get compiled by the Xcode/gcc compiler? Seems like that would allow them to do a bit of an end-run around this restriction, because then, what the app developers would be compiling *would be* native iPhone SDK code?
Not sure, but just a thought.
Adobe audition?, I still remember when Apple bought Logic Audio and closed the win version development... talking about abandoning a platform...
***Game Over***Insert Coin***
I guess that's why my knee is jerking. The iPad looks too much like the future, and too little like OS X.
You nailed it perfectly. I never knew a hacker who cut his/her teeth on a Mac in the 80's. They were overpriced machines for yuppy "desktop publishers".
The wheel is turning, but the hamster is dead.
I've made popcorn, should be a hellova show!
...is all I heard when I read it. The mere fact that he's a supporter of the one of the web's worst technologies is enough for me to figure out he's a douchebag. The fact that he doesn't want to deal with the comments THAT CALL HIM OUT ON THE FACT THAT HE IS USELESS AND DOESNT KNOW WHAT HE IS TALKING ABOUT.
I don't hear anyone talking about how the iPad doesn't support Java Applets. Get over yourself Adobe, you are not a web standard and never were.
As far as the verbiage, I stand behind it. The more layers you infect on the platform, the worse off it is going to be. Hence the modern computing world where everyone has injected layer after layer after layer and things have become slower than monkey shit sliding down a wall. I welcome the fact that Apple is drawing the line in the sand and keeping the mobile market where it needs to be, lean and well coded.
The primary reason for the change, say sources familiar with Apple's plans, is to support sophisticated new multitasking APIs in iPhone 4.0. The system will now be evaluating apps as they run in order to implement smart multitasking. It can't do this if apps are running within a runtime or are cross compiled with a foreign structure that doesn't behave identically to a native C/C++/Obj-C app.
Bullshit.
For starters, C, C++ and Obj-C all compile to native code. Native code is native code - if you have some magic pixie dust "multitasking analyzer" for that, it just works, whatever it is compiled from. There is no "foreign structure" to speak of.
If the said magic analyzer would rely on code patterns produced by a particular compiler, then breaking it would be as easy as changing optimization flags, and every GCC upgrade would result in massive breakage all along the line. It is an architectural decision that is so stupid it cannot even be seriously contemplated.
Furthermore, Apple doesn't restrict just compilers that compile from some-other-language to native. No, they restrict code translators that "compile" from some-other-language to C/C++/Obj-C. If the aforementioned magic analyzer can handle output of GCC, it shouldn't have any trouble witht hat.
Furthermore, Apple also bans wrapper frameworks that can be used for cross-platform development. At this point the intent is perfectly clear - note that the use of frameworks isn't forbidden as such, it's the intent that matters. Of course, the aforementioned multitasking analyzer being powered by the Reality Distortion Field, it may well be affected by mere thoughts...
Finally, and most importantly, there is no "evaluation of apps", because there is still no multitasking for apps. All multitasking there is in iPhone OS 4 is a bunch of stock daemons, all written by Apple and shipped with the phone, that provide certain very specific services. Third-party applications are simply shut down if you switch away from them, though they are given the opportunity to persist their state, and queue any finalization tasks for background processing (that's what one of the daemons is for).
Not that I expect the various MS/Adobe/Android astroturfers and other Apple-haters to accept this. They're not big on rational explanations when it interferers with their world view.
You might want to try rationally explaining your own world view, first. A good place to start would be going point-by-point through this reply.
Except for the 90-10 problem. Photoshop may be a long way ahead of the competition, but the more advanced the program is, the fewer people actually need all of the features.
You forget the corollary to the 90-10 rule, though. It's true that most users only need 10% of the features a given app has to offer. It's just that the specific 10% they need is different for every one.
Something must have snapped inside Apples management. The level of control they want is insane and not encouraging for customers. Its bad enough for consumer devices but imagine decisions like this wreaking havoc inside corporations using Apples products.
One day your whole fleet of salespeople run some application on their iPhones, the next day those are forbidden by Apple because some sudden decision about tightening control even further.
Luckily there are much better alternatives thats not ran by rampant schizofrenic mono depressive controlfreaks.
HTTP/1.1 400
If that was the case, I think we'd have heard about it by now. It would be a fairly major change.
In any case, it doesn't affect my point that any whatever-to-C translator should still be unaffected, no matter what C gets compiled into in the end.
Maybe instead of trying to force previous-generation "development" (for non-developers, of course - hey, why aren't they whining about the iPad's lack of support for ColdFusion while they're at it?) products onto a next-generation platform, I'd like to see Adobe spend their time developing versions of their core creative apps for it (and, for that matter, ditching a codebase with 20 years of cruft on it, and making versions that will run on modern 64-bit hardware with a modern UNIX OS.)
This approach - getting your own development house in order - would get them a lot more of my money, and I wouldn't hate every upgrade I had to make. :)
Village idiot in some extremely smart villages.
Probably this. In mobile Android has >9% market share. That's up 5% from the previous quarter. Projecting out, that's a lot. WiMo7 looks like a Vista debacle from the released specs - no Cut/paste, no multitasking. This one will be over before it's started.
The thing is Adobe doesn't need to abandon their existing customers to port to the up-and-comer. That's a myth you're trying to feed them. They just have to invest in porting their current codebase to emergent markets. There's nothing amiss about that. It's not like that would hurt them competitively - the vendor of their primary market, Windows, has made no bones about the fact that they find Adobe's profits are meat stolen from their table. What's Microsoft going to do if they take this money, kill them faster? If Microsoft could kill them faster then they would have already. Microsoft really wants this Silverlight thing to take off because it's their last defense against HTML5 and Theora. It's their last chance to take ownership of the content distribution market. They've lost it already, but they still hold hope. Adobe doesn't need to be on the losing side of that.
It's a harsh world. Will they see it? I doubt it. Would I invest in Adobe, given their current trend? No. Could they? Yes. I hope they see which way the wind blows before they're lost. They really do have some cool tech, their complete ignorance of security notwithstanding.
Help stamp out iliturcy.
So one company doesn't like it when another erects road blocks to lock out competition... But they love it when they erect such roadblocks themselves. Hypocrisy at its finest.
http://spamdecoy.net - free throwaway anonymous email - avoid spam!
Dear Adobe and dear Apple, I hope your rotten carcasses end up stinking up the tall bloody walls of HELL.
Adobe, you and your Flash is the same as Apple and its iCrap products.
Apple, you and your iCrap products are really just as useful to me as Adobe and their Flash.
PS: This is a totally personal note, I am not speaking for anybody else, except myself. If there was a way to put Adobe and Apple into a single line (file), eyes of one looking into the back of the head of the other, I would do that and shoot right through their left eye with a 30mm cannon shell.
Thank you.
You can't handle the truth.
everyone else is in love with Steve's Apple.
You overestimate how much the world is in love with Apple. The vast majority of computer users, by choice, don't use Apple. And many of the remaining Apple users have at best mixed feelings about the company.
A few years ago, having a Mac was thought a bit of an odd-ball choice.
Now I find that when PC owners see my Mac, they are interested and often say they'd like a Mac. But they bought a PC because it's cheaper. Oh, and by the way, can I help them with the fact that it's running like a dog and they can't get their computer to print over the network...
But it's more obvious that people are in love with Apple when it comes to iPods and iPhones. They're everywhere!
What's even more ironic is that a rant goes on about the restrictions on Apple employees: ".... Apple employees are forbidden from blogging, posting to social networks, or other things that we at companies with an open culture take for granted." and yet also has "[Sentence regarding Apple's intentions redacted at request from Adobe].". Frankly censored/restricted blogs are worse than no blogs at all since they may omit important information and so be far more misleading than no information at all and it encourages employees to only say positive things since they know they are being watched.
That being said why can't Apple just provide a "I don't care about my battery-life" switch which will allow unsigned programs to run? If, as they say, all they care about is providing good battery performance and a carefully controlled environment then there is no reason not to provide an opt-out switch for those of us who want to do something else....or at least don't go after the jail breakers so aggressively which amounts to the same thing.
No that's not quite it. Third party applications do NOT shut down when you switch away from them. They are suspended, and remain in memory. The "stock daemons" do callbacks to the applications for example to refill an audio buffer for internet radio, or to update the progress of a location aware app. Background apps are only shut down if there is an out of memory error, or the background app does something prohibited.
If Apple wanted to simply restrict low quality third-party software, they could have provided a rating system, where apps that behave badly, including those that drain the battery unnecessarily, would have been rated lower than other apps. Apple already controls the app release process for iPhone/iPod/iPad, and Apple also reviews any app that goes in the app store.
It seems to me that Apple's move is not mainly about quality control, but about specific vendor lock out, i.e. Adobe.
So, we're not allowed to cross compile. While software compiled by Apple's developer tools are OK.
Isn't the workaround then to cross-compile to XCode source code instead?
When I first read the new agreement I was mostly just confused as to it's purpose. Obviously there's the competitive angle, as so many have pointed out, but upon reviewing the release notes for OS4, I think it's really much more of a technical decision. Beginning with Snow Leopard and now continuing into the new iPhone OS, the language of choice for development is no longer Objective C, C++, or even plain old vanilla C. These old standbys have been supplanted by what I like to think of as Apple-C, distinguished by its inclusion of a new language feature, blocks.
Blocks (closures, lambdas, etc to lisp and python folks, et al) are essential to both the concurrency engine in Snow Leopard (Grand Central Dispatch) and the multitasking implementation in the new iPhone os (essentially GCD lite). Also, a large number of new APIs are written around blocks, and it's clear that they will play an increasingly important role in the future of Apple's development efforts. Personally, I'm all for it. I've always hated function pointers, and the delegate pattern in objective c leave something to be desired. The inclusion of blocks was, to me, the most exciting feature of Snow Leopard. However, by basing their development platform on a non-standard language feature, Apple is walling themselves off from languages that either lack the concept of closures altogether, or whose implementation is in conflict with Apple's. Given Apple's mad lust for control, that probably didn't seem like much of a trade off.
Now clearly, an intermediary layer that complies into objective c or ARM assembly could maintain compatability somehow, and it seems capricious and arbitrary to forbid such a thing. However, this seems like a natural extension of the position Apple took when they fragmented the language - if you want your code to fit into the Apple ecosystem, you'll use Apple's tools. In a context where resources are extremely limited (like, say, a phone) this position makes even more sense. Now that the door is opening to background processing (with limits, of course), they need to make sure that it is as efficient as possible. Sure, on OSX you can load up a python interpreter for your clever network daemon, but that kind of overhead just isn't going to fly in your pocket.
I realize that for a lot of people, this new agreement still sucks ass and is further evidence of Apple's desire to control our thoughts and take over the world. But for those people there is a simple solution; just jailbreak your damn phone and you can load up as many interpreters as you want, or port gnash over and watch some free tv. Or eschew the iCraze altogether and buy a different phone. Either way there's options aplenty. But if you want to go through Apple, you can have any color you like, as long as it's black.
This perhaps reflects Adobe-Apple tensions that may have begun when Apple elected to use Adobe's "portable document format" as it if it were a truly open standard. I don't know how Adobe lost control of PDF, but since then, it has done everything in its power to reassert control over that by creating new versions with features that attempt to make previous versions incompatible, at least with Adobe's own software. So in my view, Adobe created a capable open standard and then did everything they could think of to interfere with its use in that mode.
I'm probably quite naive about all this, but If Apple learned from that experience never to again play with Adobe again, one can hardly blame them.
ThosEM
Most of the world don't choose to have Ferraris. That doesn't mean they wouldn't want one were price not a consideration.
A Ferrari is something an middle aged male with an inferiority complex uses to pick up tricks in. You drive one of those and people just laugh at you. On normal roads, it's a horror to drive, and on the test track, most people wouldn't know what to do with it.
But it's more obvious that people are in love with Apple when it comes to iPods and iPhones. They're everywhere!
So when Windows is everywhere, it's because it's cheap (except, of course, when people like you argue that it's not any cheaper than Mac), but when iPhone is everywhere it's because people love it? Geez, can you make up your mind?
In fact, most people buy iPhones and iPods for the same reason they buy Coca Cola and McDonalds: it's a brand name they know and they often don't know any better.
And, yeah, you're right: if they become nouveau riche, it is the same kind of person who rushes out and buys a Ferrari.
I didn't say anything about Windows. Windows has it's own story, and there are is a series of causes of it being everywhere. I gave a reason why as a vastly superior system, Mac OS X have not as yet replaced Windows as the majority consumer OS.
That's not a "but", it's an "and". Not every product sells for the same set of reasons.
I didn't say anything about Windows.
You wrote: "Now I find that when PC owners see my Mac, they are interested and often say they'd like a Mac"
Not every product sells for the same set of reasons.
Indeed not. But that doesn't mean that you get to make up things as you go along either.
In fact, most iPhone users are first-time buyers; they didn't know whether they would love it, they just acted based on recommendations.
Nice, so then it is exactly identical to how Android does this (except that in Android, you're not limited to stock daemons)!
Pre-emptive multitasking only governs the CPU resources; the iPhone only has 256 MiB of RAM. I think that in their implementation the App archives its data such that it can be quickly re-opened. An app not rewritten to support that would work as they currently do, where the App has to boot up each time it's opened. That isn't terrible, and other companies would probably let the market sort it out, but Apple wants a seamless experience.
Pro: Better memory management.
Con: Not automatic.
Standard Apple fan tactic #1: retreat to using anecdotes.
So because you had some people express interest in your PC, they, and everyone else, are now Apple lovers?
But they bought a PC because it's cheaper.
Firstly, Macs are PCs - I presume you're referring to Windows. But in other words, they would have bought an Apple PC, if it wasn't for a crucial feature that is why they don't like Apple PCs? I might as well claim that you love Windows, and the only reason you bought from Apple is because you Windows is hard to use, or whatever reasons it was you decided not to use it.
Oh, and by the way, can I help them with the fact that it's running like a dog and they can't get their computer to print over the network...
And such people have the same questions with Macs - it's just most of the time you won't hear about it, because fewer people have them. When was the last time you heard anyone complaining about their Amiga?
But it's more obvious that people are in love with Apple when it comes to iPods and iPhones. They're everywhere!
Apple fan tactic #2: conflate the Ipod (Apple's sole market leader) with other Apple products (usually the Iphone or now the Ipad).
Ipods are market leader. Iphones most certainly are not; Apple have a market share in the mobile market comparable or less than that of their share in the computer market.
Thanks for confirming it.
Citation? Or were you just "making things up as you go along." Yes, thought so.
Of course you have no way of knowing how many people tried one before they bought. In fact that possibility didn't even come up as one of your alternatives.
But even were your guess to be right, it still shows that users love their iPhones. All those people making the recommendations.
Years ago. But then most people I know have Macs, not Amigas. You might find that odd given overall market share. But my friends are mostly in creative industries, both the arts and also app developers. So your PROJECTED anecdote of why it's only my Windows PC owning friends that forever need help is wrong.
When talking about people loving Apple, ALL products are relevant. I mentioned those two because being mobile device families one sees people using them all the time when they are out and about.
If I was a jackass like you, I'd probably say you want to avoid talking about the iPod (note the capitalisation) because... blah... blah... blah...
Then Apple will be very pleased that they now have >= 14% of the PC market share, according to your estimation.
http://techcrunch.com/2010/02/23/smartphone-iphone-sales-2009-gartner/
It would have been far simpler for Apple to simply let apps run in the background, or at least have arbitrary services which can run all the time like Android does. The reason they didn't do that, and instead did the extra work of providing those "stock daemons" is to preserve battery life and performance of the foreground app.
Now that seems like an admirable goal, provided they managed to cover all realistic scenarios in which apps might need to do stuff in the background. Can you think of a scenario they don't have covered? I can't. If there isn't anything Apple missed, then they have a superior solution to Android, in that an anti-social background app can't do much to spoil the user experience.
Now that seems like an admirable goal, provided they managed to cover all realistic scenarios in which apps might need to do stuff in the background. Can you think of a scenario they don't have covered? I can't.
If you can't think of one, it doesn't mean that no-one can think of one.
Say, how about ICQ/MSN/AIM/IRC client running in background receiving messages? Like IM+ works on Android? That's one thing that I can think of right away, because it's something that I use daily. And MSN ("Windows Live") is popular enough in U.S. that many casual users would have use for such an app, if it was there - it's not in any way a "geek thing".
Oh, and please don't feed me that "most users don't really need it" bullshit - iPhone sales numbers don't prove that. The problem there is that users don't even know what they are missing, because, due to restrictions like these, useful applications that could be written never are. Users are blissfully ignorant about that - but still affected by it.
That would be why I asked if you could think of one.
There's already a way of doing that in iPhone OS 3.0. Push Notifications. See for example this app from July last year:
http://blog.tmcnet.com/blog/tom-keating/apple/ebuddy-for-iphone-supports-push-notifications.asp
Sad thing is, the only viable alternative (if you ignore Real) is Quicktime. Sadly, it is Apple themselves which didn't put actual Quicktime (with all features) to iPhone/iPod. It really shows how could flash become that common, thanks to Apple Quicktime dept. and Real Networks mistakes.
Flash became de facto standard not because someone put a gun to users/developer's head, it became standard when all Real, MS, Apple and the entire open source camp ignored users and companies needs. Is it even possible to add subtitle to ogg video other than using .srt file hacks? It is just an example.
Every time I see a plain mp4 served at Apple Trailers, knowing what Quicktime framework is capable of, it saddens me.
There's already a way of doing that in iPhone OS 3.0. Push Notifications. See for example this app from July last year
You cannot do that using push notifications without hosting your own server that would send those notifications. This also means that all user IM connections have to be tunneled through that server (since it's the server that has to receive messages from IM service servers in background, in order to send notifications). Furthermore, due to the way the whole thing is implemented in iPhone, notifications also go through Apple servers.
So, to sum it up:
1) This adds 2 more intermediaries in the whole chain through which your IMs go - bye-bye privacy.
2) This requires application author to set up and host a server, which costs significant amount of money of his application is even remotely popular. Furthermore, if his server goes down, clients will stop working (this is in addition to the possibility of primary IM servers going down). As well, if the company that sells the app (and hosts the server) goes down, the client stops working.
In contrast, IM+ for Android is a straightforward app that's written in the same way desktop IM clients are written: it just connects directly to the IM server, and sits on the open socket, waiting for packets. Since a thread in a wait state does not use CPU cycles, it doesn't drain battery. And it also means that privacy-wise it's exactly the same as on the desktop - if the IM protocol in question delivers messages through its server, then it's just that server that is involved and sees them; if the IM protocol allows peer-to-peer messaging, then the message just gets transmitted directly. The service only goes down if the actual IM servers go down.
Correct. It's the server which uses power, rather than power being drained from the battery of the iPhone.
No. Neither server needs pass the messages. Only the number of messages waiting. The actual messages themselves are retrieved by the app when the switches to it.
Which is balanced against user battery life and performance. There are plenty of IM clients for all the popular services already in the store and using push notifications. So it's clearly not the huge problem you make out to do it right. It's simply that the balance of benefits is placed closer to the user. In the Android scenario the benefits are placed closer to the developer.
Correct. It's the server which uses power, rather than power being drained from the battery of the iPhone.
There is no power drained by threads in sleep state (which is what a thread waiting on a socket is).
No. Neither server needs pass the messages. Only the number of messages waiting. The actual messages themselves are retrieved by the app when the switches to it.
That's assuming you only want to notify the user that he has received the messages, and not, say, pop up at least part of the message on main screen, or show it in a widget.
Which is balanced against user battery life and performance.
I repeat: there is no advantage in battery life in push notifications vs sleeping background thread scenario, because the latter doesn't consume any CPU time, and therefore doesn't drain the battery. If you believe there is a difference, please provide a technical explanation as to why that is so.
Consequently, this claim:
It's simply that the balance of benefits is placed closer to the user.
is also untrue. There is no benefit derived by user from having IM implemented via push notifications.
. There are plenty of IM clients for all the popular services already in the store and using push notifications.
What about less popular IM services (say, ones that are popular within a single country, but not outside of it - there are surprisingly many of those)?
Sure. Your scenario refers only to what the most naive and fatally flawed software does. A blocking thread waiting for a packet to arrive will not notice when the server stops sending data because it's end of the connection has been dropped. In reality for any real network software there are timeouts and retries or keepalives. Either way, traffic has to be sent over the connection every once in a while to know that the connection is still there.
Now, if you only consider the CPU, that doesn't really matter so much. The time spent keeping the connection alive is trivial. But for a mobile phone, it has to power up the radio transmitter each time it has to send traffic. And that *IS* a significant power use. Multiply by the number of different threads that have connections open, and the radio transmitter could be powered up quite often. Result: shorter battery life.
Now, the whole concept of iPhone push notifications is that all applications share the same connection to a single server. So only one connection needs to be kept alive, rather than one for each background app. The transmitter gets powered up less often. Result: longer battery life.
Oh, forgot to reply to this bit.
For someone concerned about privacy to the extent of counting the number of servers, you haven't really thought that through. If your mobile phone is sitting on a desk or table or night-stand, you may not want anyone passing to see a pop-up with included message text. Colleagues seeing a naughty message from the girlfriend perhaps! Think about when you receive an SMS. The pop up informs you you have a message. You have to actually open it to read it. This gives you the control to only reveal the message when no one else can see the screen.
Okay, it's actually a reasonable explanation, but you're missing one important bit - you have to prove that the gain is significant. So far, given the battery life of iPhone vs competitors, it doesn't seem to be the case.
I wonder if anyone closely familiar with cellphone tech could chime in and say just how frequently is the transmitter powered up during normal operation of the phone (i.e. standby in signal zone)? I would expect the cell itself to require heartbeat on a lower level to detect phones going out of range etc, at a minimum.
Another thing that's kinda obvious - it's not necessarily the client that needs to send the "keep-alive" packets - it can also be the server. In the latter case, the client assumes the connection is open for as long as it receives the packets, and the server has to assume that the client is just there. Of course, the actual implementation would depend on the (pre-established) IM protocol in question.
I used to work for Symbian as a software engineer. So I'm not an expert on cellphone hardware, but I'm somewhat familiar with it's operation. Cellphones spend all their idle time receiving, which is far less power consuming than transmitting. Every once in a while, it will do a RAS which which tell the network it's current location and any other status changes. They do that when the phone detects that it has moved significantly - not just from one cell to the next, but from one group of cells to the next. And also after a period of time - I'm not sure how long, but it's the order of an hour or more rather than seconds. But you can test yourself: a RAS is that loud rasping noise you get from time to time if you put a cellphone too close to a radio or hi-fi.
Other than that, they only transmit when they need to send data. A call, an SMS or a data connection. It's kept to an absolute minimum, not only for battery reasons, but because each cell can only support a limited number of phones transmitting at once. But an unlimited number of phones receiving.
It's a two way street. The server also has to drop the connection eventually in the absence of packets, or it'll end up grinding to a halt with all the dead but still open connections. So even if it's the server that were to send the keepalives, the client has to either respond, or timeout and reopen the connection.
What would happen if Apple released cool new hardware capabilities but Adobe refused to expose them through Flash?
Then people would stop buying games written with the Flash toolkit, and developers would move away from the Flash toolkit in order to keep selling apps.
Adobe can't just set the agenda arbitrarily, there has to be some catering to their developers. If they really were able to move developers like pawns than they could have just said "we're not going to help you make apps on the iPhone with Flash" and killed the platform
So, how thick does that undershirt have to be stop a bullet?
The article really doesn't say.