Hacker News new | ask | show | jobs
by wsgeek 5871 days ago
Gentlemen,

Steve is not being overly controlling... You are all looking at his "blocking" of Flash as a closed-minded policy. Consider this: Do Active-X controls run on the iPhone (or Android)? No -- they never have, and this is for technical AND business reasons. It would be fairly easy to support them -- just have WINE as part of OS X. The reason Apple doesn't do this is because they would be letting the fox into the henhouse and adding unnecessary bloat to a mobile device. Everyone seems to get this, which is why you don't hear complaints from all of the Java and Silverlight people about not being able to code for iPhones.

To another point: Ask yourselves -- What is Adobe's business model? They make NO money on the Flash plugin. It's free. They make their money on tools. If I'm the Adobe CEO, I would strive to have every app in the world written in Flash. Now who is close-minded? And by the way, Adobe could solve this VERY easily by making their tools output in HTML5, etc. Why don't they want to do this? Because they feel that HTML5 might be slow to adopt features that they already have. Oh wait -- now the shoe is on the other foot! Adobe realizes that the innovation of their platform would be stifled by any lack of features in HTML5. So why don't they have their tools output Objective-C code which could then be compiled by Apple's tools? My understanding of section 3.3.1 is that this is allowed.

Developer tools are the gateway to a platform. Microsoft knows this -- which is why they have some of the most mature tools around. When Microsoft adds a feature to their operating system, why do you as developers feel comfortable waiting for Flash, Java, etc to create an interface to that new feature? If I were a software company, I would embrace a platform and strive to be the best on it -- use every new feature to its fullest extent. Guys, this is what you get paid to do -- innovate, using whatever tools are necessary! It's about the end user experience. This is what makes an app sell.

So what Steve is gambling on, and it's a bold yet well-considered move, is that the iPhone/iPad/iPod platform (hardware + OS) will always be slightly ahead of competitors. And the developers who agree will retrain themselves to take advantage of the platform. Development tool vendors will do the same. If Apple were to release a killer hardware feature on the iPhone (which is their business model to do so!), how long would it take for Flash to incorporate it into not only their player but also their development tools? Would they wait until Android implemented it too before doing the release? This harms Apple, it harms developers, and it harms consumers.

Flash has a cross-platform, least-common-denominator approach to computing. This is a thing of the past!

You might be saying to yourselves that Microsoft never blocked anything -- Flash, Java, RealPlayer, etc. Well, they have a different business model. They want people to consider Windows as the defacto OS platform, and they want to support an ecosystem of ISVs that fill in all the gaps. It's a very well-conceived plan, and it only works because they have a near monopoly on the desktop. If they did not, then their business model would not work. Imagine if you will a world where Linux itself was not free AND they charged for the development tools AND those were the only tools you can use to develop for the platform (as is DevStudio). As you can see, Linux's lack of market share would make this an untenable business model.

Why do you think they charge money for their development tools? Eclipse, XCode, and dozens of others are free of charge (yes, I know there is a free version of DevStudio but it is missing some key features). They charge money because they CAN. Adobe charges money because they CAN. If Apple were to charge money for XCode, it would kill the platform. Think about this anytime you are bashing Apple for the high perceived cost of their computers relative to humdrum PCs -- you're getting software that was developed by companies that got the tools for free, and this means you will get better software.

Flash developers, you are right to be up in arms over the omission of Flash as part of the iPhone OS. But you're directing your anger at the wrong party. First, I understand that you are loathe to have to learn a new toolset (which you feel is inferior to Flash) to get your apps out there. Years of experience that you have will help to bridge that gap! You are good developers and you will find a way. You should instead be asking yourselves, why are there no 3rd-party Flash development tools that compare to Adobe's?

http://en.wikipedia.org/wiki/Adobe_Flash#Third-party_tools

Why is the .SWF format not entirely open?

http://en.wikipedia.org/wiki/.swf#Licensing

Adobe has great tools that create compelling apps -- there's no denying that.

Microsoft has great tools that create compelling apps -- there's no deny that.

And Apple has great tools too. Closed systems are a thing of the past (remember when Microsoft had "hidden" APIs that their apps used?). By being forced to expose the hidden APIs, it removed the need for cross-platform emulation/library layers. Yes, it's more work for you, but c'mon, you're good developers, the best at what you do. You will find a way.

1 comments

Beyond the Adobe/Flash issue, what's the supporting moral argument for preventing an iPhone user from installing a native Google Voice app, to pick an example? This is a device that the user owns, and the user desires the capabilities of this particular app, and yet they are denied by Apple, after having already invested significantly into the platform. This is obviously an insult to the customer, and the only motivation Apple has is business greed, not some altruistic sacrifice to the user experience gods. When the vendor is actively impeding the customer from attaining what they want for nebulous reasons, we have a PR problem here that competitors can capitalize on. The best user experience in the world won't save you when a competitor figures out how to empower your customers more greatly, because obviously their user experience was sufficiently well-designed to allow their users to accomplish the task that they couldn't on your platform.