Today I’m here because I’m frustrated. There’s a notion floating around the software world (and I frankly think it’s the less literate end of it) that simply makes no sense. This notion must die and as responsible developers in 2010 we are obligated to squash this whenever we get a chance.
Ugh, it makes me nauseous to even say but here we go:
Creating software on the web is not “easier.”
Someone some time in 1999 had a personal little epiphany. They decided that creating software on the web was easier than developing software for the desktop. And somehow now, in 2010, this notion still infects people.
Why? What is it that makes people think this? Is it some kool aid they drank at some point that convinced them of this? Do they want to sound smart after overhearing some other poor, uninformed soul say the same thing?
Or does it run deeper than that — is it that indeed this was true in 1999? I wasn’t around then so I can’t legitimately say but from a logical perspective…this might make sense.
Think about what was going on in 1999: Java was new and J2EE had just come out. ASP was hot and .NET wasn’t even on the radar. Windows 2000 was up-and-coming and consumers were getting ready to swallow Windows ME. Linux? What the heck is that?! And somewhere there was a company called Apple…I think they made computers for schools or something?
But this “internet” thing was starting to gain traction. People were starting to realize that you can do “stuff” on the web. Most importantly you could port your clunky native apps to these new robust platforms and that was exciting! Remember what people were still dealing with back then; MFC, COM, Win32, QT, GTK, OLE, all those nasty bits we don’t like to think about any more. Of course the web held exciting prospects.
The web is a distribution channel.
Fast forward 10 years. Where did J2EE go? What’s this Rails thing? .NET is pretty mature at this point. Whats that you say? Every computer has — nay, requires — a graphics accelerator? Commodity computers come with 6GB of RAM?!
Here’s what happened to the software world: The line between desktop and web has blurred at best. Take a look at any Java or .NET source. How do you tell which environment a given app runs in? Now tell me: If I said it runs on the web, why is it suddenly easier to create?
If you are going to go on about “it’s easier to support clients” or “I can publish updates easier” or “no environmental headaches” I will laugh. Environmental headaches? Name a desktop app that needs to scale to millions of users. Easier to publish? Yup, writing WIX or building an RPM can be tough, huh. Easier to support clients? Well, OK I’ll give you that one.
Repeat after me: The web is how you deliver software to your customer and nothing more.
The cloud is a solution but probably not the solution.
While some things belong on the ‘net, it seems like we’re obsessed with pushing everything up there. There are some apps that I just don’t see being viable but that is due to a lack of technological support, not because it doesn’t necessarily make sense.
While I applaud those of you that want to push the envelope in the browser the majority of us just aren’t cut out for it and we shouldn’t write off desktop software so quickly. But please, it’s 2010 — stop saying the web is easy.