software commons

  • May 31, 2016
  • combinatorial-innovationOne of the companies that I advise, Metavine, is on a path to seriously disrupt the application development market in several ways. Such a disruption is not a new idea. Ever since third generation procedural programming languages (3GLs) like COBOL and FORTRAN gave way to the 4 GLs, we’ve been looking for faster programming and better programmer productivity and for decades we’ve come up empty. The fault lies in the paradigm for application development and the very idea of a programming language.

    As long as our model consists of writing line after laborious line of procedural code our development will be slow and have error built in. Whenever humans run into this kind of roadblock we turn to automation—we build a machine that standardizes a process, which enables us to stamp out huge numbers of whatever product we want. Automation drives cost reductions too. So that’s the paradigm we’ve been searching for, a way to automate the software creation process.

    There have been many partial success stories along the way but every time we’ve gotten close a new challenge cropped up and the goalposts moved. Generating code turns out to be only one of several challenges that a software automation paradigm needs to deliver. We also need efficient ways to fold in third party and legacy apps, build in support from essential accessory apps such as social media, generate running code for multiple platforms and operating environments, and we need to face the reality that our apps need to harmonize with those of other development modalities. It’s a tall order and no wonder we haven’t gotten further toward the goal in the last few decades.

    No coding environment or generator can do all this by itself what’s needed is a platform that inherently supports these diverse functions. There are several platform solutions that have gotten close recently though most of them build high walled gardens around themselves that require users to more or less get any color they want as long as it’s black.

    The solutions on the market are quite good and they deliver on the basic need for software automation. But most haven’t cracked the nut on distribution and I believe distribution is the element that will push us into a new paradigm.

    Conventional automation still produces running apps that customers buy or usually subscribe to. You might think that there’s nothing wrong with this, and there isn’t, but it raises a couple of caution signs. Increasingly we’re discovering that markets for generated software are rather thin, there aren’t that many possible customers or we’re discovering that markets are potentially huge but that the prices we can charge start at $0.99 and don’t go up much.

    In the latter case there’s a great deal of risk in developing an app that will sell for 99 cents because you’ll need to sell quite a few to break even. On the other hand, if you are building a simple app to support a small need in your company, you might not sell any but you’d really like it if every little app your people dreamed up didn’t have to come from IT. Ideally you’d like to buy something for the equivalent of 99 cents.

    This is where a new paradigm for software, based on non-procedural specifications can be valuable. A specification can be traded, perhaps for other specifications, so that a lending library of capability builds up and a take-one-give-one culture emerges.

    Trading app specs through a standards based community removes the need for money and creates a commons in which the members measure their “wealth” as common resources.

    That’s the full-scale idea behind Metavine. It’s a non-procedural application automation environment with a community of like-minded people involved in supporting each other. Metavine’s community resembles the community culture growing up around 3D printing. In that world, people trade specifications, tweak them for specific needs and generate one-off products.

    This seems like an important new direction in the software industry where the cost of products continues to shrink even as demand rises. This commoditization will only be accelerated by further improvements in automation and business models. So I invite you to examine Metavine’s development approach and experience its community. You can get started by clicking here. Please let me know what you think.

     

     

    Published: 8 years ago


    Rodin_TheThinkerFor over 50 years, the IT industry has followed a well-known script associated with emerging and evolving paradigms. First a product or category is introduced, then it gains wide market acceptance (or dies on the vine) followed by a long period when vendors and customers seek out ever more efficient ways to produce the thing. Ultimately, the category becomes so important that all must have it and the only way to make money is to sell to very large, mass markets. That’s commoditization for you.

    In IT there have been several cycles of birth and eventual commoditization and the trend is for more. If you’ve ever been to a Salesforce event you know that there will be at least one slide in the deck addressing the transition from mainframes to networks to the Internet to social media, and cloud computing. These days the last stop on the tour seems to be not just the cloud but clouds such as financial services, healthcare, and education. Siebel once had over 20 vertical CRM products so I expect more clouds to come and not just from Salesforce. This cloud or industry specific approach is another facet of commoditization involving product line extension—where once there was one SKU now there are many that give a vendor the ability to further penetrate the market.

    Prior to industry specific CRM, cloud computing or SaaS, had been the ultimate commoditization of IT. Pay by the drink, don’t buy anything other than your personal device, let some other party pay for the back office administration and acquisition costs, it’s hard to see how you commoditize further but who knows?

    Despite all of this, one area of IT has been resistant to the commoditization cycle: application coding. Through all kinds of disruptions in hardware, networks, storage, and even computing language introductions the core reality of the technology industry has been that no matter what, someone had to write tedious, bug ridden code to keep all the balls in the air. But we’re finally at the point in technology commoditization where that’s changing and there are two good reasons.

    First, the demand for software is so great that we’ve passed the point where we can expect to provide for our software needs with traditional approaches. Second, the belief is growing that software, like music before it, should be free or virtually free, so it’s becoming hard to see how conventional coding will pay the mortgage in the future.

    The solution that’s becoming ubiquitous is application generation but alone, that’s not enough to make software commoditization a reality. Generating an app or even a whole suite of them will only get you to the point where you can provide for your own needs. That’s a problem because it means you need to be more or less self-sufficient. Ideally, if software is free or nearly so, there should be no issues with sharing template applications that almost anyone could tune for one organization’s specific needs, using appropriate tools for the job.

    All this would significantly alter and even disrupt the process by which we get software today. There would be virtually zero coding and the developer would more likely be a business analyst or other line of business person attempting to support a critical process. We already see this taking place but the implementation tool is a spreadsheet and we all know that spreadsheet apps work well only until they need to capture successive versions of data as business processes move forward. Spreadsheets don’t have databases behind them.

    But spreadsheet apps provide a good first approximation of the functionality needed in a business process. So the new paradigm of commodity software administered by a generation tool plus a suite of readily available and nearly free template apps almost forms the nexus of the new software paradigm.

    The last piece of the puzzle is a method of exchanging templates so that no single entity must be self-sufficient. Sharing zero cost software drives the formation of a software commons united by a common software platform. Unlike other platforms all participants would be equals, able to trade their self-made apps for others. Then the cycle could renew itself. Users might tune template apps to suit their needs and re-contribute their solutions to the commons—or not, the choice is individualized.

    In a future post I’ll examine how some emerging vendors approach this very different and possibly disrupting approach to the software lifecycle. Companies like Anaplan, Metavine, and Servicenow have all deployed their versions of this vision. Each has a different take on it based on the markets they serve. For instance Anaplan focused on enterprise planning, Metavine is an application development and deployment platform (as are the others) with emphasis on front office solutions, and Servicenow on service modes.

    All of this is straightforward but the ultimate demand might surprise you. As large as the software market is today, it will be much larger by 2020 when various prognosticators speculate that there will be in excess of 50 billion devices connected to the Internet. All of these devices will need software and the demands on software providers will be intense. Those demands will include, near zero cost, near flawless performance, and the ability to run anywhere. That’s commoditization at a very high level.

     

     

    Published: 8 years ago