Feel free to read Steve Job’s post here before reading mine.

While there many points that are valid in Mr Job’s post, I find his views misleading and disappointing. I’ve felt it important enough to start an entire blog with a mission statement around this topic and feel addressing these issues appropriately is valuable.

On Openness

I don’t feel Mr Jobs has any real credibility in selling Apple’s commitment to openness. In fact, neither Apple nor Adobe have any business telling anybody about the meaning of the word open. Both are in the business of selling things to people, both have trade secrets, both have patents. Both companies have shown a history of opening things when it is in their business interests to do so. I don’t hold that against them at all. We call it an industry for a reason… expecting anyone to freely distribute their hard work whether they’re a giant corporation or a freelancer on their first gig out of school is wildly idealistic.

To suggest that the good will of WebKit gives Apple the credibility to speak about “open source” would be like suggesting that Exxon gets carte blanche about their underlying business on the principle that they dedicate significant resources toward human goodness (which they actually do). It’s good and it’s helpful to be reminded that companies like Exxon and Apple are fundamentally good people trying to do right in the world, but there’s a difference between being doing good all of the time and doing good because it’s good business. I don’t mind the latter, it’s just calling it what it is. WebKit has been great for everyone. So is the iPhone. So is Photoshop. Whether they are open or not is irrelevant.

Mr Jobs states that “all standards pertaining to the web should be open”, yet the browser on the iPhone and iPad include an implementation on the video tag of Apple’s preferred format. WMVs and OGV files don’t play. FLVs don’t play. If we’re to take this quote at face value, Apple should be doing it’s part to help Ogg win the video format war here, even if it has technical flaws… after all, it is the most open of all the format candidates. They’ve made a decision for said video tag and as a result the industry has already started to move to embrace that decision.

I’m even fine with that, since the debate over the video tag has been long over-democraticed anyway. My problem is that you can’t just impose your recommendation as the standard everywhere and then simultaneously declare yourself a champion of open.

So in other words, I don’t believe Apple truly embraces open here anymore than anybody does.

The Full Web

I agree that at this point, Apple has done an excellent job of changing the landscape of video on the web – at least for mobile. At one point Adobe could rest it’s head on a comfortable corner of the video market. We could get into the video tag issue again here, but I believe my points were already made in the last paragraph so I won’t rehash them.

Instead I want to talk about the second part of his idea of the Full Web: Flash games. Mr. Job’s post gets extremely disappointing in this regard. Offering the App Store as a solution to the content already on the Internet is a slight to the makers of those games and their consumers. I don’t know what the full web is any better than the next guy, but I don’t think offering your own walled garden environment as a solution solves the problem. Basically he acknowledges clearly that the Apple has it’s view of what good user experience is and if it doesn’t fit that world view, it’s irrelevant. Flash doesn’t fit that world view.

And while I don’t believe Flash is a good solution for everything, there have been as many overused gratuitously unfortunate abuses of Lightbox and other web standard solutions to suggest that the problem here isn’t the platform. The industry needs to reflect on itself to provide better, more meaningful experiences to it’s users. We as developers and designers need to do better on behalf of our users.

Poor development doesn’t excuse Apple’s stance. If Apple is going to tie our hands to the presentation layers they decide on, they’ve effectively amputated our ability to provide the most meaningful experience in the most appropriate way. CAN something be done without Flash? Of course. And it should. Does this mean Apple should decide what we can and can’t do? Absolutely not.

Let me simplify this argument: If a user wants to play a game on a web site and they can’t, that’s a shame. I don’t care that there are other alternatives, that’s a shame that I can’t make the game I want the way I think is best because someone else says no. So as long as Apple’s stance is “Use the App Store instead”, MY personal stance is that Apple has slighted the expertise of individual developers in favor of their platform. No other platform – Android, Facebook, Flash, Microsoft or otherwise has such an incendiary approach. And that is what’s alarming.

Reliability, Security and Performance

I used to work tech support for an Internet Service Provider. Customers would call when they were having issues. We’d blame their computer and tell them to restart. We’d blame their telephone service. We’d blame El Nino, if we could. We’d blame anything under the sun before the company would finally accept responsibility for their issues.

There’s a long history of blaming the other guy in the world of computing and with good reason — it’s hard to get these things right. As a coder, I’m often so confident in the code that I’ve written that at times I’ll find it thoroughly inconceivable that a bug could be in a spot even when someone shows it to me repeatedly. We all become zealots about the thing that we’ve created.

But just because we made it and we believe that it’s perfect that doesn’t always make it so.

Apple computers can be compromised with viruses. I’ve had tons of software crash on me, built by Apple and otherwise. And there’s certainly a large degree of human error that can compromise our computers. I accidentally tweeted my telephone number once. I’ve typed my password for my bank account into Google before. There’s a great degree of human error before we even get into system failure.

But beyond that, to suggest that Apple’s systems are anywhere near invulnerable without Flash installed is like suggesting that the country you live in will be more secure if you pre-emptively invade other countries. Maaaaaaaaaaybe that’s true, but let’s just I’m more than just a little skeptical and I don’t think I’m the only one. In any event, that’s certainly an impossibility to improve.

Adobe could do a lot to make Flash less memory and processor intensive, but Apple could do the same for their own software. And both have taken some steps towards that. I’m not suggesting that the native Flash experience as it stands would work in approximation to what it is now, but I have seen enough to believe people could be expressive with the platform as it is now.

Battery life

You know what the biggest battery suck is on my iPhone 3G? Apple’s map app. It’s slow, it’s buggy and it tears right through my battery. My understanding is that the 3Gs is better and that future software upgrades are possible to improve this. So stuff get better over time, as they should. I would imagine Flash could only perform better over time as well.

For that matter, I wish the device dedicated a certain amount of resources to guarantee I always have like… a 5 minute emergency phone call. The upside of having the iPhone is that I have the one “it does everything” device. The downside is that if I misuse that device, running it out of power and then suddenly need to get in touch with someone, I’m screwed. It’s to the point that I actually keep a list of phone numbers in my wallet just in case. I’m back to the days where I can count on a pay phone for actual calling. Apple’s device is almost too addicting.

My point is that Apple could do more to help me preserve battery life for using the device as a phone from time to time, regardless of Flash. How I choose to consume that battery life is my decision as a user. So numbers aren’t going to dissuade me here. User experience is for the expert to decide, not the manufacturers. As a developer, nothing would make me happier than to find out user’s are killing their batteries using the things I’ve made. Apple and Adobe need to provide me the tools and then let me worry about my user’s battery life. Both can do better to improve.

Touch

The metaphors for using small mouseless devices have all changed, and so sites have had to evolved for that, but these aren’t specific to Flash sites. ESPN.com led the way with an “iPhone enabled” site. More and more sites out there increasingly offer a presentation layer servicing devices between WAP and desktop. Tablets are going to create yet another division. Suggesting that Flash exclusively needs to reconsider the metaphors for touch is true, but the whole game has changed.

As people embrace new technologies, new metaphors are created for how we use them. Pinch and swipe are not exclusively the domain of the iPhone anymore they are of a specific programming language. Flash supports collecting any kind of touch interaction and leaves it to the programmer to decide how to interpret them. So again, it is on the people creating the content (you and me) and NOT Apple (manufacturers) to decide what is and isn’t the best experience. If we’re incorrect, our users won’t like the experience and won’t return.

Third Party Platforms are Inferior

Of all the notions in Mr Job’s article, this is the one that is the one that is blatantly wrong and [frankly] offensive to me. There’s no historical basis, no case study, no valid argument in the history of usability to suggest that C, Objective-C and C++ provide the best experiences to users. And while Apple has a wonderfully beautiful simple set of components they provide with their SDK, there is also no way they can claim anything other than that those components are a useful and successful set of templates to use in building applications for their devices.

But let’s be clear on what they are: Templates. Like a WordPress theme, they can change. I can load in ANY image I want to and make it clickable. It is just that easy to generate our own set of UI components, our own templates that look and act nothing like Apple’s, even inside of their own platform.

I’m not going to suggest that Adobe’s iPhone compiler was perfect. I don’t know, honestly. But the notion that Apple knows and can decide the languages and platforms that are best suited for how I as a developer should develop in is so outrageous I can’t even describe. There is zero risk to Apple for allowing third party development. Great games have been built in Unity. Great visual explorations have been done with OpenFrameworks. Titanium and haXe and all of the other platforms out there trying to simplify the process of deploying things to as many people as possible are all doing remarkable work. This should be encouraged, not reprimanded.

In conclusion

I love programming in Objective-C. I’m totally enthralled with my iPhone and haven’t stopped drinking Apple’s cool-aid. I’m as big a fan of their products as any. They have a long track record of making amazing experiences for people, and I hope they continue to do so. However good they are at creating a good user experience, they aren’t the sole purveyors of it. To me, an “open” digital experience isn’t one where the software is available freely. It’s one where a user can choose to visit it and feel good about whatever it is they saw. With this definition, nobody is qualified to curate open user experiences.

I wouldn’t count on any platform, Flash or otherwise for the right way to build things. I would look at the options available to me, factor in timeline and budget and (most importantly of all) the experience I want to provide to users and make a recommendation on what way we should go… and stand by my decision. That Apple would neuter that decision in the grounds that they know best is extraordinarily disappointing… for me and for users everywhere.

Note: This post was originally published on jamie.kosoy.net in 2010.