I’m a developer. I’m an entrepreneur. No company is responsible for my success or my downfall. I am responsible for seeing the industry and (re)acting accordingly. As a developer, I know the pains of learning new technologies. As an entrepreneur, I know the pains of someone trying to tell me how to run my business.
Apple won the RIA War without ever joining the battle
Just about a year ago, I was chatting on the phone with Steve Weiss of O’Reilly Media. I made a statement to him then and, sadly, never made any noise about it. I think I held back the noise because I have a long relationship of working with Adobe and their products. I didn’t want to admit that I was probably right, so I said the statement, felt the pain of its truthfulness and tried to forget it. The statement was simple:
“Adobe and Microsoft are trying to push this RIA term. They’re trying to convince the world that this is a technology they want and need. They’re each trying to instill their own vision of that world: Adobe with Flash/AIR and Microsoft with Silverlight. The one thing that everyone’s missing is this: Apple has already won. iPhone apps are THE most widely used Rich Internet Apps. Apple has silently won the war and no one’s even noticed. All they have to do is enable iPhone apps to run via Safari (for cross-platform support) and they’ll have crushed both Adobe and Microsoft’s dreams.” That last bit I was off. Rather than upgrading the iPhone apps to the Mac, they upgraded the size of iPhone OS device and created the iPad.
When I say “Won the war”, I’m not talking numbers here. I think iPhone OS devices are at 70ish Million? Desktops are in the billions? So yes, Flash outnumbers by a longshot. Instead, I’m talking about the mind share of the average user. If you look at the marketing angles, Microsoft and Adobe tried to create (and own) a new space called RIA. Apple, while actually creating a truly new paradigm via software and hardware, did not claim to create anything new. Did you catch the clever difference? An iPhone runs “Apps”. You know, the same thing computers have always ran. There’s nothing scary or new in that term. You don’t have to convince a business to create an “App”, they run apps all day, everyday. There was no huge marketing effort to define a new term and own that term. Heck, Microsoft and Adobe even bickered about what the three letters R-I-A stood for, while Apple stole the average American’s heart with “There’s an app for that.”.
Everyone is riding Steve’s case because he doesn’t like Flash. Steve has even given his “Thoughts on Flash”. People still don’t believe his own words. They claim the real reason is his plan for global domination via the app store and collecting a fee for access to that “closed” store. I’ll tackle both of these arguments.
Global Domination: Who’s guilty?
According to the media and internet at large, Facebook has global domination plans. Google has global domination plans. Microsoft has global domination plans. Now, Apple does!? Say it ain’t so. We can bear the others, but not that sweet innocent, perpetual underdog Apple. The company with a mere 14% smartphone and 6% desktop market share. Mind you, this is the same company that had to endure being treated as second best for the majority of its life. Major software vendors would code for Windows first THEN port to Mac…maybe. It reminds me of the kid in high school who was shy and barely noticed the first few years, only to finally come out from the shadows Senior year to become the hot item.
The funny thing is that Adobe is no different in its plan for domination. In fact, Adobe itself tried to kill Flash. Let’s look back at this interview from 2000 with the product manager of Adobe’s LiveMotion product (you know, the product that was gonna kill Flash):
What about future plans for LiveMotion?
(What’s funny, in hindsight, is the “C” part of that statement.) Make no joke, Adobe wanted Flash dead. When they realized they couldn’t kill it, they did the next best thing: They bought it for $3.4B. After that, Adobe marketing had some rough times finding their market position, but eventually settled upon: “The Flash Platform”. Despite the cries by it’s RIA followers to NOT use such a term because “Flash” is not synonymous with business, but more with preloaders and banner ads. Now, their goal is to achieve what Java couldn’t: write once, run anywhere. Java failed though because vendors made their own JVMs and fragmented the market. Adobe was smart because there was only one player: theirs. Anyone could create a swf file, but only Adobe was able to create a fully operational Flash Player.
Now, however, with the Open Screen Project, Adobe has decided that desktops and even mobiles weren’t enough. They wanted their RIA runtimes on every device in the world. Again, look at the browser title for the Open Screen Project site, they are pushing the RIA term as the thing YOU (the internet world at large) wants. A bajillion partners have signed up and that’s great for Adobe and it’s great for Flash developers (of which I am one, by the way). However, one company has not signed up to be a partner: Yeah, that fruit one that doesn’t really like Flash. Apple didn’t sign up to be a part of Open Screen, so instead Adobe made a run to get Flash content on Apple devices.
Honestly people, how does this make sense? Adobe invites everyone to a party (Open Screen Project) and then wastes time and effort building in a specific iPhone exporter into Flash! “Don’t worry, partners. You bought the kool-aid, you’ll get your dues when we finally deliver 10.1 (you know, Steve was right on our missing promised deadlines). However, the one company, who has a tiny market share, will warrant focus and efforts by our engineering team that (let’s be honest here) could’ve been focused on delivering you those 10.1 bits faster.” I’m sorry, Adobe. I love ya, I really do. Flex dev pays my bills and the Flex community helped make my first company a reality. However, I have to call you out on this. Your lack of focus to a project you initiated has led to a delay in your plans of world domination. I applaud your recent efforts to finally stop development of iPhone exporter features. Bravo, but I hope and pray that it’s not too little, too late.
I mentioned above that I’m a Flex (read: Flash Platform) developer. It pays my bills and rather well. I love the work. It’s challenging and exhilarating. I love that I write it once and it runs on mac/windows browsers with no problems (for the most part). The one thing I can’t stand behind though is the Open Screen Project. Here’s an earlier post from this blog that shows my initial excitement of the promised land when I ran my first Flash bits on my Playstation3. That excitement quickly faded though as I realized something. There’s a lot of buttons on the PS3 controller and you know what? I can’t access them. There are 8-cores (SPEs) on the Cell chip inside the PS3 and you know what? I can’t access them. Cross-Platform will never be able to fully utilize all of a device’s native features; Features that are the sole purpose for the device to begin with.
Closed Platforms: They’re not bad…sorry.
Apple has many proprietary products too. Though the operating system for the iPhone, iPod and iPad is proprietary, we strongly believe that all standards pertaining to the web should be open.
Note he never says a lick about an open platform. In fact, he blatantly says he has proprietary products. His point is, that when it comes to the web, it should be open: Not his devices, not his app store, not his device OSes. Wake up, people. Why was it that you loved Apple before they announced apps needed to be native? You loved them because they were closed in their devices, OS and app store. You loved the User Experience that could only come from a marriage of hardware and software. You loved the fact that you could download a song or app in seconds on your phone. You loved that for almost any request you had, the answer was: There’s an app for that.
I could understand the hate (not appreciate it, but at least understand it) if Steve said you have to use this one tool by Apple and nothing else. He doesn’t though. He says you have to use Objective-C, C++ or C. There’s three choices right there. I know of many successful iPhone OS game makers who never use Objective-C at all. They code and create on Linux. However, beyond that, there’s the web app toolkit. That’s right. If you want to write an app on the iPhone, you do NOT need a mac, Xcode, Objective-C or anything related to Apple. You can build a website just like this: http://imusicmash.com In the iPhone OS Safari browser, there’s a “+” sign at the bottom. Click it and your second option is “Add to Home Screen”. Viola! You now have an “app” on the iPhone without paying Apple a dime or going through they’re silly little App store.
Funny thing is that most people (developers and end-users) don’t go that route. Why not? It’s fairly simple, because those apps aren’t as cool as native apps. (No offence meant to Al of imusicmash.) As a developer, you miss out on utilizing a lot of cool features the iPhone OS and device provides. As an end-user, you get a fairly bland application compared to the cooler native apps. Guess what…that’s Steve’s biggest point in his “Thoughts on Flash” and it’s not a lie.
Flash is great for desktops, because whether you’re running Linux, Mac OS X or Windows, you have basically the same parts: mouse, keyboard and monitor. Those are standard across the board. Even there though (and this is gonna sting Flex/Flash devs and Adobe, sorry) there’s one great native feature of the desktop OS that has ALWAYS been sub-par on any Flash app. Say it with me everyone: Right-click support. We’ve had right-click in OSes for how long? Let’s check wikipedia:
“As of 2007 (and roughly since the late 1990s), users most commonly employ the second button to invoke a contextual menu in the computer’s software user interface, which contains options specifically tailored to the interface element over which the mouse cursor currently sits.”
If it’s been 3 (or roughly 10) years and there’s still no solid right-click solution. What makes you think all the cool new features, i.e. all the distinguishing features of any device will be fully and greatly implemented in a “write once, run anywhere” Flash app?
Game consoles and handhelds are perfect examples of successful and great closed systems. Apple has finally gone on record and stated that the iPod is a great gaming system. However, unlike its competitors, I can buy into the closed Apple system for the price of a machine (of which I already have a few) and $99 developer fee. Yes, Apple has the right to refuse my game, but so does the other game platforms and they cost a lot more money to get into.
Is Apple perfect? No. Is Adobe perfect? No. Are you perfect? No. Am I perfect? No. There’s 34,300 employees at Apple. There’s 8,600 employees at Adobe. People at each place are gonna screw up. Both companies have shareholders and those shareholders want each company to win the world domination battle. Sorry folks, each company is really in it for the almighty dollar…really. That’s why they are “businesses” and not a foundation like the W3C. (A fact that Adobe credits for Flash’s success, I might add.)
I’ve made a good living developing on Adobe technologies. I’ll continue to make a good living developing with those technologies. However, my two boys (3 and 5 years old) plus most adults who comes into my house are fascinated and enraptured by either one of my iPods or their iPhone. There’s magic there that can’t be beat. I know, because I get sucked into said magic. In fact, I’ve started a new company, Area 161, to specifically leverage devices with native apps. I’m frustrated that Final Fantasy XIII could’ve been a lot better for the Playstation3 if SquareEnix hadn’t made it for both the XBox360 and Playstation3 simultaneously.
I’m sorry, but we don’t need to dumb down our apps to run across multiple devices. I want crazy killer native apps that help steer were I should spend my device money. As I’ve written here before, I love my Kindle because it DOESN’T run apps or have color or a back-lit screen. Instead, it lets me get lost in my books. It’s the truth and if Amazon goes crazy and screws that up, I’m gonna be pissed.
Leverage devices to their fullest. Create amazing stuff. Choose your tools wisely. When the going gets tough, just say the following:
I’m a developer. I’m an entrepreneur. No company is responsible for my success or my downfall. I am responsible for seeing the industry and (re)acting accordingly.