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.
29 thoughts on “Thoughts on Adobe vs Apple from a guy standing between them both”
Well said. Just play with the new iPad for 10 minutes and you will quickly realize that the user experience written in Objective-C is far superior to any Action Script experience. Objective-C is hands down a much more difficult language to get my head wrapped around. That’s why I shed a tear to not have the Flash to iPhone/Phone/Pad capability that CS5 was promising. But in the 4 short releases of iPhone OS and corresponding devices, it’s evident that there is a new RIA/App’s leader in town.
Don’t confuse a programming language with the user experience created by developer’s using that programming language.
The elegance, or lack thereof, of the user experience has very little to do with the language it is programmed in. I’m sure Apple spent more time [and money] on the iPad UI than most AS3/Flash projects ever get the budget for.
Nice read Tom. But Flawed. I *am* perfect.
@Randy LOL This is true, but my jealousy won’t let me admit it. 🙂
Hey, Tom. As always, I respect you and I respect your opinion. I’m glad you are pressuring Adobe to move faster. I appreciate hearing your perspective.
Now, let me put my Flex hat on.
Yeah, my apps probably would be better if I were to write my application 20 times so that I’d have native code for all 20 major hardware vendors of smartphones. But I’d still rather just use Flex and deploy to all smartphones who are in the game.
And back in the day, my fonts might have been better if I wrote a different font for each printer, but I’ve still preferred to use PostScript fonts and deploy them to all printers.
And my documents would load faster if I were to write them in each word processor that users have. But I’d rather save them as PDF.
See the pattern here?
Yeah, Harry, I do:
Harry, enjoy writing your lowest common denominator apps. They will never be the best on any one platform, because they can’t take advantage of platform features.
That’s what Flash gets you. And still not even right click. Bah.
Bet you still use a fixed width font to ensure your email is interpreted the same way by many clients
Thanks for the toughtful reply.
I guess, you do bring up a good point. For the lowest common denominator phone, i.e. touch screen, a flex app would be okay or “good enough”. However, I think what Steve is saying (and what I’m agreeing with) is that’s fine, but an iPhone isn’t a lowest common denominator device. He holds himself to a higher standard and others too as well.
In other words, he doesn’t care if you deploy it across all devices. He just wants you to care about his.
Fonts and document formats hardly count. Those are single task functions and thus why Steve built PDF support natively into the OS. That’s a far cry from an entire experience of an application.
I’m also not saying bluetooth or USB or firewire are bad. There’s nothing wrong with standards, but devices need things to differentiate them from the pack, else it’s just a commodity item.
Yes Harry I do see your point and end users won’t notice one way or the other. User experience is just that. . . A user’s experience. Clearly many iPhone users like the user experience that farts, shows a diamond for a $1K, etc. . . while users of other platforms prefer to customize their background an OS, install whatever they want, use it as they please, etc. . . when a single company can make THE perfect user experience for all users then that will be the ONLY company anyone can purchase from.
User experience?!?!? Yeah, right!
This article and most comments sound like an Apple fanboy love fest and very out of touch with reality.
I’ll counter your fanboy comment with the one fact that I’m constantly made fun of: I’ve never owned an iPhone. I was a Blackberry man until I bought my Moto Droid. I like to make phone calls and checking my multiple GMail accounts easily is more important to me than any game or UX.
Sorry, to burst your bubble, but thanks for stopping by though.
Brilliant piece, dude!
Interesting read. I think you have covered a lot of goo topics here. I think it’s hard to argue that building a native application is going to produce a better experience for your users. I’m not saying that there aren’t exceptions, there are, but as a developer if was given a month to build an iPhone app using AIR or web standards vs using the SDK and all it’s native and optimised controls, I know which users will prefer.
The same goes for the desktop, show me a decent Java app that feels link it belongs on the system your using it on? Even with creating AIR apps I try very hard to stick to windows conventions and mac conventions depending on the system, but yet there are some things I just can’t do because Adobe haven’t added it as a feature yet.
However it would be nice to be able write one run anywhere, but in this current climate that job is becoming harder and harder. You have a huge gulf in processor power, screen size, resolution, capabilities, conventions, etc etc etc. Even as an iPhone OS developer you now have to develop for iPad and iPhone, which more or less requires to you have 2 sets of views for your app, a huge chunk of your work load. The idea of write once run anywhere may be possible using web standards, but your app is going to be simple and will probably be suited on only one scenario.
You comparison to the console industry is spot on. Remember Metal Gear Solid on the PS2, it kicked the ass of all other games, because it was made for the PS2 and it’s quirky architecture. Also think about how many people (or geeks) play on consoles rather than PCs. PC gaming offers the best graphics and more advanced games, but they crash, take ages to install, etc etc. In other words the experience sucks (sound familiar).
If someone getting into software development asked me what to learn today I would say two things. Web standards and a low level language like C. You shouldn’t invest all your time in one companies language, be it Objective-C or AS3, but you shouldn’t be scared to learn them.
I have never heard a developer say learning another language made the a worse programmer 😉
Thanks for reading, Rob.
Yeah, I went to a designer talk at MAX last year. A friend of my was the speaker and it was on designing for this new wave of devices (TVs, Set-Top Boxes, Mobiles, etc)
You can imagine for a developer like me, it was kinda eye-opening. I was like, “Oh yeah, each device, though running Flash, would still need an entire app designed just of the screen size. Not to mention all the input types, etc.” That’s when the allure of Flex/Flash everywhere started to fade.
I like your take on the suggesting C and web standards, for those starting out. Once they get a grasp on that, then the can start to delve deeper into specific technologies. I came from HTML and Access (yeah, the microsoft fake DB app!). From there I went to Cold Fusion and Flash. Then it was Flex and Objective-C.
Yeah, I love learning new languages as long as there’s a pay off at the end. Java, for me, never had any pay off. “You can write super robust enterprise backends!” Uhh….yeah, not really my cup of tea. 🙂 Android at least puts a spin of fun on Java now. Even though I own a Droid as my primary device, I don’t think I’ll learn Java just yet. The apps I’ve seen from Droid just aren’t as impressive as those on the iPhone.
I’m sorry to tell you sir but your arguments are flawed, your points empty, your knowledge on the matter inexistent, your opinion biased, your conclusions wrong.
I hate Apple with an intensity only matched by the love for my iPhone. A paradox some may say but as long as jailbreaking exists I will always cherish my jailbroken iPhone, an open Phone. A phone which I can modify and add onto without anyones approval.
Tom, Access isn’t a fake DB App. It’s a real DB App. It wasn’t designed for client/server applications [like what most of us use for web based applications].
Compare it to embedded DBs (like SQL Lite which is included in AIR) and you’ll find it is pretty powerful.
Oh, but I’m talking Access 2.0 I’m pretty sure that one was fake! LOL
I don’t have experience going back that far; so will take your word for it. 😉
FileMaker and Approach. There were two database products that weren’t databases, though.
Tom, I think you actually articulated this thesis to me more than once, always gently emphasizing your agnostic view (IOW, “It is what it is; here’s what’s likely going to happen.”). I don’t think your piece here is going to change the mind of open-source idealists, but you’ve done a great job of shining the light of pragmatism on the debate.
Yeah, I was hoping this came off agnostic, but I’m guessing (by comments above) I failed a bit. Something to note and to work on.
I do miss our chats though. I hope we can find a way to get them going again. 🙂
All I am saying is, everyone has a horse in the race. It does sting a bit when the horse has to be euthanized in front of everyone, in the middle of the track, and really, that is what developers are reacting to.
On one hand you present the argument that it’s all about the dollar, then proceed to rationalize Mr. Jobs “Thoughts on Flash” and how Apple has cornered the RIA market. You had me at hello, then you ruined it 🙂
One last thought: End product doesn’t always justify the means. Try the veal, it’s on me!
Thank you for the article.
Its not hard to understand the merits and drawbacks of both ambiguous platform philosophy , and purpose specific architectures.
I also understand its within every companies right to leverage any legal avenue to give themselves a competitive edge in the marketplace.
In a way, I would be comfortable if Apple was required to legally compete in their specific niches, rather than hide behind licensing firewalls, and platform depedance. Let the iPhones run flash content, if you are so confident in ‘end user experience’ of native apps, why the insecurity after all ? Won’t flash’s inherent flaws eventually kill itself ? Let others produce devices and operating systems that will run IPhone apps. Allow all standards employed to be public domain and subject to peer review.
Then we end up with the inefficient and inelegant clusterpoop that is the ‘other side’. And really there is no reason why a company with as much market power would need to operate in such a way.
I tend to view the situation as stuck between rock and a hard place, and I’m rather irritated by having to chose between the two.
Nonetheless thank you for your wonderful article.
Let me tell you something, even when I like the Iphone or Ipod Touch, I never brought one until the beginning of this year!! I needed a device that allow me to send emails and check status on some website because my Job. Even when my laptop travels with me, the Ipod touch was perfect device for this because its easy and fast to access on hot spots and surf the web, and it let me be in contact (through email & skype).
I do not brought the Iphone because I am wise, I don’t want that people from work to call me, if they need something the can send me and email. If I need to call someone I could get to a hotspot and do a call phone througt Skype (rarely need it and cheaper than a cell phone).
So what all this have to do with FLASH? Well I believe that Iphone Technology and Flash Tecnology are for very different purpose. If I use a PC (doesn’t matter if it is touch screen or not), I prefer to have a interfaces like Flash style, but for the Ipod, the way it is, is PERFECT, no Flash needed.
Can’t we all just get along. It is like watching your parents fight and then head to divorce court. It sucks as an iPhone user I can’t watch Flash video, yet I get dad’s point (Steve) of making everything run smooth… although it is kind of like dad saying you can only date a particular race of people.
I’m not a programer. I’m just a consumer of technology. I’m trying to wrap my head around this debate of “Apple vs. Adobe”. This back and forth over,” who is the evil one?” or “who is the right one?” seems very familiar to me it’s just like politics. Right wing or red states vs. Left wing or blue states. People in their separate camps swiping at eachother, feeding on a steady diet of info that bolsters their own point of view. And lashing out at anyone who has a different perspective.
I checked out of that debate a long time ago. I never felt that certain about anything. There’s convincing evidence on both sides.
On this issue though, my heart is with apple. They have given me so much joy! I had PCs for years and they were nothing but a headache for me. The best day for a PC is the day you buy it, then it’s just a steady decline untill it’s so riddled with viruses and crap that it just crashes. (Keeping in mind I’m just a regular consumer, I have very limited time and patence to screw around with my computer trying to trouble shoot every problem and update every third party application) My iPhone gets better every year, new updates new features, mostly for free.
I remember a quote I heard on ” The Computer Guy’s Show” on WAMU, ” If you want a hobby, get a PC. If you want a computer, get a Mac!”. It’s been true for me.
I forgot to mention, I find the article here very thoughtfull and balanced and enjoy reading your coments. I hope for the best! Not sure what that would be, but I’m not giving up my iPhone any time soon, unless there’s a new Verizon model:)
Thanks, great statement of your viewpoint. I appreciate the thought and time you put in.
Thanks. It took awhile to write and I think I lost some friends over it. LOL