What’s The Difference Between A Software Product And A Platform?

Back at the early dawn of prehistory, we used to reserve our use of the word platform to denote a complete software programming development environment and underlying subsystem with language, runtime, components and all associated libraries and binaries. The result of using a platform (Microsoft .NET or Java for example) was a software application, which in later years even your grandmother would start to call “an app” – and then the Earth cooled.

In the next age of man, a platform became something slightly different. Where we used to think of a platform as the underlying computer system, we now probably have to accept the fact that the industry considers a platform to be anything that you can build upon. To be clearer, a platform could be your smartphone i.e. it has its own device form factor and its own ability to interconnect with other software streams, therefore it’s a platform that you can do other things with that were not originally envisaged at the time of its initial design – and this is the important point.

What we learn from Facebook

Love it or loathe it, Facebook is a good example of a platform AND a software product; and it is this duality that helps to explain the differentiation. The Facebook application is a software product, it’s an app. You can log into it online and use it as a web service, or you can download it to your device and log in to a connected app. Crucially though, Facebook is also a platform for other apps.

“The platform element is the exposure of the social graph to external applications which enable a different set of use cases,” writes programming blogger Ben Foster.

We can now program standalone applications without a platform, or perhaps use the web itself as our underlying substrata, but generally speaking we can still say that programming is easier when there is a platform in place.

Tech blogger Jonathan Clarks helps build the argument here, “Platforms are structures that allow multiple products to be built within the same technical framework. Companies invest in platforms in the hope that future products can be developed faster and cheaper, than if they built them stand-alone. Today it is much more important to think of a platform as a business framework. By this I mean a framework that allows multiple business models to be built and supported. For instance, Amazon is an online retail framework. Amazon started by selling books. Over time they have expanded to selling all sorts of other things. Apple iTunes started by selling tracks and now uses the same framework to sell videos.”

Aggrandizing swagger & spin

So why all this postulating and clarification? Well okay this week sees the CeBit technical exhibition and conference hosted in Hannover, Germany. Using the show as a product unveiling platform (pun intended) this year was Software AG. The firm has launched its Digital Business Platform which it says operates “at the interface” between real-time business operations and changing customer and market requirements. Alarm bells start ringing immediately i.e. is this really a platform, or is the firm rebranding some of its existing software with a bit of aggrandizing swagger and spin?

Software AG CTO Wolfram Jost insists that, “The Digital Business Platform provides the foundation necessary to develop and deploy differentiating business applications, developed together with the business departments, in short and easily foreseeable release cycles. Traditional packaged applications are not designed for this type of development approach.”

So what Jost is saying is that software PRODUCTS (i.e. applications) come with predefined business logic that narrows their ultimate breadth of scope. Conversely then, PLATFORMS separate out the logic functions of applications so that an IT structure can be built for change. If Software AG’s argument holds water, then a firm’s application platform can be doing something markedly different five years after it was firm laid down. Kind of like the Amazon and iTunes examples.

The elements of logic here include:

  • Integration logic
  • Process logic
  • Decision logic (including big data analytics)

“Platform beats a product every time,” says Jost — and by this he means that firms should approach software applications that they may only end up using for say a couple of years in their initial form. “Software application development must evolve to reach a new level of adaptive applications that can be modified and adjusted (very often rapidly). This is because no single software vendor can foresee the business logic of a customer company for more than a couple of years,” he said.

Software AG says that its ‘platform’ allows fast and cost effective development and deployment of a new type of customer facing, front office business application. It also provides an approach to designing and implementing the flexible and cost effective IT architectures needed to support these adaptive applications.

According to a press launch statement, “The Digital Business Platform is therefore of interest to many departments within the enterprise. From the CIO implementing an optimal, cost effective and flexible IT architecture to departmental business managers who need to quickly develop adaptive applications at the individual, departmental or divisional levels.”

So there is evidently a difference between a (software) product and a platform – and there is evidently a new definition of what we should consider a technology platform to be. Software has now moved from its previous ‘proven’ mode where it was stable, certain, systematic and mostly predictable to a new state of ‘agile’ where it is flexible, uncertain, exploratory and opportunistic. There’s still plenty of industry spin associated with the term platform, but digitization is driving home some new truths. Change is constant, so make plans to change plans.

Editorial disclosure: Software AG paid for most of Adrian Bridgwater’s travel expenses to attend CeBit 2015.