Hmmm. Well, while I can appreciate why it seems like native Win32 apps are dead, they’re simply not, and the death of the desktop-hosted binary exe isn’t going to happen anytime soon either. While us developers are mostly using always-on broadband, each with our own super-fast machine and large clear display, that’s not true of the rest of the world by a long shot. I’m not just talking about the difference between US/Europe and some of the developing countries - I’m talking about it not being true even here in the UK.
Many of my own clients (vertical-market application software) have small, standalone systems or half-dozen peer-to-peer networks on which they share client-server applications. There is no need, nor any desire on their part, to go to any kind of web-based paradigm. It doesn’t matter what you can do with AJAX, or Google office, or Flash; these technologies are not solving any problems that these people currently have and they don’t really offer up any exciting new business advantages that these people would make use of. When they need a new feature for their systems, they pay to have it added to their existing system - they’re not going to go to the expense (time/cost/training etc) of having the app replaced with some clever Web 2.0 system just because that’s what most software developers are into doing these days. In many ways they would lose, or compromise, some aspects of functionality in order to become ‘web-enabled’. So why do it?
It’s easy for people in IT to look around at ‘our’ environment and project it onto the rest of the world (in fact, it’s often the case that it’s the result of our wishful thinking as opposed to any hard and fast reality). We always get the fast machines, the latest OSes, the most modern peripherals and we often lose sight of what everyone is making do with. The truth is, the real world I see when I’m out and about during the day includes large companies who actively want a locked-down internal desktop app rather than something that they have to police. It includes smaller companies who are either have no use for remote working, or are fearful/mistrustful of being online all the time, or who are simply looking for a bit of extra functionality in the apps they already have. And it includes companies who work with machinery in such a way that their desktop applications control external devices in their workplace.
I still see, on a regular basis, 20+ year old dBase MSDOS installations. 15 year old Paradox applications, decade-old Access systems. Even given that these are often a pain to support in their own way, most of the time the people that are using these systems are reluctant to change and see no compelling reason to do so. There’s a whole world out there where you probably only get the chance to rewrite/restructure things about once a decade.
While I’m not trying to suggest, Canute-like, that we can resist the relentless progress towards an all-online world, it’s not happening everywhere by any means, and in my experience we’re still a long way from consigning desktop applications (and desktop software development) to the history books.
It all makes for great blogs posts though, Jeff!