DRAFT: This module has unpublished changes.

DIY Software Development: A Paradigm Shift 

The business model behind software development has been the same for going on two decades now. A company will design and build an application that is "compatible" with a certain operating system (for example Apple's Leopard, Microsoft's Windows, and various versions of the Open Source Linux Operating System). After a long period of conceptualization, designing, testing, and revision that application will be loaded on to a form of physical storage (floppy disc, CD, DVD, etc.), surrounded with flashy packaging, and placed on the shelves of your local Best Buy, Apple Store, and formerly Circuit City. The application will then be "installed" on to the hard drive of whoever buys it and then it will perform its functions by collecting users data, altering it with the users computer power, and storing it as saved files on the users hard drive.  If a company wanted to offer a set of features in a product that utilized user's connections over the internet then they needed to acuire expensive technology to support the processing power, bandwidth (volume of data transfer) and storage involved with those features. Therefore online large behemoths of software companies like Microsoft, Sun Microsystems, and IBM could offer reliable products in this arena. With the proliferation of cheap storage and the spread of high speed internet access a number of firms have come out with innovations that are turning that business model upside down.

Today however a development team could design, code, test, and distribute an application to millions of users without buying a single piece of hardware beyond their own personal computers and without printing a single piece of physical media and without sending out a single box of software to any retail establishment. Firms looking ro create products or services to be sold can use services like Amazon Web Services and the Google App Engine they could host the code on another companies servers, and rent the computing power and bandwidth of another company to power applications that they design and market. Companies looking to create software for uses within their own organization can use tools like Saleforce's Force.com to create extremely customized applications at a fraction of the cost of hiring a software development company.

Beyond companies looking to development applications for profit, there is a growing market of regular non-technical web users looking to develop their own robust online applications. Whether its a simple poll that they embed on their personal blog, a data collection form for a local softball league, or a calendar being shared by a family, normal people are beginning to create the type of software in their spare time that used to require dozens of people, thousands of hours, and millions of dollars. Both developments have long term ramifications for both the software development, and information technology, industries. But what sort of ramifications? Will this cause a growth in the market or just a displacement of revenue from one company to another? Will this change the way people communicate over the internet? Will this change the way people see the internet, software, and who exactly can create "technology"?

 

   The traditional Software Development Life Cycle. The introduction of web based infrastructure and design tools does not change this cycle, rather it accelerates the cycle. Now a company can run a program through this process hundreds of times through an applications life time, quickly adapting and updating features to meet customer's needs.

Many of the major news organizations that report and analyze the developing trends and economics of the software industry have been unanimous in predicting that in the recent future millions of dollars of business will move from traditional Software Development companies to those offering services "in the cloud". That is instead of paying a licensing fee to install a version of software on a machine, more and more people and organizations will instead pay a monthly fee to access that application from any device that can access the internet. Respected technology blogs like ReadWriteWeb and TechCrunch have predicted the rise of cloud computing and development for years saying:

"We are witnessing a fundamental shift in our ability to compute and this is just the beginning. Amazon is at the forefront of making massively parallel, web scale compute services available to the world. Free from the need to solve the scalability problems, startups are able to focus on the specific problems that their product or service is trying to solve. All of this is happening while the cost of hardware, bandwidth and services overall keep dropping." - ReadWriteWeb

and

"Short term, cloud computing will slip in as a cost-saving rationale. Near term, the social clouds will expand across workgroups, across business domains, and finally cross-cloud. Then the Golden Age of the Cloud will occur, where applications and services only possible in that environment will guide the next wave of business architecture." - TechCrunch

Additionally, large repsected main stream media organizations like The Economist and even the Harvard Business Review have jumped on the badwagon as well. In the most recent issue of the HBR the respected journal took notice of many large organizations transition to cloud based infrastructure as a cost saving messure reporting:

"Rather than purchasing expensive applications, many pay a vendor such as Salesforce.com or Amazon for use of software on demand. A McKinsey study suggests that this approach especially works well for small and midsize enterprises: With a 200-seat license, for instance, it can save companies 30% of the cost of implementing customer relationship management systems." - Harvard Business Review, 2009

The Economist has gone even father, hailing cloud based software development environments and Platform as a Service providers as a paradigm shift in the software industry as a whole:

"This democratisation of programming, however, is only a small part of something much deeper: a fundamental change in the nature of software. It is not just that more and more software will become a service delivered online. More importantly, applications, web-based or not, will no longer come as a big chunk of software, but will be made up of a combination of electronic services—a shift that has picked up a lot of speed since computing began moving into the cloud." - The Economist, 2008

If these publications are correct in ascribing such importance to this trend, what does that mean for the software and information technology industries as they are now? How does this affect the amount of money spent and therefore jobs created on software development? It could be argued that the transition from mass media to social media that is occuring now has cannibalized the revenue models of all media companies. Though social media companies may be thriving there is speculation that they are causing the size of the media market in general to sink and causing the quality and integrity of the media produced to sink even faster. Could the same thing be said about DIY software development and cloud based IT infrastructure?

The Economics of Software Developed By Many Instead of Few

There are two separate markets emerging in the cloud software development world, that of Platform as a Service (PaaS) providers who take the place of physical infrastructure like Servers and Databases and that of WYSIWYG (What You See Is What You Get) based editors that allow novices to build cloud applications without knowing a line of code. The former market is much larger than the latter with products from Amazon (Amazon Web Services), Google (Google App Engine), and Salesforce (Force.com) bringing in revenue in the hundreds of millions of dollars a year. Already many businesses are running their entire infrastructures through these providers, but Amazon and Salesforce have developed dominant positions. For the long run I would predict that Amazon continues to dominate the space, taking a share of the market to rival Google's share of the search market (90%+ at times). They benefit from having gotten an early start at offering cloud services and having a nearly limitless amount of capital for acquisitions, research, and development. Recently the amount of computing power that Amazon uses to to run the most popular e-commerce site in existence was exceeded by the amount of computing power Amazon rents out to other companies at any one time.

On the other hand, the market for DIY app editors that can be used by non-technical individuals is still young and small. The leaders in this market so far are the firms that provide either a large and vibrant developer community (Zoho Creator), or a marketplace in which developers and clients can match up directly (Bungee Connect and LongJump), or provde technical support for existing apps for a fee. In the long term I have no doubt that a leader will emerge, most likely somebody like LongJump (which provides services to MANY large organizations) will be given a lot funding and end up absorbing two or more members of the competition. 

Even though the WYSIWYG App Editor market appeals to a much larger audience than simply providing a traditional software development environment in the cloud (as most people do not know how to code) the PaaS market has grown much larger much faster. I attribute this to the "Early Adopter" affect. Think of the difference between Microsoft and Apple...Microsoft grew fast in the early years because people that built and designed software for computers like to have more control and appreciated what they could do from a technical perspective with Windows, however Apple started building a niche market with people who were non-technical but still needed to work on a computer (like artists, designers, and movie makers). In recent years Apple has grown substantially because computers have become so pervasive and EVERYBODY now needs to be able to use a computer on a regular basis in order to compete. The same evolution is on the horizon for cloud development.

 

   Recent Growth in the SaaS market as reported by The Economist.

Currenltly Amazon, Google, and Salesforce dominate the market. Amazon and Google produce revenue by charging on data-transfer rate. Customers pay for how much bandwidth and computing power their applications use. Technically savvy parties can tweak their applications so as to get the most utility while spending the least money. Salesforce charges a subscription fee that grows with the number of users as do the large number of PaaS providers. However, In the future it may be that everybody will need to be able to develop their own custom software, a decade from now we could see an amazing shift in the market. Services like Bungee Conncect and Zoho Creator could make billions off a monthly subscriptions that people will pay as willingly as their cable bill, and consider as vital as the public utilities that keep their tv turned on and their house warm in the winter.

An Eco-System of Services and a Budding War Over Distribution

Around the various software development platforms hundreds of other sites are opening up their doors and allowing their services and data to be tapped from outside souces. Using what is called an Aplication Protocol Interface (API) developers can now tap into the capabilities of another piece of software or draw in information from a remote database. There is even a site called Mashery specifically devoted to building and maintaining an API for any site or service that needs one. Though most of these API's are meant to be used to integrate data and features into traditional web sites, other companies are providing services specifically geared towards supporting cloud application development. Feasibly a user could purchase a virtual server in the cloud from RackSpace, program an application that digests real-time data from multiple sources mashed together using Yahoo! Pipes, map that real time data against a database purchased from Dabble and then package the whole thing into an application to be distributed across the web.

In fact, social networking sites like Facebook and Myspace have opened up their sites to outside developers, allowing people to create applications that can run within their sites and interact with their users. Google has similarly waded into this environment by allowing its user data to be integrated easily into any application built on top of its App Engine. The thought is that by providing the best, most powerful, environment on which to develop applications and games the owner of the distribution platform will be able to further consolidate its user base. Instead of designing an application to work on a Windows or an Apple machine, the choice will instead lie with which group of users you wish to design for. Are you looking to design for Facebook user? Myspace? Google? Or will a standard emerge, so that applications could be built once and used on all platforms? And lastly, if these companies truly are building something free that will replace operating systems that have normally been paid for, how will they make money and stay alive?

"Cut" and "Paste"

It is only a recent development that any person with a computer, an opinion, and the abilty to capture attention could rival the strength of the mainstream media. Today an eco-system of sharing content has developed among blogs and news sites in which the importance of writing your own coverage and doing your own research has been replaced with finding and linking to the right source. Perhaps the same thing is hapenning in the world of software development. The atmosphere of transparency and open sharing without compensation is not new, the Open Source movement has been advancing the same ideals for decades. Indeed in only its early stages the platforms that provide the most opportunities for communication between its developers and the sharing of code and ideas are the ones that are growing the fastest and becoming economically viable. It is ironic that attributes from movement based on the idea of doing something valuable for free could help grow the revenue of the next frontier in software development. Perhaps that just shows the cyclical nature of human development. In the early days of computers people accessed programs and data through underpowered terminals that connected to large mainframes, and although software had high licensing fees programmers often shared code and ideas about solving problems. Today things aren't really that much different, now everybody has a terminal, they aren't so underpowered, the mainframe is a lot bigger, and soon they will all be able to create and share their own software as easily as they share any other ideas.

Examples:

Related Sites/Services:

DRAFT: This module has unpublished changes.