Since we're on the subject of software and platforms, it's not often that you see multi-billion dollar companies throw temper tantrums in public. Today is Adobe's big day (CS5 announcement), and it comes shortly after Apple's big days (iPad, iPhone 4.0 announcements). It seems that some at Adobe don't seem to understand where they are in the food chain. In the case of Flash they built (well, actually bought for 3.1 billion dollars) a platform that lives on top of other platforms. When a platform they sit on top of moves, they should expect quakes. Sometimes big ones. To whine that there shouldn't be quakes shows a level of immaturity you don't usually see a big company displaying in public.
I've never been a fan of platforms on platforms (Flash, .NET, etc.). The goal is usually to "deploy everywhere," but in so doing you introduce Least Common Denominator tendencies and slow down progression of advancements in the underlying platform(s). And anyone who's had problems with Capture NX2 knows that .NET often is the real issue, as various installed programs fight over which version of the DLLs are the right ones. Let's face it, shortcuts are shortcuts, and sometimes they end up causing more problems than they solve.
Thus, I'm make an slight addition to my Camera Redefined essays: programmability needs to come at the core level (i.e. as close to the camera components as possible and without an intermediary platform that's not directly controlled by the camera maker). Put another way: I'm not interested in writing Flash applications on a Nikon OK1.