I believe we have seen dramatic changes in software development and the speed in which these changes are coming is increasing every day. Why are there so many new software programs in our marketplace? And, Why are we offered so many for free?
Perhaps the main reason software is so prolific is largely due to the creation of web applications. Web apps have destroyed the traditional model of “native code” applications. A web app is centrally located and requires much less code. These new software programs can be written by small teams and in many cases be written by entry level developers.
Here are additional industry changes which have generated advancements altering how/what/and for what cost we receive new technology.
First, historically it was very difficult to operate software companies anywhere other than in major business districts which were often found in America, or similar first class cities in other countries. This was due nearly entirely to band width availability. This is no longer the case. Today we receive large data flow virtually anywhere in the world. Important because we now can develop software in places where labor costs are very low.
Second, processing power historically was a barrier of entry into the software programming world by many smaller companies. The cost crippled any hope of a start up company having ability to host programming. Fortunately storage and data processing capacities now come at a very low cost, and it’s improving every day.
Third, VPN’s (virtual private network) have been created allowing companies/individuals access to networks using primary public telecommunication infrastructures, such as the Internet, to provide offices remotely. This too is giving software creators an open market place to generate product anywhere in the world.
Fourth, the process of engineering software has been cheapened through technology. Developers can use “loose code” programming. The definition of loose code is- the ability of an engineer to achieve the same end result for their intended user by programming software with longer (easier to write) code. Historically engineers spent time generating code that was efficient so the code could navigate older systems. This old process required using highly educated engineers which was costly and required more time. Today this process it is no longer needed. Longer, loose code is acceptable and functional because of processing power and band width.
Fifth, historically software writers (coders) needed to write for a variety of systems and devices, simple examples are: Microsoft, Dell, Sun, and so on. Today integration on various layers (systems) makes software development much easier. Only one process is needed for layers to talk to each other. Today’s software works with all hardware using a single code.
Sixth, third world countries have realized the advantages of having citizens employed by software generating companies . They are anxious to capitalize on this opportunity and are willing to fund education for new programers. Too, they seek out joint ventures in IT (information technology) with both upstart and proven technology companies. China is a perfect example of a country beginning to dominate in this space; there are many others.
And finally, there are global companies providing “freeware” software. Freeware is a program we would have paid for historically, but it is given to us free of charge for the purpose of attracting our business in other segments. A good example is google, they entice use of free product lines that eventually generate income by attracting our marketing eyeballs. Here are a few of their free products commonly used: gmail, google earth, google docs, google calendar, google voice, and even google code!
The future is bright for those of us who are anxious to see where technology will take us as access is opening for more creators everyday. The business proposition is to develop a highly needed, easily used, virtually free utility.