With all the back and forth between Apple and Adobe and developers, I’m feeling like the real issues have gotten lost amongst the extreme views from either side. In the end, this whole fiasco has been boiled down to Flash vs HTML5 and that kind of simplification isn’t getting anyone anywhere – it just causes more fighting between developers. Furthermore, there really isnt clarity out there for what Adobe is trying to do with its latest campaign, which is frustrating because I’m not sure they echo what Flash developers want (or need). So let’s lay out the issues…
The Lego bricks are not Adobe’s fault, nor are they Apple’s. They are our fault. My fault. The developers and designers that use Flash. Haven’t we known for years that not every device has the Flash Player? Shouldn’t we have designs that fall back gracefully so we don’t just see a big white area with a Lego brick in the middle? As developers that use Flash to make rich experiences, it is our responsibility to provide a useful, well-designed fall back when the user does not have the Flash plug in installed.
Quite frankly, I don’t want the flash plugin running on mobile Safari on my iPhone. It’s bad enough that a majority of the web sites out there look awkward and are unusable on the small screen of the iPhone, to add Flash sites to that would just compound the problem. Have a graceful fall back. If the iPhone user is one of your intended users, then design a version of the experience that doesn’t require a lot of pinching and panning or Flash. This isn’t a Flash developer specific problem, this is a web designer specific problem.
On the iPad, sure it would be nice to have Flash in Safari, but we don’t. That fact doesn’t let us off the hook. We need graceful fall backs that the web designer actually thought about. I’m just as guilty of this as other Flash developers: a totally blank page with 10-point Times Roman stating “this site is for Flash” is clearly a fumble on the designer’s part. SWFObject puts that there so developers can remember to do their homework, not as the fallback users are supposed to see. C’mon folks, how long have we been doing this? We should know better!
While developers are mostly to blame here, they are also the ones trying to solve the problem – thats why tools like SWFObject exists in the first place. Adobe, you need to take responsibility for this and offer better ways for designers to create usable fallbacks on devices that don’t support Flash. Maybe incorporate SWFObject and offer a UI to add a static image, copy, etc. explaining to the user-without-Flash what the deal is.
HTML5 doesn’t change anything
I’ve already outlined what I think about the Flash vs HTML5 argument. There will be a lot of Flash experiences that do in fact get replaced by HTML5, but there are a lot that won’t, shouldn’t, and just can’t be replaced by nature of the richness of the experiences. This is just continuing the evolution we’ve been seeing for a while now, starting with Web 2.0 and standards based web development years ago. It should not be a shock to anyone. If your target audience use iPads, then you have to do the design work necessary to deal with that. Regardless of if we had the Flash in iPad Safari or not, this is still the case!
Apple, let the users decide!
Ok, so on the web side of things, I feel like there are pretty clear mistakes that we, as developers, have made and that we should have been better prepared for. But this whole developer agreement that Apple has changed, that is not so easy to write off.
As I outlined previously, HTML5 won’t replace Flash any time soon. It just won’t and can’t. Coming from a mobile background, I can understand why on these underpowered devices you might not want web pages full of Flash player instances bringing the poor processor to a halt. But thats the web. Html5 shouldn’t be a reason to not include Flash-built applications in the App Store.
We have some great user experiences designers that can create awesome experiences using Flash. If they create one that feels right on the iPad, who cares how it was developed? If users decide it’s good, then it’s good. Users shouldn’t (and mostly don’t) care what the technology of the experience is, especially when it’s a great experience. So let the user decide, by way of ratings and purchases, whether a flash-built app belongs in the store or not.
There are crashing, unstable apps built in Xcode that seem to make it to the store all the time, and users are vocal when they review them, and they review them negatively. There are apps that are really poorly designed, that don’t live up to the standard of some of the other great apps out there. Users have been able to make the choice of installing those apps or not. I see apps that use a “middle layer” all the time in app store apps, its called UIWebView, and sometimes it works and sometimes it doesnt. Users complain when it doesnt and those developers make changes to keep users. The users have (and should have) the power.
So why can’t it be the same with apps built by 3rd party development tools? Apple, I really believe you are missing out on many opportunities for great user experiences on your products by not allowing developers to develop using tools like those Adobe has already built. You are treating your users like mindless drones, incapable of deciding what’s good for themselves. Let users decide!
The right direction?
It seems like there is a user experience emerging here that is less than ideal, but I’ve outlined it in an earlier post and it bears reiterating in the midst of all of this name calling:
- User goes to a web site on their iPad
- It’s a rich, Flash built experience on the desktop computer, but on the iPad a nice static, branded image appears offering a button to tap and download the app from the App Store
- User taps, installs the Flash-built app and tries it out.
See, no Lego bricks, no Flash crashing Safari, no HTML5 vs Flash mumbo jumbo. A happy user is a happy user. Isn’t that what it’s all about?
Apple, Adobe, can you sort this out now so us developers can get back to creating great experiences using your products?