Adobe AIR for Linux beta released (labs.adobe.com)
I can see the attraction of developing from a known baseline that is guaranteed to work, look and feel exactly the same across different platforms. One set of bugs to fix, one set of UI changes to make, only one lot of updates to push live. Less development time + potentially wider user base = WIN, surely. But does that always hold true?
Each of the major operating systems (assuming in this instance those are Windows, Mac OS X and Linux) have their own strengths and weaknesses. I’m not a programmer but I feel confident in saying that the Win32 API offers hooks that aren’t available in OS X on the Mac, and vice versa. Linux has its own attractions as well (although I have no idea what they might be from the perspective of a programmer). Many single-platform applications work solely on a chosen operating system because they take advantage of these platform-specific hooks. A cross-platform development environment changes that game completely.
Do common environments level the playing field or do they reduce everything to the lowest common denominator? I have a concern, which may well be unfounded, that it has the potential to remove a developer’s motivation to streamline a single-platform application to produce a program that is as lean as the hardware and software will allow (“coding to the metal” as it were). As more desktop applications move into a cloud-based arrangement with online options and storage, development platforms like AIR will become more important and more prevalent.
I’ve had reservations about AIR in the past but I have come to recognise its value in providing a desktop front-end to web-based services (for example the Twhirl client for Twitter or the eBay desktop app). My concern is that as the platform matures, some developers will see it as an opportunity to push out applications with little thought to look or feel and how they might integrate with native operating system environments. I can’t help but think of all the janky Java applications that were released in the late 90s that all used the same ugly default user interface widgets. The applications might have had the attraction of a right once/run anywhere development environment, but it often meant that they were uniformly sub-standard for everyone.
Will individuality and innovation be sacrificed for homogeneity, uniformity and cross-platform accessibility?