As a "tech geek" and developer, I think kos is wrong about a couple of key points he made in his post this morning regarding the iPad.
***
Closed System = Stability & Speed; Closed Systems > Open Systems
Mac OS9 was one of the most buggy, unstable and slow operating systems ever in existence and it was a closed system created by Apple. Mac OSX is built off of UNIX, a completely open source operating system, and it is easily the most stable and usable consumer operating system available. The openness of an operating system / platform does not dictate its stability or speed, quality of programming does. It's ridiculous to imply that closed systems are required (or even often result in) stable & fast systems. In fact, the reverse is often true.
My Xbox, despite being made by Microsoft, is stable, fast, and runs my games perfectly. How could a company that gave us Windows build such a great gaming platform? Because it was a closed system. Able to control its hardware and software, Microsoft avoided the instability created by the endless hardware/software configurations found on PCs.
I won't disagree on the hardware configurations issue. That has been much of the success of gaming platforms, Apple desktops, laptops, and iTouch devices. But Mac OSX makes no fewer software configuration options available to programmers than Microsoft Windows does. Apple just created a more efficient and user-friendly platform to do it in, hiding a lot of the technical detail away from the average user.
There are many reasons why the XBox has a great user experience, despite being created by Microsoft, the most important being:
- Having been designed from the ground up specifically for one purpose: gaming. A single-purpose platform will almost always outperform a multi-purpose platform in executing that one purpose.
- Having none of the backwards-compatibility concerns that Windows has due to its very large enterprise customer base.
Neither of these things has anything to do with whether a system is closed or not. Microsoft could open source the operating system, remove any sort of developer's license required to create a game, etc. -- make it completely open -- and the XBox would be no less a usable or stable a system than it is today. If a developer created a horribly written game that caused the XBox to crash constantly, guess what? People wouldn't buy it. Problem solved. If Microsoft was concerned about the consumer confidence in the quality of the games they purchase, they could create an optional "XBox Certified" label where developers would pay Microsoft to review and guarantee the quality of their game.
Its really ironic that, after defending closed systems, Kos goes on to bash Flash:
The day HTML 5 fully kills off Flash will be the day that 95% of my infrequent crashes are eliminated. Currently, I reboot my MacBook Pro about once every 2-3 months (mostly after software updates), while I have applications crash maybe once every two weeks (mostly MS Word when working on huge files, or Safari/Chrome when I have too many windows open with Flash playing).
FLASH IS A CLOSED SYSTEM!!! HTML5 IS AN OPEN SYSTEM!!! HTML5 video technologies are open source technologies. They are more efficient, less buggy and easier to use BECAUSE they are open source. Literally thousands of developers have collaborated in their development, ironing out every little bug they can find. Open source systems work with a speed and efficiency that no company, including Adobe, can compete with.
***
Ask Permission Environments & Walled Gardens
The tech community is highly polarized over this machine, with many angry with the machine's closed system. Software for the machine must be approved by Apple (though with over 180,000 applications for the iPhone and iPad, it's not exactly tough to get that approval).
Really Kos? How many applications for the iTouch platform have you written and submitted to Apple for approval? Speaking from personal experience, it is not at all easy to get that approval. I've waited as long as 7 weeks for an application of mine to get approved. The entire time not knowing if it would be approved in a couple days, a couple weeks or a couple months. It was just whenever Apple got around to doing it. And even then you have no idea whether they will approve it or not. Endless numbers of developers have submitted applications to Apple for approval only to have them rejected with ZERO explanation as to why. That's right, Apple has a completely opaque approval process. You could spend months working on a new application, investing thousands of hours of your time. But its worth it right? because you're going to make lots of money selling it. Then you submit it to Apple and they reject it without any explanation as to why or as to how to fix it so that it will be approved. All that time, money and effort has gone to complete waste. Apple refuses to even publish a document that clearly outlines on what basis applications will be evaluated. You just have to hope that Apple will be okay with whatever you create.
Earlier this last week, one very well-known iPhone developer and one of the most popular iPhone development bloggers announced that he was quitting iPhone development and shutting down his blog. In his goodbye letter (that you should read in its entirety) he explained why:
Ask permission environments crush creativity and innovation. In healthy environments, when would-be innovators/creators identify opportunities the only thing that stands between the idea and its realization is work. In the iPhone OS environment when you see an opportunity, you put in work first, ask Apple’s permission and then, only after gaining their approval, your idea can be realized.
I’ve always worked at the edge; it’s where the interesting opportunities live. None of the startups I’ve created would have been possible in an ask permission environment.
...
Early last decade, at roughly the same time and in parallel, I created a company like PayPal. Person-to-person payments threatened the banking establishment to such an extent that we were routinely told PayPal-like transactions were criminally illegal. A decade later, Wired Magazine placed PayPal as the cornerstone of the future of money.
[Innovation] made the establishment uncomfortable — they’d have stopped us at the gates had they been able too. Apple can, at their least bit of discomfort.
Its worth pointing out that DailyKos would not have been possible in an ask permission, closed environment. There would be no DailyKos without open systems. The internet is the ultimate open system. DailyKos is powered by Scoop, open source software. It runs off of servers running open source operating systems. If the internet was closed and controlled by one force, that force could have easily decided it wasn't interested in what Kos had to say or found what he said offensive and blocked its creation or shut it down at any time.
Kos himself has acknowledged how essential open systems, technologies, etc have been to the success of DailyKos. Its the traditional media's closed systems and walled gardens which have led to their demise. I'm confused as to why kos doesn't see the parallels and would be arguing for the closed systems.
How can you fight for Net Neutrality and at the same time endorse closed systems?
If the internet was closed, it would have never become the technology that permeates all aspects of our society today. It thrives off of universal access and a lack of censorship & control. It is that which drives and attacts the ingeniuety that has turned the internet into such a revolutionary force in our world.
***
Apple's Corporate Greed
The most offensive thing that Apple has done as a part of this whole debate was a recent change they made to the iPhone Developer's Agreement:
3.3.1 — Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).
In non-tech speak, Apple has just indirectly fired employees of several companies who make their entire livelihood off of writing software that makes it easier for developers to create games and other applications for the iTouch platform. I'd estimate that at minimum they've put 100 developers out of work.
Objective-C, C and C++ are programming languages with steep learning curves. Writing games in those programming languages can be especially challenging. So new companies saw a need and created software which made it easier for people who aren't experts in Obj-C, C or C++ to create games for the iTouch platform. This new clause in the iPhone Developer's Agreement essentially says that if you use their software to create your application, it will be automatically rejected by Apple.
The only reason that Steve Jobs put that clause in the Agreement is because of his ever-escalating fight with Adobe. He's trying to block them from creating a toolkit that allows Flash developers to convert their Flash applications into Objective-C code, thus enabling their applications to be accepted for sale in the App Store. Jobs cares so much about winning that fight, that he could care less if he puts hundreds of developers out of work in the process.
Its corporate greed and its evil.
***
Now I am a proud Apple fanboy. When Apple released OSX, I switched to Apple products and love just about everything about them. No tech company in the world understands technology, innovation, usability and marketing in the synergistic combination that Apple does. No others come even close. I absolutely love my Macbook Pro, which I work with for 12-16 hours every day, and I have never looked back ever since I switched.
I actually agree with the majority of Kos' post regarding the iPad. I do not own one, nor do I plan to in the near future. I am a "tech geek" and the iPad just isn't for me. I'm a developer and 100% of my job could not be done on the iPad. The fact that its of no use to me does not make it a bad device. I'm just not the audience it was designed for.
But Apple's actions are about more than just ensuring a great user experience. It's anti-competitive, anti-innovation, anti-worker, and greedy behavior. That shouldn't be something any of us support.