The report of my death was an exaggeration.
-- Mark Twain
Why is the desktop GUI dead? Is it dead? Tell it to Microsoft, which still ships enough copies of Office each year to exhaust the capacity of all of the world's toxic waste dumps. So maybe its not totally dead. But in one important respect the desktop GUI is disappearing: the custom app developed for and by small to midsize businesses (SMB's).
Now I have worked in the IT industry as an employee, a contractor, a freelance consultant, and, for last decade, as a partner in a outsourced software product development firm. In that last role, I've had to turn down an unusually large number of projects recently. Why is that?
In a phrase,
opportunity cost. Clients come to us with products, existing or new, and we usually agree to work on them for a fee. Sometimes you have to turn down project A because project B is much sexier and you can't do both projects. That has happened a lot of late and mostly with prospective clients looking to develop purely desktop applications. Unless there is a compelling reason, we just can't get excited about a desktop GUI project.
So, by way of eulogy, let me present a numbered list of compelling reasons for developing desktop GUI's instead of
Desktop RIA's.
- It is unwise to expose the application to the outside world. Example: power plant management software.
- The application calls for integration with custom hardware or mobile devices. Example: scientific software that integrates with custom measurement devices.
- The application requires fine control of the underlying video/audio hardware. Example: first-person shooters.
That's a pretty short list. Note that there are a number of other applications you wouldn't do as a Desktop RIA, such as
grep, but then you wouldn't do that as a Desktop GUI either (yes, yes, there are visual grep tools, but they don't function in quite the way that the easily piped command line
grep does). Also, some of the examples above may have Internet integration (think XBox, etc.), but their architecture, runtime and user interface are pretty different from that of your typical Desktop GUI.
Note what isn't on that list: presentation software. I've argued in the past that Powerpoint was the one place in the office productivity universe where the Web 2.0 clones would fail. How many times have you been in a conference room without connectivity? No net? No presentation. But with the Desktop RIA runtimes, browser support and framework support coming out, online/off-line hybrids are becoming possible.
If you can add to the above list, great, but for the most part, I think the Desktop GUI is a vanishing breed.
Technorati Tags:
ajax,
desktop GUI,
desktop RIA