Future of Software Technology by ambujch


This documentation will help in guiding about the future of software technology.

More Info
									About 6 years ago, when I started thinking of software development as a career, I had a conversation
with a friend, a C programmer working for a local firm, about the future of software. My opinion was
that desktop applications (what we know them as today) will be run on remote servers in the future. My
argument was that with the advancement of technology, we wouldn't need to install software and run it
locally. He thought I was silly.

Today, with the growing popularity of Google Docs (and there are lesser known others), my silly
projections are starting to look more and more like reality. I think it's important for anyone thinking of
going into software development to at least be aware of this. Software and web development are slowly
merging into one. Going back to Google Docs, you can edit text, spreadsheet, and presentation files
purely online with no necessary installation, and then save the files locally once done. No, this isn't a
Google Docs promotional ad (I actually used it a couple of times, and it didn't take my breath away), but
this is just the tip of the iceberg when it comes to user applications.

Let me present a hypothetical example of a popular application being run remotely. Suppose Photoshop,
a graphics editing application, ran on servers administered by Adobe. To use it, I would purchase a
license (just as I do now when I buy the CD), and use the software through a browser (or client
application). I would perform some tasks, each one firing off a request to the server, and see the results
on my screen. While the computing power required from the servers would be massive, technology can
only improve, so it's a matter of time. In addition, the current cost of distribution could instead be
invested in needed hardware. Is this example far fetched? I don't think so. The cost of hardware keeps
dropping, while the cost of distribution can only rise. Eventually, due to the need to stay competitive
and technological progress, companies will consider going remote.

This concept can even include operating systems. There are a number of big companies that use diskless
computers that load the OS from the main server through the network, so why can't the network be the
Internet? I can even see a world where I can load up Windows one day, and Linux the next. There are
sure to be quirks to work out, but that no longer requires a miracle, but an investment.

There are massive advantages for such a concept to become reality. First, it would mean the end of
software piracy, which I'm guessing is important to development companies. Second, we wouldn't have
as much of a performance barrier due to open competition among developers. I'm confident Microsoft
would think twice before asking me to buy a new machine in order to use their software since I could
easily switch to their competition. Also, the virus and spyware issues wouldn't be the problem of the
user, and I trust that companies running the servers would do a better job in dealing with it than
individuals as it is the case today.

We would have to deal with numerous issues such as the users being dependent on remote servers, but
the advantages far outweigh any inconveniences, and tech support would be much easier to deal with
as companies would have to resolve issues with their servers, and not with individual user machines.

This is my view of the future, and while it might be far fetched, it is definitely an idea to be explored

To top