Developer responsibility
Short rant of the day:
It is the absolute responsibility of any developer to be aware of the shortcomings and performance issues inherent with their platform. As we all know, Steve jobs has declared that Flash will never be on any iDevice because it's performance is so bad. I won't deny that some of the onus to make this work is on Adobe. Particularly in areas where they've created tools that let none developers create things that bring Flash to a crawl. For example, designers love alpha transparency, but performance takes a major hit when you start dropping these sorts of vector graphics on the timeline. We see this in banner ads all the time. Adobe needs to fix this.
It is also true that I could create a swf in under 10 minutes that would crash your browser – if you aren't in a nicely sandboxed browser like Chrome. But the same is true of html and javascript. I could write some code in js that would bring the browser to a crawl. This isn't the fault of the browser or of javascript. It's my fault. I wrote the code. It's part of my job to not create this sort of code. Browsers and OS's can do things to keep the destruction minimal but it's not their role to keep me from writing bad code.
The same thing has been true for decades with desktop applications. When shareware usage was at it's peak, it wasn't uncommon to get an app that would bring things grinding to a halt across your OS. In fact, today one of the worst offenders on the desktop is Apple's own iTunes for Windows. This is a slow, resource hogging beast. At the best of times it's painful to use. It doesn't play nice with anything else around it. When you download music or apps, it grabs every last bit of bandwidth it can and won't let go for anything. When they finally download, the CPU is maxed out as iTunes processes the file and adds it into your library. It's a ridiculous piece of junk that goes against all the things Jobs has been preaching for the past few months.
The moral of the story is, the platform is rarely the problem. While it can do things to try and keep the situation under control it's ultimately up to the developers to make sure their creations perform well and don't crash their users machines.
derek knox wrote on 06/14/10 7:10 PM