Further thoughts about the iPad, Flash, and what Jobs said.
“They are lazy, Jobs says. They have all this potential to do interesting things but they just refuse to do it. They don’t do anything with the approaches that Apple is taking, like Carbon. Apple does not support Flash because it is so buggy, he says. Whenever a Mac crashes more often than not it’s because of Flash. No one will be using Flash, he says. The world is moving to HTML5.” (quote extracted from here).
I’ve always had a lot of respect for Steve Jobs. If Jobs says something – I listen. And so does the entire computing industry.
If Steve Jobs were to say something that challenged my world view – I wouldn’t get defensive or upset. I would listen very carefully to the message.
I’ve said this before: I’m not a fan boy. I think evangelism is unhealthy. But I have tremendous loyalty to the Apple brand based on technical merit.
My other foot is firmly planted in the Adobe camp. I’ve been dedicated and involved in the Flash Platform for the last ten years because I was excited by its ubiquitous nature, its consumer saturation, and its potential for mobile deployment. ActionScript 3 is a joy. Most of my waking hours are spent using Flex commercially or coding sophisticated Pure ActionScript. (resolution 2010 – I really must get out more).
There are three parts to Steve’s message.
I fully agree with the first part of Jobs’ statement. Think of it as a wake-up call.
I’m not going to talk about “Flash is buggy” accusation . I think Flash on a Mac is better than it used to be. There’s a lot of speculation elsewhere about this issue. I won’t add to the noise.
I don’t agree with the last part of Steve’s message. I’ve heard all about the demise of Flash before. I’ve seen Flash-killers come and go and fade into obscurity. Flash has a strong legacy and following and I don’t see it disappearing.
Mac users have often been treated as second-class citizens by Macromedia/Adobe. Initial releases of software such as Flex and ColdFusion were released for PC only. I remember having to wait ages before I was able to obtain the first pre-release version of Flex that I could run on my Mac.
Yet, back in the pioneering days – I noticed something about the people who were getting most excited about using Flash to write applications. Most were Mac users like myself.
The performance of Flash on the Mac has been an issue for all the time I’ve been using Flash. It IS implementation laziness. Every software development project I’ve worked on (both commercial and personal) has involved an optimisation phase to make things to run faster. I do this a lot in Flex and ActionScript. To improve the user experience on a PC as well as Mac. Working on my code to compensate for the feeble Flash runtime, or Flex framework. I wish Macromedia/Adobe had done more optimisation at their end, as it would have saved me a lot of work at my end.
I’ve heard the excuses. That this is a consequence of executing something in a ubiquitous runtime rather than natively. That Flash or Flex provide a higher-level authoring experience (compared to Pure ActionScript), so I must accept the consequences . I don’t accept these excuses.
Flash was probably fast enough for “conventional” uses. Banner animations, web-sites, e-commerce, simple stuff dragged together in Flex. But now people are writing applications that resemble the kinds of applications that run on your desktop. The bar has been raised. Users expect capabilities more like they get on the desktop, and developers like myself want to be empowered by Flash more than we are currently.
As a developer, my intimacy and familiarity with the ActionScript classes provide me with a unique vision of what the platform is capable of, and what is lacking. TLF textflows for example. In 2003, I described this idea (except my name for them was “linked text boxes”). For many years I was frustrated by the limitations of the TextField object and the lack of control over text on the screen, until eventually we got the flash.text.engine class.
I could mention numerous other examples of enhancements and capabilities that we waited too long to happen – but at least we got there in the end. The shortest distance between two points is a straight line. What was the point of ActionScript 2? – superseded so quickly. Or a bloated, slow, and badly conceived Halo Flex framework? Every time that Adobe flounders – they weaken their competitive stance. And that’s a pity – because I’m really on their side when they’re on-track.
I only wish that a little of Apple’s culture, attention to detail, boldness and vision could be injected into Adobe.
To develop AIR (or even browser) applications with Carbon-like capabilities would be incredible. It’s an almost incomprehensible vision, compared to what’s possible currently – we’re still dragging our knuckles along the ground.
So despite my frustrations as a developer about the limitations of Flash – it’s still better than the web standard alternatives. In fact, Adobe shouldn’t even be competing with these lesser technologies. They’re unworthy adversaries. Be like the Samurai.
Instead, I wish that Adobe could raise its sights to see the potential of Flash in a similar way to how Steve Jobs sees the potential of Flash.
Unfortunately, Adobe sees the world very differently to Google or Apple. I notice this every time that Adobe runs a competition, derby, funding scheme or incentive to support developers. It’s always too much about image and eye-candy and not enough about functionality. Sometimes, Adobe throws its support and money into a mediocre idea, and biasses the playing-field against much more ambitious visions.
Adobe is an eye-candy company. Apple is much more about functionality – yet they always present it beautifully. That’s an important difference.
I wrote something else here. But I deleted it. What I had to say would have seemed too much like Kanye West (Gay Fish) at an awards ceremony. My comments may have upset another developer – and I didn’t want to do that. Suffice to say that Adobe have often supported ideas or developers that demonstrated very little merit beyond an initial and very superficial “wow” factor.
It’s no wonder that the “web standard” fan boys think they have a shot at the title. The real capabilities of the Flash Platform are Adobe’s most closely guarded secret.
. . . . . . . . . . . . .
On a related issue: I mentioned how the RIA bar has been raised. As developers, we’re increasingly aiming for a user experience that resembles the slickness of applications that run on the desktop, rather than the primitive tables, buttons and forms of a traditional web application.
I watched the iPad keynote presentation. I was so blown away (uh oh, I’m starting to sound like Steve Jobs now) by the iWork demonstration that it almost made me weep. Not because it was impressive. Indeed it’s very impressive. But it’s so impressive that it raises user expectations. Our Flash based applications will be expected to compete with this level of experience. That’s daunting – almost defeating.
The part of the video where the text wraps around the giraffes head was particularly daunting for me. Actually, I know how to do this. I know exactly how I’d implement that in ActionScript. I’d love to bring that feature to e2publish. But that would take time, and divert me from my commercial Flex work that I get paid for. So that feature probably won’t make it for a while.
While I have lofty ambitions about pushing the envelope of what can be achieved with the Flash Platform – the downside is that I don’t really have the time to realise my vision.
(I tried to embed a link to the youtube video. It didn’t work, probably because it’s the beta test HTML5 youtube service. Try part 3 of 4 here.)