You're right, Apple is significantly worse.
Microsoft went out of it's way to make sure that competitors applications didn't work (DOS isn't done until Lotus 123 won't run). This sparked a development arms race wasting hundreds of hours of development time working around intentional compatibility bugs.
On the other hand, Apple sometimes just doesn't let your software run at all. No matter what. Because fuck you, that's why. Your company plays by Apple's rules and tithes to Apple or it dies on iOS. Oh, and Apple reserves the right to kill your compay's sales on iOS for any time, any reason, including stealing all your ideas and competing with you.
It might sound like double standard to you, but denying your awesome new airbnb for dogs app is not quite the same as denying Java.
Guys, do you dream of unicorns and fart rainbows all day? WTF?
There's not some kind of, "the impact has to be as large as when company X did it" rule.
Apple now has enough market share, especially in mobile, that the global impact is troubling.
Not really. Depending on the country, the iPhone has between 10 and 20% market share and they are shrinking month after month. Android is on its way to becoming a monopoly, for sure.
These are separate markets. Customers that want to buy software for their Apple-branded general purpose computers cannot buy Android apps, so there is no overlap between the markets. Software developers may choose to participate in both, but that means the have to create two separate products.
What matters is is if the customer can switch their business, and not the size of the respective markets which is what those iPhone market share numbers indicate.
https://gigaom2.files.wordpress.com/2015/02/screen-shot-2015...
-Kantar
When has Apple hindered a break-through technology?
PS: I'm a massive fan of Microsoft marketing and strategy and have owned a grand total of 1 Apple products in my life - an iphone 4. Just fyi.
Contemporary example: it's impossible (as in, disallowed by Apple's policies) to install a web browser with a rendering engine written in a memory-safe language on your iDevice.
Furthermore, there are inherent security risks; so it's easier to just lock it down until there is actually a problem.
The bigger problem is that you can't implement a JIT on iOS, because you can't take a writeable page and make it executable. This is a clear security positive for iOS, but does preclude writing a decent javascript runtime.
Such a rendering engine does exist (Servo), and one can build a browser around it (and that will in fact happen). Just not on iDevices.
> The bigger problem is that you can't implement a JIT on iOS
You're not allowed to implement an interpreter either, if the code that you're interpreting is downloaded from the internet.
I didn't know the second point, but it's clearly there for the same reason; it's an easy way to stop apps from including new functionality and bypassing the review process.
And I wasn't talking specifically about their "no browser" or "no interpreter" guideline, just the sum total of requirements they have for iOS apps. The actual details of which exact requirement block useful things are not that important for purposes of addressing blumkvist's original question, which was how Apple's policies are more restrictive than those of Microsoft 20 years ago in ways that block objectively useful things.
I'm genuinely interested. I'm not a developer and don't know what that means. It sounds bad, but how does it stifle competition? Is Safari gaining an advantage? I used Chrome on my iphone4 and was pretty happy with it.
Apple benefits partially in terms of disallowing possibly-unsafe code (JS interpreters, for example) that they themselves did not author. But also from locking out competing browsers so their hardware is harder to commoditize...
In terms of stifling competition, it means there isn't meaningful competition on iOS in terms of features browsers expose to web pages. Browsers on iOS can have different user interfaces, but they all look more or less identical as far as web pages are concerned. (I say more or less because browsers can implement a custom network stack; just not a custom CSS parser or JS engine.)
So for example, if you want a browser on iOS that supports the "transform" CSS property without the "-webkit" prefix, you're out of luck. Apple's policies don't allow such a browser. This is not "break-through technology", of course. But a browser engine in a memory-safe language, with the resulting smaller attack surface, is. And it's disallowed by Apple.
Basically, the only browsers allowed on iOS are reskins of Safari. Technical competition is stifled that way.